function ltrim ( s )
{
	return s.replace( /^\s*/, "" )
}

function rtrim ( s )
{
	return s.replace( /\s*$/, "" );
}

//Combine the rtrim() and ltrim() functions to make the trim() function, which just wraps both calls together:

function trim ( s )
{
	return rtrim(ltrim(s));
}

/* Convert to Uppercase */
function ucase(obj)
{
    if(obj.value !="")
	{
         obj.value = (obj.value).toUpperCase();
		 obj.value=trim(obj.value);
    }
}

function mandatory_check() {
	controls = document.forms[0].length;
	for (i=0; i<controls; i++) {
		if (((document.forms[0].elements[i].type) != "submit") || ((document.forms[0].elements[i].type) != "hidden")) {
			if((document.forms[0].elements[i].id != "optional") && ((document.forms[0].elements[i].value == "") || (document.forms[0].elements[i].value == "#")) ) {
				alert("Please enter " + document.forms[0].elements[i].id + ".");
   				document.forms[0].elements[i].focus();
				return false;
			}
			if((document.forms[0].elements[i].id != "optional") && (document.forms[0].elements[i].value < 0)) {
	        	alert("Please enter " + document.forms[0].elements[i].id + ".");
   				document.forms[0].elements[i].focus();
				return false;
	        }
		}
	}
	return true;
}

function check_form()
{
	var errColor = '#ffcccc';
	var txtColor = '#FF0000';
	var form=document.forms[0];
	var flg_arr = new Array();
	var flg = 0;
    for (x=0; x < form.elements.length; x++)
	{
		flg_arr = form.elements[x].id.split('_');
		if(document.getElementById(flg_arr[0]+'_Error')!=null)
			document.getElementById(flg_arr[0]+'_Error').innerHTML = "";
		if(flg_arr[1]=="1")
		{
			form.elements[x].style.background = '#FFFFFF';
			if(flg_arr[2]=="1")
			{
				if(form.elements[x].value=="")
				{
					flg = 1;
					if(document.getElementById(flg_arr[0]+'_Error')!=null)
						document.getElementById(flg_arr[0]+'_Error').innerHTML = "<font color="+txtColor+" size='2'>This field should not be blank</font>";
					form.elements[x].style.background = errColor;
				}
			}
			if(flg_arr[3]=="number")
			{
				if (isNaN(form.elements[x].value)) {
					flg = 1;
					if(document.getElementById(flg_arr[0]+'_Error')!=null)
						document.getElementById(flg_arr[0]+'_Error').innerHTML = "<font color="+txtColor+" size='2'>'"+form.elements[x].value+"' is not a valid numeric</font>";
					form.elements[x].style.background = errColor;
				}
			}

			else if(flg_arr[3]=="email")
			{
				if (form.elements[x].value != "")
					{
						var arr = new Array('.com','.net','.org','.biz','.coop','.info','.museum','.name','.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag','.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw','.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm','.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc','.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr','.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz','.ec','.ee','.eg','.eh','.er','.es','.et','.fi','.fj','.fk','.fm','.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm','.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm','.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq','.ir','.is','.it','.je','.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','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt','.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng','.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf','.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py','.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg','.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.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','.ws','.wf','.ye','.yt','.yu','.za','.zm','.zw');
						var mai = form.elements[x].value;
						var val = true;
						var dot = mai.lastIndexOf(".");
						var ext = mai.substring(dot,mai.length);
						var at = mai.indexOf("@");
						if( dot > 5 && at >1 ) {
							for(var i=0; i<arr.length; i++) {
								if(ext.toUpperCase()  == arr[i].toUpperCase()) {
									val = true;
									break;
								}
								else { val = false; }
							}
							if(val == false) {
							flg = 1;
							if(document.getElementById(flg_arr[0]+'_Error')!=null)
								document.getElementById(flg_arr[0]+'_Error').innerHTML = "<font color="+txtColor+" size='2'>'"+form.elements[x].value+"' is not a valid Email</font>";
							form.elements[x].style.background = errColor;
							}
						}
						else {
							flg = 1;
							if(document.getElementById(flg_arr[0]+'_Error')!=null)
								document.getElementById(flg_arr[0]+'_Error').innerHTML = "<font color="+txtColor+" size='2'>'"+form.elements[x].value+"' is not a valid Email</font>";
							form.elements[x].style.background = errColor;
						}

					}
			}
			else if(flg_arr[3]=="date")
			{
				if (chkdate(form.elements[x]) == false)
				{
					if(document.getElementById(flg_arr[0]+'_Error')!=null)
						document.getElementById(flg_arr[0]+'_Error').innerHTML = "<font color="+txtColor+" size='2'>'"+form.elements[x].value+"' is not a valid Date</font>";
					form.elements[x].style.background = errColor;
				}
			}
		}
		else
		{

		}
	}
		if(flg==1)
			return false;
}


