
// global variables to allow disabling of right-click on the logo image for Firefox
var mouseEvent;
var i =0;

function ShowMe(e){
	if (document.readyState == "complete"){
    HidePopups();
		if (e) {
			e.style.display="";
		}
	}else{
		mytimeout = setTimeout("ShowMe()",500);
	}

}

function openCat(){
	if (document.readyState == "complete"){
		document.all.CategoryList.style.display='';
	}else{
		mytimeout = setTimeout("openCat()",500);
	}
}

function HidePopups(){
	if (document.readyState == "complete"){
    var doc_divs = document.all.tags("DIV");
    for (i=0; i<doc_divs.length; i++)
      {
      sDivName = doc_divs(i).id.slice(0,3);
      //alert ("Name is " + sDivName);
      if (sDivName == "Pop"){
        sName= "doc_divs(i).style.display='none'";
        eval(sName);
        }
		  }
	}else{
	mytimeout = setTimeout("HidePopups()",500);
	}
}

function HideAll(nCount){
	//var nCount=6;
	if (document.readyState == "complete"){
		for (var i=1;i<nCount;i++)
			{
			sName= "document.all.Pop"+i+".style.display='none'";
			eval(sName);
			}
	}else{
	mytimeout = setTimeout("HideAll()",500);
	}
}

function CheckAll()
{  
	for (var i=0;i<document.frmCheckAll.elements.length;i++)
	{
		var e = document.frmCheckAll.elements[i];
		if ((e.name != 'allbox') && (e.type=='checkbox'))
		e.checked = document.frmCheckAll.allbox.checked;
	}
}

function CheckCheckAll()
{
	var TotalBoxes = 0;
	var TotalOn = 0;
	for (var i=0;i<document.frmCheckAll.elements.length;i++)
	{
		var e = document.frmCheckAll.elements[i];
		if ((e.name != 'allbox') && (e.type=='checkbox'))
		{
			TotalBoxes++;
		if (e.checked)
		{
			TotalOn++;
		}
		}
	}
	if (TotalBoxes==TotalOn)
	{document.frmCheckAll.allbox.checked=true;}
	else
	{document.frmCheckAll.allbox.checked=false;}
}

