

Fse.Portal.togglePanel = function( oIcon ) {

	// var sCookiePath = window.location.href.replace( /https?:\/\/[^\/]*/g, "" );
	var oPanel = $(oIcon.getAttribute( "panelId" ));
	if( oPanel ) {
		var sCookieValue;
		if( oPanel.className.match( "hidden-element" )) {
			// turn it on
			Spry.Utils.removeClassName( oPanel, "hidden-element" );
			oIcon.src = oIcon.src.replace( "_off.gif", "_on.gif" );
			sCookieValue = "visible";
		} else {
			// turn it off
			Spry.Utils.addClassName( oPanel, "hidden-element" );
			oIcon.src = oIcon.src.replace( "_on.gif", "_off.gif" );
			sCookieValue = "hidden";
		}
		var sCookieName = oIcon.panelPosition + "_panel_state";
		var sCookiePath = window.location.href.replace( /https?:\/\/[^\/]*|\u003F.*/g, "" );
		var oCookieExpires = new Date( (new Date()).getTime() + 604800000 ); // 1 week from now
		oCookieExpires = null;
		Fse.Portal.setCookie( sCookieName, sCookieValue, oCookieExpires, sCookiePath );
	}
};

var togglePanel = Fse.Portal.togglePanel;

Fse.Portal.panelOff = function( sPanelName ) {
	
	var oPanel = document.getElementById( sPanelName );
	if( ! YAHOO.util.Dom.hasClass( oPanel, "hidden-element" )) {
		Fse.Portal.togglePanelByName( sPanelName );
	}
	
};

Fse.Portal.panelOn = function( sPanelName ) {
	
	var oPanel = document.getElementById( sPanelName );
	if( YAHOO.util.Dom.hasClass( oPanel, "hidden-element" )) {
		Fse.Portal.togglePanelByName( sPanelName );
	}
	
};

Fse.Portal.togglePanelByName = function( sPanelName ) {
	
	var fnCheck = function( oElement ) {
		var sAttribute = oElement.getAttribute( "panelId" );
		return sPanelName == sAttribute;
	};
	
	var aIcon = YAHOO.util.Dom.getElementsBy( fnCheck, "img", "titleContainer" );
	if( aIcon.length == 1 ) {
		var oIcon = aIcon[0];	
		Fse.Portal.togglePanel( oIcon );
	}
	
};

var Fse; if (!Fse) Fse = {};

if( !Fse.Portal ) Fse.Portal = {};

YAHOO.namespace("Fse.Portal");


Fse.Portal._dialogPortlets = {};

Fse.Portal._docRoot;
Fse.Portal._loggedIn;

Fse.Portal._usePopupIcon = false;

