var isIe4=false, isDom=false, isMac=false, isWin=false, isNs=false, isNs4=false, isFlash=-1, isLoaded=false;
var isIe=false, isIe50=false, contactType;

function init()
{
	if (isDom)
	{
		isLoaded=true;
	}
}

function validateContactForm(){
	var bError = false;
	var sMessage = '';
	var sField = '';
	if(document.getElementById('name').value == ''){
		sMessage = 'You must enter a name.\n\n';
		bError = true;
		sField='name';
	}
	if(document.getElementById('organisation').value == ''){
		sMessage += 'You must enter an organisation.\n\n';
		bError = true;
		if(sField == ''){sField='organisation';}
	}	
	if(document.getElementById('query').value == ''){
		sMessage += 'You must enter a query.\n\n';
		bError = true;
		if(sField == ''){sField='query';}
	}	

	var bContactMethodSelected = false;
	for(var i =0; i< document.frmContact.contactmethod.length; i++){
		if(document.frmContact.contactmethod[i].checked == true){
			bContactMethodSelected = true;
			break;
		}
	}
	if(!bContactMethodSelected){
		sMessage += 'You must enter a contact method.\n\n';
		bError = true;
	}
	//check the email is entered if required
	if(document.frmContact.contactmethod[0].checked == true){
		if(document.getElementById('email').value == ''){
			sMessage += 'You must enter a valid email address.\n\n';
			bError = true;
			if(sField == ''){sField='email';}			
		}
		else if(!isEmail(document.getElementById('email').value)){
			sMessage += 'You must enter a valid email address.\n\n';
			bError = true;
			if(sField == ''){sField='email';}			
		}
	}
	//check the phone is entered if required
	if(document.frmContact.contactmethod[1].checked == true){
		if(document.getElementById('phone').value == ''){
			sMessage += 'You must enter a phone number.\n\n';
			bError = true;
			if(sField == ''){sField='phone';}			
		}
	}	
	//check the fax is entered if required
	if(document.frmContact.contactmethod[2].checked == true){
		if(document.getElementById('fax').value == ''){
			sMessage += 'You must enter a fax number.\n\n';
			bError = true;
			if(sField == ''){sField='fax';}			
		}
	}		
	//check the address is entered if required
	if(document.frmContact.contactmethod[3].checked == true){
		if(document.getElementById('address1').value == ''){
			sMessage += 'You must enter address line 1.\n\n';
			bError = true;
			if(sField == ''){sField='address1';}			
		}
		if(document.getElementById('town').value == ''){
			sMessage += 'You must enter a town.\n\n';
			bError = true;
			if(sField == ''){sField='town';}			
		}	
		if(document.getElementById('postcode').value == ''){
			sMessage += 'You must enter a post code.\n\n';
			bError = true;
			if(sField == ''){sField='postcode';}			
		}			
	}			
	if(bError){
		alert(sMessage);
		if(sField !=''){document.getElementById(sField).focus()};
		return false;
	}
	else{
		document.frmContact.submit();
	}
}

function writeInputs()
{
      
	
    document.getElementById('contacttype').style.background="none";
	document.frmContact.name.focus();
	
	if(document.frmContact.contactmethod[0].checked)
	{	  
		// create the object tag
	        var objectTag = "";
        	objectTag += '<label for="email">Email*</label>';
	        objectTag += '<input name="email" id="email" type="text" />';

        
	        // output the object tag
        	document.getElementById('contacttype').innerHTML = (objectTag);
	}


	if(document.frmContact.contactmethod[1].checked)
	{	  
		// create the object tag
	        var objectTag = "";
        	objectTag += '<label for="phone">Phone*</label>';
	        objectTag += '<input name="phone" id="phone" type="text" />';

        
	        // output the object tag
        	document.getElementById('contacttype').innerHTML = (objectTag);
	}

	if(document.frmContact.contactmethod[2].checked)
	{	  
		// create the object tag
	        var objectTag = "";
        	objectTag += '<label for="fax">Fax*</label>';
	        objectTag += '<input name="fax" id="fax" type="text" />';

        
	        // output the object tag
        	document.getElementById('contacttype').innerHTML = (objectTag);
	}

	if(document.frmContact.contactmethod[3].checked)
	{	  
		// create the object tag
	        var objectTag = "";
        	objectTag += '<label for="address1">Address Line 1*</label>';
	        objectTag += '<input name="address1" id="address1" type="text" />';
        	objectTag += '<label for="address2">Address Line 2</label>';
	        objectTag += '<input name="address2" id="address2" type="text" />';
        	objectTag += '<label for="town">Town*</label>';
	        objectTag += '<input name="town" id="town" type="text" />';
        	objectTag += '<label for="county">County</label>';
	        objectTag += '<input name="county" id="county" type="text" />';
        	objectTag += '<label for="postcode">Post Code*</label>';
	        objectTag += '<input name="postcode" id="postcode" type="text" />';
        
	        // output the object tag
        	document.getElementById('contacttype').innerHTML = (objectTag);
	}

}

function isEmail(argvalue) {
  if (argvalue.indexOf(" ") != -1)
    return false;
  else if (argvalue.indexOf("@") == -1)
    return false;
  else if (argvalue.indexOf("@") == 0)
    return false;
  else if (argvalue.indexOf("@") == (argvalue.length-1))
    return false;
  // arrayString = argvalue.split("@"); (works only in netscape3 and above.)
  var retSize = customSplit(argvalue, "@", "arrayString");

  if (arrayString[1].indexOf(".") == -1)
    return false;
  else if (arrayString[1].indexOf(".") == 0)
    return false;
  else if (arrayString[1].charAt(arrayString[1].length-1) == ".") {
    return false;
  }

  return true;

}

function customSplit(strvalue, separator, arrayName) {
  var n = 0;

  if (separator.length != 0) {
    while (strvalue.indexOf(separator) != -1) {
      eval("arr"+n+" = strvalue.substring(0, strvalue.indexOf(separator));");
      strvalue = strvalue.substring(strvalue.indexOf(separator)+separator.length,
          strvalue.length+1);
      n++;
    }
    eval("arr" + n + " = strvalue;");
    arraySize = n+1;
  }
  else {
    for (var x = 0; x < strvalue.length; x++) {
      eval("arr"+n+" = \"" + strvalue.substring(x, x+1) + "\";");
      n++;
    }
    arraySize = n;
  }

  eval(arrayName + " = new makeArray(arraySize);");

  for (var i = 0; i < arraySize; i++)
    eval(arrayName + "[" + i + "] = arr" + i + ";");

  return arraySize;
}
function makeArray(IntarrSize) {

  for (var n = 0; n < IntarrSize; n++)
    this[n] = "";

  return this;

}
