// JavaScript Document

function validateZIP(field) {
var valid = "0123456789-";
var hyphencount = 0;

if (field.length!=5 && field.length!=10) {
alert("Please enter your 5 digit ZIP code.");
return false;
}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
alert("Invalid characters in your zip code.  Please try again.");
return false;
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
return false;
   }
}
return true;
}


function validateForm(){
	if(document.form1.state.value <= 0){
		alert("You must choose a state to continue...");
		return false;
	}
	return true;
}

function validate_practicetest(quizForm, numberofquestions)
{

	for (x=3; x <= numberofquestions; x++) {
		myOption = -1;
		for (i=quizForm["answer_" + x].length-1; i > -1; i--) {
			if (quizForm["answer_" + x][i].checked) {
				myOption = i;
			}
		}
		if (myOption == -1) {
			alert("You must finish the test in order to get a score. You forgot to answer question #" + (x-2));
			return false;
		}
	}
return true;
}

function validateemail() {
	if(document.getElementById("emailaddress").value == "")	{
			alert("Please enter your email address.");
			document.getElementById("emailaddress").focus();
			return false;
	}	else	{
		var emailVal  = true;
		var Temp     = document.getElementById("emailaddress")
		var atSign    = Temp.value.indexOf('@');
		var dot   = Temp.value.lastIndexOf('.');
		var space    = Temp.value.indexOf(' ');
		var length   = Temp.value.length - 1;
			if (atSign < 1 | dot <= atSign+1 | dot == length  | space  != -1) {
				emailVal = false;
				alert("Please enter a valid  E-mail address.");
				document.getElementById("emailaddress").focus();
				document.getElementById("emailaddress").value="";
				return false;
			}
  }

 return true;
}


//Code added by pradeep
var digits = "0123456789";

var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";

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 getSiteUrl(){
	var loc = window.location.href;
	arrFolders = loc.split('/');
	if(loc.indexOf("~") >= 0){
		url = arrFolders[0] + "//" + arrFolders[2] + "/" + arrFolders[3] + "/";
	}else{
		url = arrFolders[0] + "//" + arrFolders[2] + "/";
	}
	return url;
}

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

function validateAgreeTerms()
{
	if( !document.forms.webcontactform.agreeTerms.checked )
	{
		alert("Please verify that you have read and understand the important note by checking the above checkbox");
		return false;
	}
	
	return true;
}