Fse.Portal.init = function() {

	var oPopupOptions = YAHOO.util.Dom.get( "popupOptions" );
	var oOptions = YAHOO.util.Dom.get( "options" );
	if( oOptions && oPopupOptions) {

		var fnOptionCheck = function( oNode ) { 
			var bMatch = YAHOO.util.Dom.hasClass( oNode, "option" );
			return bMatch;
		};
		
		var aOptions = YAHOO.util.Dom.getChildrenBy( oOptions, fnOptionCheck );
		for( var i = 0; i < aOptions.length; i++ ) {
			
			if( YAHOO.util.Dom.hasClass( aOptions[i], "searchCenter" ) ) {
				
				var oOption = aOptions[i];
				
				var oOptionIcon = YAHOO.util.Dom.get( "option-icon-searchCenter" );
				
				var oApplicationTitle = YAHOO.util.Dom.get( "title" );
				if( oApplicationTitle ) {
					oOptionIcon.setAttribute( "title", oApplicationTitle.firstChild.nodeValue + " Search Center" );
				} else {
					oOptionIcon.setAttribute( "title", "Search Center" );
				}
				oOptionIcon.setAttribute( "title", oOption.innerHTML );

				var sActivationScript = "oOption._activate = function( oEvent, oObject ) { " + oOption.getAttribute( "fse:onclick" ) + "; };"				
				try {
					eval( sActivationScript );
					YAHOO.util.Event.addListener( oOptionIcon, "click", oOption._activate, oOption );
					YAHOO.util.Dom.removeClass( oOptionIcon, "hidden" );
					if( ! Fse.Portal._usePopupIcon ) {
						YAHOO.util.Dom.addClass( oOptionIcon, "text" );
						oOptionIcon.innerHTML = "<a>Search</a>";
					}
				} catch ( x ) {
				}
			} else if ( YAHOO.util.Dom.hasClass( aOptions[i], "reportCenter" ) ) {

				var oOption = aOptions[i];
				
				var oOptionIcon = YAHOO.util.Dom.get( "option-icon-reportCenter" );
				
				var oApplicationTitle = YAHOO.util.Dom.get( "title" );
				if( oApplicationTitle ) {
					oOptionIcon.setAttribute( "title", oApplicationTitle.firstChild.nodeValue + " Report Center" );
				} else {
					oOptionIcon.setAttribute( "title", "Report Center" );
				}
				oOptionIcon.setAttribute( "title", oOption.innerHTML );

				var sActivationScript = "oOption._activate = function( oEvent, oObject ) { " + oOption.getAttribute( "fse:onclick" ) + "; };"				
				try {
					eval( sActivationScript );
					YAHOO.util.Event.addListener( oOptionIcon, "click", oOption._activate, oOption );
					YAHOO.util.Dom.removeClass( oOptionIcon, "hidden" );
					if( ! Fse.Portal._usePopupIcon ) {
						YAHOO.util.Dom.addClass( oOptionIcon, "text" );
						oOptionIcon.innerHTML = "<a>Reports</a>";
					}
				} catch ( x ) {
				}

					
			} else { 
			}
			
		}

		
		var fnDialogPortletCheck = function( oNode ) { 
			var bMatch = YAHOO.util.Dom.hasClass( oNode, "dialog" ) && YAHOO.util.Dom.hasClass( oNode, "portlet" );
			return bMatch;
		};
		
		var aDialogPortlets = YAHOO.util.Dom.getChildrenBy( oOptions, fnDialogPortletCheck );
		if( aDialogPortlets ) {

			var oSearchCenter;
			var bOptionsFound = false;

			for( var pIdx = 0; pIdx < aDialogPortlets.length; pIdx ++ ) {
				
				var oDialogPortlet = aDialogPortlets[pIdx];
				var bMoveOption = false;
				if( !oSearchCenter && YAHOO.util.Dom.hasClass( oDialogPortlet, "searchCenter" )) {
					oSearchCenter = oDialogPortlet;
					bOptionsFound = true;
					bMoveOption = true;
				} else if ( false ) {
					// follow this model to support other options					
				}
				
				if( bMoveOption ) {
					oDialogPortlet.parentNode.removeChild( oDialogPortlet );
					oPopupOptions.appendChild( oDialogPortlet );
				}
				
			}
			
			if( bOptionsFound ) {
			
				var fnActivateOption = function( oEvent, oObj ) {
					if( oObj ) {
						
						if( ! oObj.visibleState ) {

							var defaultX = YAHOO.util.Event.getPageX( oEvent );
							var defaultY = YAHOO.util.Event.getPageY( oEvent );
							
							var sId = oObj.element.getAttribute( "id" )
							
							var x = YAHOO.util.Cookie.get( sId + "_xPos" );
							if( ! x ) {
								x = defaultX - oObj.element.offsetWidth;
							}
							var y = YAHOO.util.Cookie.get( sId + "_yPos" );
							if( ! y ) { 
								y = defaultY;
							}
							
							oObj.moveTo( x, y );
							oObj.show();
							
						} else {
							oObj.hide();
						}
					}
				};
				
				var fnHideListener = function() {
					this.visibleState = false;
				};
				var fnShowListener = function() {
					this.visibleState = true;
				};
				
				var oOptionIcons = YAHOO.util.Dom.get( "option-icons" );
				if( oSearchCenter ) {
					
					var sSearchCenterId = oSearchCenter.getAttribute("id");
					var oSearchCenterHeader = YAHOO.util.Dom.getElementsByClassName( "header", "div", oSearchCenter );
					if( ! oSearchCenterHeader.id ) {
						oSearchCenterHeader.id = oSearchCenter.id + "-header";
					}
					
					var dialogOptions = {};
					
					dialogOptions.visible = false;
					dialogOptions.constraintoviewport = true;
					var x = YAHOO.util.Cookie.get( sSearchCenterId + "_xPos" );
					var y = YAHOO.util.Cookie.get( sSearchCenterId + "_yPos" );
					if( x != null && y != null ) {
						dialogOptions.xy = [ x * 1, y * 1 ];
					}
					
					YAHOO.Fse.Portal.searchCenter = new YAHOO.widget.Overlay( oSearchCenter, dialogOptions );
					YAHOO.util.Dom.removeClass( oSearchCenter, "hidden" );
					YAHOO.Fse.Portal.searchCenter.render();	
					YAHOO.Fse.Portal.searchCenter.visibleState = false;
					YAHOO.Fse.Portal.searchCenter.hideEvent.subscribe( fnHideListener );
					YAHOO.Fse.Portal.searchCenter.showEvent.subscribe( fnShowListener );
					
					Fse.Portal._dialogPortlets[sSearchCenterId] = YAHOO.Fse.Portal.searchCenter;

					var oOptionIcon = YAHOO.util.Dom.get( "option-icon-searchCenter" );
					
					var oApplicationTitle = YAHOO.util.Dom.get( "title" );
					if( oApplicationTitle ) {
						oOptionIcon.setAttribute( "title", oApplicationTitle.firstChild.nodeValue + " Search Center" );
					} else {
						oOptionIcon.setAttribute( "title", "Search Center" );
					}
					
					YAHOO.util.Dom.removeClass( oOptionIcon, "hidden" );
					YAHOO.util.Event.addListener( oOptionIcon, "click", fnActivateOption, YAHOO.Fse.Portal.searchCenter );


					YAHOO.Fse.Portal.searchCenter.DD = function(id, sGroup, config) {
					    YAHOO.Fse.Portal.searchCenter.DD.superclass.constructor.apply(this, arguments);
					};					

					YAHOO.extend (
						YAHOO.Fse.Portal.searchCenter.DD, 
						YAHOO.util.DD, {
					    		endDrag: function(e) {
										var x = YAHOO.util.Dom.getX( oSearchCenter );
										YAHOO.util.Cookie.set( sSearchCenterId + "_xPos", x );
										var y = YAHOO.util.Dom.getY( oSearchCenter );
										YAHOO.util.Cookie.set( sSearchCenterId + "_yPos", y );
							    }
						} );

					var dd = new YAHOO.Fse.Portal.searchCenter.DD( oSearchCenter );
					dd.setHandleElId( oSearchCenterHeader );
					
					/*
					var aHeader = YAHOO.util.Dom.getElementsByClassName( "header", "div", oSearchCenter );
					if( ! aHeader.id ) {
						aHeader.id = oSearchCenter.id + "-header";
					}
					*/
					
					// search center moved content
					var oMoved = document.getElementById( "searchCenter-option-moved-message" );
					if( oMoved ) {
						YAHOO.util.Dom.removeClass( oMoved, "hidden" );
					}

				}
				
				YAHOO.util.Dom.insertBefore( oOptionIcons, oSpecialLinks );
			}
	}
	}
	
	
	if( !  window.frameElement ) {
		if( Fse.Portal._loggedIn ) {
			Fse.Portal.startAutoLogoffTimer();
		}
	} 
	
};



