/*
  A Common Java Script File that can be used for any site
*/



/*
Date: June 30, 2008
The following functions are for the new ash site
*/
/* 
+-----------------------------------+
|  Main Navigate from page 2 page   |
+-----------------------------------+
*/
function MAIN_NavPage(url,link_id) {
    
    document.frmMainPageInfo.open_link.value = "";
    MAIN_PageAccess(link_id);
    document.frmMainPageInfo.action = url;
    document.frmMainPageInfo.target = "_top";
    document.frmMainPageInfo.page_referer.value = document.frmMainPageInfo.page_id.value;
    document.frmMainPageInfo.submit();

} // ENDS FUNCTION
/* 
+-----------------------------------+
|  Main Back to Page                |
+-----------------------------------+
*/
function MAIN_NavBackPage(url) {
    
    $('open_link').value = "";
    document.frmMainPageInfo.action = url;
    document.frmMainPageInfo.target = "_top";
    document.frmMainPageInfo.page_referer.value = document.frmMainPageInfo.page_id.value;
    document.frmMainPageInfo.submit();

} // ENDS FUNCTION
/* 
+-----------------------------------+
|  Main Open Page                   |
+-----------------------------------+
*/
function MAIN_OpenPage(url,link_id) { 
    MAIN_PageAccess(link_id);
    document.frmMainPageInfo.action = url;
    document.frmMainPageInfo.target = "_blank";
    document.frmMainPageInfo.page_referer.value = document.frmMainPageInfo.page_id.value;
    $('open_link').value = "";
    document.frmMainPageInfo.submit();

} // ENDS FUNCTION

/* 
+-----------------------------------+
|  Main Navigate To a Secure Page   |
+-----------------------------------+
*/
function MAIN_NavSecurePage(url,link_id,require) {
    $('open_link').value = "";
    if( getLogID() == 0 ) {
    
        if( getInternalProfileID() > 0 && require == 1 || getInternalProfileID() == 0 ) {
        
	    document.frmMainPageInfo.action = "/share/login/login.php";
	    $('log_link').value = link_id;
	    document.frmMainPageInfo.target = "_top";
	    $('open_link').value = "";
	    document.frmMainPageInfo.page_referer.value = document.frmMainPageInfo.page_id.value;
	    document.frmMainPageInfo.submit();
        }
	else
           MAIN_NavPage(url,link_id);
       	
    }
    else
       MAIN_NavPage(url,link_id);
       

} // ENDS FUNCTION
/* 
+-----------------------------------+
|  Main Open a Secure Page          |
+-----------------------------------+
*/
function MAIN_OpenSecurePage(url,link_id,require) {
    
    if( getLogID() == 0 ) {
    
        if( getInternalProfileID() > 0 && require == 1 ) {

            document.frmMainPageInfo.action = "/share/login/login.php";
	    document.frmMainPageInfo.target = "_top";
	    $('log_link').value = link_id;
	    $('open_link').value = url;
	    document.frmMainPageInfo.page_referer.value = document.frmMainPageInfo.page_id.value;
	    document.frmMainPageInfo.submit();
	}
	else if( getInternalProfileID() == 0 ) {
	         document.frmMainPageInfo.action = "/share/login/login.php";
	         $('log_link').value = link_id;
	         $('open_link').value = url;
	         document.frmMainPageInfo.page_referer.value = document.frmMainPageInfo.page_id.value;
	         document.frmMainPageInfo.submit();
	}
	else 
           MAIN_OpenPage(url,link_id);
       	   
     
    }
    else
       MAIN_OpenPage(url,link_id);
       

} // ENDS FUNCTION



/* 
+-------------------------------------------+
|  Main Open a Secure Dynamic Page          |
+-------------------------------------------+
*/
function MAIN_OpenDynamicPage(url,link_id,set_page) {
    
    MAIN_PageAccess(link_id); 
    document.frmMainPageInfo.action = url;
    document.frmMainPageInfo.target = "_blank";
    document.frmMainPageInfo.page_referer.value = document.frmMainPageInfo.page_id.value;
    document.frmMainPageInfo.set_page.value = set_page;
    document.frmMainPageInfo.submit();
       

} // ENDS FUNCTION



