/// <reference path="common/clsValidation.js" />

// This used to be incJS.js and was located off the main application directory.
// Renamed it to be M = Main, D= Directory, include because it is the best name I could think of for the file

var clientis_Ver4plus = parseInt(navigator.appVersion) >= 4;
var clientis_Nav5plus = (parseInt(navigator.appVersion) >=5)&&(navigator.appName == "Netscape");
var clientis_Nav4 = ((navigator.appName == "Netscape") && clientis_Ver4plus) && (!clientis_Nav5plus);
var clientis_IE4 = ((navigator.userAgent.indexOf("MSIE") != -1) && clientis_Ver4plus)||((clientis_Nav5plus));
var bSubmit = true

if (clientis_Nav5plus) 
{
	var documentAll = document.getElementsByTagName('TR');
}else{
		if((document.layers)&&(!clientis_Nav5plus))  document.all = document.layers;
		var documentAll = document.all;
}

var intCurDivCnt = "";
var lastPlan = "";
var lastIntTop;

function showDetail(obj)
{
	obj = obj.parentNode;
	var pObj = obj; 

	if(lastPlan!=obj.id)
	{
		var rExp = /Plan/gi;
		var strDetailDiv =  obj.id.replace(rExp, "Detail");
		var rExp = /divPlan/gi;
		intCurDivCnt = obj.id.replace(rExp, "");
				
		if(lastPlan!=""){eval("document.getElementById('"+ lastPlan +"').className = 'divPlanTitle'")}
		eval("document.getElementById('"+ strDetailDiv +"').style.visibility = 'visible'");
		obj.className = "divPlanTitleHover"
		lastPlan = obj.id;
		
		document.getElementById("divPlanDetails").style.top = "161";
		
		//if(intCurDivCnt > 3)
		//{
		//	var intPixelTop = document.getElementById("divPlanDetails").style.top;
		//	rExp = /px/gi;
		//	intPixelTop = intPixelTop.replace(rExp, "");
		//	if (clientis_Nav5plus) {
		//		intPixelTop = Number(intPixelTop) + 20;
		//	} else {
		//		intPixelTop = Number(intPixelTop) + 40;
		//	}
		//	document.getElementById("divPlanDetails").style.top = intPixelTop;
		//}
				
		//Showing detail DIVs			
		var aPlanDivs = document.getElementById("divPlanDetails").childNodes;
		for(var i=0 ; i<aPlanDivs.length; i++)
		{
			if(aPlanDivs[i].nodeName == "DIV")
			{
				if(aPlanDivs[i].id != strDetailDiv){document.getElementById(aPlanDivs[i].id).style.visibility = "hidden";}
			}
		}
	} 
}

function hideDetail()
{
	if(intCurDivCnt != "")
	{
		//var oImg2 = new Object(eval("document.img"+ intCurDivCnt));
		//oImg2.src="images/"+ intCurDivCnt + ".gif";
		var strDetailDiv = "divDetail"+ intCurDivCnt;
		eval("document.getElementById('"+ strDetailDiv +"').style.visibility = 'hidden'");
		if(lastPlan!=""){eval("document.getElementById('"+ lastPlan +"').className = 'divPlanTitle'")}
		lastPlan = ""
	}
}

function rollover(img_name, img_src)
{
    document[img_name].src = img_src;
}

function displayMsg(message, location) 
{
    if(message!="") {
        alert(message);
        
        if(location!=""){
            window.location = location;
        }
    }
}
        
function removeBadCharNum(obj){
    obj.value = obj.value.replace(/[^\d]*/gi,"");
}

function phoneValidate(obj) {
    // see what country we are dealing with
    var hfCountryIDObj = document.getElementById("hfIntCountryID")
    // assume that we are going to fail :)
    var aReturnVar = false;
    // if the country is Nigeria...
    if (hfCountryIDObj.value == "53") {
        if ((obj.length < 5 || obj.length > 13) && obj != "") {
            // if we have the incorrect length
        } else {
            // and if we have the correct length    
            aReturnVar = true;
        }
        // if we failed anything above...
        // placed here in case there are more ways to fail or pass - FP
        if (aReturnVar == false) {
            alert(document.frm.strPhoneErrMsg.value);
            obj.value = "";
            obj.focus();
        }
        // return value
        return aReturnVar; 
    }
    else {

        if (obj.value.length < 10 && obj.value != "") {
            alert(document.frm.strPhoneErrMsg.value);
            obj.value = "";
            obj.focus();
        } else {
            return true;
        }
    }
}