Fse.Portal.hidePortlet = function( sPortletId ) {
	var oDialog = Fse.Portal._dialogPortlets[sPortletId];
	if( oDialog ) {
		oDialog.hide();
	}
};


Fse.Portal.ssoRoute = function( sProvider, sTarget, bNewWindow ) {
	
	
	var oOptions = {
		
		buttons : [
			{ text:"NO", handler:function() { YAHOO.Fse.Dialogs["ssoConfirmDialog"].cancel(); }, isDefault:false },
			{ text:"YES", handler:function() { 
				
					YAHOO.Fse.Dialogs["ssoConfirmDialog"].hide(); 

					// update the dom so that we don't prompt again before
					// the next page refresh					
					var oSSOAcks = document.getElementById( "ssoAcks" );
					if( oSSOAcks ) {
						var sProviders = oSSOAcks.getAttribute( "providers" );
						if( sProviders ) {
							sProviders = sProvider + "," + sProvider;
						} else {
							sProviders = sProvider;
						}
						oSSOAcks.setAttribute( "providers", sProviders );
					}
					
					document.frm_ssoRouter.submit(); 
					
				}, isDefault:false }		
		]
		
	};
	
	if( bNewWindow ) {
		document.frm_ssoRouter.setAttribute( "target", "_blank" );
		document.frm_ssoRouter.setAttribute( "target", sProvider );
	} else {
		document.frm_ssoRouter.setAttribute( "target", "_self" );
	}
	
	document.frm_ssoRouter.provider.value = sProvider;
	document.frm_ssoRouter.target.value = sTarget;
	
	
	var showDialog = true;
	var oSSOAcks = document.getElementById( "ssoAcks" );
	if( oSSOAcks ) {
		var sProviders = oSSOAcks.getAttribute( "providers" );
		if( sProviders.indexOf( sProvider ) >= 0 ) {
			showDialog = false;
		}
	}
	
	if( showDialog ) {	
		var oElements = YAHOO.util.Dom.getElementsByClassName( "website-reference", "span", "ssoConfirmDialog" );
		for( var i = 0; i < oElements.length; i++ ) {
			oElements[i].innerHTML = sTarget;
		}
		
		Fse.DialogManager.show( "ssoConfirmDialog", oOptions );
	} else {
		document.frm_ssoRouter.submit(); 
	}
};

