// JavaScript Document

function wipeField(obj) {
	obj.value = "";	
}

function returnField(obj, value) {
	if (obj.value == "") {
		obj.value = value;	
	}
}



// JavaScript Document

function dialog(x, y, width,  mes) {
	var div = document.createElement("div");
	div.className = "dialog";
	
	div.style.top = y+2+"px";
	div.style.left = x+3+"px";
	div.innerHTML = mes;
	
	document.body.appendChild(div);
	
	$(div).animate({
				   width:width-12+"px"
				   }, 200, function () {
						$(this).delay(1000).fadeOut(200, function () {
													   $(this).remove();
													   });
				   });
}

function validate(theform) {
	theform.elementOne
	for (var i = 0; i < theform.elements.length; i++) {
		
		if (theform.elements[i].type != "submit" | theform.elements[i].type != "checkbox") {
			
			if (theform.elements[i].alt == "validate") {
				if (theform.elements[i].value == "") {
				
					if (theform.elements[i].type == "hidden") {
						dialog(getX(theform.elements[i].parentNode), getY(theform.elements[i].parentNode), theform.elements[i].parentNode.offsetWidth, "requires a value");		
					}
					else {
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					}
					return false;
				}
			}
			if (theform.elements[i].alt == "validate_special") {
				if (theform.elements[i].value == "" | theform.elements[i].value == 1) {
				
					if (theform.elements[i].type == "hidden") {
						dialog(getX(theform.elements[i].parentNode), getY(theform.elements[i].parentNode), theform.elements[i].parentNode.offsetWidth, "requires a value");		
					}
					else {
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					}
					return false;
				}
			}
			
			if (theform.elements[i].name == "comment") {
				if (theform.elements[i].value == "") {
					
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					return false;
				}
			}
			
			//Numeric validation
			if (theform.elements[i].alt == "numeric") {
				
		
				
				if ((theform.elements[i].value == "") || (!theform.elements[i].value.toString().match(/^[-]?\d*\.?\d*$/))) {
					
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a numeric value");
					return false;
				}
			}
			
			
			if (theform.elements[i].alt == "validate_url") {
				if (theform.elements[i].value != "") {
					
					if (!isUrl(theform.elements[i].value)) {
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "is an invalid URL");
						return false;
					}

					
				}
				else {
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					return false;	
				}
			}
			
						
			if (theform.elements[i].alt == "number") {
				var tex = theform.elements[i].value;
				var len = tex.length;
				
				// valid phone number prefixs
				var myNums=new Array()
				myNums[myNums.length]="49";
				myNums[myNums.length]="72";
				myNums[myNums.length]="73";
				myNums[myNums.length]="74";
				myNums[myNums.length]="76";
				myNums[myNums.length]="78";
				myNums[myNums.length]="79";
				myNums[myNums.length]="81";
				myNums[myNums.length]="82";
				myNums[myNums.length]="83";
				myNums[myNums.length]="84";

				myNums[myNums.length]="58";
				myNums[myNums.length]="13";
				myNums[myNums.length]="42";
				myNums[myNums.length]="46";
				myNums[myNums.length]="54";
				myNums[myNums.length]="28";
				myNums[myNums.length]="11";
				myNums[myNums.length]="53922";
				myNums[myNums.length]="27";
				myNums[myNums.length]="40";
				myNums[myNums.length]="51";
				myNums[myNums.length]="57";
				myNums[myNums.length]="15";
				myNums[myNums.length]="14";
				myNums[myNums.length]="53";
				myNums[myNums.length]="31";
				myNums[myNums.length]="35";
				myNums[myNums.length]="17";
				myNums[myNums.length]="39";
				myNums[myNums.length]="5602";
				myNums[myNums.length]="23";
				myNums[myNums.length]="545112";
				myNums[myNums.length]="18";
				myNums[myNums.length]="21";
				myNums[myNums.length]="12";
				myNums[myNums.length]="5462";
				myNums[myNums.length]="10";
				myNums[myNums.length]="22";
				myNums[myNums.length]="51742";
				myNums[myNums.length]="44";
				myNums[myNums.length]="32";
				myNums[myNums.length]="45";
				myNums[myNums.length]="36";
				myNums[myNums.length]="43";
				myNums[myNums.length]="51762";
				myNums[myNums.length]="47";
				myNums[myNums.length]="14452";
				myNums[myNums.length]="5442";
				myNums[myNums.length]="53952";
				myNums[myNums.length]="34";
				myNums[myNums.length]="5542";
				myNums[myNums.length]="53232";
				myNums[myNums.length]="33";
				myNums[myNums.length]="56";
				myNums[myNums.length]="54602";
				myNums[myNums.length]="539372";
				myNums[myNums.length]="536712";
				myNums[myNums.length]="533822";
				myNums[myNums.length]="16";
				myNums[myNums.length]="53972";
				myNums[myNums.length]="48";
				myNums[myNums.length]="5292";
				myNums[myNums.length]="41";
				myNums[myNums.length]="52112";
				myNums[myNums.length]="51782";
				myNums[myNums.length]="51722";
				myNums[myNums.length]="2072";
				myNums[myNums.length]="539982";
				myNums[myNums.length]="533912";
				myNums[myNums.length]="54902";
				myNums[myNums.length]="5962";
				myNums[myNums.length]="5472";
				myNums[myNums.length]="14252";
				myNums[myNums.length]="547412";
				myNums[myNums.length]="53642";
				myNums[myNums.length]="5552";
				myNums[myNums.length]="5492";
				myNums[myNums.length]="51982";
				myNums[myNums.length]="53612";
				myNums[myNums.length]="53212";
				myNums[myNums.length]="51732";
				myNums[myNums.length]="2762";
				myNums[myNums.length]="53982";
				myNums[myNums.length]="58652";
				myNums[myNums.length]="5482";
				myNums[myNums.length]="59512";
				myNums[myNums.length]="53242";
				myNums[myNums.length]="53862";
				myNums[myNums.length]="14092";
				myNums[myNums.length]="2082";
				myNums[myNums.length]="5612";
				myNums[myNums.length]="5352";
				myNums[myNums.length]="533812";
				myNums[myNums.length]="53272";
				myNums[myNums.length]="53992";
				myNums[myNums.length]="536912";
				myNums[myNums.length]="2062";
				myNums[myNums.length]="545312";
				myNums[myNums.length]="172182";
				myNums[myNums.length]="183672";
				myNums[myNums.length]="532092";
				myNums[myNums.length]="549712";
				myNums[myNums.length]="5282";
				myNums[myNums.length]="536612";
				myNums[myNums.length]="53652";
				myNums[myNums.length]="539842";
				myNums[myNums.length]="535892";
				myNums[myNums.length]="52122";
				myNums[myNums.length]="5572";
				myNums[myNums.length]="14472";
				myNums[myNums.length]="518719";
				myNums[myNums.length]="53932";
				myNums[myNums.length]="142592";
				myNums[myNums.length]="5562";
				myNums[myNums.length]="5582";
				myNums[myNums.length]="53682";
				myNums[myNums.length]="14262";
				myNums[myNums.length]="5772";
				myNums[myNums.length]="51962";
				myNums[myNums.length]="52332";
				myNums[myNums.length]="533832";
				myNums[myNums.length]="539362";
				myNums[myNums.length]="14492";
				myNums[myNums.length]="536732";
				myNums[myNums.length]="58642";
				myNums[myNums.length]="5232";
				myNums[myNums.length]="51952";
				myNums[myNums.length]="5242";
				myNums[myNums.length]="071";
				//////end

				// remove brackets and commas
				var tempnum = tex.substr(0,5);
				var tempnum = tempnum.replace("(","");
				var tempnum = tempnum.replace(")",""); 
				
				// 
				var tempnum = tempnum.substr(1,2); 
			//	alert(tempnum); 
				
				// if the phone numbers field has no user value
				if (tex == "" || tex == "(") {
					if (theform.elements[i].type == "hidden") {
						dialog(getX(theform.elements[i].parentNode), getY(theform.elements[i].parentNode), theform.elements[i].parentNode.offsetWidth, "requires a value");		
					}
					else {
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					}
					return false;
				} 
				
				// if the phone numbers field value is less than 14 characters
				else if(theform.elements[i].value.length != 14) {
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "invalid number");
					return false;
				}
				
				// if the phone numbers field has no user value
				else if(theform.elements[i].value == "(000) 000-0000") {
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "Invalid Number");
					return false;
				} 
				
				// 
				else if(isArray(tempnum) == false) {
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "Invalid Number");
					return false;
				}
				
				/* 
				if (theform.elements[i].value == "" || theform.elements[i].value=="(" || len < 10 ) {
				
					if (theform.elements[i].type == "hidden") {
						dialog(getX(theform.elements[i].parentNode), getY(theform.elements[i].parentNode), theform.elements[i].parentNode.offsetWidth, "required");		
					}
					else {
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "required");
					}
					return false;
				} 
				 */ 
			}

			
			
			if (theform.elements[i].alt == "validate_email") {
				if (theform.elements[i].value != "") {
					
					if (!isEmail(theform.elements[i].value)) {
						
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "invalid email");
						return false;
					}

					
				}
				else {
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					return false;	
				}
			}
		}
	}
	

			
			
			
			
	//chk if an object is an array or not.