/* 
+-----------------------------------+
|  Main Track Page Access           |
+-----------------------------------+
*/
function MAIN_PageAccess(link_id) {
    
    var mParam = "page_id="+getCurrentPageID()+ 
                 "&link_id="+link_id+
                 "&site_id="+getProfileID()+
                 "&log_id="+getLogID()+"";
       
    var myAjax = new Ajax.Request(
                     "/share/ajax/page/page_access_track_v2.php",
		      {
                           method: 'post',
			   parameters: mParam
                      }
    );
			   
    
} // ENDS FUNCTION

   



/* END NEW FUNCTIONS */




/*
****************************************
* GET MAIN PAGE PROPERTY VALUE         *
****************************************
*/
function GetMainPagePropertyValue(prop) {
    return eval("document.frmMainPageInfo."+prop+".value");
}




/*
****************************************
*  CHANGE A CLASS OF AN OBJECT         *
****************************************
*/
function SetObjClass(obj,cname) {
    $(obj).className = cname;
}




/*
****************************************
* GET SESSION ID                       *
****************************************
*/
function getSessionID() {
   return document.frmMainPageInfo.session_id.value;

}




/*
****************************************
* GET PROFILE ID                       *
****************************************
*/
function getProfileID() {
    return document.frmMainPageInfo.profile_id.value;
}



/*
****************************************
* GET INTERNAL PROFILE ID              *
****************************************
*/
function getInternalProfileID() {
    return document.frmMainPageInfo.internal_profile_id.value;
}




/*
****************************************
* GET LOG ID                           *
****************************************
*/
function getLogID() {
    return document.frmMainPageInfo.log_id.value;
}




/*
****************************************
* GET CURRENT PAGE ID                  *
****************************************
*/
function getCurrentPageID() {
    return document.frmMainPageInfo.page_id.value;
}




/*
****************************************
* GET ALL LINKS TO TRACK CLICKS        *
****************************************
*/
function GetAllLinksToTrack() {
    
    var allLinks = document.links;
    for (var i=0,len=allLinks.length;i<len;i++) {
         
	 if( allLinks[i].id.substring(0,8) == "link_id_" ) 
	     allLinks[i].onclick=TrackMyClicks;
	 
    }
}




/*
****************************************
* TRACK MY CLICKS                      *
****************************************
*/
function TrackMyClicks(obj) {
    var nothing="";
      
}


/*
****************************************************
* MAIN NAVIGATION METHOD FROM NAVIGATION TO PAGE   *
****************************************************
*/
function MAIN_NAVIGATION(url,link_id) {
    
    MAIN_TrackLink(link_id);
    MAIN_SetCurrentNavButton(link_id);
    
    if( document.frmMainPageInfo.set_page.value > "" )
        document.frmMainPageInfo.page_id.value = document.frmMainPageInfo.set_page.value;
    else
       document.frmMainPageInfo.page_id.value = "";
    
    
     if( document.frmMainPageInfo.orig_host != null )
        url = document.frmMainPageInfo.orig_host.value + url;
	
    
    document.frmMainPageInfo.action = url;
    document.frmMainPageInfo.submit();
    
    
} // ENDS FUNCTION





/*
The 2 function below can be deleted when all frames have
been removed from all sites

****************************************************************
* MAIN NAVIGATION METHOD FROM NAVIGATION TO A FRAME SET PAGE   *
****************************************************************
*/
function MAIN_FRAME_NAVIGATION(page_id,link_id) {
    
 
    MAIN_TrackLink(link_id);
    MAIN_SetCurrentNavButton(link_id);
    document.frmMainPageInfo.page_id.value = page_id;
    if( document.frmMainPageInfo.orig_host != null )
        document.frmMainPageInfo.action = document.frmMainPageInfo.orig_host.value + "/share/page/index.php";
    else
       document.frmMainPageInfo.action = "/share/page/index.php";
    document.frmMainPageInfo.submit();

} // ENDS FUNCTION




/*
**************************************************
* MAIN OLD NAVIGATION METHOD FROM PAGE TO PAGE   *
**************************************************
*/
function MAIN_FrameNavigate(page_id,link_id) {
  
    if( link_id > '' )
        MAIN_TrackLink(link_id);
	
	
    document.frmMainPageInfo.page_id.value = page_id;
    if( document.frmMainPageInfo.orig_host != null )
        document.frmMainPageInfo.action = document.frmMainPageInfo.orig_host.value + "/share/page/index.php";
    else
       document.frmMainPageInfo.action = "/share/page/index.php";

    document.frmMainPageInfo.submit();

} // ENDS FUNCTION