Fse.Portal._countDownInterval = null;
Fse.Portal._autoLogoffTimer = null;
Fse.Portal._logoffTimer = null;


Fse.Portal.showLogoutPrompt = function() {
	
	var oCountDownElement = document.getElementById( "countDownSecondsRemaining" );
	Fse.Portal._countDown = 30;
	oCountDownElement.innerHTML = Fse.Portal._countDown;
	
	Fse.DialogManager.show( "autoLogoffPrompt" );
	
	var intervalFn = function() { 
		Fse.Portal._countDown = Fse.Portal._countDown - 1; 
		if( Fse.Portal._countDown < 0 ) {
			Fse.Portal._countDown = 0;
		}
		oCountDownElement.innerHTML = Fse.Portal._countDown; 
	};
	
	Fse.Portal._countDownInterval = setInterval( intervalFn, 1000 );
	// give the user 31 seconds to respond 
	Fse.Portal._logoffTimer = setTimeout( Fse.Portal.doAutoLogoff, 31000 );
};

Fse.Portal.doAutoLogoff = function() {
	
	var sLogoutScript = "public/actions/logout.cfm";
	var sLogoutURL;
	
	if( Fse.Portal._docRoot ) {
		sLogoutURL = Fse.Portal._docRoot + sLogoutScript;
	} else {
		sLogoutURL = sLogoutScript;		
	}
	window.location = sLogoutURL;	
};