function serverSidePhoneValidate(sender, args) {

    var obj = args.Value.replace(/[^\d]*/gi,"");
    var hfCountryIDObj = document.getElementById("hfIntCountryID")
    // if the country is Nigeria...
    if (hfCountryIDObj.value == "53") {
        if ((obj.length < 5 || obj.length > 13) && obj != "") {
            args.IsValid = false;
            return;
        } else if (obj == "") {
            args.IsValid = false;
            return;
        } else {
            args.IsValid = true;
        }
    }
    // this, at the moment, handles the rest of the countries
    else {
        if (obj.length < 10 && obj != "") {
            args.IsValid = false;
            return;
        } else if (obj == "") {
            args.IsValid = false;
            return;
        } else {
            args.IsValid = true;
        }
    }

}

function validateEmail(obj)
{
	var EmailStr = obj.value;
	var regexp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var matchArray = EmailStr.match(regexp);
	if (matchArray == null && EmailStr.length > 0){
	    alert(document.frm.strEmailErrMsg.value); 
	    obj.value=""; 
	    obj.focus()
	}
}

function showTitleBox(eventObj, strText, bShow, intLength)
{
	var isOpera = (navigator.userAgent.indexOf('Opera') != -1);
	var isIE = (!isOpera && navigator.userAgent.indexOf('MSIE') != -1)
	var intPageWidth = window.screen.availWidth;
	var intDivLeft = Number(eventObj.screenX) + 20

	if (clientis_Nav5plus) {documentAll = document.getElementsByTagName('DIV')}

	var intX = 0;
	var intY = 0;
	if (eventObj.pageX || eventObj.pageY)
	{
		intX = eventObj.pageX;
		intY = eventObj.pageY;
	} else if (eventObj.clientX || eventObj.clientY) {
		intX = eventObj.clientX;
		intY = eventObj.clientY;
		if (isIE)
		{
			intX += document.body.scrollLeft;
			intY += document.body.scrollTop;
		}
	}

	if(bShow)
	{
		documentAll.titleBox.innerHTML =  strText ;
		documentAll.titleBox.style.top = intY - 30;
		if(intPageWidth - intDivLeft < 110)
		{
			documentAll.titleBox.style.left = intX - 110;
		} else {
			documentAll.titleBox.style.left = intX + 15;
		}
		documentAll.titleBox.style.visibility = "visible"; 
	} else {
		documentAll.titleBox.style.visibility = "hidden"; 
	}
}


function serverSideValidateEmail(sender, args) 
{
	var EmailStr = args.Value;
	var regexp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var matchArray = EmailStr.match(regexp);
	if (matchArray == null && EmailStr.length > 0){
	    args.IsValid = false;
        return;
	}
	args.IsValid = true;
}

