function fnLocate(locpage,qry)
	{
		window.open (locpage);
		location=qry;
	}
function Validate(as_vldn_list,as_name,as_len,as_val,as_doc, as_label){
	var x;
	if(as_vldn_list == "NO_SPACES")
		x = ChkNoSpaces(as_name,as_len,as_val,as_doc,as_label);
	if(as_vldn_list == "NOT_NULL")
		x = xChkNotNull(as_name,as_len,as_val,as_doc,as_label);
	if(as_vldn_list == "NO_QUOTES")
		x = ChkNoQuotes(as_name,as_len,as_val,as_doc,as_label);
	if(as_vldn_list == "IS_NUMERIC")
		x = ChkIsNumeric(as_name,as_len,as_val,as_doc,as_label);
	if(as_vldn_list == "IS_INT")
		x = ChkIsInt(as_name,as_len,as_val,as_doc,as_label);
	if(as_vldn_list == "IS_ALPHANUMERIC")
		x = ChkIsAlphaNumeric(as_name,as_len,as_val,as_doc,as_label);
	if(as_vldn_list == "IS_ALPHA")
		x = ChkIsAlpha(as_name,as_len,as_val,as_doc,as_label);
	if(as_vldn_list == "IS_RESTRICTEDCHAR")
		x = ChkRestrictedChar(as_name,as_len,as_val,as_doc,as_label);
	//alert("Validate "+x);
	return x;
}
//-----------------------------------------------------------------------------------

function ChkNotNull(as_name,as_len,as_val,as_doc, as_label){
	js_val = as_val;
	js_err = 'N';
	var x;	
	if (js_val == "" || js_val == null ) 
		js_err= as_label + ' must  be entered.';
	
			
	if (js_err != 'N') {
		x = ErrHandle(as_name, as_label,as_doc, js_err) ;
		return false;
	}
	return true;
}
//-----------------------------------------------------------------------------------

function ChkNoSpaces(as_name,as_len,as_val,as_doc, as_label){
	js_err = 'N';
	js_val = as_val;	
	var x;
	for(var i=0;i<as_len;i++)
		if (js_val.substring(i,i+1) == ' ') break;
		
	if (i<as_len) 
		js_err= as_label + ' cannot have spaces.'; 
	
	if (js_err != 'N') {
		x = ErrHandle(as_name, as_label,as_doc, js_err) ;
	//	alert("chlnospaces" + x);
		return x;
	}
	return true;
}

function ErrHandle(as_name, as_label,as_doc, as_err) { 
	alert(as_err);
	eval('document.' + as_doc + '.' + as_name + '.focus()');
	eval('document.' + as_doc + '.' + as_name + '.select()');
	return false; 
}
//-----------------------------------------------------------------------------------

function ChkNoQuotes(as_name,as_len,as_val,as_doc, as_label) { 
	js_val = as_val;
	var x;
    for(var i=0;i<as_len;i++) 
		if (js_val.substring(i,i+1) == '"') break;
		
	if (i<as_len) { 
		js_err= as_label + ' cannot have double quotes.'; 
	    x = ErrHandle(as_name, as_label, as_doc,js_err) ;
		return false;
	}
	return true;
}		

//-----------------------------------------------------------------------------------

function ChkIsNumeric(as_name,as_len,as_val,as_doc, as_label) {
	j_string=as_val;
	var x;
	if (isNaN(j_string)) { 
		js_err = as_label + ' should be numeric.'; 
		x = ErrHandle(as_name, as_label, as_doc,js_err) ;
		return false;
	}
	
	j_str= j_string;
	ji_ln= j_str.length;
	
	for(i=0 ; i<ji_ln; i++)	{
		js_substr=j_str.substring(i,i+1);
			if (isNaN(parseInt(js_substr))) 
				if(!(js_substr=="," || js_substr==".")){
					js_err = as_label + ' should be numeric.'; 
					x = ErrHandle(as_name, as_label, as_doc,js_err) ;
					return false;
				}
	}
	return true;
}

