// Support Script (745)
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 (740)
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 (746)
function AddToValidateArray(strElementName)
{
    var strName = strElementName

    if (!document.ValidateArray) 
    {
        document.ValidateArray = new Array
    }

    document.ValidateArray[document.ValidateArray.length] = strName
}

// Support Script (576)
function ValidateEMail()
{
   var msg = "";
   var val = this.getText();
   var msgInvalid = "Please enter a valid e-mail address\n(a valid e-mail address contains the @ character)";

  	var theLen = StripChars(" ",val).length
	  if (theLen == 0)	
		  if (!this.Required) return ""		
		  else return "Required field.  " + msgInvalid

   if (val.indexOf("@",0) < 0) 
   {
      msg = msgInvalid 
   }
   return msg;
}

// Support Script (747)
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 (582)
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;
}

// Support Script (575)
function ValidateNumChars()
{	
	var theString = this.getText()
	var MinLength = this.MinLength
	var MaxLength = this.MaxLength
	var msgInvalid = ""

	if (StripChars(" \n\t\r",this.ErrorMsg).length == 0)
	{
				
		if (MinLength == 1 && MaxLength == 1)		
			msgInvalid = "Please enter a value one character long."		
		else if (MinLength > 1 && MaxLength == MinLength)		
			msgInvalid = "Please enter a value " + MinLength + " characters long."				
		else if (MinLength > 0 && MaxLength > 0)		
			msgInvalid = "Please enter a value between\n" + MinLength + " and " + MaxLength + " characters long."		
		else if (MinLength == 1)		
			msgInvalid = "Please enter a value at least one character long."
		else if (MinLength > 1)
			msgInvalid = "Please enter a value at least " + MinLength + " characters long."
		else if (MaxLength == 1)		
			msgInvalid = "Please enter a value no more than one character long."
		else if (MaxLength > 1)
			msgInvalid = "Please enter a value no more than " + MaxLength + " characters long."		
 	else
	 	msgInvalid = this.ErrorMsg	

	}
	else
		msgInvalid = this.ErrorMsg	


	if (StripChars(" \n\r",theString).length == 0)	
		if (!this.Required) return ""		
		else return "Required field.  " + msgInvalid

	theString = Trim(theString)

	if (this.StripSpaces)
		theString = StripChars(" \n\r",theString)

	if (MinLength > 0 && theString.length < MinLength)
		return msgInvalid

	if (MaxLength > 0 && theString.length > MaxLength)
		return msgInvalid

	// we passed the tests
	this.setText(theString)

	return ""
}
function document_onLoad() {
Email.Validate = ValidateEMail;
Email.Required = Number("1");
AddToValidateArray("Email")
CustomerName.focus();
CustomerName.Validate=ValidateNonBlank;
CustomerName.ErrorMsg = "Please enter Your Name"
AddToValidateArray("CustomerName")
Tel.ErrorMsg = "Please enter a valid telephone number";
Tel.MaxLength = Number("13");
Tel.MinLength = Number("10");
Tel.StripSpaces = Number("0");
Tel.Required = Number("1");
Tel.Validate = ValidateNumChars;
AddToValidateArray("Tel")
Postcode.ErrorMsg = "Please enter a valid postcode";
Postcode.MaxLength = Number("8");
Postcode.MinLength = Number("6");
Postcode.StripSpaces = Number("0");
Postcode.Required = Number("1");
Postcode.Validate = ValidateNumChars;
AddToValidateArray("Postcode")
 }
function Image4_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 + "Image4=1"
    Form1.setAction(act);


    Form1.submit();
}
 }
function _Image4_onClick() { if (Image4) return Image4.onClick(); }