// EMF 07-18-07 Added following javascript code to allow the word "Password" to appear in the password box
// when the user is not logged in
	function TogglePassOff() { 
	if (document.getElementById) { 
		var t = false;	
		var p1 = document.getElementById("password"); 
		var p2 = document.getElementById("password2"); 
		var b1 = document.getElementById("pass1box"); 
		var b2 = document.getElementById("pass2box"); 
		p1.disabled = t; 
		p2.disabled = !t; 
		if (t) { 
		b1.style.display = "none"; 
		b2.style.display = "block"; 
		p2.value = 'Password';
		} 
		else { 
		b1.style.display = "block"; 
		b2.style.display = "none"; 
		p1.value = '';
		//if(p2.hideFocus){p1.focus();}	
		} 
		p1.focus();
		return true; 
	} 
	return false; 

	} 

	function TogglePassOn() { 
		if (document.getElementById) { 
			var p1 = document.getElementById("password"); 
			var p2 = document.getElementById("password2"); 
			var b1 = document.getElementById("pass1box"); 
			var b2 = document.getElementById("pass2box"); 
			var textBox = document.getElementById("txtMemberID");
			var passwordBox = document.getElementById("passwordrecover");
			
			var t = true;		

			p1.disabled = t; 
			p2.disabled = !t; 
			if (t) { 
				b1.style.display = "none"; 
				b2.style.display = "block"; 
				p2.value = 'Password';
			} 
			else { 
				b1.style.display = "block"; 
				b2.style.display = "none"; 
				p1.value = '';
			} 

			if (textBox){
				textBox.focus();
			}
			if (passwordBox){
				passwordBox.focus();
			}
			
			return true; 
		} 
	return false; 

	} 

	function clearMe(){
		var userBox = document.getElementById("username");
		// If the textbox contains anything check to see whether or not its
		// value is the default User Name text.  If not, meaning the user has
		// entered a username, do nothing.
		if (userBox.value.length > 0)
		{
			// If textbox has value of User Name default text, clear it.
			if (userBox.value == "User Name")
			{
				userBox.value='';
			}
			else
			{
				// Do nothing
			}
		}
		else
		{
			// Do nothing
		}
	}


	function preventRightClick() {
		i = 1;
		if (document.layers) window.captureEvents(Event.MOUSEDOWN);
		window.onmousedown=setUserRightClick;

		if (navigator.appName == 'Microsoft Internet Explorer' && event.button == 2) {
			displayPopUp();
		}
	}

	function setUserRightClick(e) {
		mouseEvent = e.which;
	
		if (i == 1){
			displayPopUp();
		}
		i = 0;
	}

	function displayPopUp() {
		var msg = 'To download our corporate logo, please go to our Media Center and click on "logo download" ';
		var OSName="Unknown OS";

		if (navigator.appVersion.indexOf("Win")!=-1)  {
			OSName="Windows";
		}
		
		if (navigator.appVersion.indexOf("Mac")!=-1) {
			OSName="MacOS";
		}
		if (navigator.appVersion.indexOf("X11")!=-1) {
			 OSName="UNIX";
		}
		if (navigator.appVersion.indexOf("Linux")!=-1) {
			 OSName="Linux";
		}
		
		if (OSName == "MacOS")
		{
			//window.location = "http://www.connecticare.com";
		}
		else
		{
			if (navigator.appName == 'Netscape' && ( mouseEvent == "2" || mouseEvent == "3")) {
			alert(msg);
			return false;
			}
			if (navigator.appName == 'Microsoft Internet Explorer' && event.button == 2) {
			alert(msg);
			return false;
			}
			else return true;
		}
	}

	
	function RunCompare()
	{
		var controlName;
		var queryString = "pdcompare.aspx?";

		for (var number = 1; number < 6; number++)
		{
			controlName = "provNum" + number;
			
			if (document.getElementById(controlName).value != '')
			{
				queryString += "id" + number + "=" + document.getElementById(controlName).value + "&";
			}
		}

		queryString = queryString.substring(queryString, queryString.length-1);

		if (queryString != "pdcompare.aspx")	{
			window.open(queryString);
			return false;
		}
		else	{
			return false;
		}
	}
	
	function OnCompareLoad()
    {
        document.getElementById('span1').innerHTML = document.getElementById('txt1').value;
        document.getElementById('span2').innerHTML = document.getElementById('txt2').value;
        document.getElementById('span3').innerHTML = document.getElementById('txt3').value;
        document.getElementById('span4').innerHTML = document.getElementById('txt4').value;
        document.getElementById('span5').innerHTML = document.getElementById('txt5').value;

        document.getElementById('span1').style.display = '';
        document.getElementById('span2').style.display = '';
        document.getElementById('span3').style.display = '';
        document.getElementById('span4').style.display = '';
        document.getElementById('span5').style.display = '';
    }
	
	function AddToCompareList(NameControl, AddControl1, AddControl2, CityControl, StateControl, ZipControl, ProviderControl)
	{
		var number = 0;
		var controlId = "";
		var providerNumBox = "";
		var alreadyAdded = false;

		var ProviderNumber = document.getElementById(ProviderControl.id).value;
	
		// Loop through all of the provNum boxes and check their values against the incoming providernumber
		for (var i = 1; i <= 5; i++)
		{
			providerNumBox = "provNum" + i;
			
			if (document.getElementById(providerNumBox).value == ProviderNumber)
			{
				alreadyAdded = true;
			}
		}

		if (alreadyAdded == true)
		{
			alert("Provider is already added to the compare list");
			return false;
		}
		else
		{
		// Count the number of span tags being used
		for (var i = 1; i <= 5; i++)
		{
			//var controlId = "span" + i;
			var controlId = "txt" + i;
		
			if (document.getElementById(controlId).value != '')
			{
				number++;
			}
		}
	
		number++;
	
		// If they are attempting to add more than 5 providers to the compare menu, issue a warning
		if (number < 6)
		{
			// Set the controlid of the new span to be used
			controlId = "txt" + number;
			providerNumBox = "provNum" + number;

			// Get the name of the provider
			var name = document.getElementById(NameControl.id).outerHTML;
			var Add1 = document.getElementById(AddControl1.id).innerHTML;
			var Add2 = document.getElementById(AddControl2.id).innerHTML;
			var City = document.getElementById(CityControl.id).innerHTML;
			var State = document.getElementById(StateControl.id).innerHTML;
			var Zip = document.getElementById(ZipControl.id).innerHTML;
			var SpanNumber = "span"+number;

			document.getElementById(controlId).style.display = '';
		
			// Set the innerhtml. Include a call to the remove function.
			document.getElementById(controlId).value = "<li>" + name + "</li>" + Add1 + Add2 + City + State + Zip +
				"<a href='#' onclick='RemoveFromCompareList(&quot;span" + number + 
				"&quot;, &quot;" + number + "&quot;);return false;'><img src='/images/btnRemoveProv.gif'/></a>";	

			// Add providernumber to hidden text field
			document.getElementById(providerNumBox).value = ProviderNumber;

	       	document.getElementById(SpanNumber).innerHTML = document.getElementById(controlId).value;
			// Make the span visible
			document.getElementById(SpanNumber).style.display = '';
			return false;
		}
		else
		{
			alert("You can only compare up to 5 providers");
			return false;
		}
		}
	}

	
	function RemoveFromCompareList(controlId, number)
    {
        var nextcontrolName = "";
        var controlName = "";
        var currentControlText = "";
        var newNumber = 0;
        var SpanNumber ="";
        var textBox = "txt" + number;
        var providerNumBox = "provNum" + number;

        // Clear the current span
        document.getElementById(controlId).style.display = 'none';
        document.getElementById(controlId).innerHTML = '';     
        document.getElementById(textBox).value = '';   
        document.getElementById(providerNumBox).value = '';   

        // If removing, check to see if any spans higher than the current span are visible.
        // If so, copy the contents to the existing span, and make the next one invisible.
        // Continue the process up until the last span.
        for (number; number < 5; number++)
        {                      
            newNumber = number;
            newNumber++;
            //nextcontrolName = "span" + newNumber;
            //controlName = "span" + number;                      
            nextcontrolName = "span" + newNumber;
            controlName = "span" + number;
            nextTextBox = "txt" + newNumber; 
            textBox = "txt" + number;            
			nextProviderNumBox = "provNum" + newNumber; 
			providerNumBox = "provNum" + number;
            
            if (document.getElementById(nextcontrolName).innerHTML != '')
            {
                document.getElementById(controlName).style.display = '';
                document.getElementById(controlName).innerHTML = document.getElementById(nextcontrolName).innerHTML;
                document.getElementById(textBox).value = document.getElementById(nextTextBox).value;
                document.getElementById(providerNumBox).value = document.getElementById(nextProviderNumBox).value;
                currentControlText = document.getElementById(controlName).innerHTML;
                // Replace the code in the onclick event of the new span.  The new span will need to have its value placed in the 
                // argument of the RemoveFromCompareList function.
                currentControlText = currentControlText.replace('RemoveFromCompareList("span' + newNumber + '", "' + newNumber + '");return false;',
                'RemoveFromCompareList("span' + number + '", "' + number + '");return false;');                                   
                document.getElementById(controlName).innerHTML = currentControlText;
                // Make the next control invisible and clear its contents
                document.getElementById(nextcontrolName).style.display = 'none';
                document.getElementById(nextcontrolName).innerHTML = '';
                document.getElementById(nextTextBox).value='';
                document.getElementById(nextProviderNumBox).value='';
            }
        }
	}

