var bV=parseInt(navigator.appVersion);
NS6=((bV>=4) && (!document.all))?true:false;
var msgstr2 = "Please select an item before clicking the \"Add To My Exhibitors\", \n\"Make An Appointment\"  or \"Inquire Now\" buttons."; 
var msgstrInqOnly2 = "Please select an item before clicking\nthe \"Add To My Exhibitors\"  or \"Inquire Now\"buttons."; 
var msgstr = "Please select an item before clicking\nthe \"Make An Appointment\" or \"Inquire Now\" buttons."; 
var msgstrInqOnly = "Please select an item before clicking the \"Inquire Now\" button."; 
var exceedsMaxp1="You can only add up to a maximum of ";
var exceedsMaxp2=" exhibitors to the My Preferred Exhibitors list.\n If you wish to add more exhibitors, please remove some items that are currently in the list.";
var msgstr3 = "Please select an item before clicking the \"Make An Appointment\", \n\"Inquire Now\"  or \"Remove\" buttons."; 
var msgstrRemove = "Please select an item before clicking\nthe \"Remove\" button."; 
var msgstrSomeAdded = "Some or all of these items are in your Preferred Exhibitors List.\nTo inquire or request an appoinment with them, please go to your Preferred Exhibitors List. "; 

function displayAlert() {

	if (document.productform.length>0) {
		for (var i=0;i<document.productform.length;i++) {
			var e = document.productform.elements[i];
			if(e.type == "checkbox") {
				if(e.checked == true) {
					return true;
				}
			}
		}
	  	  alert(msgstr);
	     return false;	
	} else {
		inqform.blur();
	}	 
}

function action(url,mod) {
	if (displayAlert(mod)) {
		document.productform.action=url ;
		document.productform.submit();
	}	
}
function comparable(mod)
{
	if (displayAlert(mod)) {	
	   var inputholdervalue="";
		for (var i=0; i<document.productform.id.length; i++) 
		{
			if (document.productform.elements[i].checked) {
				found = true;
				if (inputholdervalue != "") {
					inputholdervalue = inputholdervalue + "|" + document.productform.elements[i].value;
				} else {
					inputholdervalue = document.productform.elements[i].value;
				}
			}
		}

    	 document.productform.action="/GeneralManager?action=GetComparableAttributes&inputholder="+inputholdervalue;
		 document.productform.submit();
	}	 
}

// ---------- for list sorting 
function sortThis(reverseOrNot, sorter,viewmore) {
              document.productform.doSort.value="true";
              document.productform.reverse_sort.value=reverseOrNot;
              document.productform.sorter.value=sorter;
		  	    if (NS6) {
						if (viewmore!=undefined)
						  	document.productform.viewmore.value=viewmore;	
				} else {
					if (viewmore!=null)
					  	document.productform.viewmore.value=viewmore;	
				}
			  
				var sortURL=document.productform.sortURL;
			  	if ( sortURL == 'undefined' ||  sortURL == undefined || sortURL == null || sortURL.value.length == '' ) {
					//alert("no sortURL");
				} else {
					document.productform.action=sortURL.value;
				}
              document.productform.submit();
	}
//----------end  for list sorting 

//---------- for list paging 
	function paginate(page) {
              document.productform.page.value=page;
              document.productform.submit();
      }

//---------- end for list paging 	  
//---------- for list nonexhibitor and exhibitor
	  function exhibitor(type) {
              document.productform.exhibitor.value=type;
               document.productform.doSort.value="false";
               document.productform.sorter.value="";
			  document.productform.page.value="1";
              document.productform.submit();
      }
//---------- for list nonexhibitor and exhibitor

 function clickMore(flag) {
	 		 document.productform.viewmore.value=flag;
		      document.productform.page.value="1";
              document.productform.submit();
   }
//---------- for view with/no images
	function viewImages(img,viewmore) {
              document.productform.viewimage.value=img;
 		  	  if (viewmore!=null)
			  	document.productform.viewmore.value=viewmore; 
				
              document.productform.submit();
      }
//---------- for view with/no images
// **** for document stuff ** //
var tempHolder;
function fillHolder(chkboxes,holder) {
	holder.value = "";
	tempHolder=holder;

	if (chkboxes!=null) {
		var size=1;
		if (chkboxes.length>1)
			size=chkboxes.length;
		//if ( chkboxes.length =='undefined' || chkboxes.length == null || chkboxes.length == '') {
		if (size==1) {
			if (chkboxes.checked == true) {
				holder.value = chkboxes.value;
				//chkboxes.name = "doneHolding";
			}
		} else {
			for (var i=0;i<chkboxes.length;i++) {
				if (chkboxes[i].checked == true) {
					var chkval=chkboxes[i];	
					if (holder.value.length>0) {
						holder.value = holder.value + "|";
					}
					holder.value = holder.value + chkval.value;
					//chkval.name = "doneHolding";
				}
			}
			
		}
	}
	//alert("holder="+holder.value);
}
/**
* For Inquire All 
*/
function submitInquireAll(form,inqAction,newAction,cnt) {
	addMesg="product";
	if (inqAction.indexOf("Supplier")>0)
		addMesg="supplier";
	if 	(cnt>1)
		addMesg+="s";
	mesg="You have selected "+cnt+" "+addMesg+"\nto include in your inquiry.";
	if (confirm(mesg)) {
			var addtoURL="&exhibitor="+form.exhibitor.value;
                        form.inquiry_path.value="InquireAll";
			form.action = newAction;
			form.inqURL.value=inqAction+addtoURL;
			//alert("inquiring for>"+form.inqURL.value);
			form.submit();
	}		
} //---end submitInquireAll

//function submitList(form,inqAction,newAction,isTSOver) {
function submitListMyEx (form,inqAction,newAction,isExhibitorAdded){
	hasChecked = false;
	if (form.length>0) {
		for (var i=0;i<form.length;i++) {
			curElement = form.elements[i];
			if(curElement.type=="checkbox" &&  curElement.name.indexOf("id",0)==0 && curElement.checked == true) {
				hasChecked = true;
					break;
			}	
		}
		
		
	}
	if (hasChecked)	{
			form.action = newAction;
			form.inqURL.value=inqAction;
			form.submit();
	} else {
		if (isExhibitorAdded)
			alert(msgstr3);
		else 
			alert(msgstrRemove);	
	}
} //---end submitListMyEx