//-----------------------------------------------------------------------------------

function ChkIsInt(as_name,as_len,as_val,as_doc, as_label) { 
	var x;
    if( ChkIsNumeric(as_name,as_len,as_val,as_doc, as_label) ){ 
		js_val = as_val;
		if (js_val.indexOf('.') > -1) { 
			js_err = as_label + ' cannot contain decimal places.'; 
			x = ErrHandle(as_name, as_label,as_doc, js_err) ;
			return false;
		}
	}
	return true;
}

//-----------------------------------------------------------------------------------

function ChkIsAlphaNumeric(as_name,as_len,as_val,as_doc, as_label) {
	j_string=as_val; 
	
	j_err = 'N';
	var x ;
	if(j_string.length > 0 ) {
		for(var i=0;i<j_string.length;i++){ 
			js_val = j_string.charAt(i);
			if ((js_val>='A' && js_val<='Z') || (js_val>='a' && js_val<='z') || (js_val>=0 && js_val<=9))
				js_err = 'N';
			else{
				js_err = as_label + ' cannot contain Non Alpha-Numeric Values.'; 
				break;
			}
		}
		if (js_err != 'N') {
				x = ErrHandle(as_name, as_label,as_doc, js_err) ;
				return false;
		}
	}
	return true;
}		

//-----------------------------------------------------------------------------------

function ChkIsAlpha(as_name,as_len,as_val,as_doc, as_label) {
	j_string=as_val; 
	j_err = 'N';
	var x;
	if(j_string.length > 0 ) {
		for(var i=0;i<j_string.length;i++){ 
			js_val = j_string.charAt(i);
			
			if ( (js_val >= 'A' && js_val <='Z' ) || ( js_val >= 'a' && js_val  <= 'z' ) )
				js_err = 'N';
			else {
				js_err = as_label + ' cannot contain Non Alphabetic Values.'; 
				break;
			}
		}
		
		if (js_err != 'N') {
			x = ErrHandle(as_name, as_label,as_doc, js_err) ;
			return false;
		}
	}
		
	return true;
}		

//-----------------------------------------------------------------------------------

function ChkRestrictedChar(as_name,as_len,as_val,as_doc, as_label){
	j_string  = as_val;
	js_err = 'N';
	var x;
	if(j_string.length > 0 ) {
		for(var i=0; i<j_string.length;i++ ){
			js_val = j_string.charAt(i);
					
			
			if(js_val == '%' || js_val == '<' || js_val == '>' || js_val == 55 || js_val == 33 || js_val == '\'' || js_val == '='){
				js_err = as_label + ' cannot contain Restricted Characters {  % , < , > , ) ,( , . , \' , = }' ; 
				break;
			}
		}
		if (js_err != 'N') {
			x = ErrHandle(as_name, as_label, as_doc,js_err) ;
			return false;
		}
	}
	return true;
}

//-----------------------------------------------------------------------------------




var cntDec = true;
function AlphaNumericValidation(stringToValidate){
	var i;
	var newString; 
	var character;
	var charCode;
	var status; 
	
	newString = new String(stringToValidate.value)
	for( i=0; i<newString.length; i++ ){
		character = newString.charAt(i);
		charCode  = newString.charCodeAt(i)
		if  ( ( charCode > 47 && charCode < 58 ) || ( charCode > 64 && charCode < 91 ) || ( charCode > 96 && charCode  < 123 ) ){
			status = "Accepted";
		}
 		else{
			status = character +  " Is An Invalid Character";
			alert(status);
			stringToValidate.select();
			stringToValidate.focus();
			break;
		}
	}
}	

