﻿// JavaScript Document







//Highlight form element- © Dynamic Drive (www.dynamicdrive.com)







//For full source code, 100's more DHTML scripts, and TOS,







//visit http://www.dynamicdrive.com







var highlightcolor="yellow"







var ns6=document.getElementById&&!document.all







var previous=''







var eventobj







//Regular expression to highlight only form elements







var intended=/INPUT|TEXTAREA|SELECT|OPTION/







//Function to check whether element clicked is form element







function checkel(which){







if (which.style&&intended.test(which.tagName)){







if (ns6&&eventobj.nodeType==3)







eventobj=eventobj.parentNode.parentNode







return true







}







else







return false







}







var GB_ROOT_DIR = "http://dhakad/TheWeddingVan/greybox/";















//Function to highlight form element







function highlight(e){







eventobj=ns6? e.target : event.srcElement







if (previous!=''){







if (checkel(previous))







previous.style.backgroundColor=''







previous=eventobj







if (checkel(eventobj))







eventobj.style.backgroundColor=highlightcolor







}







else{







if (checkel(eventobj))







eventobj.style.backgroundColor=highlightcolor







previous=eventobj







}







}





/////////////////







function isEmail(str)







{







	if(str=="")







	{







	alert("Please Enter your Email Address");







	}







	else







	{







	var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;







	return regex.test(str);







	}







}















function isValidNumber(ph)
{
	var phlen=ph.length;
	var phchar=ph.charAt(0);
	if (ph == "")
	{
		alert("Please Enter your Contact Number so that the concerned person can contact you");
		return false; 
	}
	else if (isNaN(ph))
	{
		alert("contact number should be numeric");
		return false;
	}
	else if(phlen<10)
	{
		alert("Contact Number should be 10 digits without leading 0. Eg: 9XXXXXXXXX or 731XXXXXXX"); //If you are going to enter Landline No. then please add STD Code before no.(like : 731)");
		return false;
	} 
	else if(phchar=='0')
	{ 
		alert("Please do not add 0 before Number"); 
		return false;
	} 
	else
	{
	 	return true;
	}
}



function isValidLength(item, len, greaterorless)







  {







  	if (greaterorless = 1) 







	{







    	return (item.length >= len);







	}







	if (greaterorless = 2)







	{







		return (item.length <= len);







	}







	if (greaterorless = 3)







	{







		return (item.length == len);







	}







  }	







  







// Removes leading whitespaces







function LTrim( value ) 







{







	







	var re = /\s*((\S+\s*)*)/;







	return value.replace(re, "$1");	







	







}















// Removes ending whitespaces







function RTrim( value )







{







	







	var re = /((\s*\S+)*)\s*/;







	return value.replace(re, "$1");







	







}















// Removes leading and ending whitespaces







function trim( value ) 

{

	alert(value);

	return LTrim(RTrim(value));

}















function setListField(fieldId, fieldValue)







{







	//alert("test1 ");







	//alert(fieldId+"::"+fieldValue+"::"); 







	//alert(document.getElementById(fieldId).options);







	try







	{	







		if (fieldValue == "")







		{







			document.getElementById(fieldId).value = "";







		}







		for (i = 0; i < document.getElementById(fieldId).options.length;i++)







		{







			if (document.getElementById(fieldId).options[i].value == fieldValue)







			{







				document.getElementById(fieldId).options[i].selected = true;	







			}







		}







	}







	catch(exception)







	{







		alert(exception);







	}







}







function setMultipleList(fieldId, fieldValue)







{







	//alert(fieldId+"::"+fieldValue+"::");







	//alert(document.getElementById(fieldId).options);







	try







	{	







		if (fieldValue == "")







		{







			document.getElementById(fieldId).value = "";







		}







		//alert("Field Value: "+fieldValue);







		var values = fieldValue.split(",");







		//alert("VALUES: "+values+"::"+values.length);







		for (i = 0; i < values.length;i++)







		{







			var presentValue = values[i];







			//alert(i + "::" + presentValue);







			for (j = 0; j < document.getElementById(fieldId).options.length;j++)







			{







				if (document.getElementById(fieldId).options[j].value == presentValue)







				{







					document.getElementById(fieldId).options[j].selected = true;	







				}







			}







		}







	}







	catch(exception)







	{







		alert("error: "+exception);







	}







}























