function hideNode(hideNodeId, displayNodeId) {
	document.getElementById(hideNodeId).style.display = "none";
	document.getElementById(displayNodeId).style.display = "block";
}

function checkEmail(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 validateForm(currentNode) {
	var allFields = document.getElementsByTagName("select");
	var allTextFields = document.getElementsByTagName("input");	
	
	var hasError = false;
	var hasTextError = false;

    hasError = checkErrors(currentNode, allFields);
    hasTextError = checkErrors(currentNode, allTextFields);
	if (!hasError && !hasTextError)
	{
		document.forms["leadSubmitForm"].submit();        
//        $.ajax({
//          type: "GET",
//          url: document.getElementById("leadSubmitForm").action,
//          data: "FirstName=" + document.getElementById("node-68-1").value +
//                "&LastName=" + document.getElementById("node-68-2").value +
//                "&Email=" + document.getElementById("email").value +
//                "&Zip=" + document.getElementById("zip").value +
//                "&dobMonth=" + document.getElementById("dobm").value +
//                "&dobYear=" + document.getElementById("doby").value +
//                "&areaCode=" + document.getElementById("main-phone-1").value +
//                "&prefix=" + document.getElementById("main-phone-2").value +
//                "&suffix=" + document.getElementById("main-phone-3").value +
//                "&PrimaryPhone=" + document.getElementById("PrimaryPhone").value +
//                "&IsActing=" + document.getElementById("acting").value +
//                "&IsDancing=" + document.getElementById("dancing").value +
//                "&IsModeling=" + document.getElementById("modeling").value +
//                "&IsSinging=" + document.getElementById("singing").value +
//                "&sourceId=" + document.getElementById("sourceId").value +
//                "&UserId=" + document.getElementById("UserId").value +
//                "&CLIENT_ID=" + document.getElementById("CLIENT_ID").value +
//                "&InfoUniqueId=" + document.getElementById("InfoUniqueId").value,
//          dataType: 'html',
//          success: function(data){
//                document.getElementById("submitOK").style.display = "";
//          }
//        });
	} else {
		return false;
	}
}

function checkErrors(currentNode, allFields) {
	var requiredFieldPattern = new RegExp(currentNode, "ig");
	var requiredEmailPattern = new RegExp("email", "ig");
	
	var hasError = false;
	var i = 0;

	for (i = 0; i < allFields.length; i++) {
		var field = allFields[i];

		if (allFields[i].id.match(requiredEmailPattern) && currentNode == "node-68")
		{
			var star = document.getElementById(allFields[i].id + "-star");
//			var required = document.getElementById(allFields[i].id + "-required");
//			var invalid = document.getElementById(allFields[i].id + "-invalid");
			
			if (!allFields[i].value)
			{
				allFields[i].setAttribute("class", "select-required");
				allFields[i].setAttribute("className", "select-required");

				star.setAttribute("class", "required");
//				required.style.display = "block";	
				hasError = true;
			}
			else if(!checkEmail(allFields[i].value))
			{
				allFields[i].setAttribute("class", "select-required");
				allFields[i].setAttribute("className", "select-required");

				star.setAttribute("class", "required");
//				required.style.display = "none";
//				invalid.style.display = "block";	
				hasError = true;
			}
			else
			{
				allFields[i].setAttribute("class", "");
				allFields[i].setAttribute("className", "");

				star.setAttribute("class", "");
//				required.style.display = "none";
//				invalid.style.display = "none";
			}
		}

		if (allFields[i].id.match(requiredFieldPattern)) {
			var star = document.getElementById(allFields[i].id + "-star");
//			var required = document.getElementById(allFields[i].id + "-required");
			if (allFields[i].value == null || allFields[i].value == "") {

				allFields[i].setAttribute("class", "select-required");
				allFields[i].setAttribute("className", "select-required");
				star.setAttribute("class", "required");
//				required.style.display = "block";

				hasError = true;
			} else {
				allFields[i].setAttribute("class", "");
				allFields[i].setAttribute("className", "");
				star.setAttribute("class", "");
//				required.style.display = "none";
			}
		}
	}

	if(currentNode == "node-68")
	{
		var dobm = document.getElementById("dobm");
		var doby = document.getElementById("doby");
		var dobStar = document.getElementById("dob-star");
		var doberror=false;
//		var dobRequired = document.getElementById("dob-required");
		if (dobm.value == null || dobm.value == "" || dobm.value == "MM" ) {
			dobm.setAttribute("class", "select-required-short");
			dobm.setAttribute("className", "select-required-short");

			dobStar.setAttribute("class", "required");
//			dobRequired.style.display = "block";
            doberror=true;
			hasError = true;
		} else {
			dobm.setAttribute("class", "");
			dobm.setAttribute("className", "");

			dobm.setAttribute("class", "");
//			dobRequired.style.display = "none";
		}
		if (doby.value == null || doby.value == "") {
			doby.setAttribute("class", "select-required-dropdown");
			doby.setAttribute("className", "select-required-dropdown");

			dobStar.setAttribute("class", "required");
//			dobRequired.style.display = "block";

			hasError = true;
		} else {
			doby.setAttribute("class", "");
			doby.setAttribute("className", "");
            if (!doberror) dobStar.setAttribute("class", "");
			doby.setAttribute("class", "");
//			dobRequired.style.display = "none";
            document.getElementById("dob").value = dobm.value+"/01/"+doby.value;
		}
	}


	if(currentNode == "node-68")
	{
		var zipCode = document.getElementById("zip");
		var zipStar = document.getElementById(zipCode.id + "-star");
//		var zipInvalid = document.getElementById(zipCode.id + "-invalid");
//		var zipRequired = document.getElementById(zipCode.id + "-required");
		
		var zipValue = zipCode.value;

		if(!zipValue)
		{
			zipCode.setAttribute("class", "select-required");
			zipCode.setAttribute("className", "select-required");

			zipStar.setAttribute("class", "required");
//			zipRequired.style.display = "block";

			hasError = true;
		}
		else if(zipValue.length < 5)
		{
			zipCode.setAttribute("class", "select-required");
			zipCode.setAttribute("className", "select-required");

			zipStar.setAttribute("class", "required");
//			zipRequired.style.display = "none";
//			zipInvalid.style.display = "block";

			hasError = true;
		}
		else
		{
			zipCode.setAttribute("class", "");
			zipCode.setAttribute("className", "");

			zipStar.setAttribute("class", "");
//			zipRequired.style.display = "none";
//			zipInvalid.style.display = "none";
		}
	}
		
/* PHONE VALIDATION STARTS HERE */
		
	if(currentNode == "node-68")
	{

		var mainPhone1 = document.getElementById("main-phone-1");
		var mainPhone2 = document.getElementById("main-phone-2");
		var mainPhone3 = document.getElementById("main-phone-3");
		
		var mainPhoneStar = document.getElementById("main-phone-1-star");
//		var mainPhoneInvalid = document.getElementById("main-phone-1-required");
		
		var mainPhoneNumber = mainPhone1.value + mainPhone2.value + mainPhone3.value;

		if(mainPhoneNumber.length < 10)
		{
			mainPhone1.setAttribute("class", "select-required-short");
			mainPhone1.setAttribute("className", "select-required-short");
			mainPhone2.setAttribute("class", "select-required-short");
			mainPhone2.setAttribute("className", "select-required-short");
			mainPhone3.setAttribute("class", "select-required-middle");
			mainPhone3.setAttribute("className", "select-required-middle");

			mainPhoneStar.setAttribute("class", "required");
//			mainPhoneInvalid.style.display = "block";

			hasError = true;
		}
		else
		{
			mainPhone1.setAttribute("class", "text short");
			mainPhone1.setAttribute("className", "");
			mainPhone2.setAttribute("class", "text short");
			mainPhone2.setAttribute("className", "");
			mainPhone3.setAttribute("class", "text middle");
			mainPhone3.setAttribute("className", "");

			mainPhoneStar.setAttribute("class", "");
//			mainPhoneInvalid.style.display = "none";
            document.getElementById("PrimaryPhone").value = mainPhone1.value+"-"+mainPhone2.value +"-"+mainPhone3.value;
			
		}
	}
	
/* PHONE VALIDATION ENDS HERE */
	return hasError;
}

/* Number Input Validation*/

function numbersonly(myfield, e, dec) {
	var key;
	var keychar;

	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;
	keychar = String.fromCharCode(key);

	// control keys
	if ((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13)
			|| (key == 27))
		return true;

	// numbers
	else if ((("0123456789").indexOf(keychar) > -1))
		return true;

	// decimal point jump
	else if (dec && (keychar == ".")) {
		myfield.form.elements[dec].focus();
		return false;
	} else
		return false;
}

