﻿// JScript File

function contactType_onclick_new(elem){
	//alert(elem);
	var f = document.forms['frm_contact'];
	
	var sDisplay = (document.all && !window.opera)?'inline':'table-row';
	
	var preferredCallTime = document.getElementById("preferredCallTime");
	var ddlDay = document.getElementById("ddlDay");
  var ddlFromHour = document.getElementById("ddlFromHour");
  var ddlToHour = document.getElementById("ddlToHour");
	
	if(elem=="Call"){
		preferredCallTime.style.display='inline';
		ddlDay.className="required";
    ddlFromHour.className="required";
    ddlToHour.className="required";
    
    document.getElementById("email").style.display='none';	
    document.getElementById("address1").style.display='none';
    document.getElementById("address2").style.display='none';
    document.getElementById("address3").style.display='none';	
    
    document.getElementById("txtemail").className="";		
		document.getElementById("txtaddress1").className="";		
		document.getElementById("txtaddress2").className="";		
		document.getElementById("ddlAddress3").className="";
	}	
	else if(elem=="Email"){			
		preferredCallTime.style.display='none';
		ddlDay.className="";
    ddlFromHour.className="";
    ddlToHour.className="";
    
    document.getElementById("email").style.display='inline';		
   	document.getElementById("txtemail").className="required";	
    
    document.getElementById("address1").style.display='none';
    document.getElementById("address2").style.display='none';
    document.getElementById("address3").style.display='none';	
    
    document.getElementById("txtaddress1").className="";
		document.getElementById("txtaddress2").className="";
		document.getElementById("ddlAddress3").className="";			
		
	}
	
	else if(elem=="Send"){
		preferredCallTime.style.display='none';
		ddlDay.className="";
    ddlFromHour.className="";
    ddlToHour.className="";
		
		document.getElementById("email").style.display='inline';	
		document.getElementById("address1").style.display='inline';
		document.getElementById("address2").style.display='inline';
		document.getElementById("address3").style.display='inline';			
		
		document.getElementById("txtemail").className="required";		
		document.getElementById("txtaddress1").className="required";
		document.getElementById("txtaddress2").className="required";
		document.getElementById("ddlAddress3").className="required";		
		
	} 
	
  
   //preferredCallTime.style.display='none';   
  
	
}

function contactType_onclick(elem){
  //alert(elem);
  // set background color highlight
  var colContactTypes = document.getElementById("contactType").getElementsByTagName("input");
  for(var i=0; i<colContactTypes.length; i++){
    colContactTypes[i].parentNode.style.backgroundColor="transparent";
  }
  elem.parentNode.style.backgroundColor="#E6E6E6";

  // Set display appropriate form fields
  var preferredCallTime = document.getElementById("preferredCallTime");
  var ddlDay = document.getElementById("ddlDay");
  var ddlFromHour = document.getElementById("ddlFromHour");
  var ddlToHour = document.getElementById("ddlToHour");
  
  var arSendElements = new Array()
  arSendElements[0] = document.getElementById("txtEmail");
  arSendElements[2] = document.getElementById("txtAddress1");
  arSendElements[3] = document.getElementById("txtAddress2");
  arSendElements[4] = document.getElementById("ddlAddress3");
  arSendElements[5] = document.getElementById("txtPostcode");
  
  var sDisplay = (document.all && !window.opera)?'inline':'table-row';
  
  if(elem.value=="Call"){
    
    preferredCallTime.style.display=sDisplay;
    ddlDay.className="required";
    ddlFromHour.className="required";
    ddlToHour.className="required";
    
    for(var i=0; i<arSendElements.length; i++){
      if(arSendElements[i]){
        arSendElements[i].parentNode.parentNode.style.display="none";
        arSendElements[i].className="";
      }
    }
  }  
  else if(elem.value=="Email"||elem.value=="Send"){
    
    preferredCallTime.style.display="none";
    ddlDay.className="";
    ddlFromHour.className="";
    ddlToHour.className="";
    
    for(var i=0; i<arSendElements.length; i++){
      if(arSendElements[i]){
        arSendElements[i].parentNode.parentNode.style.display=sDisplay;
        arSendElements[i].className="required";
      }
    }    
  }
}




function validateForm(whichform) {
  
  bValidForm = true;
  
  for (var i=0; i<whichform.elements.length; i++) {
    
    var element = whichform.elements[i];

    if (element.className.indexOf("required") != -1 && element.type == "text") {
      if (!isFilled(element)) {
        alert("Please fill in the '"+element.title+"' field.");
        bValidForm = false;
        break;
      }
    }
    if (element.className.indexOf("required") != -1 && element.type == "textarea") {
      if (!isFilled(element)) {
        alert("Please fill in the '"+element.title+"' field.");
        bValidForm = false;
        break;
      }
    }
    if (element.className.indexOf("required") != -1 && element.type == "select-one") {
      if (element.selectedIndex == 0) {
        alert("Please select a '"+element.title+"'.");
        bValidForm = false;
        break;
      }
    }
    if (element.className.indexOf("required") != -1 && element.type == "select-multiple") {
      if (element.selectedIndex == -1) {
        alert("Please select a '"+element.title+"'.");
        bValidForm = false;
        break;
      }
    }
    if (element.className.indexOf("required") != -1 && element.type == "radio") {
      var bRadioChecked = false;
      for(p = 0; p<whichform.elements[element.name].length; p++)
      {
          if (whichform.elements[element.name][p].checked) {
            bRadioChecked = true;  
            continue;
          }
      }
      if(!bRadioChecked){
        alert("Please check a '"+element.title+"'.");
        bValidForm = false;
        break;
      }
      i = i + whichform.elements[element.name].length;
    }
    if (element.className.indexOf("required") != -1 && element.type == "checkbox") {
      if(!element.checked){
        alert(element.title+".");
        bValidForm = false;
        break;
      }          
    }
    if (element.name.toLowerCase().indexOf("email") != -1 && element.value.length >= 1) {
      if (!isEmail(element)) {
        alert("The "+element.title+" field must be a valid email address.");
        bValidForm = false;
        break;
      }
    }
}
  if(bValidForm){
    return true;
  }
  else{
    element.focus();
    return false;
  }
  //return false;
}

function isFilled(field) {
  if (field.value.length < 1) {
    return false;
  } else {
    return true;
  }
}

function isEmail(field) {
  if (field.value.indexOf("@") == -1 || field.value.indexOf(".") == -1) {
    return false;
  } else {
    return true;
  }
}

function prepareForms() {
  for (var i=0; i<document.forms.length; i++) {
    var thisform = document.forms[i];
    //resetFields(thisform);
    thisform.onsubmit = function() {
      return validateForm(this);
    }
  }
}
function prepareRadioButtons() {
  // attach onclick event to contact type radio buttons 
  var colContactTypes = document.getElementById("contactType").getElementsByTagName("input");
  for(var i=0; i<colContactTypes.length; i++){
    colContactTypes[i].onclick=function() {
      return contactType_onclick(this);
    }
  }
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
