// JavaScript Document
var aMessages = new Array();

aMessages["First_Name"] = new Array();
aMessages["First_Name"]["blank"] = "First Name is mandatory.<br />";
aMessages["First_Name"]["length < 5"] = "Your First Name should be between 5 to 100 characters (0-9, a-z, A-Z, ' ').<br> Example: Md. Abdus Shobhan";
aMessages["First_Name"]["length > 100"] = "Your First Name should be between 5 to 100 characters (0-9, a-z, A-Z, ' ').Example: Md. Abdus Shobhan.";

aMessages["Phone_No"] = new Array();
aMessages["Phone_No"]["blank"] = "Contact no is mandatory.<br />";
aMessages["Phone_No"]["length < 8"] = "Your contact no should be between 8 to 20 characters (0-9, '+').<br> Example: +8801911718043";
aMessages["Phone_No"]["length > 20"] = "Your contact no should be between 8 to 20 characters (0-9, '+').<br> Example: +8801911718043";

aMessages["Email"] = new Array();
aMessages["Email"]["blank"] = "Your Email address is mandatory.";
aMessages["Email"]["invalid"] = "Incorrect Email address format. Please type a valid Email address. Example mdshobhancse@gmail.com";


susernameValidatedVal = "";
sEmailValidatedVal = "";
sDateOfBirthValidatedVal = "";

String.prototype.trim = function(){
	var x=this;
	x=x.replace(/^\s*(.*)/, "$1");
	x=x.replace(/(.*?)\s*$/, "$1");
	return x;
}

function toggleHint(sMode, sElementName){
	sDisplay = (sMode == "show") ? "inline" : "none";
	if(oElement = eval(document.getElementById('hint_' + sElementName)))
		oElement.style.display = sDisplay;
}

function toggleHint_new (sMode, sElementName, sElement, sWidth){
	sLeftPos = 0;
	while(sElement){
		sLeftPos += sElement.offsetLeft;
		sElement = sElement.offsetParent;
	}
	sLeftPos = sLeftPos + sWidth + 25 + "px";
	sDisplay = (sMode == "show") ? "inline" : "none";

	if(oElement = eval(document.getElementById('hint_' + sElementName))){
		oElement.style.left = sLeftPos;
		oElement.style.display = sDisplay;
	}
}

function getNoOfNumerics(sStr){
	var iNumericCharsCount = 0;
	for(i=0; i< sStr.length; i++){
		if(!isNaN(sStr.charAt(i)))
			iNumericCharsCount++;
	}
	return iNumericCharsCount;
}

function uncheck(obj){
	if(eval(obj)){
		for(var i=0; i<obj.length; i++)	{
			obj[i].checked=false;
		}
	}
}

function fix_Email(sVal){
	sVal = sVal.replace(/@_/i, "@");
	sVal = sVal.replace(/\s@\s|\s@|@\s/i, "@");
	sVal = sVal.replace(/_\._|_\.|\._/i, ".");
	sVal = sVal.replace(/\s\.\s|\s\.|\.\s/i, ".");
	sVal = sVal.replace(/,/gi, ".");
	return sVal;
}

function validate_userform(){
	var oField = document.forms["frm"].First_Name;
	var oElement = document.getElementById('errmsg_First_Name');
	
	oField.value = oField.value.trim();
	oElement.innerHTML = "";
	oField.className = "field_filled";
	
	if(oField.value == ""){
		oElement.innerHTML = aMessages["First_Name"]["blank"];
		oField.className = "field_err";
		return(false);
	}
	else if(oField.value.length < 5){
		oElement.innerHTML = aMessages["First_Name"]["length < 5"];
		oField.className = "field_err";
		return(false);
	}
	else if(oField.value.length > 100){
		oElement.innerHTML = aMessages["First_Name"]["length > 100"];
		oField.className = "field_err";
		return(false);
	}
	
	var oField = document.forms["frm"].Phone_No;
	var oElement = document.getElementById('errmsg_Phone_No');
	
	oField.value = oField.value.trim();
	toggleHint('hide', 'Phone_No');
	oElement.innerHTML = "";
	oField.className = "field_filled";

	if(oField.value == ""){
		oElement.innerHTML = aMessages["Phone_No"]["blank"];
		oField.className = "field_err";
		return(false);
	}
	else if(oField.value.length < 8){
		oElement.innerHTML = aMessages["Phone_No"]["length < 5"];
		oField.className = "field_err";
		return(false);
	}
	else if(oField.value.length > 20){
		oElement.innerHTML = aMessages["Phone_No"]["length > 20"];
		oField.className = "field_err";
		return(false);
	}
	
	var oField = document.forms["frm"].Email;
	var oElement = document.getElementById('errmsg_Email');

	toggleHint('hide', 'Email');
	oField.value = fix_Email(oField.value.trim());
	aEmailValBeforeAtSign = oField.value.split("@");
	oElement.innerHTML = "";
	oField.className = "field_filled";
	oRegX = new RegExp(/^[\w_-]+(\.[\w_-]+)*@[\w_-]+(\.[\w_-]+)*\.\w{2,5}$/gi);

	if(oField.value == ""){
		oElement.innerHTML = aMessages["Email"]["blank"];
		oField.className = "field_err";
		return(false);
	}
	else if(!oRegX.test(oField.value)){
		oElement.innerHTML = aMessages["Email"]["invalid"];
		oField.className = "field_err";
		return(false);
	}

	return(true);	
}