function isArray(obj) {
//returns true is it is an array
for(var i=0;i<myNums.length;i++){
	//alert(obj.indexOf(myNums[i]));
	if (obj.indexOf(myNums[i]) == -1){
		foundNum = false;
	}	
	else{
		foundNum = true;
		break;
		}
}
return foundNum;
}
			
			
			
			
			
			
			
		
			
			
			
	
	
	if (document.getElementById("code1") != null) {
		if (document.getElementById("code1").value != document.getElementById("code2").value) {
			alert ("security code invalid");
			return false;
		}
	}
	$('#thesubmit').attr('disabled', true);
	$('.loading').show();
	return true;
	
}




function validate_dawie(theform) {
	theform.elementOne
	
	for (var i = 0; i < theform.elements.length; i++) {
		
		if (theform.elements[i].type != "submit" | theform.elements[i].type != "checkbox") {
			if (theform.elements[i].alt == "validate") {
				if (theform.elements[i].value == "") {
				
					if (theform.elements[i].type == "hidden") {
						dialog(getX(theform.elements[i].parentNode), getY(theform.elements[i].parentNode), theform.elements[i].parentNode.offsetWidth, "requires a value");		
					}
					else {
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					}
					return false;
				}
			}
			if (theform.elements[i].alt == "validate_special") {
				if (theform.elements[i].value == "" | theform.elements[i].value == 1) {
				
					if (theform.elements[i].type == "hidden") {
						dialog(getX(theform.elements[i].parentNode), getY(theform.elements[i].parentNode), theform.elements[i].parentNode.offsetWidth, "requires a value");		
					}
					else {
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					}
					return false;
				}
			}
			if (theform.elements[i].name == "comment") {
				if (theform.elements[i].value == "") {
					
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					return false;
				}
			}
			if (theform.elements[i].alt == "validate_url") {
				if (theform.elements[i].value != "") {
					
					if (!isUrl(theform.elements[i].value)) {
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "is an invalid URL");
						return false;
					}

					
				}
				else {
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					return false;	
				}
			}
			
			
			
			if (theform.elements[i].alt == "validate_email") {
				if (theform.elements[i].value != "") {
					
					if (!isEmail(theform.elements[i].value)) {
						
						dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "invalid email");
						return false;
					}

					
				}
				else {
					dialog(getX(theform.elements[i]), getY(theform.elements[i]), theform.elements[i].offsetWidth, "requires a value");
					return false;	
				}
			}
		}
	}
	if (document.getElementById("code1") != null) {
		if (document.getElementById("code1").value != document.getElementById("code2").value) {
			alert ("security code invalid");
			return false;
		}
	}
	return true;
	
}









function isUrl(s) {
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}

function isEmail(s) {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if(reg.test(s) == false) {
		return false;
	}
	return true;
}




function getY(oElement)
{
	var iReturnValue = 0;
	while( oElement != null ) {
	iReturnValue += oElement.offsetTop;
	oElement = oElement.offsetParent;
	}
	return iReturnValue;
}
function getX(oElement)
{
	var iReturnValue = 0;
	while( oElement != null ) {
	iReturnValue += oElement.offsetLeft;
	oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