function SpecialCharacterValidation(stringToValidate){
	var i;
	var newString; 
	var character;
	var charCode;
	var status; 
	
	newString = new String(stringToValidate.value)
	for( i=0; i<newString.length; i++ )	{
		character = newString.charAt(i);
		charCode  = newString.charCodeAt(i)
		
		if  (  charCode == 34 || charCode==39 ) {
			status =  character +  " Is An Invalid Character";
			alert("An Invalid Character [ " + newString.charAt(i) + " ]");
			
			stringToValidate.select();
			stringToValidate.focus();
			break;
		}
	}
	
}

function BlockDbQuote(stringToValidate)
{
	var i;
	var newString; 
	var character;
	var charCode;
	var status; 
	
	newString = new String(stringToValidate.value)
	for( i=0; i<newString.length; i++ )	
	{
		character = newString.charAt(i);
		charCode  = newString.charCodeAt(i)
		
		if  ( charCode == 34 ) // || charCode == 60 || charCode == 62)  \\< > 
		{
			status =   "An Invalid Character \n" + character ;
			alert(status);
			
			stringToValidate.select();
			stringToValidate.focus();
			break;
		}
	}
	
}

function chkTextArea(str,strLen){	
	var stLen = str.value.length;	
	if(stLen > strLen){
		alert("The text length is large.\n Max character allowed is: " + strLen);
		str.select();
		str.focus();	
	}
	BlockDbQuote(str);
 }

function EscapeSingleQuote(stringToValidate){

	var i;
	var newString; 
	var character;
	var charCode;
	var status; 
	
	newString = new String(stringToValidate.value)
	for( i=0; i<newString.length; i++ )	{
		character = newString.charAt(i);
		charCode  = newString.charCodeAt(i)
		
		if  (  charCode == 34 || character == "'") 
		{
			status =  character +  " Is An Invalid Character";
			alert(status);
			stringToValidate.select();
			stringToValidate.focus();
			break;
		}
	}
	
}
function isNumber1(field){
	var ok="yes";
	if(field.value<0) ok="no";
	if(isNaN(field.value)) ok="no";
	if(ok=="no"){
		alert("Enter numbers only");
		field.focus();
		field.select();
	}
}

function isNumeric(field){
	var valid = "0123456789-. "
	var ok = "yes";
	var temp;
	var charcode;
	var newString;
	var valid;	
	
	
	newString=new String(field);
	for (var i=0; i<field.value.length; i++){
		temp = "" + field.value.substring(i, i+1);
		charcode=newString.charCodeAt(i);
		if (valid.indexOf(temp) == "-1") ok = "no";
		if (charcode==32) ok = "no";
	}

	if (ok == "no"){
		alert("Invalid entry!  Only these characters are accepted '-.0123456789'");
		field.focus();
		field.select();
		return true;
	}
}	
function IsNum(strInChar){
	var intCount
	var strCharCode
	var blnCheck=false;						
  	if (strInChar>=48 && strInChar<=57){
			return (true);
	}	
	else{
		   strCharCode=String.fromCharCode(strInChar);
		   for (var intNoExceptions = 1; intNoExceptions < arguments.length; intNoExceptions++){
			  if(strCharCode==arguments[intNoExceptions]){
					blnCheck=true;
					break;
				}
			}
			 
		if(blnCheck==true)
			return (true);
		else
			return (false);
		}
}	
	
function IsAlpha(strInChar){
   	var intCount, strCharCode
   	var blnCheck=false;
  	if ((strInChar>=65 && strInChar<=90) || (strInChar>=97 && strInChar<=122) ){
			return (true);
	}	
	else{
			strCharCode=String.fromCharCode(strInChar);
			for (var intNoExceptions = 1; intNoExceptions < arguments.length; intNoExceptions++){
				if(strCharCode==arguments[intNoExceptions])	{
					blnCheck=true;
					break;
				}
			}				
			if(blnCheck==true)
			  return (true);
			else
			  return (false);
					
		}	
}