function validatetextarea(frm,field,cntfield,maxlimit) 







{







	//alert("cntfield==" + cntfield);







	//alert("field==" + field);







	//alert("maxlimit" + maxlimit);















	/////alert("Length" + field.value.length);







	if (field.value.length > maxlimit)







	{// if too long...trim it!







		field.value = field.value.substring(0, maxlimit);







	}







	// otherwise, update 'characters left' counter







	else if(cntfield!=null)







	{







		cntfield.value = maxlimit - field.value.length;







	}







	







}















function changeWindowStatus(text)







{







	window.status = text;







}























// JavaScript Document







function trimString(str)







{







	//alert(str);







	if (str.length < 1) return "";















	while(str.charAt(0) == " ")







	{







		str = str.substr(1,str.length);







	}















	if (str.length < 1) return str;







	







	while(str.charAt(str.length - 1) == " ")







	{







		str = str.substr(0,str.length - 1);







	}







	return str;







}















function FormatDate(DateToFormat,FormatAs)







{







	if(DateToFormat==""){return"";}







	if(!FormatAs){FormatAs="mm/dd/yyyy";}







	//alert(DateToFormat);







	var strReturnDate;







	FormatAs = FormatAs.toLowerCase();







	DateToFormat = DateToFormat.toLowerCase();







	var arrDate







	var arrMonths = new Array("January","February","March","April","May","June","July","August","September","October","November","December");







	var strMONTH;







	var Separator;







	







	while(DateToFormat.indexOf("st")>-1)







	{







		DateToFormat = DateToFormat.replace("st","");







	}







	







	while(DateToFormat.indexOf("nd")>-1)







	{







		DateToFormat = DateToFormat.replace("nd","");







	}







	







	while(DateToFormat.indexOf("rd")>-1)







	{







		DateToFormat = DateToFormat.replace("rd","");







	}







	







	while(DateToFormat.indexOf("th")>-1)







	{







		DateToFormat = DateToFormat.replace("th","");







	}







	







	if(DateToFormat.indexOf(".")>-1)







	{







		Separator = ".";







	}







	







	if(DateToFormat.indexOf("-")>-1)







	{







		Separator = "-";







	}







	







	







	if(DateToFormat.indexOf("/")>-1)







	{







	Separator = "/";







	}







	







	if(DateToFormat.indexOf(" ")>-1)







	{







		Separator = " ";







	}







	







	arrDate = DateToFormat.split(Separator);







	DateToFormat = "";







		for(var iSD = 0;iSD < arrDate.length;iSD++)







		{







			if(arrDate[iSD]!="")







			{







				DateToFormat += arrDate[iSD] + Separator;







			}







		}







	DateToFormat = DateToFormat.substring(0,DateToFormat.length-1);







	arrDate = DateToFormat.split(Separator);







	







	if(arrDate.length < 3)







	{







		return "";







	}







	







	var DAY = arrDate[1];







	var MONTH = arrDate[0];







	var YEAR = arrDate[2];







	







	







	







	







	if(parseFloat(arrDate[0]) > 12)







	{







		DAY = arrDate[0];







		MONTH = arrDate[1];







	}







	







	if(parseFloat(DAY) && DAY.toString().length==4)







	{







		YEAR = arrDate[0];







		DAY = arrDate[2];







		MONTH = arrDate[1];







	}







	







	







	for(var iSD = 0;iSD < arrMonths.length;iSD++)







	{







	var ShortMonth = arrMonths[iSD].substring(0,3).toLowerCase();







	var MonthPosition = DateToFormat.indexOf(ShortMonth);







		if(MonthPosition > -1)







		{







			MONTH = iSD + 1;







			if(MonthPosition == 0)







			{







				DAY = arrDate[1];







				YEAR = arrDate[2];







			}







			break;







		}







	}







	







	var strTemp = YEAR.toString();







	if(strTemp.length==2)







	{







		if(parseFloat(YEAR)>40)







		{







			YEAR = "19" + YEAR;







		}







		else







		{







			YEAR = "20" + YEAR;







		}







	







	}







		if(parseInt(MONTH)< 10 && MONTH.toString().length < 2)







		{







			MONTH = "0" + MONTH;







		}







		if(parseInt(DAY)< 10 && DAY.toString().length < 2)







		{







			DAY = "0" + DAY;







		}







		switch (FormatAs)







		{







			case "dd/mm/yyyy":







			return DAY + "/" + MONTH + "/" + YEAR;







			case "mm/dd/yyyy":







			return MONTH + "/" + DAY + "/" + YEAR;







			case "dd/mmm/yyyy":







			return DAY + " " + arrMonths[MONTH -1].substring(0,3) + " " + YEAR;







			case "mmm/dd/yyyy":







			return arrMonths[MONTH -1].substring(0,3) + " " + DAY + " " + YEAR;







			case "dd/mmmm/yyyy":







			return DAY + " " + arrMonths[MONTH -1] + " " + YEAR;	







			case "mmmm/dd/yyyy":







			return arrMonths[MONTH -1] + " " + DAY + " " + YEAR;







			case "yyyymmdd":







			return ""+YEAR + MONTH + DAY ;







			case "yyyy-mm-dd":







			return ""+YEAR + "-"+MONTH+"-"+DAY;







		}







		







		return DAY + "/" + strMONTH + "/" + YEAR;;















} //End Function