Fse.Portal.startAutoLogoffTimer = function() {

	if( Fse.Portal._logoffTimer ) {
		clearTimeout( Fse.Portal._logoffTimer );
		Fse.Portal._logoffTimer = null;
	}

	if( Fse.Portal._autoLogoffTimer ) {
		clearTimeout( Fse.Portal._autoLogoffTimer );
		Fse.Portal._autoLogoffTimer = null;
	}

	if( Fse.Portal._countDownInterval ) {
		clearInterval( Fse.Portal._countDownInterval );
		Fse.Portal._countDownInterval = null;
	}

	Fse.Portal._autoLogoffTimer = setTimeout( Fse.Portal.showLogoutPrompt, 600 * 60 * 1000 ); // 600 minutes (ten hours)
	
};

Fse.Portal.setEmailDialogFocus = function() {
	
	var oForm = document.getElementById( "frm_stpSendMail" );
	if( oForm ) {
		var fnCheck = function( e ) {
			return "true" == e.getAttribute( "focus" );
		}
		var aElements = YAHOO.util.Dom.getElementsBy( fnCheck, null, oForm );
		if( aElements.length ) {
			var e = aElements[0];
			// e.focus();
		}
	}
};

Fse.Portal.showEmailDialog = function( oTag, sFile ) {

		var oOptions = {};
		oOptions.title = "Send Email";
		oOptions.src = "../../utilities/email/handler.cfm";
		var sQueryString;
		var sHref = oTag.getAttribute( "href" );
		if( sHref ) {
			var sOptions;
			var iQps = sHref.indexOf( "?" );
			if( iQps >= 0 ) {
				sURL = sHref.substring( 0, iQps );
				sOptions = sHref.substr( iQps + 1, sHref.length - iQps );
			} else {
				sURL = sHref;
			}
			var sAddress;
			var iEmailPs = sURL.indexOf( ":" );
			if( iEmailPs ) {
				sAddress = sURL.substr( iEmailPs + 1, sURL.length - iEmailPs );
				var sProtocol = sURL.substr( 0, iEmailPs );
				if( sProtocol == "fsemailto" ) {
					sAddress = sAddress + "&encTo=true";
				}
			}

			if( sAddress ) {
				sQueryString = "to=" + sAddress;
			}
			
			if( sOptions ) {
				if( sQueryString ) {
					sQueryString = sQueryString + "&" + sOptions;				
				} else {
					sQueryString = sOptions;
				}
			}
		}
		
		var sFilePath;
			
		if( sFile ) {
			sFilePath = "file=" + sFile;
			sQueryString = sFilePath;
		}
		
		if( sQueryString ) {
			oOptions.src = oOptions.src + "?" + encodeURI( sQueryString );
		}
		
		Fse.DialogManager.show( "_stpEmailDailog", oOptions  );
		return false;
};

Fse.Portal.doLogoff = function( sLogoff ) {
	var aCookieNames = [ "CFID", "CFTOKEN", "JSESSIONID" ];
	for( var x = 0; x <= aCookieNames.length; x++ ) {
		
		var sCookieToDelete = aCookieNames[x] + "=" + encodeURIComponent( "" )
		                    + "; expires=" + (new Date(0)).toGMTString()
		                    + "; path=/";
		                    
		document.cookie = sCookieToDelete;
	}
	window.location.href = sLogoff;
};

Fse.Portal.showReportCenter = function( sURL, sTitle ) {
	var oLink = document.getElementById( "sysReportCenterHandler" );
	if( oLink ) {
		var sHref = oLink.getAttribute( "href" );
		sHref = sHref + "?app=" + encodeURIComponent( sURL );
		var oOptions = {
			src : sHref
		};
		if( sTitle ) {
			oOptions.title = sTitle;
		}
		
		oOptions.postMethod = "form";
		
		Fse.DialogManager.show( "sysReportCenterDialog", oOptions );
	}
};