/*
*********************************************
*  MAIN SET CURRENT NAVIGATION BUTTON       *
*********************************************
*/
function MAIN_SetCurrentNavButton(link_id) {
    document.frmMainPageInfo.current_nav.value = "link_id_"+link_id;
}




/*
**********************************************
* MAIN NAVIGATION METHOD FROM PAGE TO PAGE   *
**********************************************
*/
function MAIN_Navigate(url,link_id) {
    
    if( link_id > "" )
        MAIN_TrackLink(link_id);
    
    if( document.frmMainPageInfo.set_page.value > "" )
        document.frmMainPageInfo.page_id.value = document.frmMainPageInfo.set_page.value;
    else
       document.frmMainPageInfo.page_id.value = "";
    
    
    if( document.frmMainPageInfo.orig_host != null )
        url = document.frmMainPageInfo.orig_host.value + url;
	
    document.frmMainPageInfo.action = url;
    document.frmMainPageInfo.submit();
    
    
    
} // ENDS FUNCTION




/*
**********************************************
* MAIN SET variables, values                 *
**********************************************
*/
function MAIN_SetVariables(nvariable,nvalue) {
    
    
    vars = document.frmMainPageInfo.MAIN_variables;
    vals = document.frmMainPageInfo.MAIN_values;
    
    if( vars.value > "" ) {
    
        vars.value = ";" + nvariable;
	vals.value = ";" + nvalue;
	
    }
    else {
    
       vars.value = nvariable;
       vals.value = nvalue;
    
    }
    
   
   
    
    
} // ENDS FUNCTION







/*
***********************************************
*  FUNCTION TRACK LINK CLICKED                *
***********************************************
*/
function MAIN_TrackLink(link_id) {
    var mFile = "/share/ajax/page/page_access_track.php";
    var mParam = "page_id="+getCurrentPageID()+ 
                 "&link_id="+link_id+
		 "&account_id="+getProfileID()+ 
		 "&user_id="+$('user_id').value;
   
    var myAjax = new Ajax.Request(
                      mFile,
		      {
                           method: 'post',
			   parameters: mParam
                      });
			   
    

} // ENDS FUNCTION 



/*
****************************************
* FUNCTION SET NEW ICON                *
****************************************
*/
function MAIN_SetNewIcon() {
        
    var PosX = 0;
    var PosY = 0;
    var theElement = null;
	
    for( var i=0,len=document.links.length;i<len;i++ ) {
	 if( document.links[i].id.substring(0,9) == "new_item_" ) {
	         
	     PosX = 0;
	     PosY = 0;
	     theElement = $(document.links[i].id);
	     while( theElement != null ) {
	                
		    PosX += theElement.offsetLeft;
	            PosY += theElement.offsetTop;
	            theElement = theElement.offsetParent;
	     }	
	         
	     PosX = PosX - 54;
	     PosY = PosY - 11;
	
	     NewDiv = document.createElement('DIV');
	     NewDiv.setAttribute('id',"ICON_"+document.links[i].id+"");
	     $('frmMainPageInfo').appendChild(NewDiv);
	         
	     var Icon = $("ICON_"+document.links[i].id+"");   
	     Icon.style.top = PosY + "px";
	     Icon.style.left = PosX + "px";
	     Icon.className = "MAIN_NewIcon";
	     Icon.innerHTML = "<img src=\"/share/graphics/new.gif\" alt=\"New!\" width=\"54\" height=\"49\" border=\"0\" />";
	
	
	 }	
	     
	
    }
    
} // ENDS FUNCTION	




/*
****************************************
* FUNCTION STRETCT NEWS SECTION        *
****************************************
*/
function MAIN_StretchNewsSection() {
    
    var leftH  = $('HOME_left').offsetHeight;
    var rightH = $('HOME_news').offsetHeight + $('MAIN_banner').offsetHeight;
    var finalH = 0;
    if( leftH > rightH ) {
	finalH = $('HOME_left').offsetHeight - $('MAIN_banner').offsetHeight - 10;
        $('HOME_news').style.height = finalH + "px";
    }
    
    $('HOME_news_background').style.height = $('HOME_news').offsetHeight + "px";
	  
} // ENDS FUNCTION