function setField(fieldId, fieldValue)







{







	//alert(fieldId+"::"+fieldValue);







		document.getElementById(fieldId).value = fieldValue;















}







function setListField(fieldId, fieldValue)







{







	//alert(fieldId+"::"+fieldValue);







	//alert(document.getElementById(fieldId).options);







	try







	{	







		for (i = 0; i < document.getElementById(fieldId).options.length;i++)







		{







			if (document.getElementById(fieldId).options[i].value == fieldValue)







			{







				document.getElementById(fieldId).options[i].selected = true;	







			}







		}







	}







	catch(exception)







	{







	}







}







function validateFormData()







{







	if(checkEmpty())







		return false;







	if(checkQuote())







		return false;







	if(checkNumber())







		return false;







	if(checkEMail())







		return false;		







}















function checkEmpty()







{







	for(var iter = 0;iter < arr.length; iter++)







	{







		var currVal = trim(document.getElementById("input" + arr[iter]).value);







		document.getElementById("input" + arr[iter]).value = currVal;







		if(currVal == "")







		{







			document.getElementById("input" + arr[iter]).focus();







			alert("Field can not be left Empty.\nPlease enter value for the field");







			return true;







		}







	}







	return false;







}















function checkQuote()







{







	for(var iter = 0;iter < arrQ.length; iter++)







	{







		var currVal = document.getElementById("input" + arrQ[iter]).value;







		if(currVal.indexOf('"') != -1)







		{







			document.getElementById("input" + arrQ[iter]).focus();







			alert("Please avoid use of Double Quotes.");







			return true;







		}







	}







	return false;







}















function checkNumber()







{







	for(var iter = 0;iter < arrN.length; iter++)







	{







		var currVal = document.getElementById("input" + arrN[iter]).value;







		if(isNaN(currVal) || currVal.indexOf('.') != -1)







		{







			document.getElementById("input" + arrN[iter]).focus();







			alert("Please insert numerical value.");







			return true;







		}







	}







	return false;







}















function echeck(str) {



		var at="@"

		var dot="."

		var lat=str.indexOf(at)

		var lstr=str.length

		var ldot=str.indexOf(dot)

		if (str.indexOf(at)==-1){

		   alert("Invalid E-mail ID")

		   return false

		}



		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){

		   alert("Invalid E-mail ID")

		   return false

		}



		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){

		    alert("Invalid E-mail ID")

		    return false

		}



		 if (str.indexOf(at,(lat+1))!=-1){

		    alert("Invalid E-mail ID")

		    return false

		 }



		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){

		    alert("Invalid E-mail ID")

		    return false

		 }



		 if (str.indexOf(dot,(lat+2))==-1){

		    alert("Invalid E-mail ID")

		    return false

		 }

		

		 if (str.indexOf(" ")!=-1){

		    alert("Invalid E-mail ID")

		    return false

		 }



 		 return true					

	}