///email,state,price,phone check-------------------------------------------
function validateemail_state(){
	//Email
	/*
	if(document.getElementById("emailaddress")){
		if(document.getElementById("emailaddress").value == "")	{
				alert("Please enter your email address.");
				document.getElementById("emailaddress").focus();
				return false;
		}	else	{
			var emailVal  = true;
			var Temp     = document.getElementById("emailaddress")
			var atSign    = Temp.value.indexOf('@');
			var dot   = Temp.value.lastIndexOf('.');
			var space    = Temp.value.indexOf(' ');
			var length   = Temp.value.length - 1;
				if (atSign < 1 | dot <= atSign+1 | dot == length  | space  != -1) {
					emailVal = false;
					alert("Please enter a valid  E-mail address.");
					document.getElementById("emailaddress").focus();
					document.getElementById("emailaddress").value="";
					return false;
				}
		}
	}
	*/
	/* The following blocks validate the 'state' dropdown and are coded
	   the way they are to work with IE */
	var form = document.forms['advertiserinformation'];
	if (form != null && form != undefined) {
	    var state = document.forms['advertiserinformation'].state;
	    if (state.value == 'abcd') {
	        alert("Please select a state.");
		    state.focus();
			return false;
	    }
	} 
	
	var form = document.forms['reporterrors'];
	if (form != null && form != undefined) {
	    var state = document.forms['reporterrors'].state;
	    if (state.value == 'abcd') {
	        alert("Please select a state.");
		    state.focus();
			return false;
	    }
	} 
	
	var form = document.forms['webcontactform'];
	if (form != null && form != undefined) {
	    var state = document.forms['webcontactform'].state;
	    if (state.value == 'abcd') {
	        alert("Please select a state.");
		    state.focus();
			return false;
	    }
	}
	
	//Email
	if(document.getElementById("emailaddress")){
		var strng=document.getElementById("emailaddress").value;
		var emailFilter=/^[^\s()<>@,;:\"\/\[\]?=]+@\w[\w-]*(\.\w[\w-]*)*\.[a-z]{2,3}$/i;
		var TotLen_mail=strng.length;
		//alert(TotLen_mail);
		var checkvalue_mail=strng.substr(TotLen_mail-2,TotLen_mail);
		//alert(checkvalue_mail);

		if(checkvalue_mail=="co" || checkvalue_mail=="Co" || checkvalue_mail=="CO"){
			alert("Please enter a valid email address.\n");
			return false;
		}
		var dotpos_mail=strng.indexOf('com.');
		//alert(dotpos_mail);
		if(dotpos_mail>0){
			alert("Please enter a valid email address.\n");
			return false;
		}
		if (!(emailFilter.test(strng))) {
			alert("Please enter a valid email address.\n");
			return false;
		}
	}
	/*
	//State
	if (document.getElementById("state").item(0)) {
		if (document.getElementById("state").value == "abcd")
		{
				alert("Please select a state.");
				document.getElementById("state").focus();
				return false;
		}
	}
	*/

	//Price
	if(document.getElementById("price_of_goods"))
	{
		var price_of_goods=document.getElementById("price_of_goods").value;
		var isnumer=price_of_goods.substr(1);
		if(isNaN(isnumer)==true){
			alert("Please enter valid price.");
			document.getElementById("price_of_goods").focus();
			document.getElementById("price_of_goods").value="$";
			return false;
		}
		if(price_of_goods !="" && price_of_goods !="$")
		{
				var dotpos=price_of_goods.indexOf('.');
				var TotLen=price_of_goods.length;
				var checkvalue=(dotpos+3);
				if(TotLen!=checkvalue && dotpos!=-1)
				{
					alert ("Please enter two digits after decimal.");
					return false;
				}
		}
	}

	//Phone
	if(document.getElementById("Phone"))
	{
		if(document.getElementById("Phone").value !="")
		{
			var Phone=document.getElementById("Phone").value;
			var stripped = Phone.replace(/[\(\)\.\-\ ]/g, '');
			//strip out acceptable non-numeric characters
			if (isNaN(parseInt(stripped))) {
			   alert("The phone number contains illegal characters.");
			   document.getElementById("Phone").focus();
			   document.getElementById("Phone").value="";
			   return false;
			}
			if (!(stripped.length == 10)) {
				alert("The phone number is the wrong length.Make sure you included an area code.\n");
				document.getElementById("Phone").focus();
				document.getElementById("Phone").value="";
				return false;
			}
		}
	}
	/*
	if(document.getElementById("Phone"))
	{
		if(document.getElementById("Phone").value !="")
		{
			var Phone=document.getElementById("Phone").value;
			if (checkInternationalPhone(Phone)==false){
				alert("Please Enter a Valid Phone Number");
				document.getElementById("Phone").focus();
				document.getElementById("Phone").value="";
				return false;
			}
		}
	}
	*/
	return true;
}
//code end added by pradeep

function validateErrorForm()
{
    var subject = document.getElementById('subject').value;
    var us_state = document.getElementById('us_state').value;
    var error_description = document.getElementById('error_description').value;
    var email = document.getElementById('emailaddress').value;

    var errmsg = '';

    if (subject.length == 0 || subject == 'Choose Error Type') {
        errmsg += 'Provide a subject.\n';
    }

    if (us_state == 'XX') {
        errmsg += 'Select a state.\n';
    }

    if (error_description.length == 0) {
        errmsg += 'Provide details on the error.\n';
    }

    if (!email.match( /\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/ )) {
        errmsg += 'Provide a valid e-mail address.\n';
    }

    if (errmsg.length == 0) {
        return true;
    } else {
        alert ('Please fix the following to proceed:\n' + errmsg);
        return false;
    }



}
