var popupmessage = 0;
function MM_swapImgRestore() { //v3.0
  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 MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  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() { //v3.0
  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];}
}

function setFontColor(myitem,mycolor)
{
	var obj;
	if((obj=MM_findObj(myitem))!=null)
  	{
  		obj.style.color = mycolor;
  	}
}

var statesinzip = new Array('AK','AL','AR','AR','AZ','CA','CO','CT','CT','DC','DC','DC','DE','FL','GA','GA','HI','IA','IA','ID','IL','IN','KS','KY','LA','LA','MA','MA','MD','MD','MD','ME','MI','MN','MO','MS','MS','MT','NC','ND','NE','NE','NH','NJ','NM','NV','NY','NY','OH','OK','OK','OR','PA','PR','RI','SC','SD','TN','TX','TX','TX','TX','UT','VA','VA','VA','VA','VT','VT','WA','WI','WV','WY');
var zipcodes = new Array('99501-99950','35004-36925','71601-72959','75502-75502','85001-86556','90001-96162','80001-81658','6001-6389','6401-6928','20001-20039','20042-20599','20799-20799','19701-19980','32004-34997','30001-31999','39901-39901','96701-96898','50001-52809','68119-68120','83201-83876','60001-62999','46001-47997','66002-67954','40003-42788','70001-71232','71234-71497','1001-2791','5501-5544','20331-20331','20335-20797','20812-21930','3901-4992','48001-49971','55001-56763','63001-65899','38601-39776','71233-71233','59001-59937','27006-28909','58001-58856','68001-68118','68122-69367','3031-3897','7001-8989','87001-88441','88901-89883','6390-6390','10001-14975','43001-45999','73001-73199','73401-74966','97001-97920','15001-19640','0-0','2801-2940','29001-29948','57001-57799','37010-38589','73301-73301','75001-75501','75503-79999','88510-88589','84001-84784','20040-20041','20040-20167','20042-20042','22001-24658','5001-5495','5601-5907','98001-99403','53001-54990','24701-26886','82001-83128');
    
function zipcodeTostate(zip)
{	
	if(zip.length != 5 || !IsInteger(zip))
        {
               	alert("The State and Zip Code don't matched. Please re-enter and re-submit.");
                return -1;	
        }
        else
        {
		var tzip = zip;
                if(tzip.charAt(0) == "0")
                {
                	tzip = tzip.substring(1);
                }
                	 
                for(var i=0; i<=zipcodes.length; i++)
                {
                	var arr = zipcodes[i].split("-");
                	var f1 = eval (tzip + " >= " + arr[0]);
                	var f2 = eval (tzip + " <= " + arr[1]);
                	if(f1 && f2)
                	{	
                		return statesinzip[i];	
                	}
                }	
	}
                
        return -1;
}

function validInteger(obj)
{	
	var str = obj.value;
	if(!IsInteger(str))
	{
		alert("This field must be a number");
		obj.focus();
		return false;
	}
	
	return true;
}

function IsInteger(str)
{
	var ValidChars = "0123456789";
   	var pointcount = 0;

   	for(var i = 0; i < str.length; i++) 
   	{ 
      		var Char = str.charAt(i); 
      		if(ValidChars.indexOf(Char) == 10) pointcount++;
      		if(pointcount > 1) return false;	
      		if(ValidChars.indexOf(Char) == -1) return false;
      	}
      	
   	return true;
}

function limitedInputChar(obj,len)
{
	var engstr = obj.value;
	if(engstr != "" && engstr.length >= len)
	{
		obj.value = engstr.slice(0,len - 1);
		obj.focus();
	}
}

function getHttpReqObject()
{
	var HttpReqObj = false;
	if(window.XMLHttpRequest)
	{
		HttpReqObj = new XMLHttpRequest();	
	}
	else if(window.ActiveXObject)
	{
		try{
			HttpReqObj = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
  			alert("Error:" + e.number + ". " + e.description);
  		}
	}
	
	return HttpReqObj;
}