function checkEMail()

{

	for(var iter = 0;iter < arrE.length; iter++)

	{

		var currVal = document.getElementById("input" + arrE[iter]).value;

		if(currVal != "")

		{

			var curIndex = currVal.indexOf("@");

			if (!(curIndex > 0 && 

				currVal.lastIndexOf(".") > curIndex + 1 && 

				currVal.substr(currVal.lastIndexOf("."), currVal.length).length > 1 &&

				curIndex == currVal.lastIndexOf("@") && 

				currVal.indexOf(" ")

				))

			{	

				document.getElementById("input" + arrE[iter]).focus();

				alert("Please insert valid email address.");

				return false;

			}

		}	

	}

	return true;

}







function trim(str)







{







	if (str.length < 1) return "";















	while(str.charAt(0) == " ")







	{







		str = str.substr(1,str.length);







	}















	if (str.length < 1) return str;







	







	while(str.charAt(str.length - 1) == " ")







	{







		str = str.substr(0,str.length - 1);







	}







	return str;







}







// JavaScript Document



var asyncRequest = function() {



  function handleReadyState(o, callback) {



    if (o && o.readyState == 4 && o.status == 200) {



      if (callback) {



        callback(o);



      }



    }



  }



  var getXHR = function() {



    var http;



    try {



      http = new XMLHttpRequest;



        getXHR = function() {



          return new XMLHttpRequest;



        };



    }



    catch(e) {



      var msxml = [



        'MSXML2.XMLHTTP.3.0',



        'MSXML2.XMLHTTP',



        'Microsoft.XMLHTTP'



      ];



      for (var i=0, len = msxml.length; i < len; ++i) {



        try {



          http = new ActiveXObject(msxml[i]);



          getXHR = function() {



            return new ActiveXObject(msxml[i]);



          };



          break;



        }



        catch(e) {}



      }



    }



    return http;



  };



  return function(method, uri, callback, postData) {



    var http = getXHR();



    http.open(method, uri, true);



    http.onreadystatechange = function () { handleReadyState(http, callback); };



	//handleReadyState(http, callback);



    http.send(postData || null);



    return http;



  };



}();







function isFloat(value)



{



	if (/\./.test(value))



	{



		return true;



	} 



	else



	{



		return false;



	}



}



// return the value of the radio button that is checked

// return an empty string if none are checked, or

// there are no radio buttons

function getRadiobuttonValue(fieldid) {

	radioObj = document.getElementById(fieldid);

	if(!radioObj)

		return "";

	var radioLength = radioObj.length;

	if(radioLength == undefined)

		if(radioObj.checked)

			return radioObj.value;

		else

			return "";

	for(var i = 0; i < radioLength; i++) {

		if(radioObj[i].checked) {

			return radioObj[i].value;

		}

	}

	return "";

}



// set the radio button with the given value as being checked

// do nothing if there are no radio buttons

// if the given value does not exist, all the radio buttons

// are reset to unchecked

function setRadiobuttonValue(formname,fieldname, newValue) {

	//alert(fieldname+"::"+newValue);

	radioObj = document.forms[formname].elements[fieldname];

	//alert(radioObj);

	if(!radioObj)

		return;

	var radioLength = radioObj.length;

	//alert(radioLength);

	if(radioLength == undefined) {

		radioObj.checked = (radioObj.value == newValue.toString());

		//alert(radioObj.checked);

		return;

	}

	for(var i = 0; i < radioLength; i++) {

		radioObj[i].checked = false;

		//alert(radioObj[i].checked);

		if(radioObj[i].value == newValue.toString()) {

			radioObj[i].checked = true;

		}

		//alert(radioObj[i].checked);

	}

}