function IsAlphaNumeric(strInChar){
   	var intCount, strCharCode
   	var blnCheck=false;
  	if ((strInChar>=65 && strInChar<=90) || (strInChar>=97 && strInChar<=122) || (strInChar>=48 && strInChar<=57)){
			return (true);
	}	
	else{
				strCharCode=String.fromCharCode(strInChar);
				for (var intNoExceptions = 1; intNoExceptions < arguments.length; intNoExceptions++) {
					if(strCharCode == arguments[intNoExceptions]){
								blnCheck=true;
								break;
					}
				 }	
				if(blnCheck==true)
					return (true);
				else
					return (false);
		}	
}

function roundNum (num) {
    num = Math.round(num * 100) / 100;
    num = (num + 0.001) + '';
    return num.substring(0, num.indexOf('.') + 3);
}

function isPropNum(field)
{
	var valid = "0123456789"
	var ok = "yes";
	var temp;
	var charcode;
	var newString;
	var valid;	
	
	
	newString=new String(field);
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		charcode=newString.charCodeAt(i);
		if (valid.indexOf(temp) == "-1") ok = "no";
		if (charcode==32) ok = "no";
	}

	if (ok == "no"){
		alert("Invalid entry!");
		field.focus();
		field.select();
		return true;
	}
}

function trim(str)
{
	s = str.replace(/^(\s)*/, '');
	s = s.replace(/(\s)*$/, '');
	return s;
}

function js_CheckSpecialChar(Object)
{
	validateString = Object.value	
	if (validateString!="")
	{
		//var pattern=/^([0-9A-Za-z_]+)$/		
		var pattern=/^([\w-]+)$/		
		if(!pattern.test(validateString))
		{
			alert("Invalid URL String or Keyword")
			Object.focus();	
			return false;
		}
		 
	}
	return true;
}	

function isEmail(Object) {
	who=Object.value;
	if(stringTrim(who)=="")
	{
		
		return;
	}
	
		var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
		

		if(!email.test(who))
			{
				alert('Invalid Email!');
				Object.focus();	
				
				
			}
		
	}

function stringTrim(inputString)
  {
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
	while (ch == " ")
	 { // Check for spaces at the beginning of the string
	   retValue = retValue.substring(1, retValue.length);
	   ch = retValue.substring(0, 1);
	 }

	ch = retValue.substring(retValue.length-1, retValue.length);
	while (ch == " ")
	{ // Check for spaces at the end of the string
	   retValue = retValue.substring(0, retValue.length-1);
	   ch = retValue.substring(retValue.length-1, retValue.length);
	}

     return retValue; // Return the trimmed string back to the user
  }
 