function getNextContentByURL(mymethod,myurl,targetobjname,formobj)
{
	if(mymethod == '' && mymethod.toUpperCase() != 'GET' && mymethod.toUpperCase() != 'POST') return;
	var HttpReqObj = getHttpReqObject();	
	
	if(HttpReqObj)
	{
		HttpReqObj.open(mymethod,myurl);
		
		HttpReqObj.onreadystatechange = function()
		{
			if(HttpReqObj.readyState == 4 && HttpReqObj.status == 200)
			{
				document.getElementById(targetobjname).innerHTML = HttpReqObj.responseText;
				delete HttpReqObj;
				HttpReqObj = null;
			}
		}
		
		if(formobj != null &&  mymethod.toUpperCase() == 'POST')
		{
			var parameters = getParameterStr(formobj);
			HttpReqObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      			HttpReqObj.setRequestHeader("Content-length", parameters.length);
      			HttpReqObj.setRequestHeader("Connection", "close");
			HttpReqObj.send(parameters);
		}
		else
		{
			HttpReqObj.send(null);
		}
	}
}

function getParameterStr(obj)
{
	if(obj == null) return "";
	
	var parameterstr = "";	
	
	for (var i=0;i<obj.length;i++)
	{
		var item = obj.elements[i];
		var itemType = item.type; 
		
         	if(itemType == "text") 
            	{
               		parameterstr += item.name + "=" + item.value + "&";
            	}
            	else if(itemType == "hidden")
		{
			parameterstr += item.name + "=" + item.value + "&";
		}
		else if(itemType == "select-one")
		{
			var sel = obj.elements[i];
           		parameterstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
		else if(itemType == "radio")
		{
			if(item.checked) 
               		{
                  		parameterstr += item.name + "=" + item.value + "&";
               		}
		}
		else if(itemType == "checkbox" || itemType == "check")
		{	
			if(item.checked) 
               		{
                  		parameterstr += item.name + "=" + item.value + "&";
              		} 
              		else 
              		{
                  		parameterstr += item.name + "=&";
               		}
		}
		else if(itemType == "textarea")
		{
			parameterstr += item.name + "=" + encodeURI(item.value) + "&";
		}		
	}
	
	return parameterstr;
}

function validStateZipCode(obj)
{
	var bstate = obj.state.options[obj.state.selectedIndex].value;
	var bzip = obj.zip.value;
	
	if((bstate != "") && (bzip != ""))
	{
		var thestate = zipcodeTostate(bzip);
		if(thestate == -1) return false;
		if((thestate.toLowerCase()) != (bstate.toLowerCase()))
		{
			alert("The state and zipcode do not match.");
			return false;
		}
	}
	
	return true;	
}

function validCatalogReqForm(obj)
{
	if(trimAll(obj.first_name.value) == '' || trimAll(obj.last_name.value) == '' || trimAll(obj.address1.value) == '' || trimAll(obj.city.value) == '' || trimAll(obj.zip.value) == '' || trimAll(obj.email.value) == '' || obj.state.selectedIndex < 1)
	{
		alert("All fields marked with an asterisk (*) are required");
		return false;
	}
	
	if(validStateZipCode(obj))
	{
		return true;
	}
	else
	{	
		return false;
	}
}

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 clickIE4()
{
	if(event.button == 2)
	{
		return false;
	}
}

function clickNS4(e)
{
	if(document.layers||document.getElementById&&!document.all)
	{
		if (e.which == 2||e.which == 3)
		{
			return false;
		}
	}
}

if(document.layers)
{
	document.captureEvents(Event.KEYDOWN);
	//document.onkeydown = clickNS4;
}
else if(document.all && !document.getElementById)
{
	//document.onkeydown = clickIE4;
}

//document.oncontextmenu = new Function("return false");