Fse.Portal.initReportCenterDialog = function() {
	var aTabViews = YAHOO.util.Dom.getElementsByClassName( "yui-navset", "div", "sysReportCenterDialog" );
	if( aTabViews && aTabViews.length ) {
		var oDialog = YAHOO.Fse.Dialogs["sysReportCenterDialog"];
		oDialog.tabView = new YAHOO.widget.TabView( aTabViews[0] );
	}
	var sAppHandler = document.frm_reportCenter.rc_handler.value;	
	
	var sReportSelectURL = sAppHandler + "&rc_action=build&rc_part=reportSelect";
	
	var oReportField = document.frm_reportCenter.rc_report;
	if( oReportField.value != "?" ) {
		sReportSelectURL = sReportSelectURL + "&rc_report=" + encodeURIComponent( oReportField.value );
		if( oReportField.getAttribute( "fse:rc_defaults" )) {
			sReportSelectURL = sReportSelectURL + "&rc_defaults=" + encodeURIComponent( oReportField.getAttribute( "fse:rc_defaults" )); 
		}
	}
	var sCriteriaURL = sAppHandler + "&rc_action=build&rc_part=criteriaFields";
	var sHelpURL = sAppHandler + "&rc_action=build&rc_part=helpContent";


	var fnCriteriaChanged = function( e ) {
		
		Fse.DialogManager.initializePopupCalendarHandler( document.frm_reportCenter );		
		
		var oMobile = document.getElementById( "rc_mobile" );
		var bMobile = (oMobile.value == "true");
		if( bMobile ) {
			if( oMobile.form.rc_method_download.checked ) {
				oMobile.form.setAttribute( "target", "_blank" );
			} else {
				oMobile.form.setAttribute( "target", null );
			}
		}
		
		if( document.getElementById( "rc_preview_btn" ) ) {
			if( document.frm_reportCenter.rc_report.value == "?" ) {
				document.getElementById( "rc_preview_btn" ).disabled = true;
			} else {
				document.getElementById( "rc_preview_btn" ).disabled = false;
			}
		}
		
	};
	
	var fnChangeHandler = function( oTarget ) {

		var oOption = oTarget.options[oTarget.selectedIndex];
		
		var sFormats = oOption.getAttribute( "fse:formats" );
		if( ! sFormats || sFormats == "" ) {
			sFormats = "pdf,txt";
		} 
		var sMethods = oOption.getAttribute( "fse:methods" );
		if( ! sMethods || sMethods == "" ) {
			sMethods = "download,email";
		} 
		
		if( oOption.value == "?" ) {
			sFormats = "";
			sMethods = "";
		}
		
		var oFormatPDF = document.getElementById( "rc_format_pdf" );
		var oFormatTXT = document.getElementById( "rc_format_txt" );
		var oFormatXLS = document.getElementById( "rc_format_xls" );
		var oMethodDOWNLOAD = document.getElementById( "rc_method_download" );
		var oMethodEMAIL = document.getElementById( "rc_method_email" );
		var oRecipients = document.getElementById( "rc_recipients" );
		var oRecipientsCc = document.getElementById( "rc_recipients_cc" );
		var oImportant = document.getElementById( "rc_important" );
		var oSendCopy = document.getElementById( "rc_sendcopy" );
		var oReceipt = document.getElementById( "rc_receipt" );
		var oSubject = document.getElementById( "rc_subject" );
		var oMessage = document.getElementById( "rc_message" );
		
		oFormatPDF.checked = false;
		oFormatPDF.disabled = true;
		oFormatTXT.checked = false;
		oFormatTXT.disabled = true;
		oFormatXLS.checked = false;
		oFormatXLS.disabled = true;
		
		oMethodDOWNLOAD.checked = false;
		oMethodDOWNLOAD.disabled = true;
		oMethodEMAIL.checked = false;
		oMethodEMAIL.disabled = true;
		
		if( oTarget.form.getAttribute( "fse:defaultMethod" ) == "email" ) {
		}

		
		// oRecipients.value = ""
		oRecipients.disabled = true;
		oRecipientsCc.disabled = true;
		oImportant.disabled = true;
		oSendCopy.disabled = true;
		oReceipt.disabled = true;
		
		// oMessage.value = "";
		oMessage.disabled = true;
		// oSubject.value = "";
		oSubject.disabled = true;
		
		var aFormats = sFormats.split( "," );
		
		for( var x = 0; x < aFormats.length; x++ ) {
			var sFormat = aFormats[x].toLowerCase();
			if( sFormat == "pdf" ) {
				oFormatPDF.disabled = false;
				if( x == 0 ) {
					oFormatPDF.checked = true;
				}
			} else if ( sFormat == "txt" ) {
				oFormatTXT.disabled = false;
				if( x == 0 ) {
					oFormatTXT.checked = true;
				}
			} else if ( sFormat == "xls" ) {
				oFormatXLS.disabled = false;
				if( x == 0 ) {
					oFormatXLS.checked = true;
				}
			}
		}

		var aMethods = sMethods.split( "," );
		
		if( oTarget.form.getAttribute( "fse:defaultMethod" ) == "email" ) {
			aMethods = ["email","download"];
		}
		
		for( var x = 0; x < aMethods.length; x++ ) {
			var sMethod = aMethods[x].toLowerCase();
			if( sMethod == "download" ) {
				oMethodDOWNLOAD.disabled = false;
				if( x == 0 ) {
					oMethodDOWNLOAD.checked = true;
				}
			} else if ( sMethod == "email" ) {
				oMethodEMAIL.disabled = false;
				if( x == 0 ) {
					oMethodEMAIL.checked = true;
					oRecipients.disabled = false;
					oRecipientsCc.disabled = false;
					oImportant.disabled = false;
					oSendCopy.disabled = false;
					oReceipt.disabled = false;
					oMessage.disabled = false;
					oSubject.disabled = false;
				}
			}
		}
		var sCriteriaTabURL = sCriteriaURL + "&rc_report=" + encodeURIComponent( oTarget.value );
		var sRcDefaults = oTarget.options[oTarget.selectedIndex].getAttribute( "fse:rc_defaults");
		if( sRcDefaults ) {
			sCriteriaTabURL = sCriteriaTabURL + "&rc_defaults=" + encodeURIComponent( sRcDefaults );
		}
		
		if( aMethods[0] == "email" ) {
			var oAnchor = document.getElementById( "outputTabAnchor" ); 
			if( YAHOO.util.Dom.hasClass( oAnchor.parentNode, "selected" )) {
				oRecipients.focus();
			}
		}
		
		Fse.Ajax.updateContent( sCriteriaTabURL, "rc_criteriaTab", null, fnCriteriaChanged );
		Fse.Ajax.updateContent( sHelpURL + "&rc_report=" + encodeURIComponent( oTarget.value ), "rc_helpTab" );
	};
	
	var fnChanged = function( e ) {
		var oTarget = YAHOO.util.Event.getTarget( e );
		fnChangeHandler( oTarget );
	}
	
	var fnSelectLoaded = function() {
		var oSelect = document.getElementById( "rc_report" );
		if( oSelect.value != "?" ) {
			fnChangeHandler( oSelect );
		}
 		YAHOO.util.Event.addListener( oSelect, "change", fnChanged );
	};
	
	Fse.Ajax.updateContent( sReportSelectURL, "rc_reportSelectSocket", null, fnSelectLoaded );
	if( oReportField.value == "?") {
		Fse.Ajax.updateContent( sCriteriaURL, "rc_criteriaTab" );
		Fse.Ajax.updateContent( sHelpURL, "rc_helpTab" );
	}
	
};	

