// Support Script (810)
function subAwithBinC(a,b,c)
{

	var i = c.indexOf(a);
	var l = b.length;

	while (i != -1)	{
		c = c.substring(0,i) + b + c.substring(i + a.length,c.length);
  i += l
		i = c.indexOf(a,i);
	}
	return c;

}
// Support Script (770)
function Validate(stopOnFailure)
{
	var ErrorMsg = "";
	var i
	var msg
	var tofocus = true;
	var ErrorMsg = "";
	
	// Go through the Validate Array that may or may not exist
	// and call the Validate function for all elements that have one.
	if (document.ValidateArray)
	{
		for (i = 0; i < document.ValidateArray.length; i ++)
		{
			msg = eval( document.ValidateArray[i] + ".Validate()")
			if (msg != "")
			{
				ErrorMsg += "\n\n" + document.ValidateArray[i] + ":  " + msg;
				if (tofocus) 
				{
					eval(document.ValidateArray[i] + ".focus()")
					tofocus = false;
				}
				
				if (stopOnFailure == "1") return ErrorMsg;
			}
  	}
  }
	return ErrorMsg;
}

// Support Script (776)
function AddToValidateArray(strElementName)
{
    var strName = strElementName

    if (!document.ValidateArray) 
    {
        document.ValidateArray = new Array
    }

    document.ValidateArray[document.ValidateArray.length] = strName
}

// Support Script (800)
function StripChars(theFilter,theString)
{
	var strOut,i,curChar

	strOut = ""
	for (i=0;i < theString.length; i++)
	{		
		curChar = theString.charAt(i)
		if (theFilter.indexOf(curChar) < 0)	// if it's not in the filter, send it thru
			strOut += curChar		
	}	
	return strOut
}

function AllInRange(x,y,theString)
{
	var i, curChar
	
	for (i=0; i < theString.length; i++)
	{
		curChar = theString.charAt(i)
		if (curChar < x || curChar > y) //the char is not in range
			return false
	}
	return true
}


function reformat (s)
{
    var arg;
    var sPos = 0;
    var resultString = "";

    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) 
           resultString += arg;
       else 
       {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}

function Trim(theString)
{
 var i,firstNonWhite

 if (StripChars(" \n\r\t",theString).length == 0 ) return ""

	i = -1
	while (1)
	{
		i++
		if (theString.charAt(i) != " ")
			break	
	}
	firstNonWhite = i
	//Count the spaces at the end
	i = theString.length
	while (1)
	{
		i--
		if (theString.charAt(i) != " ")
			break	
	}	

	return theString.substring(firstNonWhite,i + 1)

}
// Support Script (661)

function ValidateZipCode()
{
	var msg = ""
	var theString = this.getText()
 var msgInvalid = "Please enter a valid Zip Code.\nSuch as 3137"

	/*var theLen = StripChars(" \n\t\r",theString).length
	if (theLen == 0)	
		if (!this.Required) return ""		
		else return "Required field.  " + msgInvalid

	theString = StripChars("- \n\r",theString)		

	if (!AllInRange("0","9",theString))
	{
		msg = msgInvalid
	}
	else if (theString.length != 5 && theString.length != 9)
	{
		msg = msgInvalid
	}*/

	if (msg == "")
	{
		if (theString.length == 9)		
			this.setText(reformat(theString,"",5,"-",4))
		else
   this.setText(theString)
   
	}
	return msg	
}
// Support Script (659)
function ValidateUSPhone()
{
	var msg = ""
	var theString = this.getText()
 var msgInvalid = "Please enter a valid phone number.\nSuch as (03) 9555-1212"

	var theLen = StripChars(" \n\t\r",theString).length
	if (theLen == 0)	
		if (!this.Required) return ""		
		else return "Required field.  " + msgInvalid

	theString = StripChars("*() -./_\n\r",theString)		

	if (!AllInRange("0","9",theString))
	{
		msg = msgInvalid
	}
	else
			msg="";

	return msg		
}


// Support Script (655)
function ValidateNonBlank()
{
  var msg = "";
  var val = this.getText();  

  if (StripChars(" \n\t\r",val).length == 0)
  {
    if (Trim(this.ErrorMsg) != "")
      msg = "Required field. " + this.ErrorMsg
    else
      msg = "Required field. Please enter an appropriate value."
  }

  return msg;
}

function document_onLoad() {
CustomerIDOut.setText(CustomerIDOutASPServer)
ShipIDOut.setText(ShipIDOutASPServer)
Zip.Validate = ValidateZipCode;
Zip.Required = Number("1");
AddToValidateArray("Zip")
Phone.Validate = ValidateUSPhone;
Phone.Required = Number("1");
AddToValidateArray("Phone")
First_Name.Validate=ValidateNonBlank;
First_Name.ErrorMsg = "First Name field is required"
AddToValidateArray("First_Name")
Last_Name.Validate=ValidateNonBlank;
Last_Name.ErrorMsg = "Last Name field is required"
AddToValidateArray("Last_Name")
Address.Validate=ValidateNonBlank;
Address.ErrorMsg = "Address field is required"
AddToValidateArray("Address")
City.Validate=ValidateNonBlank;
City.ErrorMsg = "City field is required"
AddToValidateArray("City")
email_address.Validate=ValidateNonBlank;
email_address.ErrorMsg = "An email address is required"
AddToValidateArray("email_address")
 }
function ImageButton1_onClick() {
var addChar = "?" 
var j
var okToSubmit = false;

if ("".length > 1)
{
    Form1.setAction(subAwithBinC(" ", "%20", ""));
}

// execute the onSubmit() event handler and try to 
// determine if it already validated the form
Result = Form1.onSubmit();

//   If there is no onSubmithander the return value is null
//   If there is a validation handler it returns true to submit
//   or false to not submit
if (Result==null)  // there is no validation already defined
{
    if ("1" == "1")
    {
        Result = Validate("0"); // don't stop on first error
        if (Result == "") okToSubmit = true;
        else alert("The form could not be submitted:" + Result);
    }
    else okToSubmit = true;
}
else // there is a validation already defined
{
    if (Result==true)
        okToSubmit = true;
}

if (okToSubmit) 
{
    // We have to
    // put the source in the query string so the generic database contracts
    // still work.

    // NOTE: this only works if the method of the form is POST


    act = Form1.getAction();
    if (act.indexOf("?") != -1)
    {    
        addChar = "&"
    }

    act += addChar + "ImageButton1=1"
    Form1.setAction(act);


    Form1.submit();
}
 }
function _ImageButton1_onClick() //{ if (ImageButton1) return ImageButton1.onClick(); }
{
    var act = "?" + "ImageButton1=1"
    Form1.setAction(act);


    Form1.submit();
}

function Phone__onBlur() {
if (Phone.Validate != null)
{
    errorMsg = Phone.Validate();

    if (errorMsg != "") {
        alert(errorMsg);
        Phone.focus() ;
}
}
 }
function _Phone__onBlur() { 
	if (Phone) 
		return Phone.onBlur();
		
 }
function email_address__onBlur() {
if (email_address.Validate != null)
{
    errorMsg = email_address.Validate();

    if (errorMsg != "") {
        alert(errorMsg);
        email_address.focus() ;
}
}
 }
function _email_address__onBlur() { if (email_address) return email_address.onBlur(); }

function lstCountry_onChange(lst) {

	if (lst.value == "--OTHER--") {
		document.Form1.item("Country").style.visibility = 'visible';
		document.Form1.item("Country").focus();
		}
	else
		{
		document.Form1.item("Country").style.visibility = 'hidden'; }
}