/*
****************************************
* Open Disclaimer Page                 *
****************************************
*/
function OpenDisclaimer(page,title) {

  var openFile = "/share/disclaimer/" + page;  
  GB_showCenter(title,openFile,462,600,'');
  	    			    

}




/*
************************************************
*  CREATE ACCORDIAN OBJECT                     *
************************************************
*/
function MAIN_CreateAccordian(div_name, display_name, stretcher_name) {
	Element.cleanWhitespace(div_name);
        MAIN_AccordianInit(display_name, stretcher_name);
}




/*
************************************************
*  INITIALIZE ACCORDIAN OBJECT                 *
************************************************
*/
function MAIN_AccordianInit(display_name, stretcher_name) {
		
		var stretchers = document.getElementsByClassName(stretcher_name); //div that stretches
		var toggles = document.getElementsByClassName(display_name); //h3s where I click on

		//accordion effect
		var myAccordion = new fx.Accordion(
			toggles, stretchers, {opacity: true, duration: 400}
		);

		//hash function
		
		function checkHash(){
			var found = false;
			toggles.each(function(h3, i){
				if (window.location.href.indexOf(h3.title) > 0) {
					myAccordion.showThisHideOpen(stretchers[i]);
					found = true;
				}
			});
			return found;
		}
		
		if (!checkHash()) myAccordion.showThisHideOpen(stretchers[0]);
		
} // ENDS MAIN_AccordianInit





/*
******************************************************
* MAIN AJAX FUNCTION MAIN UPDATER                    *
******************************************************
*/
function MAIN_AjaxUpdater(mID,mFile,mParam,mOnComplete) {
      

      var myAjax = new Ajax.Updater(
                       mID,
                       mFile,
                       {
		            method: 'post',
                            parameters: mParam,
			    onComplete: eval(""+mOnComplete+"")
                       }
      );
      
      
      
} // ENDS FUNCTION MAIN_AjaxUpdater()



/*
******************************************************
* MAIN AJAX FUNCTION REQUEST (asynchronous)          *
******************************************************
*/
function MAIN_AjaxRequest(mFile,mParams,mOnComplete) {
    var myAjax = new Ajax.Request(
    mFile,
        {
            method: 'post',
            parameters: mParams,
            onComplete: eval(""+mOnComplete+"")
        }
   );

} // ENDS FUNCTION MAIN_AjaxRequest



/*
******************************************************
* MAIN AJAX FUNCTION REQUEST (synchronous)           *
******************************************************
*/
function MAIN_AjaxRequest_sync(mFile,mParams,mOnComplete) {
    var myAjax = new Ajax.Request(
    mFile,
        {
            method: 'get',
            parameters: mParams,
            onComplete: eval(""+mOnComplete+""),
            asynchronous:false
        }
   );

} // ENDS FUNCTION MAIN_AjaxRequest_syc


/*
**************************************************************














* MAIN CREATE A BORDER                                       *
**************************************************************
*/
function MAIN_CreateShadowBorder(mDiv,cRadius,sWidth ) {
	
    eval("RUZEE.Borders.add({'"+mDiv+"':{ borderType: 'shadow', cornerRadius: "+cRadius+", shadowWidth: "+sWidth+" }});");          
    RUZEE.Borders.render();
}

/*
**************************************************************
* MAIN CREATE A FADE BORDER                                  *
**************************************************************
*/
function MAIN_CreateFadeBorder(mDiv,cRadius) {
	
    eval("RUZEE.Borders.add({'"+mDiv+"':{ borderType: 'fade', cornerRadius: "+cRadius+"}});");          
    RUZEE.Borders.render();
}




/*
**************************************************************
* MAIN CREATE A SIMPLE PARTIAL BORDER                        *
**************************************************************
*/
function MAIN_CreateSimplePartialBorder(mDiv,cRadius,nEdges) {
	
    eval("RUZEE.Borders.add({'"+mDiv+"':{ borderType: 'simple', cornerRadius: "+cRadius+", edges:'"+nEdges+"'}});");          
    RUZEE.Borders.render();
}


/*
**************************************************************
* MAIN CREATE RUZEE BORDERS AROUND LEFT SIDE AND BANNER      *
**************************************************************
*/
function MAIN_RenderBorders() {
    RUZEE.Borders.add( {'#MAIN_left':{ borderType: 'shadow', cornerRadius: 4, shadowWidth: 1 },
                        '#MAIN_banner': { borderType: 'shadow', cornerRadius: 4, shadowWidth: 1 }} 
    );
	         
    RUZEE.Borders.render();
} // ENDS FUNCTION MAIN_RenderBorders