function submitList(form,inqAction,newAction,isShowroom,isTSOver) {
	hasChecked = false;
	hasItemsAdded=false;
	if (form.length>0) {
		for (var i=0;i<form.length;i++) {
			curElement = form.elements[i];
			if(curElement.type=="checkbox" &&  curElement.name.indexOf("id",0)==0 && curElement.checked == true) {
				hasChecked = true;
					break;
			}	
		}
		for (var i=0;i<form.length;i++) {
			curElement = form.elements[i];
			if(curElement.type=="hidden" &&  curElement.name.indexOf("id",0)==0 && curElement.value!="") {
				hasItemsAdded=true;
				break;
			}
		}
	}

	if (hasChecked)	{
			form.action = newAction;
			form.inqURL.value=inqAction;
			//alert(form.inqURL.value)
			form.submit();
	} else {
		var alert1=msgstr2;
		var alert2=msgstrInqOnly;

		if (hasItemsAdded)
			alert1=msgstrSomeAdded;

		if (isShowroom) {
			alert1=msgstr;
			alert2=msgstrInqOnly;
		}
		
	    if (NS6) {
			if (isTSOver==null || isTSOver==undefined)
				alert(alert1);				
			else
				alert(alert2);	
		} else {
			if (isTSOver==null || isTSOver=='undefined')
				alert(alert1);				
			else
				alert(alert2);	
		}
	}
}
//--------just submit form
function submitForm(form,inqAction,newAction,isExceed) {
	var exceeding=false; //use in Add To My Prefered
	
	if (NS6) {	
		if ((isExceed!=null || isExceed!=undefined) && isExceed)
			exceeding=true;
	} else {

		if ((isExceed!=null || isExceed!='undefined') && isExceed)
			exceeding=true;
	}		
	
	if (exceeding) {
		maxNumber=form['myExhibitorsMaxCount'].value;
		alert(exceedsMaxp1 + maxNumber+ exceedsMaxp2);
	} else {
	form.action = newAction;
	form.inqURL.value=inqAction;
 	//alert(form.inqURL.value)			
	form.submit();
}
}


// **** for document stuff ** //
/** substitutions for the default check coding in FormChek.js **/
function isNum(field,fieldname) {
	answer = true;
	for (var i=0; i<field.value.length; i++) {
		if ( !isDigit(field.value.charAt(i)) ) {
			answer=false;
			break;
		 }
	}
	if (answer==false) {
			alert('Please enter a numeric value for ' +fieldname+ '.\nDo not use spaces and punctuation marks.');
			field.select();
			field.focus();
			field.value = '';
	}
	return answer;
} 
/** This is for documents **/

function syncDates(form, attrName) {
	dayStr = "day_" + attrName;
	monthStr = "month_" + attrName;
	yearStr = "year_" + attrName;
	hiddenStr = "fld_" + attrName;
	day = form[dayStr];
	month = form[monthStr];
	year = form[yearStr];
	hidden = form[hiddenStr];
	dayVal = day.value;
	monthVal = month.value;
	yearVal = year.value;

	if (dayVal!="" && monthVal!="" &&yearVal!="")
		hidden.value = dayVal + "-" + monthVal + "-" + yearVal;
	else
		hidden.value ="";
}

/*
 * Validates integer strings.
 *
 * Parameter: sInteger - a string to validate as an integer
 * Returns:   true (is integer) or false (is not) boolean
 */
 /* --- this does not do shit
function isInteger(sInteger) { 

    var isInt = true;
    inputStr = sInteger.toString(); // in case not a string already
    for (var i = 0; i < inputStr.length; i++) {
        var oneChar = inputStr.charAt(i);
        if (oneChar < "0" || oneChar > "9") {
            isInt = false;
            i = inputStr.length; // break out of loop when bad char 	found
        }
    } return isInt;
}
*/
function isInteger2(sInteger) {
	var answer = true;
	for (var i=0; i<sInteger.length; i++) {
		if ( !isDigit(sInteger.charAt(i)) ) {
			answer=false;
			break;
		 }
	}
	return answer;
} 

/*
 * Validates date strings.
 *
 * Parameter: field    - field containing the date string
 * Internal Calls: isInteger() and isNotBlank()
 * Returns:   true (valid date) or false (not valid) boolean
 */
function myMonth(month){
var months=new Array(12);
months[0]="JAN";
months[1]="FEB";
months[2]="MAR";
months[3]="APR";
months[4]="MAY";
months[5]="JUN";
months[6]="JUL";
months[7]="AUG";
months[8]="SEP";
months[9]="OCT";
months[10]="NOV";
months[11]="DEC";
monthStr="";

// remove begining 0
	zero=month.substring(0,1);
	if (zero=="0") {
		month=month.substring(1);
	}

	var intmonth=parseInt(month);
	for (i=0;i<months.length;i++) {
		if ((i+1)==intmonth) {
			monthStr=months[(intmonth-1)];
			break;
		}	
	}
	return monthStr;
}
  
 
function isCoolDate(field,syncDateField) {

	//var hiddenDate=eval(field.form.name+"."+syncDateField);
	var fname=field.form.name;
    var valid = true;
    var sDate = field.value;
    var Slash1Pos = sDate.indexOf("-",0);
    var Slash2Pos = sDate.indexOf("-",Slash1Pos + 1);
    var mm = sDate.substring(0,Slash1Pos);
    var dd = sDate.substring(Slash1Pos + 1,Slash2Pos);
    var yyyy = sDate.substring(Slash2Pos + 1,sDate.length);

    // Validate date
    if (isInteger2(mm) == false || isInteger2(dd) == false || isInteger2(yyyy) == false)
        valid = false;

    if (yyyy.length != 4)
        valid = false;
    else if (mm < 1 || mm > 12)
        valid = false;
    else if (dd < 1 || dd > 31)
        valid = false;
    else if (mm == 2) {
        if (dd > 29)
            valid = false ;
        else if (dd == 29) {
            if (yyyy % 100 == 0 && yyyy % 400 != 0)
                valid = false;
            else if (yyyy % 4 != 0)
                valid = false;
        }
    } else if (mm == 4 || mm == 6 || mm == 9 || mm == 11) {
        if (dd > 30)
            valid = false;
    }

    if (valid == false) {
        alert("Invalid date entered.\nPlease enter new date in MM/DD/YYYY format.");
		 field.value='';
        field.focus();
    	//field.select();
    } else 	{
		field.form[syncDateField].value=dd+"-"+myMonth(mm)+"-"+yyyy+ " 00:00 PM GMT+8";
	}
    return valid;
}

/*
 * Validates time strings.
 *
 * Parameter: field    - field containing the time string
 * Internal Calls: isInteger() 
 * Returns:   true (valid time) or false (not valid) boolean
 */
function isCoolTime(field,syncTimeField) {
    var valid = true;
    var sTime = field.value;
   var colon1Pos = sTime.indexOf(":",0);
   var hh = sTime.substring(0,colon1Pos);
    var mm = sTime.substring(colon1Pos+ 1);
   if (isInteger2(hh) == false || isInteger2(mm) == false)
       valid = false;
	  
	if (hh.length!=2)  
		 valid = false;
	else if (mm.length!=2)	 
		 valid = false;
	else if (hh>24)	 	
		 valid = false;
	else if (mm>60)	 	
		 valid = false;
		 
	 if (valid == false) {
        alert("Invalid time entered.\nPlease enter new time in hh:mm format.");
		 field.value='';
        field.focus();
    	//field.select();
     } else 	{
		field.form[syncTimeField].value=field.value;
	}

    return valid;
}

/*
For Copy to email function

*/
function toggleTrueFalse(curForm,curField,hidden) { 	
	if (curField.checked)
		curForm[hidden].value ='true';
	else
		curForm[hidden].value = 'false';
}

/**
* For VisReg Offline form 
* To refresh the page when change occur on Name Of Show field
*/

function changeURL(field,current,url) {
		var slect=field.options[field.selectedIndex].value;
		var url=url+"&tsid="+slect
		if (slect!=current && slect!="")
			window.location=url;
} // --For VisReg Offline form 

