/***********************
START : COMMON UTILITIES
***********************/
var pageRequestManager = null;

function MM_findObj(n, d) 
{ 
    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() 
{ 
    var i,p,v,obj,args=MM_showHideLayers.arguments;
    for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) 
    { 
	    v=args[i+2];
	    if (obj.style) { 
		    obj=obj.style; 
		    v=(v=='show')?'':(v='hide')?'None':v; 
	    }
	    obj.display=v; 
    }
}

function QueryString(key)
{
	var value = null;
	for (var i=0;i<QueryString.keys.length;i++)
	{
		if (QueryString.keys[i]==key)
		{
			value = QueryString.values[i];
			break;
		}
	}
	return value;
}

function MakeAttribute(attName, attValue)
{
    var objAttribute=document.createAttribute(attName);
    objAttribute.value = attValue;
    return objAttribute;
}

function UnderlineLinks()
{
    var arr = document.body.getElementsByTagName("a");
    for (var i=0;i<arr.length;i++)
    {
        if(arr[i].id == 'skipanchor') continue;
        
        arr[i].onmouseover = function() {
        this.style.textDecorationUnderline = true;
        }

        arr[i].onmouseout = function() {
        this.style.textDecorationUnderline = false;
        }
    }
}  


/***********************
END : COMMON UTILITIES
***********************/


function HideFooterHR()
{
    var hr = MM_findObj("IUSASharedHeaderWeb_FooterHR");
    
    if(hr != null) hr.style.visibility = 'hidden';
}

function OnBodyLoad()
{
    if (document.Form1 != null && document.Form1.cca_username != null)
    {
	    document.Form1.cca_username.focus();
    }	
	
    QueryString.keys = new Array();
    QueryString.values = new Array();
    var query = window.location.search.substring(1);
    var pairs = query.split("&");
	
    for (var i=0;i<pairs.length;i++)
        {
	        var pos = pairs[i].indexOf('=');
	        if (pos >= 0)
	        {
		        var argname = pairs[i].substring(0,pos);
		        var value = pairs[i].substring(pos+1);
		        QueryString.keys[QueryString.keys.length] = argname;
		        QueryString.values[QueryString.values.length] = value;		
	        }
        }	
}


/*************************
//START : GeographyInfo.aspx
**************************/

function displayMoreInfoLink()
{
var toggleimg = MM_findObj("toggleImage_Collapsecontrol2");

if (toggleimg != null && toggleimg.parentNode != null && toggleimg.parentNode.parentNode != null && toggleimg.parentNode.parentNode.parentNode != null)
{
    var newcell = document.createElement("td");
    newcell.innerHTML = "&nbsp;&nbsp;&nbsp;<a id='skipanchor' href='#' style='vertical-align:top; font-size:11px; color:#0000CC; text-decoration: underline; font-weight: normal;' onClick=\"window.open('/Components/Public/RadiusSearch.htm','','width=350,height=425')\">More Info</a>";
    toggleimg.parentNode.parentNode.parentNode.appendChild(newcell);
}
return true;        
}

function OnGeographyLoad()
{
    pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
    if(pageRequestManager) 
    {
        pageRequestManager.add_endRequest(pageRequestManager_endRequest);
    }

   initializeControls();
   displayMoreInfoLink();
   UnderlineLinks();       
}

function OnExcludeGeoLoad()
{
    pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
    if(pageRequestManager) 
    {
        pageRequestManager.add_endRequest(pageRequestManager_endRequest);
    }

   initializeControls();
   UnderlineLinks();       
}

function pageRequestManager_endRequest(sender, e) 
{
    initializeControls(); 
    var r1 = MM_findObj("toggleDiv_ccDemographicInfo");
    var r2 = MM_findObj("toggleDiv_ccDetailOptions");
    var r3 = MM_findObj("toggleDiv_ccGeography");    
    
    var s1 = MM_findObj("ctrlSelectedCriteria_ccDemographicExpanded");
    var s2 = MM_findObj("ctrlSelectedCriteria_ccDetailExpanded");
    var s3 = MM_findObj("ctrlSelectedCriteria_ccGeographyExpanded");
 
    var i1 = MM_findObj("toggleImage_ccDemographicInfo");        
    var i2 = MM_findObj("toggleImage_ccDetailOptions");        
    var i3 = MM_findObj("toggleImage_ccGeography");        
    
    if(s1 != null) { if(s1.value == 'true') {r1.style.display ='';i1.src = "/Images/Common/arrow_open.gif";} else {r1.style.display='none';i1.src="/Images/Common/arrow_closed.gif";}}
    if(s2 != null) { if(s2.value == 'true') {r2.style.display =''; i2.src = "/Images/Common/arrow_open.gif";} else {r2.style.display='none';i2.src="/Images/Common/arrow_closed.gif";}}        
    if(s3 != null) { if(s3.value == 'true') {r3.style.display =''; i3.src = "/Images/Common/arrow_open.gif";} else {r3.style.display='none';i3.src="/Images/Common/arrow_closed.gif";}}        
}