/*
**************************************************************
* MAIN CREATE RUZEE BORDERS AROUND LEFT SIDE AND BANNER      *
**************************************************************
*/
function MAIN_GetPageContent(mFile,mParam) {
     
    MAIN_AjaxUpdater('MAIN_content',mFile,mParam,'MAIN_SetAccordian');
	
} // ENDS FUNCTION MAIN_GetPageContent




/*
**************************************************************
* MAIN SET ACCORDIAN                                         *
**************************************************************
*/
function MAIN_SetAccordian() {
    MAIN_CreateAccordian('MAIN_content', 'display', 'stretcher');
} // ENDS FUNCTION MAIN_GetPageContent




/*
**************************************************************
* MAIN INITIALIZE PAGE                                       *
**************************************************************
*/
function MAIN_InitPage() {
    
    navBarInit(0);
    var leftH  = $('MAIN_left').offsetHeight;
    if( leftH < 335 ) 
    $('LeftFiller').style.marginBottom = 335 - leftH +"px";
   
    MAIN_RenderBorders();
	

	
}



/*
************************************************
*  ONLY NUMBERS FOR A TEXT FIELD               *
************************************************
*/
function MAIN_NumberOnly(e, currField) {
  
    if( document.all ) {
        var whichCode = event.which ? event.which :
        event.charCode ? event.charCode :
        event.keyCode;
    }
    else {
       var whichCode = e.which ?
       e.which :
       e.charCode ? e.charCode :
       e.keyCode;
    }
    
    var ascii = new Array(256);
    for(var x=0; x<256; x++ ) {
        ascii[x] = 0;
    }
    
    // NUMBERS
    for(x=48; x<58; x++ ) {
        ascii[x] = 1;
    }
    
    // BACK SPACE ALLOW
    ascii[8] = 1;
    // ENTER KEY
    ascii[13] = 1;
    // TAB
    ascii[9] = 1;
    ascii[46] = 1; // DELETE
    if( ascii[whichCode] == 0 ) {
         currField.focus();
        return false;
   
    }
    

} // ENDS MAIN_NumberOnly()




/*
************************************************
*  Dollar Amount                               *
************************************************
*/
function MAIN_DollarOnly(e, currField) {
  
    if( document.all ) {
        var whichCode = event.which ? event.which :
        event.charCode ? event.charCode :
        event.keyCode;
    }
    else {
       var whichCode = e.which ?
       e.which :
       e.charCode ? e.charCode :
       e.keyCode;
    }
    
    var ascii = new Array(256);
    for(var x=0; x<256; x++ ) {
        ascii[x] = 0;
    }
    
    // NUMBERS
    for(x=48; x<58; x++ ) {
        ascii[x] = 1;
    }
    
    // BACK SPACE ALLOW
    ascii[8] = 1;
    // ENTER KEY
    ascii[13] = 1;
    // TAB
    ascii[9] = 1;
    ascii[46] = 1; // DELETE
    // $
    ascii[36] = 1;
    ascii[44] = 1;
    ascii[46] = 1;
    
    if( ascii[whichCode] == 0 ) {
         currField.focus();
        return false;
   
    }
    

} // ENDS MAIN_DollarAmount()
function MAIN_FormatDollar(t,d,r) {

    // Take out all $
    d = d.replace(/\$/g,"");
    
    // Take out all ,
    d = d.replace(/\,/g,"");
    
    var Period = d.split(".");
    for( var i=1; i<Period.length-1; i++ )
         d = d.replace(".","");
	 
    if( r == 1 )
        d = Math.round(parseInt(d));
    
    
    
    if( d > "" ) {
    
        nStr = d+'';    
        x = nStr.split('.');
        x1 = x[0];    
        x2 = x.length > 1 ? '.' + x[1] : '';    
        var rgx = /(\d+)(\d{3})/;    
        while (rgx.test(x1))        
               x1 = x1.replace(rgx, '$1' + ',' + '$2');
    
        t.value =  "$" + x1 + x2;
    }
    else
       t.value = "";
}



