var regNameError= 'Please enter a username.';
var regNameErrorChr = 'Please do not enter invalid characters in your reg_uname.';
var regPassError = 'Please enter a password';
var regPassError2 = 'Please repeat your password correctly.';
var regEmailError = 'Please enter your e-mail address.';
var regEmailError2 = 'Please repeat your e-mail address correctly.'; 
var regEmailErrorChr = 'Invalid e-mail address format';
var regTermsError = 'Please accept the Terms and Conditions';
var regName_Error = 'Please do not enter invalid characters in your reg_uname.';
var regEmail_Error = 'Please enter your e-mail address correctly.'; 
var regFnameError = 'Please enter your last name.';
var regLnameError = 'Please enter your last name.';

function toggle_username(userid) {
    if (window.XMLHttpRequest) {
        http = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        http = new ActiveXObject("Microsoft.XMLHTTP");
    }
    handle = document.getElementById(userid);
    var url = 'ajax.php?';
    if(handle.value.length > 0) {
        var fullurl = url + 'do=check_username_exists&username=' + encodeURIComponent(handle.value);
        http.open("GET", fullurl, true);
        http.send(null);
        http.onreadystatechange = statechange_username;
    }else{
        document.getElementById('username_exists').innerHTML = '';
		return false;
    }
}

function statechange_username() {
    if (http.readyState == 4) {
        var xmlObj = http.responseXML;
        var html = xmlObj.getElementsByTagName('result').item(0).firstChild.data;
        document.getElementById('username_exists').innerHTML = html;
    }
}


function showError(dError, mError)
	{
		document.getElementById("char_error").innerHTML = mError;
		document.getElementById("char_error").style.backgroundColor='#FFFFFF';
		document.getElementById("char_error").style.border='thin solid #84B2DE';
		document.getElementById("char_error").style.padding='3px';
		document.getElementById(dError).style.backgroundColor='#FFFFCC';
		document.getElementById(dError).focus();
	}

	function def(dError)
	{
		document.getElementById("char_error").innerHTML = '';
		document.getElementById("char_error").style.backgroundColor='';
		document.getElementById("char_error").style.border='';
		document.getElementById("char_error").style.padding='';
		document.getElementById(dError).style.backgroundColor='#FFFFFF';
	}
	
function formCheckReg(form) 
	{
		if (form.reg_uname.value == "") {
			showError("reg_uname", regNameError);
			return false ;

		}
		var fchars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
		for (var x = 0; x < form.reg_uname.value.length; x++) {
			if (fchars.indexOf(form.reg_uname.value.charAt(x)) != -1) {
				showError("reg_uname", regNameErrorChr);
				return false;
			}
		}

		if (form.reg_password.value == "" ) {
			showError("reg_password", regPassError);
			return false;
		}

		if (form.reg_password.value != form.reg_password2.value || form.reg_password2.value == "") {
			showError("reg_password2", regPassError2);
			return false;
		}



		if (form.reg_email.value == "") {
			showError("reg_email", regEmailError);
			return false;
		}
				
		if (form.reg_fname.value == "") {
			showError("reg_fname", regFnameError);
			return false;
		}
		
		if (form.reg_lname.value == "") {
			showError("reg_lname", regLnameError);
			return false;
		}
		if (form.terms.checked == 0) {
			showError("terms", regTermsError);
			return false;
		}
		if (form.reg_email.value != form.reg_email2.value || form.reg_email2.value =="") {
			showError("reg_email2", regEmailError2);
			return false;
		}
		if (toggle_username(userid) == false) {
			return false;
		}

		validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
		strEmail = form.reg_email.value;

		if (strEmail.search(validRegExp) == -1) {
			showError("reg_email", regEmailErrorChr);
			return false;
		} 

	}
	
var interval = 2.5; // delay between rotating images (in seconds)
var random_display = 1; // 0 = no, 1 = yes
interval *= 1000;

var image_index = 0;
image_list = new Array();
image_list[image_index++] = new imageItem("images/claire1.jpg");
image_list[image_index++] = new imageItem("images/claire2.jpg");

var number_of_image = image_list.length;
function imageItem(image_location) {
this.image_item = new Image();
this.image_item.src = image_location;
}
function get_ImageItemLocation(imageObj) {
return(imageObj.image_item.src)
}
function generate(x, y) {
var range = y - x + 1;
return Math.floor(Math.random() * range) + x;
}
function getNextImage() {
if (random_display) {
image_index = generate(0, number_of_image-1);
}
else {
image_index = (image_index+1) % number_of_image;
}
var new_image = get_ImageItemLocation(image_list[image_index]);
return(new_image);
}
function rotateImage(place) {
var new_image = getNextImage();
document[place].src = new_image;
var recur_call = "rotateImage('"+place+"')";
setTimeout(recur_call, interval);
}

function checknumber(string)
   {
   var strchar;   
   var strvalidchars = "0123456789.- ";
   var result = true;
   if (string.length == 0) return false;
   for (i = 0;result == true && i < string.length;i++)
      {
      strchar = string.charAt(i);
      if (strvalidchars.indexOf(strchar) == -1)
         {
         result = false;
         }
      }
   return result;
   }
   
   function verifyEmail(){
var status = false;     
var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
     if (document.forms.enquiry.email.value.search(emailRegEx) == -1) {
      	status = false;
     }
     else {
         status = true;
     }
     return status;
}
	

	
	function checkphone()
		{
			checknumber(document.forms.enquiry.phone.value);	
			if(document.forms.enquiry.first_name.value == "" || document.forms.enquiry.last_name.value == "" || document.forms.enquiry.email.value == "" || document.forms.enquiry.interested_in.value == "--Select--" || document.forms.enquiry.message.value == "")
			{
			alert("One or more required fields are missing!");
			return false;
			}
			else if (document.forms.enquiry.last_name.value == document.forms.enquiry.first_name.value)
			  {
				alert("First name cannot be the same as Last name");
				return false;
			  }
			else if (checknumber(document.forms.enquiry.phone.value) == false) 
			  {
			  alert("No letters allowed in phone number.");
			  return false; 
			  }
			else if (verifyEmail(document.forms.enquiry.email.value) == false)
			  {
			  alert("Email Address in invalid format");
			  return false;
			  }
			else
			{
			alert("Thank you!");	
			// Submits the html dom to the php script.
			return true;
			}
		}
		
	function open_win(url_add,width,height)
   {
   window.open(url_add,'welcome','width='+width+',height='+height+',menubar=no,status=yes,location=no,toolbar=no,scrollbars=yes');
   }
