
regHTTPURL   = /^[(http)(HTTP)]+[sS]?(:\/\/)\w+(\.\w+)/;
regEmail     = /^\w+([\.-]?\w+)*@\w+([\.-]?w+)*(\.\w{2,3})+$/;
//regEmail     = /^[a-z0-9!#$%&'\*+/=?^_`{|}~-]+([\.-]?[a-z0-9!#$%&'\*+/=?^_`{|}~-])*@[a-z0-9]+([\.-]?[a-z0-9])*$/;
//regEmail     =  [a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum)\b
//regEmail     = /^[a-z0-9]+(?:\.[a-z0-9]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum)\b/;
//regEmail     = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/;
//regEmail     = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|mobi|name|jobs|museum)|(\.[a-zA-Z\d]{2})?)$/;
regWord      = /^\w+/;
regDigit     = /^\d+/;
regPno       = /^\(?[+]?\d+/;
regPhone     = /^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/;
regCardDigit = /^\d{13,16}$/;
regMili      = /(^[+-]?\d+)(\d{3})/;
//regDate			  = /^(\d{1,2})[\.\-\/]?(\d{1,2})[\.\-\/]?(\d{2,4})$/;
regDate     = /^(0?[1-9]|1[012])[\.\-\/]?(0?[1-9]|[12][0-9]|3[01])[\.\-\/]?(\d{2,4})$/;

function _checkCardDigit(txt){ 
	return regCardDigit.test(txt);
} 

function _checkEMail(txt){
	return regEmail.test(txt);
}

function _checkWord(txt){
	return regWord.test(txt);
}

function _checkDigit(txt){
	return regDigit.test(txt);
}

function _checkPno(txt){
	return regPno.test(txt);
}

function _checkHTTPURL(txt){
	return regHTTPURL.test(txt);
}

function _checkPhone(txt){
	return regPhone.test(txt);
}

function _checkDate(txt){
	return regDate.test(txt);
}

//function _checkDate2(txt){
//	return regDate2.test(txt);
//}

function _returnPhone(txt){
	var validPhone = regPhone.exec(txt);
	if (validPhone){
		return "(" + validPhone[1] + ")" + validPhone[2] + "-" + validPhone[3];
	} else {
		return txt;
	}
}

/*
function _returnDate_old(txt){
	var validDate = regDate.exec(txt);
	if (validDate){
		if (validDate[3].length == 2) {
			return validDate[1] + "/" + validDate[2] + "/20" + validDate[3];
		}else{
			return validDate[1] + "/" + validDate[2] + "/" + validDate[3];
		}
	} else {
		return txt;
	}
}
*/

function _returnDate(txt){
	var validDate = regDate.exec(txt);
	if (validDate){
		var str1 = validDate[1];
		var str2 = validDate[2];
		var str3 = validDate[3];
		
		if (str1.length == 1) str1 = "0" + str1;
		if (str2.length == 1) str2 = "0" + str2;
		if (str3.length == 2) str3 = "20" + str3;
		return str1 + "/" + str2 + "/" + str3;

	} else {
		return txt;
	}
}


function _money(n) {
	var nn = new Number(n);
	nn = nn.toFixed(2);
	nn += '';
  while (regMili.test(nn)){
    nn = nn.replace(regMili, '$1' + ',' + '$2');
  }
  return nn;
}

function validateForm( ){

	var blnvalidate = true;
	var elementsInputs;
	var elementsSelects;
	var tmpObj;
	
	elementsInputs = document.getElementsByTagName("input");

	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) {
		tmpObj = elementsInputs[intCounter];

		switch(tmpObj.className){
		case "reqText" :
			blnvalidate = blnvalidate && _checkWord(tmpObj.value);
			break;
		case "reqNumber" :
			blnvalidate = blnvalidate && _checkDigit(tmpObj.value);
			if(!blnvalidate){tmpObj.value = 0;}
			break;
		case "reqEmail" :
			blnvalidate = blnvalidate && _checkEMail(tmpObj.value);
			break;
		case "reqPhone" :
			blnvalidate = blnvalidate && _checkPhone(tmpObj.value);
			break;
		case "reqDate" :
			blnvalidate = blnvalidate && _checkDate(tmpObj.value);
			break;
		default :	
			break;
		}
	}
		
	elementsSelects = document.getElementsByTagName("select");

	for (var intCounter = 0; intCounter < elementsSelects.length; intCounter++) {
		tmpObj = elementsInputs[intCounter];
		if (tmpObj.className == "reqSelect"){		
			blnvalidate = blnvalidate && _checkWord(tmpObj.options[tmpObj.selectedIndex].value);		
		}
	}

	if (!blnvalidate){
		window.alert ( 'Please insert a valid value' );
	}

	return blnvalidate;
}