/*
************************************************
*  ONLY A NAME LETTERS and (',-)               *
************************************************
*/
function MAIN_NameOnly(e, currField) {
  
    if( document.all ) {
        var whichCode = event.which ? event.which :
        event.charCode ? event.charCode :
        event.keyCode;
    }
    else {
       var whichCode = e.which ?
       e.which :
       e.charCode ? e.charCode :
       e.keyCode;
    }
    
        
    
    
    var ascii = new Array(256);
    for(var x=0; x<256; x++ ) {
        ascii[x] = 0;
    }
    
    // UPPER CASE ALLOW
    for(x=65; x<91; x++ ) {
        ascii[x] = 1;
    }
    
    //LOWER CASE ALLOW
    for(x=97;x<123;x++) {
        ascii[x] = 1;
    }
    
    // SINGLE QUOTE ALLOW
    ascii[39] = 1;
    // DASH ALLOW
    ascii[45] = 1;
    // COMMA ALLOW
    ascii[44] =1 ;
    // SPACE ALLOW
    ascii[32] = 1;
    // PERIOD ALLOW
    ascii[46] = 1;
    // BACK SPACE ALLOW
    ascii[8] = 1;
    // ENTER KEY
    ascii[13] = 1;
    // TAB
    ascii[9] = 1;
    ascii[46] = 1; // DELETE
    if( ascii[whichCode] == 0 ) {
         currField.focus();
        return false;
   
    }
     
    

} // ENDS MAIN_NameOnly()




/*
************************************************
*  ONLY  LETTERS Or Numbers                   *
************************************************
*/
function MAIN_LettersNumbersOnly(e, currField) {
  
    if( document.all ) {
        var whichCode = event.which ? event.which :
        event.charCode ? event.charCode :
        event.keyCode;
    }
    else {
       var whichCode = e.which ?
       e.which :
       e.charCode ? e.charCode :
       e.keyCode;
    }
        
     
    
    var ascii = new Array(256);
    for(var x=0; x<256; x++ ) {
        ascii[x] = 0;
    }
    
    // NUMBERS
    for(x=48; x<58; x++ ) {
        ascii[x] = 1;
    }
    // UPPER CASE ALLOW
    for(x=65; x<91; x++ ) {
        ascii[x] = 1;
    }
    
    //LOWER CASE ALLOW
    for(x=97;x<123;x++) {
        ascii[x] = 1;
    }
    
  
    // BACK SPACE ALLOW
    ascii[8] = 1;
    // ENTER KEY
    ascii[13] = 1;
    // TAB
    ascii[9] = 1;
    ascii[46] = 1; // DELETE
    // SPACE ALLOW
    ascii[32] = 1;
    
    if( ascii[whichCode] == 0 ) {
         currField.focus();
        return false;
   
    }
    

} // ENDS MAIN_NumberOnly()




/*
************************************************
*  FUNCTION AUTO TAB                           *

************************************************
*/
function MAIN_AutoTab(input, len, e) {

    if( input.value.length == len ) {
        input.form[(getIndex(input)+1) % input.form.length].focus();
    }
				
    function getIndex(input) {
        var index = -1,
        i =0, found = false;
        while( i < input.form.length && index == -1 ) {
               if( input.form[i] == input )
                   index = i;
               else
                  i++;
        }
        return index;
    }
    
    return true;
    
} // ENDS MAIN_AutoTab

	    
	    
	    
/*
************************************************
*  FUNCTION GET SELECTED VALUE                 *
************************************************
*/
function MAIN_TextFieldNoEnterKey(e, currField) {

    if( document.all ) {
        var whichCode = event.which ? event.which : event.charCode ? event.charCode : event.keyCode;
    }
    else {
       var whichCode = e.which ? e.which : e.charCode ? e.charCode : e.keyCode;
    }
	   
    if( whichCode == 13 ) {
	currField.focus();
	return false;
    }
				   
} // ENDS





/*
************************************************
*  FUNCTION GET SELECTED VALUE                 *
************************************************
*/
function MAIN_GetSelectedValue( lst ) {

    return $(''+lst+'').options[$(''+lst+'').selectedIndex].value;
    
} // ENDS MAIN_GetSelectedValue




/*
******************************************************
* MAIN MMLIAI CHANGE USER                            *
******************************************************
*/
function MMLIAI_ChangeUser() {
    MAIN_AjaxRequest('/share/login/MMLIAI_change_user.php','session_id='+getSessionID()+'','');
    window.close();

} // ENDS FUNCTION MAIN_AjaxRequest


