// 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 ) {
	
	return LTrim(RTrim(value));
	
}
// Email Address validation
function checkemail(obj,errormsg)
{
	if(notnull(obj))
		return false;
	var str=obj.value;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str))
	{
		document.getElementById(obj.name+'_id').style.display="none";
		document.getElementById(obj.name+'_id').innerHTML="";
		formerrormsg=formerrormsg;
		return false;
	}	
	else
	{
		//obj.focus();
		document.getElementById(obj.name+'_id').style.display="block";
		document.getElementById(obj.name+'_id').innerHTML=errormsg;
		formerrormsg=formerrormsg+errormsg;
		return true;
	}
}
// Null Validation
function notnull(obj) /// Return True if there is an error
{
	//alert(obj);
	if(trim(obj.value)=="")
	{
		obj.value="";
		document.getElementById(obj.name+'_id').style.display="block";
		document.getElementById(obj.name+'_id').innerHTML="Required field cannot be left blank";
		formerrormsg=formerrormsg+"Required field cannot be left blank";
		return true;
	}
	else
	{
		document.getElementById(obj.name+'_id').style.display="none";
		document.getElementById(obj.name+'_id').innerHTML=null;		
		formerrormsg=formerrormsg;
		return false;
	}
}

// Radio Button Validation
function radiovalid(obj) /// Return True if there is an error
{
	var flag=0;
	for(i=0;i<obj.length;i++)
	{
		if(obj[i].checked)		
		{
			flag=1;
		}
	}	
	if(flag==1)
		return false;
	else
		return true;
}
// Radio Button Validation
function checkboxvalid(obj,errormsg) /// Return True if there is an error
{
	var flag=0;
	if(obj.checked)
	{
		flag=1;		
	}
	else
	{
		for(i=0;i<obj.length;i++)
		{
			if(obj[i].checked)		
			{
				flag=1;
			}
		}	
	}	
	if(flag==1)
	{
		document.getElementById(obj.name+'_id').style.display="none";
		document.getElementById(obj.name+'_id').innerHTML="";
		formerrormsg=formerrormsg;
		return false;
	}
	else
	{
		document.getElementById(obj.name+'_id').style.display="block";	
		document.getElementById(obj.name+'_id').innerHTML=errormsg;	
		formerrormsg=formerrormsg+errormsg;
		return true;
	}
}

// Matching Both values
function matchvalue(obj1,obj2,errormsg)
{
	if(notnull(obj2))
		return false;			
	if(obj1.value!=obj2.value)
	{
		//obj2.focus();
		document.getElementById(obj2.name+'_id').style.display="block";
		document.getElementById(obj2.name+'_id').innerHTML=errormsg;
		formerrormsg=formerrormsg+errormsg;
		return true;
	}
	else
	{
		document.getElementById(obj2.name+'_id').style.display="none";
		document.getElementById(obj2.name+'_id').innerHTML="";	
		formerrormsg=formerrormsg;
		return false;
	}
}
// Password Length
function string_length(obj,len)
{
	if(notnull(obj))
		return false;
	var str=obj.value;
	if(str.length<len)
	{
		//obj.focus();
		document.getElementById(obj.name+'_id').style.display="block";
		document.getElementById(obj.name+'_id').innerHTML="Minimum of "+ len +" characters in length.";
		formerrormsg=formerrormsg+"Minimum of "+ len +" characters in length.";
		return true;
	}
	else
	{
		formerrormsg=formerrormsg;
		return false;
	}
}

function SpecialcharChk(obj)
{
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?1234567890";
	for (var i = 0; i < obj.value.length; i++) 
	{
		if (iChars.indexOf(obj.value.charAt(i)) != -1) 
		{
			//alert ("Special characters are not allowed.\n Please remove them and try again.");
			document.getElementById(obj.name+'_id').style.display="block";
			document.getElementById(obj.name+'_id').innerHTML=errormsg;
			formerrormsg=1;
			return false;
		}
	}
	return true;
}
function charChk(obj,errormsg)
{
	if(notnull(obj))
		return false;
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>? ";
	for (var i = 0; i < obj.value.length; i++) 
	{
		if (iChars.indexOf(obj.value.charAt(i)) != -1) 
		{
			//alert ("Special characters are not allowed.\n Please remove them and try again.");
			document.getElementById(obj.name+'_id').style.display="block";
			document.getElementById(obj.name+'_id').innerHTML=errormsg;
			formerrormsg=1;
			return false;
		}
	}
	formerrormsg=0;
	return true;
}
function numberChk(obj,errmsg)
{
	if(notnull(obj))
		return false;
	if(isNaN(obj.value))
	{
		obj.value="";
		document.getElementById(obj.name+'_id').style.display="block";
		document.getElementById(obj.name+'_id').innerHTML="'"+ errmsg +"' should be numeric.";
		//alert(document.getElementById(obj.name+'_id'));
		formerrormsg=formerrormsg+"'"+ errmsg +"' should be numeric.";
		return true;
	}
	else
	{
	//	document.getElementById(obj.name).className="";
		document.getElementById(obj.name+'_id').style.display="none";
		document.getElementById(obj.name+'_id').innerHTML="";
		formerrormsg=formerrormsg;
		return false;
	}
}
function checkDomain(nname)
{
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 = nname;
var val = true;

var dot = mai.lastIndexOf(".");
var dname = mai.substring(0,dot);
var ext = mai.substring(dot,mai.length);
//alert(ext);
	
if(dot>2 && dot<57)
{
	for(var i=0; i<arr.length; i++)
	{
	  if(ext == arr[i])
	  {
	 	val = true;
		break;
	  }	
	  else
	  {
	 	val = false;
	  }
	}
	if(val == false)
	{
	  	 alert("Your domain extension "+ext+" is not correct");
		 return false;
	}
	else
	{
		for(var j=0; j<dname.length; j++)
		{
		  var dh = dname.charAt(j);
		  var hh = dh.charCodeAt(0);
		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
		  {
			 if((j==0 || j==dname.length-1) && hh == 45)	
		  	 {
		 	  	 alert("Domain name should not begin are end with '-'");
			      return false;
		 	 }
		  }
		else	{
		  	 alert("Your domain name should not have special characters");
			 return false;
		  }
		}
	}
}
else
{
 alert("Your Domain name is too short/long");
 return false;
}	

return true;
}