function showDate()
	{
		Today = new Date(); 
		
		document.write((Today.getMonth() + 1) + "/" + Today.getDate() + "/" + Today.getUTCFullYear());
	}

	/*** DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/) */
	// Declaring valid date character, minimum year and maximum year
	var dtCh= "/";
	var minYear=1900;
	var maxYear=2100;

	function isInteger(s){
		var i;
	    for (i = 0; i < s.length; i++){   
	        // Check that current character is number.
        	var c = s.charAt(i);
	        if (((c < "0") || (c > "9"))) return false;
	    }
	    // All characters are numbers.
	    return true;
	}

	function stripCharsInBag(s, bag){
		var i;
	    var returnString = "";
	    // Search through string's characters one by one.
	    // If character is not in bag, append to returnString.
	    for (i = 0; i < s.length; i++){   
	        var c = s.charAt(i);
	        if (bag.indexOf(c) == -1) returnString += c;
	    }
	    return returnString;
	}

	function daysInFebruary (year){
	    // February has 29 days in any year evenly divisible by four,
	    // EXCEPT for centurial years which are not also divisible by 400.
	    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
	}
	function DaysArray(n) {
		for (var i = 1; i <= n; i++) {
			this[i] = 31
			if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
			if (i==2) {this[i] = 29}
	   } 
	   return this
	}

	function isDateProviders(dtStr, text){
		//var dtStr = document.getElementById(control).value;
		var daysInMonth = DaysArray(12);
		var pos1=dtStr.indexOf(dtCh);
		var pos2=dtStr.indexOf(dtCh,pos1+1);
		var strMonth=dtStr.substring(0,pos1);
		var strDay=dtStr.substring(pos1+1,pos2);
		var strYear=dtStr.substring(pos2+1);
		strYr=strYear;
		if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
		if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
		for (var i = 1; i <= 3; i++) {
			if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
		}
		month=parseInt(strMonth);
		day=parseInt(strDay);
		year=parseInt(strYr);
		if (pos1==-1 || pos2==-1){
			alert("The date format should be : mm/dd/yyyy for " + text);
			return false;
		}
		else if (strMonth.length<1 || month<1 || month>12){
			alert("Please enter a valid month for " + text);
			return false;
		}
		else if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
			alert("Please enter a valid day for " + text);
			return false;
		}
		else if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
			alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear + " for " + text);
			return false;
		}
		else if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
			alert("Please enter a valid date for " + text);
			return false;
		}
		else
		{
			return true;
		}
	}

	function rightTrim(sString)
	{
		while (sString.substring(sString.length-1, sString.length) == ' ')
		{
			sString = sString.substring(0,sString.length-1);
		}

		return sString;
	}


	function leftTrim(sString)
	{
		while (sString.substring(0,1) == ' ')
		{
			sString = sString.substring(1, sString.length);
		}

		return sString;
	}

	function trimAll(sString)
	{
		while (sString.substring(0,1) == ' ')
		{
			sString = sString.substring(1, sString.length);
		}
		
		while (sString.substring(sString.length-1, sString.length) == ' ')
		{
			sString = sString.substring(0,sString.length-1);
		}
		
		return sString;
	}

	function boxJump(textbox, nextControlName, length, event)
    	{
       		// do not want it switching on presses of Tab, Shift, Alt, Ctrl, Home, End, arrow keys, Ctrl-C, Insert or Caps Lock
       		if ( (event.keyCode == 9) || ((event.keyCode >= 16) && (event.keyCode <= 18)) || ((event.keyCode >= 35) && (event.keyCode <= 40)) || ((event.keyCode == 67) && (event.ctrlKey)) || (event.keyCode == 45) || (event.keyCode == 20) )
        	{
            	return;
        	}        

       		var content = textbox.value;
        
        	if( content.length  >= length )
        	{
        	    document.getElementById(nextControlName).focus();
        	}
    	}

	function OpenPrintWindow(path)
	{			
		window.open(path,null,'status=yes,toolbar=yes,scrollbars=yes,menubar=yes,location=yes,left=30,top=10,resizable=yes');
	}

	// Prevents the enter button from being used to submit a web form
	function swallowEnter(e, $mozChar)
	{

        	if($mozChar == 13)
        	{			
		    return false;
    		}
        	else
		{
		    var code = e.keyCode || e.which;

       		    if(code == 13)
		    {
			event.keyCode = null;
			return false;
		    }
       		}

		/*e = e || window.event;

		var code = e.keyCode || e.which;

		if(e == 13){
			event.keyCode = null;
			return;
		}*/
	}