	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_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_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 noenter() {
  return !(window.event && window.event.keyCode == 13); }
	
function checkRequired(form)
{
    var errormessage = new String();
    
    var browserName=navigator.appName;

    for ( x = 0; x < form.elements.length; x++ )
    {
        if ( form.elements[x].name == "required" )
        {
            var elementName = form.elements[x].value;

            var element = form[ elementName ];
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                element = form( elementName );
            }

            var elementType;

            if ( element.length == undefined )
            {
                elementType = element.type;
            }
            else
            {
                elementType = element[0].type;
            }
            
            //alert( "elementName: " + elementName );
            //alert( "elementType: " + elementType );
            
            var msg = form[ "required-" + elementName + "-message" ].value;
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                msg = form( "required-" + elementName + "-message" ).value;
            }

            if ( elementType == "radio"
              || elementType == "checkbox" )
            {
                if(NoneWithCheck(element))
                { errormessage += "\n\n" + msg; }
            }
            else if ( elementType == "text"
                   || elementType == "textarea"
                   || elementType == "password" )
            {
                if(WithoutContent(element))
                { errormessage += "\n\n" + msg }
            }
            else if ( elementType == undefined )
            {
                if(WithoutSelectionValue(element))
                { errormessage += "\n\n" + msg }
            
            }//end if

        }
        else if ( form.elements[x].name == "equals" )
        {
            var elementName = form.elements[x].value;
            
            var element = form[ elementName ];
            var elementOther = form[ "equals-" + elementName + "-other" ];
            var other = "";
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                element = form( elementName );
                elementOther = form( "equals-" + elementName + "-other" );
                other = form( elementOther.value );
            }
            else
            {
            	other = form[ elementOther.value ];
            }
            
            if ( element.value != other.value )
            {
				var msg = form[ "required-" + elementName + "-message" ].value;

				if ( browserName == "Microsoft Internet Explorer" )
				{
					msg = form( "required-" + elementName + "-message" ).value;
				}
				
				errormessage += "\n\n" + msg;
				
            }//end if
        }
        else if ( form.elements[x].name == "dependant" )
        {
            var elementName = form.elements[x].value;

            var element = form[ elementName ];
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                element = form( elementName );
            }

            var elementType;

            if ( element.length == undefined )
            {
                elementType = element.type;
            }
            else
            {
                elementType = element[0].type;
            }        
            
            var msg = form[ "dependant-" + elementName + "-message" ].value;
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                msg = form( "dependant-" + elementName + "-message" ).value;
            }
            
            if ( elementType == "textarea" )
            {
                if(!WithoutContent(element))
                { 
                    var element2 = form[ "dependant-check-" + elementName ];
                    if ( browserName == "Microsoft Internet Explorer" )
                    {
                        element2 = form( "dependant-check-" + elementName );
                    }
                    
                    var selectElement = form[ element2.value ];
                    if ( browserName == "Microsoft Internet Explorer" )
                    {
                        selectElement = form( element2.value );
                    }
                    
                    if(WithoutSelectionValue(selectElement))
                    {
                        errormessage += "\n\n" + msg 
                    }    
                }
            }
        
        }//end if

    }//end for x

    if(errormessage.length > 2)
    {
        alert(errormessage);
        return false;
    }

    return true;

}//end function

function NoneWithCheck(ss)
{
    for( var i = 0; i < ss.length; i++ )
    {
        if(ss[i].checked) { return false; }
    }

    return true;
}

function WithoutContent(ss)
{
    if ( isBlank( ss.value ) )
    {
        ss.value = "";
    }
    
    if(ss.value.length > 0) { return false; }
    return true;
}

function isBlank(val)
{
    if(val==null) { return true;}
    for(var i=0;i<val.length;i++)
    {
        if((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
    }
    return true;
}

function WithoutSelectionValue(ss) 
{
    for(var i = 0; i < ss.length; i++) {
        if(ss[i].selected) {
            if(ss[i].value.length) { return false; }
            }
        }
    return true;
}

function getSelectedValue(arg)
{
  var val = 0;
  for ( i=0; i < arg.length; i++)
  {
	if (arg[i].selected == true)
	  val = arg[i].value;
  }
  return val;
}

function setSelectedValue(arg, value)
{
	for ( i=0; i < arg.length; i++)
	{
		if ( arg[i].value == value )
		{
			arg[i].selected = true;
		}
	}
}

function echeck(str)
{
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   alert("Invalid E-mail, please check your email.")
	   return false
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("Invalid E-mail, please check your email.")
	   return false
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		alert("Invalid E-mail, please check your email.")
		return false
	}
	 if (str.indexOf(at,(lat+1))!=-1){
		alert("Invalid E-mail, please check your email.")
		return false
	 }
	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert("Invalid E-mail, please check your email.")
		return false
	 }
	 if (str.indexOf(dot,(lat+2))==-1){
		alert("Invalid E-mail, please check your email.")
		return false
	 }
	 if (str.indexOf(" ")!=-1){
		alert("Invalid E-mail, please check your email.")
		return false
	 }
	 return true                    
}

function checkContactForm( form )
{
	var validEmail = echeck( form.email.value );
	
	if ( validEmail )
	{
		return checkRequired( form );
	}
	else
	{
		return false;
	}

}

function checkPayment( form )
{
	var expire = checkExpiration(getSelectedValue(form.cc_expire_month), getSelectedValue(form.cc_expire_year));
	
	if (expire)
	{
		return checkRequired( form );
	}
	else
	{
		return false;
	}
	
}

function checkExpiration(month, year)
{
	var d = new Date();
	
	var intMonth = parseInt(month);
	
	var intYear = parseInt("20" + year);
	
	//alert("current month: " + (d.getMonth()+1) + " year: " + d.getFullYear() + " sel month: " + intMonth + " sel year: " + intYear);
	
	if ( intYear == d.getFullYear() )
	{
		if ( intMonth < (d.getMonth()+1))
		{
			alert( "Please select a valid credit card expiration." );
			return;
		}
	
	}

	return true;
}

function setBillingAddress()
{
	if ( document.customer.bill_ship_address_same.checked == false )
	{
		document.customer.bill_address_line1.value = document.customer.address_line1.value;
		document.customer.bill_unit.value = document.customer.unit.value;
		document.customer.bill_address_line2.value = document.customer.address_line2.value;
		document.customer.bill_city.value = document.customer.city.value;
		setSelectedValue( document.customer.bill_state, getSelectedValue( document.customer.state ) );
		document.customer.bill_zip.value = document.customer.zip.value;
	}    
}