/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- .";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidatePhone(obj){	
	if ((obj.value==null)||(obj.value=="")){
		return false
	}
	if (checkInternationalPhone(obj.value)==false){
		obj.value=""
		return false
	}
	return true
 }
 
 
/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function echeck(str) {	
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false;
	 }

	 return true	;				
}

function validateEmail(obj){
	var emailID=obj;
	
	if ((emailID.value==null)||(emailID.value=="")){
		return false;
	}
	if (echeck(emailID.value)==false){
		return false;
	}
	return true;
 }


 // JavaScript Document
function validate_required(field)
{
	with (field)
	{
	if (value==null||value=="")
	  {
	  return false;
	  }
	else {
	  return true;
	  }
	}
}

function validate_request(thisform)
{
	var errorMsg = "";
	var errors = 0;
	with (thisform) {
		if (validate_required(firstName)==false) {
			errorMsg = errorMsg + "You must enter your first name.\n";
			errors++;
		}
		if (validate_required(lastName)==false) {
			errorMsg = errorMsg + "You must enter your last name.\n";
			errors++;
		}
		if (validateEmail(email)==false) {
			errorMsg  = errorMsg + "You must enter a valid email address.\n";
			errors++;
		}
		if (ValidatePhone(phone)==false) {
			errorMsg = errorMsg + "You must enter a valid phone number.\n";
			errors++;
		}
		if (validate_required(position)==false) {
			errorMsg  = errorMsg + "You must enter the position you are applying for.\n";
			errors++;
		}/*
		if (validate_required(city)==false) {
			errorMsg  = errorMsg + "You must enter your city.\n";
			errors++;
		}
		if (validate_required(taxApplication)==false) {
			errorMsg = errorMsg + "You must select a tax application.\n";
			errors++;
		}
		if (validate_required(taxApplication)==false) {
			errorMsg = errorMsg + "You must select a tax application.\n";
			errors++;
		}*/
	}
	if(errors > 0) {
		alert(errorMsg);
		return false;
	} 
}

/* Check and uncheck functions for form */
function checkAll(field)
{
for (i = 0; i < field.length; i++)
	field[i].checked = true ;
}

function uncheckAll(field)
{
for (i = 0; i < field.length; i++)
	field[i].checked = false ;
}
function checkForOther (thisDiv) {
	var x=document.getElementById(thisDiv).value;
	if (x == "Other") {
		document.getElementById("applicationOther").style.display = "block";
		document.getElementById("applicationOtherLeft").style.display = "block";
	} else {
		document.getElementById("applicationOther").style.display = "none";
		document.getElementById("applicationOtherLeft").style.display = "none";
	}
}
function otherCheck() {
	var x=document.getElementById("other").value;
	if(x == "Please enter the application name") {
		document.getElementById("other").value = "";
		document.getElementById("other").style.color = "#000000";
		
	}
}