//*******   controls validator *********** //

var ie = document.all;

function $(elementId){
	return document.getElementById(elementId);
}

function validator(){
	this.checkEmail = function(elementId){
		var pattern = "^([0-9a-zA-Z]+[-._+&amp;])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$";
		var reg = new RegExp(pattern);
		var input = $(elementId);
		if(input){
			if(reg.test(input.value)){
				input.parentNode.className = "successField";
				return true;
			}
			else{
				input.parentNode.className = "errorField";
				return false;
			}
		}
		else
			alert("wrong email element id!");
	};//--- end of checkmail
	this.checkPhone = function(elementId,pattern){  //--- "\\d{3,18}"--
		var reg = new RegExp(pattern);
		var input = $(elementId);
		if(input){ 
			if(reg.test(input.value)){
				input.parentNode.className = "successField";
				return true;
			}
			else{
				input.parentNode.className = "errorField";
				return false;
			}
		}
		else
			alert("wrong phone element id!");
	};//-- end of checkphone
	this.checkEmptyTextFields = function(){
		var input = document.getElementsByTagName("input");
		var isEmpty = false;
		for(i=0;i<input.length;i++)
		{
			if(input[i].className=="mandatory" && input[i].type == "text")
			{
				if(input[i].value == ""){
					input[i].parentNode.className = "errorField";
					isEmpty = true;
				}	
				else
					input[i].parentNode.className = "successField";
			}
		}
		return isEmpty;
	}//-- end of textfield
	this.checkEmptyTextAreaFields = function(){
		var input = document.getElementsByTagName("textarea");
		var isEmpty = false;
		for(i=0;i<input.length;i++)
		{
			if(input[i].className=="mandatory" && input[i].type == "textarea")
			{
				if(input[i].value == ""){
					input[i].parentNode.className = "errorField";
					isEmpty = true;
				}	
				else
					input[i].parentNode.className = "successField";
			}
		}
		return isEmpty;
	}//-- end of textarea
	this.creditCardNumber = function(ccNumber,cardType){
		var pattern;
		switch(cardType)
		{
			case 'Visa':
				pattern = "^4[0-9]{12,15}$";  //Visa
			break;
			case 'Mastercard':
				pattern = "^5[0-9]{15}$"; //Mastercard
			break;
			case 'AMEX':
				pattern = "^3[4,7][0-9]{13}$";  //AMEX
			break;
			case 'Diners Club':
				pattern = "^(3[0,6]{12,14})|(55[0-9]{12,14})$";  //Diners Club  
			break;
			case 'Isracard':
				pattern = "^[0-9]{8,9}$";  //Isracard
			break;
			case 'JCB':
				pattern = "^35[0-9]{14}$"; //JCB
			break;
			case 'SOLO / Switch':
				pattern = "^6[0-9]{14,18}$"; //SOLO / Switch
			break;
			case 'Maestro':
				pattern = "^[0-9]{16}$"; //Maestro
			break;
		}
		var reg = new RegExp(pattern);
		//var input = $(elementId);
		//if(input){
			if(reg.test(ccNumber)){
				//input.parentNode.className = "successField";
				return true;
			}
			else{
				//input.parentNode.className = "errorField";
				return false;
			}
		//}
		//else
			//alert("wrong element id!");
		
	}
}
//trim string
function alltrim(stringToTrim) {
	return stringToTrim.replace(/\s+/g,"");
}
function trim(stringToTrim) {alert(stringToTrim);
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}


