function toggleProcessing(text)
{
	if (text == null)
	{
		text = "";
	}
	if(document.getElementById("working").style.display == "block")
	{
		document.getElementById("working").style.display = "none";
	} else {
		document.getElementById("working").style.display = "block";
		// set the working text
		var workingT = document.getElementById("workingText");
		workingT.innerHTML = text;
	}
	return true;
}

function inputnumeric(evt)
{
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if ((charCode < 48 || charCode > 57) && charCode != 0 && charCode != 8 && charCode !=9 && charCode !=13 && charCode !=27)
		return false
}

function IsNumeric(strString)
//  check for valid numeric strings	
{
	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;

	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++)
	{
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
		{
		blnResult = false;
		}
	}
	return blnResult;
}



function nospace(evt)
{
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode == 32)
		return false
}


function openConfirmWindow(filename)
{
	//Open the window in a size depending on the user's resolution.

	//Define the variables incase the screen size can't be detected.
	var new_width=600
	var new_height=450

	terms = window.open(filename, "terms", "status=no,toolbar=no,scrollbars=yes,resizable=yes,height=" + new_height + ",width=" + new_width)
	if (!terms.opener) terms.opener = self;
	return false;
}


/*
Check proper Domain
*/

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>1 && 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;
}


/*
Check proper emailid
*/

function checkMailId(mailids)
{
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 = mailids;
var val = false;

var dot = mai.lastIndexOf(".");
var ext = mai.substring(dot,mai.length);
var at = mai.indexOf("@");
var dom = dot - at;
var sp = mai.indexOf(" ");



	if(dom >= 3 && at >1 && sp == -1)
	{
		for(var i=0; i<arr.length; i++)
		{
			if(ext == arr[i])
			{
				val = true;
				break;
			}
			else
			{
				val = false;
			}
		}
	}

	if(val == false)
	{
		alert("Your Emaild " + mai + " is not correct");
		return false;
	}

	return true;
}


function check_input(f)
{
	if(f.filtertype.value == 'EMAIL')
	{
		var string1 = f.filterText.value ;
		return checkMailId(string1);
	}
	if(f.filtertype.value == 'DOMAIN')
	{
		var string1 = f.filterText.value ;
		return checkDomain(string1);
	}
}

/*
Submit once - disable submit button after first press
*/

function submitonce(f)
{
	for (i=0;i<f.length;i++){
		var tempobj=f.elements[i];
		if ( tempobj.type=="submit" || tempobj.type=="reset"){
				tempobj.disabled = true;
				return true;
		}
	}
	return false;
}

/*
Check required form elements script-
*/

function checkFields(f){
var pass=true;
	for (i=0;i<f.length;i++){
		var tempobj=f.elements[i];
		if ( tempobj.type=="text" || tempobj.type=="password" && (tempobj.disabled = false )){
			if((tempobj.value=='' )||(tempobj.type.toString().charAt(0)=="s" && tempobj.selectedIndex==-1)){
				alert( "Please Enter all the details!" );
				pass=false;
				break;
			}
			if(( tempobj.name == "mobnum") || ( tempobj.name == "refmobnum") || ( tempobj.name == "id")) {
				var x=tempobj.value;
				var anum=/(^919[0-9]{9,9}$)|(^1[0-9]{10,10}$)/;
				if (anum.test(x)){
					pass = true;
				}
				else{
					alert( "Please input a valid Mobile number!" );
					pass = false;
					break;
				}
			}
			if ( tempobj.name == "mobnumber")  {
				var x=tempobj.value;
				var anum=/^[0-9]{9,10}$/;
				if (anum.test(x)){
					pass = true;
				}
				else{
					alert( "Please input a valid Mobile number!" );
					pass = false;
					break;
				}
			}
			if( tempobj.name == "Primeemailid" ){
				var string1=tempobj.value;
				if (checkMailId(string1)!= 1)
				{
					pass = false;
					break;
				}
			}
		}

			if( ( tempobj.name == "cpass") && (tempobj.value.length < 1) )
			{
				alert( "Enter Current Password !" );
				pass = false;
				break;
			}
			if( ( tempobj.name == "pass") && (tempobj.value.length < 6)  )
			{
				if ( tempobj.disabled = false ) { 
					alert( "Minimum six charatcer required for Password !" );
					pass = false;
					break;
				} else {
					alert ( "disabled ....");
				}
			}
			if ( ( tempobj.name == "pass1") && !(f.pass.value==f.pass1.value) ) {              
				alert("Password not matching");
				pass=false ;
				break;
			}

			if ( ( tempobj.name == "agree") && (f.agree.checked == false ) )
			{
				alert("Tick the Checkbox!");
				pass=false;
				break;
			}			
	} // end of loop

	if (!pass)
		return false;
	else
		return true;
} 


/*
Check required form elements script-
*/

function checkboxFields(f){
var pass=false;
	for (i=0;i<f.length;i++){
		var tempobj=f.elements[i];
		if ( tempobj.type=="checkbox"){
			if((tempobj.checked )){
				pass=true;
			}
		}
	} // end of loop

	if (!pass){
		alert( "Please Enter any one Checkbox!" );
		return false;
	} else {
		return true;
	}
} 

/*
Check Mobile number -
*/

function checkMobilenumberField ( form ){
	var x = form.id.value ;
	var anum = /(^919[0-9]{9,9}$)|(^1[0-9]{10,10}$)/ ;
	if ( anum.test(x) ){
		return true;
	}else{
		alert( "Please input a valid Mobile number!" );
		return false;
	}
} 

/*
Change Operation
*/
function changeOperation ( operation ){
	document.frmLogin.operation.value = operation ;
	return checkMobilenumberField ( document.frmLogin );
} 


function getRandomNum(lbound, ubound) {
	return (Math.floor(Math.random() * (ubound - lbound)) + lbound);
}

function getRandomChar(number, lower, upper, other, extra) {
	var numberChars = "0123456789";
	var lowerChars = "abcdefghijklmnopqrstuvwxyz";
	var upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var otherChars = "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/? ";
	var charSet = extra;
	if (number == true)
		charSet += numberChars;
	if (lower == true)
		charSet += lowerChars;
	if (upper == true)
		charSet += upperChars;
	if (other == true)
		charSet += otherChars;
	return charSet.charAt(getRandomNum(0, charSet.length));
}

function getPassword(length, extraChars, firstNumber, firstLower, firstUpper, firstOther,	latterNumber, latterLower, latterUpper, latterOther) {
	var rc = "";
	if (length > 0)
		rc = rc + getRandomChar(firstNumber, firstLower, firstUpper, firstOther, extraChars);
		for (var idx = 1; idx < length; ++idx) {
			rc = rc + getRandomChar(latterNumber, latterLower, latterUpper, latterOther, extraChars);
		}
	return rc;
}