Fse.Portal.reportCenterPreSubmit = function( oForm ) {
	
	var bSubmit = false;
	var aLink = YAHOO.util.Dom.getElementsBy( 
					function( e ) { return "postValidateHandler" == e.getAttribute( "id" ) }, 
					"link", 
					oForm );
					
	if( aLink.length == 1 ) {
		bSubmit = eval( aLink[0].getAttribute( "href" ) + "(oForm)" );
	} else {
		bSubmit = true;
	}
	return bSubmit;
};

Fse.Portal.reportCenterMethodChanged = function() {
	var oDownloadRadio = document.getElementById( "rc_method_download" );
	
	var oMobile = document.getElementById( "rc_mobile" );
	var bMobile = (oMobile.value == "true");
	
	var oRecipients = document.getElementById( "rc_recipients" );
	var oRecipientsCc = document.getElementById( "rc_recipients_cc" );
	var oImportant = document.getElementById( "rc_important" );
	var oSendCopy = document.getElementById( "rc_sendcopy" );
	var oReceipt = document.getElementById( "rc_receipt" );
	var oMessage = document.getElementById( "rc_message" ); 
	var oSubject = document.getElementById( "rc_subject" ); 
	
	if( oDownloadRadio.checked ) {
		oRecipients.disabled = true;
		oRecipientsCc.disabled = true;
		oImportant.disabled = true;
		oSendCopy.disabled = true;
		oReceipt.disabled = true;
		oMessage.disabled = true;
		oSubject.disabled = true;
		if( bMobile ) {
			oDownloadRadio.form.setAttribute( "target", "_blank" );
		}
	} else {
		oRecipients.disabled = false;
		oRecipientsCc.disabled = false;
		oImportant.disabled = false;
		oSendCopy.disabled = false;
		oReceipt.disabled = false;
		oMessage.disabled = false;
		oSubject.disabled = false;
		if( bMobile ) {
			oDownloadRadio.form.setAttribute( "target", null );
		}
	}
	
};