// -- for minisearch box
function searchParams(form) {
	var searchWhat=form['search_what'];
	if (searchWhat[0].checked) // products
	{
		form['product_search'].value="on";
		form['supplier_search'].value="";
		form['entity_type'].value="Product";
		form['type'].value="Product";
	} 
	else if (searchWhat[1].checked) // supplier by name
	{
		form['product_search'].value="";
		form['supplier_search'].value="on";
		form['entity_type'].value="Organization";
		form['type'].value="Supplier";
	}
}

function goSearch(form) {
	if (form['query'].value == ""){	
		alert("No keyword was entered.\nPlease enter a keyword\nto start your search.");	
	} else {
		searchParams(form);	
		form.submit();
	}
} // --end  for minisearch box

//---compare the Arrival and Daparture Date on Hotel Booking form
function compareDate(form,arrivalDate,departDate) {
	
	departDateStr = "fld_" + departDate;
	departDateVal=form[departDateStr].value;
	
	arrivalDateStr = "fld_" + arrivalDate;
	arrivalDateVal=form[arrivalDateStr].value;
	
	dayStr = "day_" + departDate;
	dayField=form[dayStr];
	var goSubmit=false;
	
	if (arrivalDateVal!="" && departDateVal!="") {
		 arrivToken1=arrivalDateVal.indexOf("-");
		 arrivToken2=arrivalDateVal.lastIndexOf("-");
		 
		 depToken1=departDateVal.indexOf("-");
		 depToken2=departDateVal.lastIndexOf("-");
		
		arrivalDate2=arrivalDateVal.substring((arrivToken1+1),arrivToken2) +" "+ arrivalDateVal.substring(0,arrivToken1)+", "+arrivalDateVal.substring((arrivToken2+1),arrivalDateVal.length)
		departDate2=departDateVal.substring((depToken1+1),depToken2) +" "+ departDateVal.substring(0,depToken1)+", "+departDateVal.substring((depToken2+1),departDateVal.length)

		arrival=new Date();
		arrival.setTime(Date.parse(arrivalDate2));
	
		depart=new Date();
		depart.setTime(Date.parse(departDate2));
	
		if ( arrival.getTime()>depart.getTime()) {
			alert("Departure Date is invalid");
			dayField.focus();
		} else
			goSubmit=true;
			//form.submit();	
	} else
			goSubmit=true;
	
		if (goSubmit) {
			if (isValidPhoneFaxNum(document.documentform))		
				form.submit();				
		}
}//end ---compare the Arrival and Daparture Date on Hotel Booking form

function checkIfHK(form) {
	field="fld_Parties.Party.Country[0]";
	cn_field=form[field];
	cn_val=cn_field.options[cn_field.selectedIndex].value;
	ruleVal=form['ruleset'].value;	
	if (cn_val=='HK' && ruleVal.indexOf("CN")>0) {
		form['ruleset'].value=ruleVal.substring(0,ruleVal.indexOf("CN"));
		form['temp_country'].value=cn_val;
	}
}