function chkdate(obj)
{
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear = new Array();
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var strSeparatorArray = new Array("-"," ","/",".");
	var intElementNr;
	var err = 0;
	var strMonthArray = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

	strDate = obj.value;
	if (strDate.length < 1) {return true;}

	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
			strDateArray = strDate.split(strSeparatorArray[intElementNr]);
			if (strDateArray.length != 3) {
				err = 1;
				return false;
			}
			else {
				strDay = strDateArray[0];
				strMonth = strDateArray[1];
				strYear = strDateArray[2];
			}
			booFound = true;
	   	}
	}
	if (booFound == false) {
		if (strDate.length>5) {
			strDay = strDate.substr(0, 2);
			strMonth = strDate.substr(2, 2);
			strYear = strDate.substr(4);
		}
	   	else{
			return false;
	   	}
	}

    if (strYear.length == 3) {return false;}
	if (strDay.length == 1) {strDay = '0' + strDay;}
	if (strMonth.length == 1) {strMonth = '0' + strMonth;}
	if (strYear.length == 1) {strYear ='200' + strYear;}
	if (strYear.length == 2) {strYear = '20' + strYear;}

	intday = strDay;
	if (isNaN(intday)) {
		err = 2;
		return false;
	}
	intMonth = strMonth;
	if (isNaN(intMonth)) {
		for (i=0;i<12;i++) {
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
				intMonth = i+1;
				strMonth = strMonthArray[i];
				i = 12;
	   		}
		}
		if (isNaN(intMonth)) {
			err = 3;
			return false;
	   	}
	}
	intYear = parseInt(strYear, 10);
	if(intYear < 1900 || intYear > 3000) {
		err = 11;
		return false;
    }
	if (isNaN(intYear)) {
		err = 4;
		return false;
	}
	if (intMonth>12 || intMonth<1) {
		err = 5;
		return false;
	}
	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
		err = 6;
		return false;
	}
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
		err = 7;
		return false;
	}
	if (intMonth == 2) {
		if (intday < 1) {
			err = 8;
			return false;
		}
		if (leapYear(intYear) == true) {
			if (intday > 29) {
				err = 9;
				return false;
			}
		}
		else {
			if (intday > 28) {
				err = 10;
				return false;
			}
		}
	}
	if (strYear.length > 4 ) {return false;}
	obj.value = intday + "/" + intMonth + "/" + strYear;
	return true;
}

function leapYear(intYear)
{
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) {return true;}
	}
    else {
		if ((intYear % 4) == 0) {return true;}
    }
    return false;
}

/* allows digits only */
function onlyDigits(obj) {

	var isIE = document.all?true:false;
	var isNS = document.layers?true:false;

	if (isIE) {
		if (window.event.keyCode < 46 || window.event.keyCode > 57 ) {
			window.event.keyCode = 0;
			return false;
		}
	}
    if (isNS) {
		if (obj.which < 46 || obj.which > 57) {
			obj.which = 0;
			return false;
		}
	}
    return true;
}

function checkMailId(obj) {
if (obj.value != "")
{
	var arr = new Array('.com','.net','.org','.biz','.coop','.info','.museum','.name','.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag','.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw','.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm','.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc','.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr','.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz','.ec','.ee','.eg','.eh','.er','.es','.et','.fi','.fj','.fk','.fm','.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm','.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm','.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq','.ir','.is','.it','.je','.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','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt','.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng','.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf','.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py','.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg','.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.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','.ws','.wf','.ye','.yt','.yu','.za','.zm','.zw');
	var mai = obj.value;
	var val = true;

	var dot = mai.lastIndexOf(".");
	var ext = mai.substring(dot,mai.length);

	var at = mai.indexOf("@");

	if( dot > 5 && at >1 ) {
		for(var i=0; i<arr.length; i++) {
			if(ext == arr[i]) {
				val = true;
				break;
			}
			else { val = false; }
		}
		if(val == false) {
			alert("Your Email id '"+mai+"' is not correct.");
			obj.focus();
			return false;
		}
	}
	else {
		alert("Your Email id '"+mai+"' is not correct.");
		obj.focus();
		return false;
	}
	return true;
}
}

function MaxLength(obj,maxLength){
	for(i=0;i< document.forms[0].remarks.length;i++)
	{
	   var a = obj.value;
		if(a.length > maxLength)
		{
			alert("Maximum Length Is 150");
			window.event.keyCode = 0;
			//obj.select();
			obj.focus();
			return false;
		}
	}
	return true;
}

/* Checks the minimum count of the characters  in Master Screens*/

function MinLength(obj,minLength){
	var a = obj.value;
	if (a.length >= 1){
		if(a.length < minLength){
			alert("Minimum Length: "+minLength);
			obj.select();
			obj.focus();
		}
	}
}
function winopen(windowname)
{
   location.href= windowname;
}
function cleartxt(obj)
{
	obj.value = "";
	obj.focus();
}