Fse.Portal.previewReport = function() {

	if( Fse.FormManager.submit( document.frm_reportCenter, false )) {

		var oForm = document.frm_reportCenter;
		var data = [];
		var item = 0;
		
		/****/
		// Iterate over the form elements collection to construct the
		// label-value pairs.
		for (i=0,len=oForm.elements.length; i<len; ++i){
			oElement  = oForm.elements[i];
			oDisabled = oElement.disabled;
			
            oName     = oElement.name;

			// Do not submit fields that are disabled or
			// do not have a name attribute value.
			if(!oDisabled && oName)
			{
                oName  = encodeURIComponent(oName)+'=';
                oValue = encodeURIComponent(oElement.value);

				switch(oElement.type)
				{
                    // Safari, Opera, FF all default opt.value from .text if
                    // value attribute not specified in markup
					case 'select-one':
                        if (oElement.selectedIndex > -1) {
                            opt = oElement.options[oElement.selectedIndex];
                            data[item++] = oName + encodeURIComponent(
                                (opt.attributes.value && opt.attributes.value.specified) ? opt.value : opt.text);
                        }
                        break;
					case 'select-multiple':
                        if (oElement.selectedIndex > -1) {
                            for(j=oElement.selectedIndex, jlen=oElement.options.length; j<jlen; ++j){
                                opt = oElement.options[j];
                                if (opt.selected) {
                                    data[item++] = oName + encodeURIComponent(
                                        (opt.attributes.value && opt.attributes.value.specified) ? opt.value : opt.text);
                                }
                            }
                        }
						break;
					case 'radio':
					case 'checkbox':
						if(oElement.checked){
                            data[item++] = oName + oValue;
						}
						break;
					case 'file':
						// stub case as XMLHttpRequest will only send the file path as a string.
					case undefined:
						// stub case for fieldset element which returns undefined.
					case 'reset':
						// stub case for input type reset button.
					case 'button':
						// stub case for input type button elements.
						break;
					case 'submit':
						if(hasSubmit === false){
							if(this._hasSubmitListener && this._submitElementValue){
                                data[item++] = this._submitElementValue;
							}
							hasSubmit = true;
						}
						break;
					default:
                        data[item++] = oName + oValue;
				}
			}
		}

		data[item++] = encodeURIComponent( "rc_preview") + '=' + encodeURIComponent( "true" );

		var sURL = oForm.action + '?' + data.join('&');
		
		window.open( sURL );

/****/		


	}
};

YAHOO.util.Event.onDOMReady(Fse.Portal.init);