function funSubmitRegistration(form){
		if (stringTrim(form.txtemailid.value) == "")
			{
				alert('Please enter the Email.');
				form.txtemailid.focus();
				return;
			}
		if(!isEmail(form.txtemailid.value))
				{
				alert('Invalid Email!');
				form.txtemailid.focus();
				return;
				}

				if (stringTrim(form.txtusername.value) == "")
					{
						alert('Please enter the User Name.');
						form.txtusername.focus();
						return;
					}

				if (stringTrim(form.txtCompany.value) == "")
					{
						alert('Please enter the Company.');
						form.txtCompany.focus();
						return;
					}
				if (stringTrim(form.txtcontactphone.value) == "")
					{
						alert('Please enter the Contact Phone.');
						form.txtcontactphone.focus();
						return;
					}
				if (stringTrim(form.txtAddress1.value) == "")
					{
						alert('Please enter Address1.');
						form.txtAddress1.focus();
						return;
					}

				if (stringTrim(form.txtcity.value) == "")
					{
						alert('Please enter City.');
						form.txtcity.focus();
						return;
					}
				if (stringTrim(form.txtcountry.value) == "")
					{
						alert('Please enter Country.');
						form.txtcountry.focus();
						return;
					}

				if (form.JobTitleID.value == 0)
				    {
						alert("Please select a Jobtitle.");
						form.JobTitleID.focus();
						return;
				    }

				//If selected Other job title

				if((form.JobTitleID.options[form.JobTitleID.selectedIndex].text == "Other" || form.JobTitleID.options[form.JobTitleID.selectedIndex].text == "OTHER") && stringTrim(form.txtotherJobTitleName.value) == "")
				 {
						alert("Please Enter Other Job Title.");
						form.txtotherJobTitleName.focus();
						return;
				 }

				if (form.IndustryID.value == 0)
				    {
						alert("Please select an Industry.");
						form.IndustryID.focus();
						return;
				}

				//If selected Other Industry
				if((form.IndustryID.options[form.IndustryID.selectedIndex].text == "Other" || form.IndustryID.options[form.IndustryID.selectedIndex].text == "OTHER" ) && stringTrim(form.txtotherindustryname.value) == "")
				   {
						alert("Please Enter Other Industry .");
						form.txtotherindustryname.focus();
						return;
				    }

				if (form.txtemailid.value.length >50)
			       {
                        alert("email must be less than 50 characters !")
                       form.txtemailid.focus();
                        return ;
                    }
                if (form.txtusername.value.length >50)
			        {
                        alert("User Name must be less than 50 characters !")
                        form.txtusername.focus();

                        return ;
                    }
                if (form.txtCompany.value.length >50)
			        {
                        alert("Company must be less than 50 characters !")
                        form.txtCompany.focus();
                        return ;
                    }
                if (form.txtcontactphone.value.length >20)
			        {
                        alert("Contact Phone must be less than 20 characters !")
                        form.txtcontactphone.focus();
                        return ;
                    }
                if (form.txtAddress1.value.length >100)
			        {
                        alert("Address1  must be less than 100 characters !")
                        form.txtAddress1.focus();
                        return ;
                    }
                 if (form.txtAddress2.value.length >100)
			        {
                        alert("Address2  must be less than 100 characters !")
                        form.txtAddress2.focus();
                        return ;
                    }
                if (form.txtcity.value.length >50)
			        {
                        alert("City  must be less than 50 characters !")
                        form.txtcity.focus();
                        return ;
                    }
                if (form.txtcountry.value.length >50)
			        {
                        alert("Country  must be less than 50 characters !")
                        form.txtcountry.focus();
                        return ;
                    }
                 if (form.txtState.value.length >50)
			        {
                        alert("State  must be less than 50 characters !")
                        form.txtState.focus();
                        return ;
                    }


			form.action="/IDSregistrationdb.asp?ConferenceID=<%=intConferenceID%>&RegionID=<%=intRegionID%>";
			form.submit();			
	}

/*
		The following function is used to Enable / Disable the Other Job Title textbox depending on the
		text selected by the user from the Job Title combo box. If the user selects Others from the
		Job Title combo box, then the Other Job Title textbox is enabled else it is disabled.
	*/

	function EnableDisableJobTitle(form)
		  {
			if(form.JobTitleID.options[form.JobTitleID.selectedIndex].text == "Other" || form.JobTitleID.options[form.JobTitleID.selectedIndex].text == "OTHER")
				{
					form.txtotherJobTitleName.disabled = false;
				}
			else
				{
				    form.txtotherJobTitleName.value= "";
					form.txtotherJobTitleName.disabled = true;

				}
		  }

    /*
		The following function is used to Enable / Disable the Other Industry textbox depending on the
		text selected by the user from the Industry combo box. If the user selects Others from the
		Industry combo box, then the Other Industry textbox is enabled else it is disabled.
	*/
    function EnableDisableOtherIndustry(form)
		  {
			if(form.IndustryID.options[form.IndustryID.selectedIndex].text == "Other" || form.IndustryID.options[form.IndustryID.selectedIndex].text == "OTHER")
				{
					form.txtotherindustryname.disabled = false;
				}
			else
				{
				    form.txtotherindustryname.value= "";
					form.txtotherindustryname.disabled = true;

				}
		  }