/*
******************************************************
* MAIN  GREY BOX SHOW CENTER                         *
******************************************************
*/
function MAIN_GB_showCenter(title,url,h,w,js) {
    GB_showCenter(title,url,h,w,js);
}



/*
******************************************************
* MAIN AJAX REQUEST COMPLETE                         *
******************************************************
*/
function MAIN_SubmitRequestComplete(response) { eval(response.responseText); }


/*****************************************************
* EMPTY DATA FORM VALIDATION                         *
******************************************************

MAIN_checkEmpty( [FORM ID || FORM NAME], [CLASS]*, [HEX COLOR]*, [HEX COLOR]*);
	* = optional

	returns TRUE if all input items with [CLASS] in [FORM ID] or [FORM NAME] have data

	returns FALSE otherwise, alerts user displaying the element's TITLE value 
				
	example input element:
		<input type="text" name="testBox" title="Test Box" class="required" />
		
	Example calls: 
		MAIN_checkEmpty('myForm', 'req-1', '#db944e', '#00ff00');
			-- will alert user of any empty inputs with class 'req-1' on 'myForm'
				it will highlight the input border '#db944e' and next time the 
				function is called it will color those input borders:'#00ff00' 
				if they are no longer empty. Supplying a class name is usefule when
				you must validate different parts of the form at different times.
					
		MAIN_checkEmpty('myForm');
			-- same as above but looks for (the default) class name of 'required' and 
				will use #f88335 and  #077cca for the input's border.
*/
		
function MAIN_checkEmpty( form, className, needInputColor, satsifiedInputColor )
{
	var str = 'The following fields are required: \n\n';
	var x='';
	var radio = new Array();
	
	if (!className)
	{
		className = 'required'; 
	}
			
	if (!needInputColor)
	{
		needInputColor = '#f88335'; 
	}
			
	if (!satsifiedInputColor)
	{
		satsifiedInputColor = '#000000'; 
	}
	
	if(document.getElementById(form) == null)
	{
		if(document.getElementsByName(form)[0].name)
		{
			form = document.getElementsByName(form)[0];
		}
		else
		{
			return false;
		}
	}
	else
	{
		form = document.getElementById(form);
	}
	
	for (var j = 0; j < form.elements.length; j++)
	{
		x = form.elements[j].getAttribute('className');
		
		if (!x)
		{
			x = form.elements[j].getAttribute('class');
		}
		else
		{
			x = form.elements[j].getAttribute('className');
		}
				
		if (x)
		{
			if (x.indexOf(className) != -1)
			{
				if( form.elements[j].type == "radio" )
				{
					radio.push(form.elements[j].name);
				}
				else if( form.elements[j].value == '' )
				{
					str = str + form.elements[j].getAttribute('title') + '\n';
					//form.elements[j].style.borderColor=needInputColor;
				}
				else
				{
					//form.elements[j].style.borderColor=satsifiedInputColor;
				}
			}
		}
	}

	var radioCheck = function ( radioArray )
	{
		for ( var i = 0; i < radioArray.length; i++ )
		{
			j = document.getElementsByName( radioArray[i] );

			var l = 0;
			
			for ( k = 0; k < j.length; k++)
			{
				if(!j[k].checked)
				{
					l++;
				}
			}
			
			if (l == j.length)
			{
				return j[0].title;
			}
		}
		return '';
	}

	str += radioCheck( array_unique( radio ) );
	
	if(str == 'The following fields are required: \n\n')
	{
		return true;
	}
	else
	{
		alert (str);
		return false;
	}
}

/*****************************************************
* Function for sending form data to server           *
******************************************************

By providing an ID that belongs to a form; collectForm() will loop through all 
elements of that form and build a formatted parameter string to pass to a server side script.

example:

	<form id="myForm>

	<input type="text" name="myText" title="My Text" value="yada yada" class="required"/>
	
	</form>

	collectForm( myForm, 'h1', 'b');
		 
			Will return somethign like: "&myText=<b>yada yada</b>&myText_t=<h1>My text</h1>&myText_c=required

			and the value of each parameter will be url escaped with "escape()"

The paramter formats/values are:

	<name> = value=
	<name>_t = title=
	<name>_c = class=

Any input with a class of "do_not_send" will not be added to the parameter string and will be ignored

*/