//----------- for Validating Fax and Tel number 
function isValidPhoneFaxNum(form) {
	answer = true;
	fieldArr=new Array(7);
	
	for (var i=0;i<form.length;i++) {
					/*	curElement = form.elements[i];
		if(curElement.type=="text") {
			curElementName=curElement.name;
			 if (curElementName.indexOf("Number",0)>0) {
				if (curElementName.indexOf("Phone",0)>0)
					fieldArr[2]=curElement;
				if (curElementName.indexOf("Fax",0)>0)
					fieldArr[6]=curElement;
			}
			//assign the other field	
			if (curElementName.indexOf("PhoneCountry",0)>0)
				fieldArr[0]=curElement;
			if (curElementName.indexOf("PhoneArea",0)>0)				
				fieldArr[1]=curElement;
			if (curElementName.indexOf("PhoneExtension",0)>0)
				fieldArr[3]=curElement;					
				
			if (curElementName.indexOf("FaxCountry",0)>0)
				fieldArr[4]=curElement;
			if (curElementName.indexOf("FaxArea",0)>0)				
				fieldArr[5]=curElement;
						} */
	    // Phone Country
		if(form.elements[i].name == 'fld_Parties.Party[0].PhoneCountry[0]'){
			  fieldArr[0]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[1].PhoneCountry[0]'){
		    if(form.elements[i].value !="")
			  fieldArr[0]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[2].PhoneCountry[0]'){
		    if(form.elements[i].value !="")
			  fieldArr[0]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[3].PhoneCountry[0]'){
		    if(form.elements[i].value !="")
			  fieldArr[0]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[4].PhoneCountry[0]'){
		    if(form.elements[i].value !="")
			  fieldArr[0]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[5].PhoneCountry[0]'){
		    if(form.elements[i].value !="")
			  fieldArr[0]= form.elements[i];  
		}
        // Area Code
		if(form.elements[i].name == 'fld_Parties.Party[0].PhoneArea[0]'){
			  fieldArr[1]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[1].PhoneArea[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[1]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[2].PhoneArea[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[1]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[3].PhoneArea[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[1]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[4].PhoneArea[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[1]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[5].PhoneArea[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[1]= form.elements[i];  
		}
        // Phone Number
		if(form.elements[i].name == 'fld_Parties.Party[0].PhoneNumber[0]'){
			  fieldArr[2]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[1].PhoneNumber[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[2]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[2].PhoneNumber[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[2]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[3].PhoneNumber[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[2]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[4].PhoneNumber[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[2]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[5].PhoneNumber[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[2]= form.elements[i];  
		}
		// Phone Extension
		if(form.elements[i].name == 'fld_Parties.Party[0].PhoneExtension[0]'){
			  fieldArr[3]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[1].PhoneExtension[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[3]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[2].PhoneExtension[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[3]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[3].PhoneExtension[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[3]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[4].PhoneExtension[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[3]= form.elements[i];  
		}
		else if(form.elements[i].name == 'fld_Parties.Party[5].PhoneExtension[0]'){
		   if(form.elements[i].value !="")
			  fieldArr[3]= form.elements[i];  
		}
		 
		if(form.elements[i].name == 'fld_Parties.Party[0].FaxCountry[0]'){
		   fieldArr[4]= form.elements[i];  
        }
		else if(form.elements[i].name == 'fld_Parties.Party[0].FaxArea[0]'){
		   fieldArr[5]= form.elements[i];  
        }
		else if(form.elements[i].name == 'fld_Parties.Party[0].FaxNumber[0]'){
		   fieldArr[6]= form.elements[i];  
        }
		

	} //end for 
	if(validateAreaCountryExt(fieldArr[0]) && validateAreaCountryExt(fieldArr[1]) && validatePhoneFaxNum(fieldArr[2]) && validateAreaCountryExt(fieldArr[3])
		&& validateAreaCountryExt(fieldArr[4]) && validateAreaCountryExt(fieldArr[5]) && validatePhoneFaxNum(fieldArr[6]) 
		) {	
		return true;
	} else {
		return false;
	}
	
}

function isRepeated(form){
 var mFirstName,mLastName,mEmail,mFirstName1,mLastName1,mEmail1,mFirstName2,mLastName2,mEmail2;
 var mFirstName3,mLastName3,mEmail3,mFirstName4,mLastName4,mEmail4,mFirstName5,mLastName5,mEmail5;
 var COMMON_FIRSTNAME,COMMON_LASTNAME,COMMON_EMAIL;
 var index=form.cmbColleague.value;
 var returnFlag = isValidPhoneFaxNum(form);
  var returnFlag2 = checkBadge();
 if (returnFlag && returnFlag2)
   {
	 for (var i=0;i<form.length;i++) {
	    if(form.elements[i].name == 'fld_Parties.Party[0].FirstName[0]')
			mFirstName= form.elements[i].value.toUpperCase();  
        if(form.elements[i].name == 'fld_Parties.Party[0].LastName[0]')
			mLastName= form.elements[i].value.toUpperCase(); 
		if(form.elements[i].name == 'fld_Parties.Party[0].Email[0]')
			mEmail= form.elements[i].value.toUpperCase(); 
		if(form.elements[i].name == 'fld_Parties.Party[1].FirstName[0]')
			mFirstName1= form.elements[i].value.toUpperCase();  
        if(form.elements[i].name == 'fld_Parties.Party[1].LastName[0]')
			mLastName1= form.elements[i].value.toUpperCase();
		if(form.elements[i].name == 'fld_Parties.Party[1].Email[0]')
			mEmail1= form.elements[i].value.toUpperCase(); 
		if(form.elements[i].name == 'fld_Parties.Party[2].FirstName[0]')
			mFirstName2= form.elements[i].value.toUpperCase();  
        if(form.elements[i].name == 'fld_Parties.Party[2].LastName[0]')
			mLastName2= form.elements[i].value.toUpperCase();  
		if(form.elements[i].name == 'fld_Parties.Party[2].Email[0]')
			mEmail2= form.elements[i].value.toUpperCase(); 
		if(form.elements[i].name == 'fld_Parties.Party[3].FirstName[0]')
			mFirstName3= form.elements[i].value.toUpperCase();  
        if(form.elements[i].name == 'fld_Parties.Party[3].LastName[0]')
			mLastName3= form.elements[i].value.toUpperCase();  
		if(form.elements[i].name == 'fld_Parties.Party[3].Email[0]')
			mEmail3= form.elements[i].value.toUpperCase(); 
		if(form.elements[i].name == 'fld_Parties.Party[4].FirstName[0]')
			mFirstName4= form.elements[i].value.toUpperCase();  
        if(form.elements[i].name == 'fld_Parties.Party[4].LastName[0]')
			mLastName4= form.elements[i].value.toUpperCase();  
		if(form.elements[i].name == 'fld_Parties.Party[4].Email[0]')
			mEmail4= form.elements[i].value.toUpperCase(); 
		if(form.elements[i].name == 'fld_Parties.Party[5].FirstName[0]')
			mFirstName5= form.elements[i].value.toUpperCase();  
        if(form.elements[i].name == 'fld_Parties.Party[5].LastName[0]')
			mLastName5= form.elements[i].value.toUpperCase();  
		if(form.elements[i].name == 'fld_Parties.Party[5].Email[0]')
			mEmail5= form.elements[i].value.toUpperCase(); 
	 } // end of main for loop
	
	 // assign variables dynamically based on the iteration for main user
     for(var j=1; j<=index;j++){
		 if(j==1){
			 COMMON_FIRSTNAME=mFirstName1;
			 COMMON_LASTNAME=mLastName1;
			 COMMON_EMAIL=mEmail1;
	     }
		 if(j==2){
			 COMMON_FIRSTNAME=mFirstName2;
			 COMMON_LASTNAME=mLastName2;
			 COMMON_EMAIL=mEmail2;
	     }
		 if(j==3){
			 COMMON_FIRSTNAME=mFirstName3;
			 COMMON_LASTNAME=mLastName3;
			 COMMON_EMAIL=mEmail3;
	     }
		 if(j==4){
			 COMMON_FIRSTNAME=mFirstName4;
			 COMMON_LASTNAME=mLastName4;
			 COMMON_EMAIL=mEmail4;
	     }
		 if(j==5){
			 COMMON_FIRSTNAME=mFirstName5;
			 COMMON_LASTNAME=mLastName5;
			 COMMON_EMAIL=mEmail5;
	     }
		 // checking for the repeated of main user with additional user
		if(mFirstName !="" && mLastName !="" && mEmail !=""){
			 mFirstName = trim(mFirstName).replace(/\s+/g," ");
			 mLastName = trim(mLastName).replace(/\s+/g," ");
			 COMMON_FIRSTNAME = trim(COMMON_FIRSTNAME).replace(/\s+/g," ");
			 COMMON_LASTNAME = trim(COMMON_LASTNAME).replace(/\s+/g," ");
			 if(mFirstName == COMMON_FIRSTNAME && mLastName == COMMON_LASTNAME && mEmail == COMMON_EMAIL){
				alert("Please enter a different First Name, Last Name and E-mail address for colleague #"+j);
				return false;
			 }
		}
	 } // end of inner for loop

	 // Trimming the First and Last Names for all the colleagues
	 mFirstName1 = trim(mFirstName1).replace(/\s+/g," ");
	 mFirstName2 = trim(mFirstName2).replace(/\s+/g," ");
	 mFirstName3 = trim(mFirstName3).replace(/\s+/g," ");
	 mFirstName4 = trim(mFirstName4).replace(/\s+/g," ");
	 mFirstName5 = trim(mFirstName5).replace(/\s+/g," ");
	 mLastName1 = trim(mLastName1).replace(/\s+/g," ");
	 mLastName2 = trim(mLastName2).replace(/\s+/g," ");
	 mLastName3 = trim(mLastName3).replace(/\s+/g," ");
	 mLastName4 = trim(mLastName4).replace(/\s+/g," ");
	 mLastName5 = trim(mLastName5).replace(/\s+/g," ");
		
	 // checking for the repeated of colleague #1 with colleague #2,#3,#4,#5 users.
	 if(mFirstName1 !="" && mLastName1 !="" && mEmail1 !=""){
		 if(mFirstName1 == mFirstName2 && mLastName1 == mLastName2 && mEmail1 == mEmail2){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #2");
			return false;
		 }
		if(mFirstName1 == mFirstName3 && mLastName1 == mLastName3 && mEmail1 == mEmail3){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #3");
			return false;
		 }
		 if(mFirstName1 == mFirstName4 && mLastName1 == mLastName4 && mEmail1 == mEmail4){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #4");
			return false;
		 }
		 if(mFirstName1 == mFirstName5 && mLastName1 == mLastName5 && mEmail1 == mEmail5){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #5");
			return false;
		 }
	 }
		 
	 // checking for the repeated of colleague #2 with colleague #3,#4,#5 users.
	 if(mFirstName2 !="" && mLastName2 !="" && mEmail2 !=""){
		 if(mFirstName2 == mFirstName3 && mLastName2 == mLastName3 && mEmail2 == mEmail3){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #3");
			return false;
		 }
		 if(mFirstName2 == mFirstName4 && mLastName2 == mLastName4 && mEmail2 == mEmail4){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #4");
			return false;
		 }
		 if(mFirstName2 == mFirstName5 && mLastName2 == mLastName5 && mEmail2 == mEmail5){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #5");
			return false;
		 }
     }
	// checking for the repeated of colleague #3 with colleague #4,#5 users.
	if(mFirstName3 !="" && mLastName3 !="" && mEmail3 !=""){
		 if(mFirstName3 == mFirstName4 && mLastName3 == mLastName4 && mEmail3 == mEmail4){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #4");
			return false;
		 }
		 if(mFirstName3 == mFirstName5 && mLastName3 == mLastName5 && mEmail3 == mEmail5){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #5");
			return false;
		 }
	}
	// checking for the repeated of colleague #4 with colleague #5 user.
	if(mFirstName4 !="" && mLastName4 !="" && mEmail4 !=""){
		 if(mFirstName4 == mFirstName5 && mLastName4 == mLastName5 && mEmail4 == mEmail5){
        	alert("Please enter a different First Name, Last Name and E-mail address for colleague #5");
			return false;
		 }
    }
	return true;
   } // if
   else{
     return false;
   }
}
//-------White Space Trim function --------
/* For Left White Space Trim*/
function lTrim(str){
	if(str==null){return null;}
		for(var i=0;str.charAt(i)==" ";i++);
	return str.substring(i,str.length);
}

/* For Left White Space Trim*/
function rTrim(str){
	if(str==null){return null;}
		for(var i=str.length-1;str.charAt(i)==" ";i--);
	return str.substring(0,i+1);
}

/* For White Space Trim*/
function trim(str){
	return lTrim(rTrim(str));
}


//----------- for Validating Area Code, Country Code and Extension
function validateAreaCountryExt(field) {
	msgPart1="Please enter numeric values to ";
	msgPart2=".";
	answer = true;
	phoneStr="telephone";
	faxStr="fax";
	var appendStr="";
	
	for (var i=0; i<field.value.length; i++) {
		 var checkChar=field.value.charAt(i);
            if(i==0 || i==field.value.length-1){
			   if(!isDigit(checkChar)){
				   	if (field.name.indexOf('Fax')>0) {
						appendStr=faxStr;
					} else if (field.name.indexOf('Phone')>0) {
						appendStr=phoneStr;
					}
					if (field.name.indexOf('Country')>0)
						appendStr+=" country code"
					if (field.name.indexOf('Area')>0)
						appendStr+=" area code"	
					if (field.name.indexOf('Extension')>0)
						appendStr+=" extension"	
						
				alert(msgPart1+appendStr+msgPart2);
				field.select();
				field.value = '';
				field.focus();
				return false;	
                }
             }else{
			    	if (checkChar==' ' || checkChar=='' || checkChar=='-'){

				    } else if ( !isDigit(checkChar) ) {
						answer=false;
						break;
				 }
		 }
	} //end for
	if (answer==false) {
		   	if (field.name.indexOf('Fax')>0) {
				appendStr=faxStr;
			} else if (field.name.indexOf('Phone')>0) {
				appendStr=phoneStr;
			}
			if (field.name.indexOf('Country')>0)
				appendStr+=" country code"
			if (field.name.indexOf('Area')>0)
				appendStr+=" area code"	

			alert(msgPart1+appendStr+msgPart2);
			field.select();
			field.value = '';
			field.focus();		
			return false;	
	}
	return true;	

}
//-----------end  for Validating Area Code, Country Code and Extension

//-----------begin validatePhoneFaxNum----
function validatePhoneFaxNum(field) {
	answer = true;
	phoneStr="Tel";
	faxStr="Fax";
	mobileStr="Mobile";
	appendStr=phoneStr;
	var msgTelFax_part1="Please use only numbers for ";
	var msgTelFax_part2=" Number.  However, you may separate the numbers with space or dash.";

	for (var i=0; i<field.value.length; i++) {
		 var checkChar=field.value.charAt(i);
            if(i==0 || i==field.value.length-1){
			   if(!isDigit(checkChar)){
				   	if (field.name.indexOf('Fax')>0)
						appendStr=faxStr;			
					else if (field.name.indexOf('Mobile')>0)
						appendStr=mobileStr;

				alert(msgTelFax_part1+appendStr+msgTelFax_part2);
				field.select();
				field.focus();
				field.value = '';

				return false;	
                }
             }else{
			    	if (checkChar==' ' || checkChar=='' || checkChar=='-'){

			    } else if ( !isDigit(checkChar) ) {
					answer=false;
					break;
				 }
		 }
	} //end for
	if (answer==false) {
		   	if (field.name.indexOf('Fax')>0)
				appendStr=faxStr;			
			else if (field.name.indexOf('Mobile')>0)
				appendStr=mobileStr;

			alert(msgTelFax_part1+appendStr+msgTelFax_part2);
			field.select();
			field.focus();
			field.value = '';

			return false;	
	}
	return true;	
}
//--------end validatePhoneFaxNum----

/* Added by Jansen 05/02/04
   for contextualized user login
*/
function displayLoginAlert(userObj,passwordObj) {
	if (userObj.value == "") {
		alert("Please enter Login Name.");
		userObj.focus();
		return false;
	}

	if (passwordObj.value == "" ) {
		alert("Please enter Password.");
		passwordObj.focus();
		return false;
	 }
	return true;
}

// Javascript for Spell Checker

function fillField (destination, source) {
     destination.value = source.value;
}

function replaceThis (form, origField, origStr, replaceStr, flag) {
     if(flag != null)
	 {
	  if(origStr.indexOf('[') != -1 || origStr.indexOf('*') != -1 || origStr.indexOf('$') != -1  || origStr.indexOf('^') != -1  || origStr.indexOf('(') != -1 || origStr.indexOf(')') != -1 || origStr.indexOf('+') != -1 || origStr.indexOf('|') != -1)
        origField.value = origField.value.replace(origStr, replaceStr);
      else
       origField.value = origField.value.replace(new RegExp(origStr, (flag!=null)?flag:""), replaceStr);
	 }
	 else
	  origField.value = origField.value.replace(origStr, replaceStr);
 	// origField.value = origField.value.replace(new RegExp(unescape(origStr), (flag!=null)?flag:""), replaceStr);
    form.submit();
}
function ignoreAll (form, ignoreField, ignoreStr) {
     if (ignoreField.value == "") 
        ignoreField.value = ignoreStr;
     else
        ignoreField.value = ignoreField.value + "," + ignoreStr;
     form.submit();
}
function done() {

if (opener.document.documentform.length>0) {
			for (var i=0;i<opener.document.documentform.length;i++){			
				if(opener.document.documentform.elements[i].name == '<html:parameter name="input"/>')
					{				
					opener.document.documentform.elements[i].value=document.spellForm.word.value;
					}
			}
	}
   self.close();
}
//--- Script for Spell Checker ends here--

//-------------functions for Add to My Exhibitors

function addToMyExhibitor(form,addAction,newAction,isTSOver) {
//alert(linkIDfieldValue);
	hasChecked = false;
	allItemsAdded=false
	if (form.length>0) {
		for (var i=0;i<form.length;i++) {
			curElement = form.elements[i];
			if(curElement.type=="checkbox" &&  curElement.name.indexOf('id',0)==0 && curElement.checked == true) {
				hasChecked = true;
				break;
			}
		}
		
		cnt=0;
		for (var i=0;i<form.length;i++) {
			curElement = form.elements[i];
			if(curElement.type=="checkbox" &&  curElement.name.indexOf("id",0)==0)
				cnt++;
		}
		allItemsAdded=((cnt==0) ? true : false);
	}
	if (hasChecked)	{
		cleanLinkIDList="";
		cleansupIDList="";
		
		linkIDfieldValue=form['GsolLinkIDList'].value;
		supIDfieldValue=form['SupplierIDList'].value;
		
		var linkIDvalues=linkIDfieldValue.split("|");
		var supIDvalues=supIDfieldValue.split("|");
		len=supIDvalues.length; //same len for linkID and supID
		
		var listToUse=linkIDvalues;
		var newListToUse=cleanLinkIDList;
		initloop=0;
		supplierCntToAdd=0;
		if(linkIDfieldValue=="")
			initloop=1;
			
		for (var j=initloop;j<2;j++) { //loop1
			if (j==1) {
				listToUse=supIDvalues;
				newListToUse=cleansupIDList;
			}
	
			for (var i=0;i<len;i++) { //loop2
				if (newListToUse.indexOf(listToUse[i]) >-1) 
					continue;
						
				if (newListToUse != "")
					newListToUse +="|";
				newListToUse +=listToUse[i];
				
				if (j==1) 
					supplierCntToAdd++;
				
			} //--/loop2
			
			if (j==0)
				cleanLinkIDList=newListToUse;
			else
				cleansupIDList=newListToUse;
		} //--/loop1
		
			//alert("cleanLinkIDList="+cleanLinkIDList + " cleansupIDList="+cleansupIDList);	
			if (cleanLinkIDList !="")
				cleanLinkIDList ="&catList="+cleanLinkIDList;
				
			var exceedsFieldVal=form['exceedsMax'].value;
			var myExhibitorsCountVal=parseInt(form['myExhibitorsCount'].value);
			var myExhibitorsMaxCount=parseInt(form['myExhibitorsMaxCount'].value);
			
			var exceeding=false;
			if (exceedsFieldVal=="true") 
					exceeding=true;
			else if ( (myExhibitorsCountVal+supplierCntToAdd) > myExhibitorsMaxCount ) //should be set to 500
					exceeding=true;
			
			if(exceeding) {
				alert(exceedsMaxp1 + myExhibitorsMaxCount + exceedsMaxp2);
			} else {
				form.action = newAction;
				form.inqURL.value=addAction +"&supplierList="+cleansupIDList +cleanLinkIDList;
				//alert("catList="+cleanLinkIDList +"\n &supplierList="+cleansupIDList )
				form.submit();
			}	
			
//--end hasChecked true		
	} else {
		if (allItemsAdded) 
			alert(msgstrSomeAdded);	
		else 
			alert(msgstr2);				
		
		/*
	    if (NS6) {
			if (isTSOver==null || isTSOver==undefined)
				alert(msgstr2);				
			else
				alert(msgstrInqOnly2);	
		} else {
			if (isTSOver==null || isTSOver=='undefined')
				alert(msgstr2);				
			else
				alert(msgstrInqOnly2);	
		}
		*/
	}		
}//---end addToMyExhibitor

function switchVal(doc,input_id,chkID){
	numberOfChecked=0;
	numberOfAdded=0;
	for (var j=0;j<doc.length;j++) {
			var e = doc.elements[j];
			if(e.name==chkID) {
				if (e.type == "checkbox" && e.checked == true)	
					numberOfChecked++;
				if (e.type == "hidden")	
					numberOfAdded++;
			}
	}
	
	var id_len=0;
	if ( input_id.length == 'undefined' ||  input_id.length == undefined  || input_id.length == null || input_id.length == '' )
		id_len=1;
	else 
		id_len=input_id.length;	
	 
	// alert("id_len="+id_len +" numberOfChecked= "+numberOfChecked +" numberOfAdded="+numberOfAdded);
	   	
	if (numberOfChecked==(id_len-numberOfAdded)) { //all check
		doc.GsolLinkIDList.value=doc.GsolLinkIDListAll.value;
		doc.SupplierIDList.value=doc.SupplierIDListAll.value;
	}	
	else  {
		doc.GsolLinkIDList.value="";
		doc.SupplierIDList.value="";
	}	
}//---end switchVal


function idCollector(status, linkID,linkIDfield,supID, supIDfield) {
	linkIDfieldValue=linkIDfield.value;
	supIDfieldValue=supIDfield.value;
	if (status) {
		if (linkIDfield.value != "")
			linkIDfieldValue +="|";
		linkIDfieldValue += linkID;
		
		if (supIDfield.value != "")
			supIDfieldValue +="|";
		supIDfieldValue += supID;
		
	} else  {
		//remove it
		var linkIDvalues=linkIDfieldValue.split("|");
		var supIDvalues=supIDfieldValue.split("|");
		//len=linkIDvalues.length; //same len for linkID and supID
		newLinkIDlist="";
		newsupIDlist="";
	
		
		var listToUse=linkIDvalues;
		var newListToUse=newLinkIDlist;
		var IDToUse=linkID;
		for (var j=0;j<2;j++){ //loop1
			hasRemoved1=false;
			if (j==1) { //all for suppliers
				listToUse=supIDvalues;
				newListToUse=newsupIDlist;
				IDToUse=supID;
				//len=supIDvalues.length;
			}
			len=listToUse.length;
			for (var i=0;i<len;i++) {  //loop2
					if (listToUse[i].indexOf(IDToUse)>-1 && hasRemoved1==false)  {
						hasRemoved1=true;
						continue;
					}
					
				if (newListToUse != "")
					newListToUse +="|";		
					
				newListToUse +=listToUse[i];
			}//--loop2
			if (j==0)
				newLinkIDlist=newListToUse
			else 	
				newsupIDlist=newListToUse; 
		}//loop1	
		
		linkIDfieldValue=newLinkIDlist;
		supIDfieldValue=newsupIDlist;
	} //end else
	linkIDfield.value=linkIDfieldValue;
	supIDfield.value=supIDfieldValue;
	
}//----end idCollector

function supIDCollector(status, supID, supIDfield) {
	supIDfieldValue=supIDfield.value;
	if (status) {
		if (supIDfield.value != "")
			supIDfieldValue +="|";
		supIDfieldValue += supID;
		
	} else  {
		//remove it

		var supIDvalues=supIDfieldValue.split("|");
		var len=supIDvalues.length; 
		var newsupIDlist="";
		var hasRemoved1=false;		
			for (var i=0;i<len;i++) {  //loop2
					if (supIDvalues[i].indexOf(supID)>-1 && hasRemoved1==false)  {
						hasRemoved1=true;
						continue;
					}
				if (newsupIDlist != "")
					newsupIDlist +="|";		
				newsupIDlist +=supIDvalues[i];
			}//--loop2
			
		supIDfieldValue=newsupIDlist;
	} //end else
	
	supIDfield.value=supIDfieldValue;
}//----end supIDCollector

//end 
//-------------functions for Add to My Exhibitors

function switchList (form, type) {
	form['MEL_TYPE'].value=type;
	form['doSort'].value="false";
	form['sorter'].value="";
	form['page'].value="1";
	form.submit();
}

function printThis(form,doSort, reverseOrNot, sorter) {
	form['doSort'].value=doSort;
	form['reverse_sort'].value=reverseOrNot;
	form['sorter'].value=sorter;
	form.action=form['launchURL'].value + "&print_this=Y";
	form.submit();
}

//---use to check for valid email address
function isValidEmail() {
	var emailField=document.getElementsByName("fld_Parties.Party.Email[0]");
	if (emailField.length>0 &&checkEmail(emailField[0],true))
		return true
	else 
		return false
}
//----use to check for valid email address

//----for related categories in RFx
function checkRelatedCat(form) {
 var msgstr = "Please select a category."; 
 var hasSelected=false;
 catList="";
 items=0;
 formAction="";
	if (form.length>0) {
		for (var i=0;i<form.length;i++) {
			var e = form.elements[i];
			if(e.type == "checkbox") {
				if(e.checked == true) {
					//return true;
					if (catList !="")
						catList=catList + "|";
					catList=catList + e.value;
					items++;
					if (hasSelected==false)
						hasSelected=true;
				}
			}
		} //end for
		if (hasSelected) {
			formAction=form.action  + "&catList=" + catList +"&appURL=" + form['appURL'].value + items;
			form.action=formAction;
			form.submit();
			//return false;				
		} else {	
			  alert(msgstr);
		     return false;	
		}	 
	} else {
		form.blur();
	}	 
}   //end----for related categories in RFx

//---use in visregform to check badge option
function checkBadge() {
	var hasSelected = false;
	var flds = document.getElementsByName('BadgeDelivery[0]');
	//alert(flds.length);
	if (flds.length==0 || flds.length==1) return true;
	for (var i=0;i<flds.length;i++) {
		if (flds[i].checked) {
			hasSelected = true;
			break;
		}
	}
	//alert("has selected="+hasSelected);
	if (hasSelected==false) {
		alert("Please select \"Yes\" or \"No\" to receive your admission badge by post.");
		return false;
	} else 
		return true;
}
//---end use in visregform to check badge option
function isValidChars(theField){
	var countMe =TrimSpace(theField.value); //space are valid
	var isNonAlpha = countMe.match(/[^0-9a-zA-Z&#,\/\\()._-]/); //this are valid chars
		if (isNonAlpha) {
			theField.value = "";
			theField.select();
			theField.focus();
			alert("Please input English characters only.");
			return false;
		}	
		return true;
}
	 
function TrimSpace(str) {
	var c;
	var newStr="";
	for(var i=0;i<str.length;i++) {
		c=str.charAt(i);
		if (c!=" ") {
			newStr+=c;
		}
	} 
	return newStr;
}

// imported from forms.js
function showBox(elemID) {
    if (document.getElementById) {
            document.getElementById(elemID).style.display = "block";
    } else if (document.layers) {
            document[elemID].display = "block";
    }
}
function hideBox(elemID) {
    if (document.getElementById) {
            document.getElementById(elemID).style.display = "none";
    } else if (document.layers) {
            document[elemID].display = "none";
    }
}
//--end imported from forms.js

function showPrefLang(form,cntyfld) {
    country=cntyfld.options[cntyfld.selectedIndex].value
    var preflang="EmailPreferredLang_";
    for (var i=0;i<3;i++) {
        if (country=='HK')
            showBox(preflang+i);
        else
            hideBox(preflang+i);
    }
     //update ruleset   
     rulesetVal=form['ruleset'].value;   
     if (country=='HK') {
        if (rulesetVal.indexOf("PREF")==-1)
            form['ruleset'].value=rulesetVal+"_PREF";
     } else {
         form['fld_EmailPreferredLang[0]'].value="";
         if (rulesetVal.indexOf("PREF")>-1) {
            subVal=rulesetVal.substring(0,rulesetVal.lastIndexOf("_PREF"));
            form['ruleset'].value=subVal;
         }
     }
}

/*
* Use in Country field of Visitor registration
*/
function tempSubmit(form,field, isChinese) {
    
    prevVal=form['temp_country'].value;
    val=field.options[field.selectedIndex].value;
    form['temp_country'].value=val;
    ruleVal=form['ruleset'].value;	
    isSubmit=false;    
        if (isChinese) {
            if (val!=prevVal) {
                if (val=="HK")
                    form['ruleset'].value=ruleVal.substring(0,ruleVal.indexOf("CN"));
                else if (ruleVal.indexOf("CN")==-1)
                    form['ruleset'].value=ruleVal+"CN";
                
               isSubmit=true;
           }
        } else  {
            if (val=="IN" && prevVal!="IN") {
              form['ruleset'].value=ruleVal+"CN";
              isSubmit=true;
            } if (val!="IN" && prevVal=="IN") {
              form['ruleset'].value=ruleVal.substring(0,ruleVal.indexOf("CN"));
              isSubmit=true;
            }
        }
       
        if (isSubmit) {
            form['validate'].value="false";
            form.submit();
        }
}

/*
* Use in Country field of Buyer Invitation form
*/
function tempSubmitBuyerForm(form,field) {
    country_state="|IN|CN|TW";
    prevVal=form['temp_country'].value;
    val=field.options[field.selectedIndex].value;
    form['temp_country'].value=val;
    isSubmit=false; 
    if (country_state.indexOf(val)>0 || country_state.indexOf(prevVal)>0) 
        isSubmit=true;
    
    if (prevVal==val && country_state.indexOf(val)>0)
        isSubmit=false;
    
    if (isSubmit) {
       form['validate'].value="false";
       form.submit();
    }
} //end tempSubmitBuyerForm

// For Buyer Invitation form
function submitSalesGroup(form) {
    form['validate'].value="false";
    form.submit();
} //end submitBuyer

/*
* Checking uniqueness of FirstName, LastName and E-mail for invitation form
*/
function isRepeatedBuyer(form){
    var index=form.cmbColleague.value;	
    if (index>0) {
		var FIRSTNAME, LASTNAME, EMAIL;                
		for (var i=0;i<=index;i++) {     				
			FIRSTNAME=form['fld_Parties.Party['+i+'].FirstName[0]'].value.toUpperCase();
			LASTNAME=form['fld_Parties.Party['+i+'].LastName[0]'].value.toUpperCase();
			EMAIL=form['fld_Parties.Party['+i+'].Email[0]'].value.toUpperCase();
			if(FIRSTNAME!="" && LASTNAME!="" && EMAIL!="") {			
				var compFIRSTNAME, compLASTNAME, compEMAIL;
				var personIndex;
				for (var f=0;f<=index;f++) {					
					if(f!=i){												
						compFIRSTNAME=form['fld_Parties.Party['+f+'].FirstName[0]'].value.toUpperCase();
						compLASTNAME=form['fld_Parties.Party['+f+'].LastName[0]'].value.toUpperCase();
						compEMAIL=form['fld_Parties.Party['+f+'].Email[0]'].value.toUpperCase();						
						if(compFIRSTNAME!="" && compLASTNAME!="" && compEMAIL!="") {
							if (FIRSTNAME==compFIRSTNAME && LASTNAME==compLASTNAME && EMAIL==compEMAIL) {
								personIndex=f+1;
								alert("Please enter a different First Name, Last Name and E-mail address for colleague #"+personIndex);
								return false;
							}
						} // empty checking for compFIRSTNAME,compLASTNAME and compEMAIL						
					}								
				}                    
			}// empty checking for FIRSTNAME,LASTNAME and EMAIL
		 }    
    }    
}   

/*
* Ajax method to create an Ajax object.
*/
function createAjaxObj(){
    var httprequest = null;
    if (window.XMLHttpRequest){ // if Mozilla, Safari etc
        httprequest=new XMLHttpRequest();
        if (httprequest.overrideMimeType)
            httprequest.overrideMimeType('text/xml');
    } else if (window.ActiveXObject){ // if IE
        try {
            httprequest=new ActiveXObject("Msxml2.XMLHTTP");
        }catch (e){
            try{
                httprequest=new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){/*ignored*/}
        }
    }
    return httprequest;
}
  
var myAjax = new createAjaxObj();  
/*
*  Ajax method to sent a request to a definite url, 
*  and use definite method to handle flashback result.
*/
function requestAjax(reqURL){
    if (myAjax.readyState == 4 || myAjax.readyState == 0) {
	    myAjax.open('GET', reqURL, true);
	    myAjax.onreadystatechange = extractVisitor; 
	    myAjax.send(null); 
	}
}

/*
*  Flash back process method, It use to extract visitor details. 
*/
function extractVisitor() {
  if (myAjax.readyState == 4 && myAjax.status == 200) {
    var xmlobj = myAjax.responseXML;
    if(xmlobj != null){ 
       var form = document.forms[0];
       try{
       		xmlobj = xmlobj.getElementsByTagName('Visitor')[0];
       }catch(e){
       }
       
       if(xmlobj != null){
	       for (var i=0;i<form.length;i++) {
	           if(form.elements[i].name == 'fld_Parties.Party[0].FirstName[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,'FirstName');
	           if(form.elements[i].name == 'fld_Parties.Party[0].LastName[0]')       
	               form.elements[i].value = getElementChildValue(xmlobj,'LastName');
	           if(form.elements[i].name == 'fld_Parties.Party[0].Email[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,'Email');
	           if(form.elements[i].name == 'fld_Parties.Party[0].JobTitle[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,"JobTitle");
	           if(form.elements[i].name == 'fld_Parties.Party.CompanyName[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,"CompanyName");
	           if(form.elements[i].name == 'fld_Parties.Party[0].PhoneCountry[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,"PhoneCountry");
	           if(form.elements[i].name == 'fld_Parties.Party[0].PhoneArea[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,"PhoneArea");
	           if(form.elements[i].name == 'fld_Parties.Party[0].PhoneNumber[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,"PhoneNumber");
	           if(form.elements[i].name == 'fld_Parties.Party[0].PhoneExtension[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,"PhoneExt");
	           if(form.elements[i].name == 'fld_Parties.Party.Address1[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,"Address1");
	           if(form.elements[i].name == 'fld_Parties.Party.Address2[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,"Address2");
	           if(form.elements[i].name == 'fld_Parties.Party.Address3[0]')
	               form.elements[i].value = getElementChildValue(xmlobj,"Address3");
		    }
	    }
    }
  }
}

function getElementChildValue(xmlobj,Ele){
	var childEle = '';
	try{
		childEle = xmlobj.getElementsByTagName(Ele)[0].firstChild.data;
	}catch(e){
	}
	return childEle;
}

/* Ajax handler for CrossPromo PA */
/* Call to TSC */
var currentForm=null;
var setUserType="";
var userTypeFld='fld_UserType[0]';
var userIDEncFld='fld_UserIdEnc[0]';
function getPAUserType(form, emailName, url) {
    currentForm=form;
    var emailField=currentForm["fld_"+emailName];
    emailVal=trim(emailField.value);

    var goCheck=false;
    if (emailVal!='' && justCheckEmail(emailField,true)) {
         //alert('going to check');
         checkPAUserType(url+ "?email="+emailVal);
    }else 
        currentForm[userTypeFld].value="";
}

var clientTSC=null;
function checkPAUserType(url){
    if(window.ActiveXObject){
        clientTSC=new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    try{
        clientTSC=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e){
        clientTSC=new XMLHttpRequest();
    }
}
clientTSC.onreadystatechange=requestHandler2;
clientTSC.open("GET",url,true);
clientTSC.send(null);
}
function requestHandler2(){
    if(clientTSC.readyState==4 && clientTSC.status==200){
        if(clientTSC.responseText!=null)
           getResultTSC(clientTSC.responseXML);
        else
           getResultTSC(null);
    }else{
        if(clientTSC.readyState==4 && clientTSC.status!=200)
           getResultTSC(null);
    }
}
function getResultTSC(resp) {
    if (resp!=null) {
        result=null;
        if(window.ActiveXObject){
            result=resp.getElementsByTagName("UserType")[0].text;
        }else{
            if(window.XMLHttpRequest){
                result=resp.getElementsByTagName("UserType")[0].textContent;
            }
        }
        setUserType=result;
        //alert(setUserType);
        var gsidVal="";
        if (setUserType.indexOf("|")>-1) {
            gsidVal=result.substring(result.indexOf('|')+1, result.length);
            setUserType=result.substring(0,result.indexOf('|'));
        }
       
        currentForm[userIDEncFld].value=gsidVal; //set userID
        
        if (setUserType.indexOf("GSOLREGISTRANT")>-1) {
            //go check GSOL
            url='/GSOL_paalertsize.htm?gsid_token='+gsidVal;
            checkPAUserTypeGSOL(url);
        }else  {
            currentForm[userTypeFld].value=setUserType; //set userType
            currentForm["PAAlertSize"].value='';
        }  
    }
}
/* --end Call to TSC */
/* Call to GSOL */
var clientGSOL=null;
function checkPAUserTypeGSOL(url){
    if(window.ActiveXObject){
        clientGSOL=new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    try{
        clientGSOL=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e){
        clientGSOL=new XMLHttpRequest();
    }
}
clientGSOL.onreadystatechange=requestHandlerGSOL;
clientGSOL.open("GET",url,true);
clientGSOL.send(null);
}
function requestHandlerGSOL(){
    if(clientGSOL.readyState==4 && clientGSOL.status==200){
        if(clientGSOL.responseText!=null){
           getResultGSOL(clientGSOL.responseXML);
        }else{
           getResultGSOL(null);
        }
    }else{
        if(clientGSOL.readyState==4 && clientGSOL.status!=200){
           getResultGSOL(null);
        }
    }
}

function getResultGSOL(resp) {
    if (resp!=null) {
        result=null;
        if(window.ActiveXObject){
            result=resp.getElementsByTagName("AlertSize")[0].text;
        }else{
            if(window.XMLHttpRequest){
                result=resp.getElementsByTagName("AlertSize")[0].textContent;
            }
        }
        var alertSize=parseInt(result);
        if (parseInt(result)>0)
            setUserType="PAREGISTRANT";
        else 
            setUserType="GSOLREGISTRANT";
     
        currentForm[userTypeFld].value=setUserType; //set userType
        currentForm["PAAlertSize"].value=alertSize;
     }else 
      currentForm[userTypeFld].value="GSOLREGISTRANT"; //set userType
     
}
/*--end Ajax handler for CrossPromo PA */
function subscribePA(param) {
    if (document.SearchBean.keyword.value == "")
        alert("No keyword was entered.\nPlease enter a keyword\nto start your search.");			
    else {
         url=document.SearchBean.action + "&" + param + "=" + escape(document.SearchBean.keyword.value);
         winPop2(url,600,800);
    }
}         