function initializeControls()
{
   InitializeHandlers('slCities_selectorListBox','slCities_selectorTextBox');
   InitializeHandlers('slCounties_selectorListBox','slCounties_selectorTextBox');
   InitializeHandlers('slMSA_selectorListBox','slMSA_selectorTextBox');
   InitializeHandlers('slStates_selectorListBox','slStates_selectorTextBox');
   InitializeHandlers('slAreaCode_selectorListBox','slAreaCode_selectorTextBox');
   InitializeHandlers('slZipCode_selectorListBox','slZipCode_selectorTextBox');
   InitializeHandlers('slProvinces_selectorListBox','slProvinces_selectorTextBox');
}

function InitializeHandlers(lb, tb)
{
    // hookup event handlers and control references
    var objElement = MM_findObj(lb);
    if(objElement)
    {
        objElement.onchange = QuickSelect_Change;
        objElement.textbox = MM_findObj(tb);
        if(objElement.textbox)
        {
            objElement.textbox.onkeypress = QuickSelect_KeyPress;
            objElement.textbox.listbox = objElement;
        }
    }               
}

// ----------------------------------------------------------------------------
// QuickSelect_KeyPress
//
// Description : event handler for quick select textbox's key press event
//    selects the appropriate item in the associated listbox control
//
// Arguments : none
//
function QuickSelect_KeyPress(e)
{
   var strCompare = '';
   var numEntryLen;
   var strEntry;
   var objSelect = this.listbox;
   var numOptions = objSelect.options.length;

   var numCharCode;
   var elTarget;

   // get event if not passed
   if (!e) var e = window.event;

   // get character code of key pressed
   if (e.keyCode) numCharCode = e.keyCode;
   else if (e.which) numCharCode = e.which;

   // get target
   if (e.target) elTarget = e.target;
   else if (e.srcElement) elTarget = e.srcElement;
                                              
   // if form input field & it is a printable character
   if ( elTarget.nodeName.toUpperCase() == 'INPUT' && numCharCode >= 32 && numCharCode <= 126 )
   {
      strEntry = this.value.toUpperCase() + String.fromCharCode(numCharCode).toUpperCase();
      numEntryLen = strEntry.length;

      // cycle through options
      for (var i = 0; i < numOptions; i++)
      {
         // get compare string from value same length as entered string
         strCompare = objSelect.options[i].text.substring(0, numEntryLen).toUpperCase();
         // alert(strCompare + " = " + strEntry);
         
         // if value matches what is entered
         if (strEntry == strCompare)
         {
            objSelect.selectedIndex = numOptions-1;
            // select this option
            
            objSelect.selectedIndex = i;
            // alert(objSelect.selectedIndex);

            // end loop
            break;
         }

      }
   }
}



// ----------------------------------------------------------------------------
// QuickSelect_Change
//
// Description : event handler for quick select list box's change event
//    updates the textbox with the selected value
//
// Arguments: none
//
//
function QuickSelect_Change()
{

   // copy code to textbox
   this.textbox.value = this.options[this.selectedIndex].text;

}	


function selectorListBox_DoubleClick(objid) 
{
    var underscore = objid.indexOf('_');
    var appendid = objid.substring(0,underscore) + "_selectorHiddenField";
   
    var hiddenid = MM_findObj(appendid);
    if(hiddenid != null)
    {
            hiddenid.value = "doubleclicked";
    }
   document.forms[0].submit();
}

function ReviewInfoZeroCount()
{
    var hdnZeroCount = MM_findObj("hdnReviewInfoZeroCount");
    if(hdnZeroCount != null)
    {
        if(hdnZeroCount.value == 'true') 
        {
            alert("An additional selection is required.\nPlease make an additional selection.");
            return false;
        }
        else 
        {
            return true;
        }
    }   
}

function PromptZeroCount()
{
    var hdnZeroCount = MM_findObj("ctrlUpdateCount_hdnZeroCount");
    if(hdnZeroCount != null)
    {
        if(hdnZeroCount.value == 'true') 
        {
            alert("An additional selection is required.\nPlease make an additional selection.");
            return false;
        }
        else 
        {
            return true;
        }
    }
}