function collectForm( formId , defaultTitleFormat, defaultValueFormat)
{
	if (formId)
	{
		f = document.getElementById(formId);
		params = '';
	}
	else
	{
		return '';
	}
	
	for (var j = 0; j < f.elements.length; j++)
	{
		v = c = n = t = "";
		
		if (f.elements[j].getAttribute('title') && f.elements[j].getAttribute('name'))
		{
			if(f.elements[j].type == "select-multiple" || f.elements[j].type == "select-one")
			{ 
				for(k = 0; k < f.elements[j].options.length; k++)
				{
					if(f.elements[j].options[k].selected)
					{
						if(f.elements[j].options[k].value)
						{
							v = v + f.elements[j].options[k].value;
						}
					}
				}
			}
			else if( f.elements[j].type == "radio" && f.elements[j].checked)
			{
				v = f.elements[j].value;
			}
			else if( f.elements[j].type == "checkbox" && f.elements[j].checked)
			{
				v = f.elements[j].value;
			}
			else if 
			( 
				f.elements[j].type != "radio" && 
				f.elements[j].type != "select-multiple" && 
				f.elements[j].type != "select-one" && 
				f.elements[j].type != "checkbox"
			)
			{
				v = f.elements[j].value;
			}
			 
			if( f.elements[j].getAttribute('title') )
			{
				t = f.elements[j].getAttribute('title');
			}

			c = f.elements[j].getAttribute('class');
			c_send=true;
			
			if ( !c )
			{
				// Try IE6/IE7 method
				c = f.elements[j].getAttribute('className');
			}

			if ( c )
			{
				if (c.indexOf("do_not_send") > -1)
				{
					c_send = false;
				}
			}
			
			if( f.elements[j].getAttribute('name') )
			{
				n = f.elements[j].getAttribute('name');
			}
			
			if ( defaultTitleFormat != null && f.elements[j].title.length > 0 )
			{
				t = '<' + defaultTitleFormat + '>' + t + '</'+ defaultTitleFormat + '>';
			}
				
			if ( defaultValueFormat != null && f.elements[j].value.length > 0 )
			{
				if( f.elements[j].type == "radio" || f.elements[j].type == "checkbox" )
				{
					if( f.elements[j].checked )
					{
						v = '<' + defaultValueFormat + '>' + v + '</'+ defaultValueFormat + '>';
					}
				}
				else
				{
					v = '<' + defaultValueFormat + '>' + v + '</' + defaultValueFormat + '>';
				}
			}
			
			if ( v.length > 0 && ( c_send ) )
			{
				//params += 
				//'&' + n + '_t=' + escape( t ) +
				//'&' + n + '=' + escape( v );
				params += 
				'&' + n + '_t=' + t +
				'&' + n + '=' + v ;
			}
		}
	}
	return( params );
}



/*****************************************************
* Misc Useful Functions                              *
*****************************************************/

//mimics php's array_unique function
function array_unique(ar){
  if(ar instanceof Array){
    var sorter = {};
    var out = [];
    for(var i=0,j=ar.length;i<j;i++){
      if(!sorter[ar[i]+typeof ar[i]]){
        out.push(ar[i]);
        sorter[ar[i]+typeof ar[i]]=true;
      }
    }
  }
  return out || ar;
}

//A handy string replace function
function str_replace(haystack, needle, replacement)
{
	var temp = haystack.split(needle);
	return temp.join(replacement);
}

// takes a string containing an array of id's such as
// "'someId', 'anotherId', 'thisId'"

// UPDATE:
// to avoid breaking on IE use code below for inline javascript:
// merge(&#34;'someId', 'anotherId', 'thisId'&#34;, 'birthday', '-')

// then combines their values and places them in outId's value.
// delimiter is a symbol used to seperated the values.

function merge(inId, outId, delimiter)
{
	sum = '';

	if (!delimiter)
	{
		delimiter = '';
	}
	 
	eval( "var items=new Array(" + inId + ')');

	for (var i = 0; i < items.length ; i++ )
	{
		if(!i)
		{
			sum += document.getElementById(items[i]).value;
		}
		else
		{
			sum += delimiter + document.getElementById(items[i]).value;
		}
	}
	//alert(outId);
	document.getElementById( outId ).value = sum;
}


var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-24875784-2']);
_gaq.push(['_trackPageview']);

(function() {
 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