function validateAddress(obj)
{
	var str = obj.value.toUpperCase();
	var strError = "";
	var regexp =	/^\d{1,}-?\d{0,4}\s+.?\d{0,10}\w{0,35}.?\s+\w{1,}[A-Z]{1,}([#\.,0-9A-Z\s\/]*)$/g;

	var matchArray = str.match(regexp);

	if (matchArray == null && str.length > 0){
	    strError = document.frm.strInvalidAddrErrMsg.value;
	}
	if (str.indexOf("PO BOX") != -1){
	    strError = document.frm.strInvalidPhysicalAddrErrMsg.value;
	}
	if (str.indexOf("P.O. BOX") != -1){
	    strError = document.frm.strInvalidPhysicalAddrErrMsg.value;
	}
	if (str.indexOf("POBOX") != -1){
	    strError = document.frm.strInvalidPhysicalAddrErrMsg.value;
	}
	if (str.indexOf("P.O.BOX") != -1){
	    strError = document.frm.strInvalidPhysicalAddrErrMsg.value;
	}
	if (str.indexOf("P.O.") != -1){
	    strError = document.frm.strInvalidPhysicalAddrErrMsg.value;
	} 
	if (strError != ""){
	    alert(strError); 
	    obj.value=""; 
	    obj.focus()
	}
}

function serverSideValidateAddress(sender, args){
    var str = args.Value.toUpperCase();
    var regexp = /^\d{1,}-?\d{0,4}\s+.?\d{0,10}\w{0,35}.?\s+([#\.,0-9A-Z\s\/]*)$/g;
    var matchArray = str.match(regexp);
    if (matchArray == null && str.length > 0){
       args.IsValid = false;
       return;
    }
    if (str.indexOf("PO BOX") != -1){
       args.IsValid = false;
       return;
    }
    if (str.indexOf("P.O. BOX") != -1){
       args.IsValid = false;
       return;
    }
    if (str.indexOf("POBOX") != -1){
      args.IsValid = false;
       return;
    }
    if (str.indexOf("P.O.BOX") != -1){
       args.IsValid = false;
       return;
    }
    if (str.indexOf("P.O.") != -1){
       args.IsValid = false;
       return;
    } 
     args.IsValid = true;
}

function validateCity(obj)
{
	var str = obj.value.toUpperCase();
	var strError = "";
	var regexp = /^([A-Z\s\-\.]*)$/g;

	var matchArray = str.match(regexp);

	if (matchArray == null && str.length > 0){
	    strError = document.frm.strCityErrMsg.value;
	}

	if (strError != ""){
	    alert(strError); 
	    obj.value=""; 
	    obj.focus()
	}
}

function serverSideValidateCity(sender, args)
{
	var str = args.Value.toUpperCase();
	var regexp = /^([A-Z\s\-\.]*)$/g;

	var matchArray = str.match(regexp);

	if (matchArray == null && str.length > 0){
	   args.IsValid = false;
       return;
	}
    args.IsValid = true;
}

function serverSideValidateZip(sender, args)
{
	var obj = args.Value.replace(/[^\d]*/gi,"");
	if(obj.length != 5 && obj.length != 9)
	{
	    args.IsValid = false;
        return;
	} else {
		args.IsValid = true;
	}
}

function validateCCType(obj) {
    // declare var
    var aValidator = new validations();
    if (aValidator.isEmpty(obj.value )) {
        return 0;
    }
    // if we get here, return the value of the obj
    return obj.value;
}


function validateCCInfo(obj) {
    // create a validation oject
    var objValidation = new validations(); 
    if(obj.value != "")
    { 
      if(obj.value.indexOf("-5") == -1){removeBadCharNum(obj);}
      if (obj.name == "dtExpiration")
      {
        if(obj.value.length<4)
        {
			obj.value = ""; alert("Expiration Date must be in 0505 format"); 
		} else {
			var strExpire = obj.value.substr(0,2) + "/1/20" + obj.value.substr(2,2)
			var dtExpire = new Date(Date.parse(strExpire))
			var dtMonth = new Date()
			
      if(dtExpire.getYear() == dtMonth.getYear()) 
      {
        if(Number(dtExpire.getMonth()) == Number(dtMonth.getMonth()))
        {
          document.getElementById('dtExpiration1').value="";
          document.getElementById('dtExpiration2').value="";
          document.getElementById('dtExpiration').value="";
          document.getElementById('dtExpiration1').focus();
          alert("Your credit card must be valid for at least the next month in order to use it for ordering."); 
        } else if(Number(dtExpire.getMonth()) < Number(dtMonth.getMonth())){
          document.getElementById('dtExpiration1').value="";
          document.getElementById('dtExpiration2').value="";
          document.getElementById('dtExpiration').value="";
          document.getElementById('dtExpiration1').focus();
	        alert("Your credit card is expired.");
        }
      } else if(dtExpire.getYear() < dtMonth.getYear()) {
          document.getElementById('dtExpiration1').value="";
          document.getElementById('dtExpiration2').value="";
          document.getElementById('dtExpiration').value="";
          document.getElementById('dtExpiration1').focus();
        alert("Your credit card is expired.");
      }
	}
    } else {
     
      }
  } 
}

function validateSSN(frm, obj)
{
  removeBadCharNum(obj);
  if (obj.value != "")
  {
    if(obj.value.length < 9)
	{
	    alert(document.frm.strInvalidSSNLengthErrMsg.value);
	        frm.strSSN1.value="";
			frm.strSSN2.value="";
			frm.strSSN3.value=""; 
			frm.strSSN.value="";
			frm.strSSN1.focus();
    } else {
		// Stop the use of all of one particular digit
		for(var i=0; i<10; i++) {
			var compareStr = [i,i,i].join('');
			if (obj.value.substr(0,3) == compareStr)
			{
				frm.strSSN1.value="";
				frm.strSSN2.value="";
				frm.strSSN3.value="";
				frm.strSSN1.focus();
				alert(document.frm.strInvalidSSNErrMsg.value);
			}
		}
		
		if (obj.value.substr(3,2) == "00" || obj.value.substr(5,4) == "0000") {
				frm.strSSN1.value="";
				frm.strSSN2.value="";
				frm.strSSN3.value="";
				frm.strSSN1.focus(); 
				alert(document.frm.strInvalidSSNErrMsg.value); 
		}
    }
  } 
}


function checkDate(strTitle, obj)
{ 
  // Checks for the following valid date formats: 
  // MM/DD/YY MM/DD/YYYY MM-DD-YY MM-DD-YYYY 
	
  var aDate
  var m;
  var d;
  var y;
  var dateStr = obj.value;

  if(dateStr.length==0){return true;}
  var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; 
		
  // To allow a 2 digit year entry, use this line instead: 
  // var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/; 
  var matchArray = dateStr.match(datePat); // is the format ok? 
  if (matchArray == null)
  { 
        alert(strTitle + document.frm.strInvalidDateFormatErrMsg.value);
		obj.value=""; 
		document.frm.dtBirth1.value="";
		document.frm.dtBirth2.value="";
		document.frm.dtBirth3.value="";
		document.frm.dtBirth1.focus();
        return false; 
  } else {
    if (dateStr.indexOf("/") != -1)
    {
	    aDate = dateStr.split("/");	
    }
    if (dateStr.indexOf("-") != -1)
    {
	    aDate = dateStr.split("-");
    }
		
    m=aDate[0];
    d=aDate[1];
    y=aDate[2];
		
    if(validateDate(y,m,d,obj))	{ return true; } else { return false; };
  }
} 

function validateDate(y,m,d,obj)
{
  var strError = "";
	
  //Explicitly convert to numerical data type
  m=m-0;
  d=d-0;
  y=y-0;
	
   //Check year first
  if(y<1900 || y>3000)
  {
    strError = strError + document.frm.strInvalidYearErrMsg.value  + "\n";
  }
	
  //Easy to check month
  if(m<1 || m>12)
  {
    strError = strError + document.frm.strInvalidMonthErrMsg.value + "\n";
  } 
	
  //Check the easy day stuff
  if(d<1)
  {
    strError = strError + document.frm.strInvalidLessDayErrMsg.value + "\n";
  } 

  //Months with 30 days
	
  switch(m)
  {
    case 4:
	    if(d>30){
		    strError = strError + document.frm.strInvalidAprDayErrMsg.value + d + document.frm.strDay.value + "\n";
	    }
	    break;
    case 6:
	    if(d>30){
		    strError = strError + document.frm.strInvalidJunDayErrMsg.value + d + document.frm.strDay.value + "\n";
	    }
	    break;
    case 9:
	    if(d>30){
		    strError = strError + document.frm.strInvalidSepDayErrMsg.value + d + document.frm.strDay.value + "\n";
	    }
	    break;
    case 11:
	    if(d>30){
		    strError = strError + document.frm.strInvalidNovDayErrMsg.value + d + document.frm.strDay.value + "\n";
	    }
	    break;
    case 2://February
	    var isleap = (y % 4 == 0 && (y % 100 != 0 || y % 400 == 0)); 
	    if(d>29 || (d==29 && !isleap)){//Leap year
		    strError = strError + document.frm.strInvalidFebDayErrMsg.value + y + document.frm.strInvalidFebDayErrMsg2.value + d + document.frm.strDay.value + "\n";
	    }
	    break;
    default:
	    if(d>31){
		    strError = strError + document.frm.strInvalidMoreDayErrMsg.value + "\n";
	    }
  }
	
  if (strError != "")
  {
    alert(strError);
    obj.value=""; 
		document.frm.dtBirth1.value="";
		document.frm.dtBirth2.value="";
		document.frm.dtBirth3.value="";
		document.frm.dtBirth1.focus();
    return false; 
  } else {
    return true;
  }

}

function validateSubmit(frm)
{
	var strClassName;
	var strError = "";
	var aCoverage = new Array();
	
	document.getElementById("btnContinue").disabled="disabled";

	for (var i = 0; i<frm.elements.length; i++) 
	{
		strClassName = frm.elements[i].parentNode.className;
		if(strClassName == "formTextRq")
		{
			if(frm.elements[i].value == ""){strError = strError + "-"+ frm.elements[i].parentNode.id + "\n";}
		}
	}

	if(strError != "")
	{
	    if (alert("Required:\n\n" + strError)) { bSubmit = false; } 

		document.getElementById("btnContinue").disabled="";
	} else {
		frm.submit();
	}
}

function setAddress(obj)
{
	if(obj.checked)
	{
		if(obj.id == "chkSameShipping")
		{
			document.frm.strSaddress.value = document.frm.strSRaddress.value;
			document.frm.strSaddress2.value = document.frm.strSRaddress2.value;
			document.frm.strScity.value = document.frm.strSRcity.value;
			document.frm.intSstateID.value = document.frm.intSRstateID.value;
			document.frm.strSzip.value = document.frm.strSRzip.value;
		}
		if(obj.id == "chkSameBilling")
		{
			document.frm.strBaddress.value = document.frm.strSRaddress.value;
			document.frm.strBcity.value = document.frm.strSRcity.value;
			document.frm.intBstateID.value = document.frm.intSRstateID.value;
			document.frm.strBzip.value = document.frm.strSRzip.value;
		}
	} else {
		if(obj.id == "chkSameShipping")
		{
			document.frm.strSaddress.value = "";
			document.frm.strSaddress2.value = "";
			document.frm.strScity.value = "";
			document.frm.intSstateID.value = "";
			document.frm.strSzip.value = "";
		}
		if(obj.id == "chkSameBilling")
		{
			document.frm.strBaddress.value = "";
			document.frm.strBcity.value = "";
			document.frm.intBstateID.value = "";
			document.frm.strBzip.value = "";
		}
	}
}

function setValue(obj){
    var ckboxVal = document.frm.chkSameShipping.checked;
    var intObjId = obj.id;
   
}

function validateCCInfo(obj)
{
    if(obj.value != "")
    { 
      if(obj.value.indexOf("-5") == -1){removeBadCharNum(obj);}
      if (obj.name == "dtExpiration")
      {
        if(obj.value.length<4)
        {
			obj.value = "";
			document.getElementById('dtExpiration1').value=""
            document.getElementById('dtExpiration2').value=""
            document.getElementById('dtExpiration1').focus(); 
			alert(document.frm.strExpirationFormatDateErrorMsg.value); 
		} else {
			var strExpire = obj.value.substr(0,2) + "/1/20" + obj.value.substr(2,2)
			var dtExpire = new Date(Date.parse(strExpire))
			var dtMonth = new Date()
			
            if(dtExpire.getYear() == dtMonth.getYear()) 
            {
                if(Number(dtExpire.getMonth()) == Number(dtMonth.getMonth()))
                {
                    document.getElementById('dtExpiration1').value=""
                    document.getElementById('dtExpiration2').value=""
                    document.getElementById('dtExpiration').value=""
                    document.getElementById('dtExpiration1').focus();
                    alert(document.frm.strCCExpireThisMonthErrorMsg.value); 
                } else if(Number(dtExpire.getMonth()) < Number(dtMonth.getMonth())){
                    document.getElementById('dtExpiration1').value=""
                    document.getElementById('dtExpiration2').value=""
                    document.getElementById('dtExpiration').value=""
                    document.getElementById('dtExpiration1').focus();
	                alert(document.frm.strCCExpiredErrorMsg.value);
                }
            } else if(dtExpire.getYear() < dtMonth.getYear()) {
              document.getElementById('dtExpiration1').value=""
              document.getElementById('dtExpiration2').value=""
              document.getElementById('dtExpiration').value=""
              document.getElementById('dtExpiration1').focus();
              alert(document.frm.strCCExpiredErrorMsg.value);
            }
		}
      } else {
          if(obj.value.indexOf('6') == 0)
          { 
              alert('We do not accept Discover cards at this time.'); 
              obj.value = "";
              obj.focus(); 
          } else {
			if(obj.value.length<16 && obj.form.intMethodTypeID.value=="3")
	        {
				if(obj.value.length<15)
				{				
					obj.value = "";
					obj.focus();
					alert("Your Credit Card Number must be 15 digits.");
				}
			} else {
	            if(obj.value.length<16)
				{
					obj.value = "";
					obj.focus();
					alert("Your Credit Card Number must be 16 digits.");
				}
			} 
		} 
      }
    }
}

function validateServiceProvider(obj)
{
	var str = obj.value.toUpperCase();
	var strError = "";
	var regexp = /^([A-Z\s\-\.]*)$/g;

	var matchArray = str.match(regexp);

	if (matchArray == null && str.length > 0){
	    strError = document.getElementById('strSRServiceProviderErrMsg2').value;
	} else {
	    if (str.length < 3) {
	        strError = document.getElementById('strSRServiceProviderErrMsg3').value;
	    }
	}

	if (strError != ""){
	    alert(strError); 
	    obj.value=""; 
	    obj.focus();
	}
}

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_swapImage() 
{
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
  hideDetail();  
}

function MM_swapImgRestore() 
{ 
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
} 

function highLightMenu(obj, bHighLight)
{
	if(bHighLight)
	{	
		obj.style.background="yellow";
		} else {
		obj.style.background="white";
	}
}

function showFaqMenu(obj)
{
	var bEveryOther = false;
	var intCnt = obj.parentNode.childNodes.length;

	for (var i = 0; i<intCnt; i++)
	{
		if(bEveryOther == true)
		{
			if (clientis_Nav5plus) 
			{
				//if(obj.parentNode.childNodes[i].nextSibling.tagName == "UL"){obj.parentNode.childNodes[i].nextSibling.style.display = "none"; }
				if (obj.parentNode.childNodes[i].nextSibling != null) {
			         var tagName = obj.parentNode.childNodes[i].nextSibling.tagName;
			        
			        if (tagName == "UL") {
			            obj.parentNode.childNodes[i].nextSibling.style.display = "none";
			        }
			   } 
			} else {
			     if (obj.parentNode.childNodes[i].tagName == "UL") {
				    obj.parentNode.childNodes[i].style.display = "none";
				}
			}
			bEveryOther = false;
		} else {
			if (clientis_Nav5plus) 
			{
				if(obj.parentNode.childNodes[i].childNodes[0].tagName == "IMG"){obj.parentNode.childNodes[i].childNodes[0].src = "images/rightArrow.gif";}
			} else {
				obj.parentNode.childNodes[i].childNodes[0].src = "images/rightArrow.gif";
			}
			bEveryOther = true;
		}
	}
	
	if (clientis_Nav5plus) 
	{
		obj.childNodes[0].src = "images/downArrow.gif";
		obj.nextSibling.nextSibling.style.display = "list-item";
	} else {
		obj.childNodes[0].src = "images/downArrow.gif";
		obj.nextSibling.style.display = "list-item";
	}
}

function preloadImages() 
{
	if (document.images) 
	{
		btn_home = newImage("images/btn-home.gif");
		btn_products = newImage("images/btn-products-over.gif");
		btn_features = newImage("images/btn-features-over.gif");
		btn_rates = newImage("images/btn-rates-over.gif");
		btn_availability = newImage("images/btn-availability.gif");
		btn_support = newImage("images/btn-support.gif");
		btn_faq = newImage("images/btn-faq.gif");
		imgAdvert1 = newImage("images/scrollingratesBG");
		imgAdvert2 = newImage("images/advert-right-1.jpg");
		preloadImages = true;
	}
}

var currentTop=0;	
var zInterval = null;
var direction = "down";
var startTop=0;
var scrollRate=1;
var scrollTick=0;	

function scrollRates() 	{zInterval=setInterval("scroll()",20);}

function scroll() 
{
	var obj = document.getElementById("divScrollingRates3");
	
	// increment or decrement currentTop based on direction
	if(direction=="down") {currentTop-=scrollRate;} else {currentTop+=scrollRate;}

	scrollTick++;	
	obj.style.top=currentTop+"px";
	if(direction=="down" && scrollTick==680){direction="up"; scrollTick = 0} 
	if(direction=="up" && scrollTick==680){direction="down"; scrollTick = 0}
}

function login(username, password, logType) {
    // see where we are
    var strHREF = window.location.href.toUpperCase();
    var aDEVURL = "http://controlpanel.dev.globalinx.com";
    var aPRODURL = "https://controlpanel.globalinx.com";
    var aURL = aPRODURL; 
    // see what is going on
    if (strHREF.indexOf("DEV") > -1 || strHREF.indexOf("LOCALHOST") > -1) {
        aURL = aDEVURL;
    } 
    
	if(username.indexOf("@")>-1)
	{
		window.open("https://psweb.packet8.net:6052/psp/ss/?cmd=login&languageCd=ENG&username="+ username.toUpperCase() +"&password="+ password, "CPPortal")
	} else {
		if(username.indexOf("x")>-1)
		{
			window.open("https://portal.globalinx.com/webportal/LoginServlet?LOGIN_PHONE_NUMBER="+ username +"&LOGIN_PHONE_PASSWORD="+ password +"&LOGIN_FUNCTION=LOGIN", "CPPortal")
		} else {

		window.open(aURL + "?username=" + username.toUpperCase() + "&password=" + password + "&logtype=" + logType, "CPPortal")
		}
	}
}
		
function showDropDown(obj, bShow)
{
	document.getElementById("divPlans").style.visibility="hidden";
	document.getElementById("divEquipment").style.visibility="hidden";
	
	if(bShow)	
	{
		if(event.srcElement.nodeName == "A")
		{
			obj.parentElement.style.visibility = "visible";
		} else {
			obj.nextSibling.nextSibling.style.visibility = "visible";
			obj.nextSibling.nextSibling.focus();
		}
	} else {
		if(event.srcElement.nodeName == "A")
		{
			obj.parentElement.style.visibility = "hidden";
		} else {
			obj.style.visibility = "hidden";
		}
	}
}


///<sumary>Use to remove invalid chanractes and trim the value of a text object.</sumary>
///<param name="txtObj">Text Object reference</param>
///<histoty>Created by H. Hernandez Jan 2009</history>
function removeChars(txtObj){
    txtObj.value = removeParenthesisAndContent(txtObj.value);
    txtObj.value = removeInvalidChars(txtObj.value);
    txtObj.value = trim(txtObj.value);
}//end removeChars

///<sumary>Use regular expressions to trim both ends of the string.</sumary>
///<param name="strToTrim">String with the text to trim</param>
///<histoty>Created by H. Hernandez Jan 2009</history>
function trim(strToTrim) {
	return strToTrim.replace(/^\s+|\s+$/g,"");
}//end trim

///<sumary>Use regular expressions to remove invalid characters.</sumary>
///<param name="strToUpdate">String with the text to update</param>
///<histoty>Created by H. Hernandez Jan 2009</history>
function removeInvalidChars(strToUpdate){
    return strToUpdate.replace(/[\(\)\d\\\/\][+=_*&^%$#@!~`"|{}?><,]/g,"");
}//End removeInvalidChars

///<sumary>Removes parhentesis and anything inside</sumary>
///<param name="strToUpdate">String with the text to update</param>
///<history>Created by H. Hernandez Jan 2009</history>
function removeParenthesisAndContent(strToUpdate){
    var strTemp = "";
    var intStartParenth = strToUpdate.indexOf("(");
    var intEndParenth= strToUpdate.indexOf(")");
    if ( (intStartParenth > -1) && (intEndParenth > -1) ){
        if (intStartParenth == 0){
            strTemp = strToUpdate.substr(intEndParenth,strToUpdate.length - intEndParenth);
        }else{
            strTemp = strToUpdate.substr(0,intStartParenth) + strToUpdate.substr(intEndParenth,strToUpdate.length - intEndParenth);
        }
    }else{
        strTemp = strToUpdate;
    }
    return strTemp;
}///end removeParenthesisAndContent

