// JavaScript Document





String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function resetRadius() {
	var dd = document.getElementById('radius');
	dd.selectedIndex = 0;
	
	}

var imdonereseller = false;
function setReseller(x,val) {
//alert(val);
if(!imdonereseller) {
var dd = document.getElementById('reseller');
//alert('3');
//var xx='';
for(var i = 0; i < dd.length; i++){
	
	if(dd.options[i].value == val){
		//var xx=xx+' '+dd.options[i].value + ' ' + val +'\n'
		dd.selectedIndex = i;
		}
}// for
imdonereseller = true;
}
//alert(xx);
}


var imdonetopic = false;
function setTopic(x,val) {
if(!imdonetopic) {
var dd = document.getElementById('topic');
for(var i = 0; i < dd.length; i++){
if(dd.options[i].value == val){
dd.selectedIndex = i;

}
}
imdonetopic = true;
}
}


var imdone2 = false;
function setCountry(x,val) {
//alert("12 "+val);
//var geoc = new seminarCFC();
//ColdFusion.Bind.assignValue('reseller','value',geoc.GetResellers(getCountrySearch(),getResellerSearch()));	
	
//alert('8');
if(!imdone2) {
	
var dd = document.getElementById('country');
for(var i = 0; i < dd.length; i++){
if(dd.options[i].value == val){
dd.selectedIndex = i;
//alert(dd.options[i].value);
}
}
//alert("123 "+val);
//window.setTimeout("refreshGrid()",1000);
refreshGrid();
imdone2 = true;
}
}


var imdoneState = false;
function setState(x,val) {
if(!imdoneState) {
	var dd = document.getElementById('state');
	for(var i = 0; i < dd.length; i++){
		if(dd.options[i].value == val.toUpperCase()){
		dd.selectedIndex = i;
		}
	}
refreshGrid();
imdoneState = true;
	}
}



var imdone5 = false;
function setCountry1(x,val) {
//alert("123");
if(!imdone5) {
var dd = document.getElementById('country1');

for(var i = 0; i < dd.length; i++){
if(dd.options[i].value == val){
dd.selectedIndex = i;

}
}
imdone5 = true;
}
}


getGeo = function() {
	
	var geoCountries = new seminarCFC();
	//ColdFusion.Bind.assignValue('reseller','value',geoCountries.GetResellers(getCountrySearch(),getResellerSearch()));
	var s = ColdFusion.getElementValue('type');
	var co = ColdFusion.getElementValue('country');
	//alert('23 ' + co+' ' +s);
	/* added 090818 */
	//document.getElementById("cust_zip").value='';
	//var xx1=document.getElementById("selectform");
	//xx1.radius[0].selected=true;
	
	if (co=='United States' || co=='Canada'){
		document.getElementById("dstate").style.display='block';
		document.getElementById("stateLabel").style.display='block';
		} else {
			document.getElementById("dstate").style.display='none';
			document.getElementById("stateLabel").style.display='none';
			}
	
	if (s!='w' ){
	
	geoCountries.setCallbackHandler(tagsHandler);
	geoCountries.getGeoCountries(getSeminarCounty());
	} else {
		document.getElementById("cust_zip").value='';
		var xx1=document.getElementById("selectform");
		xx1.radius[0].selected=true;
		
		
		document.getElementById("selectform").radius.style.display='none';
		document.getElementById("selectform").cust_zip.style.display='none';
		document.getElementById("radiusLabel").style.display='none';
		document.getElementById("cust_zipLabel").style.display='none';
		document.getElementById("dstate").style.display='none';
		document.getElementById("stateLabel").style.display='none';
		
		}
	}
getSeminarCounty = function() {
	var s = ColdFusion.getElementValue('country');
	return s;
	}
getSeminarZip = function() {
	var z = ColdFusion.getElementValue('cust_zip');
	return z;
	}

tagsHandler = function(returndata) {
	//alert(returndata)
	var x=ColdFusion.getElementValue('type');
	if (returndata==1 && x != 'w'){
		
		//document.getElementById("cust_zip").value='';
		//	var xx1=document.getElementById("selectform");
		//	xx1.radius[0].selected=true;
		document.getElementById("selectform").radius.style.display='block';
		document.getElementById("selectform").cust_zip.style.display='block';
		document.getElementById("radiusLabel").style.display='block';
		document.getElementById("cust_zipLabel").style.display='block';
		//document.getElementById("searchbutton").style.display='block';
		//document.getElementById('table1').style.backgroundColor='#80FFFF';
		//document.getElementById("table2").style.backgroundColor='#80FFFF';
		//document.getElementById("table3").style.backgroundColor='#80FFFF';
		//document.getElementById("table4").style.backgroundColor='#80FFFF';
		//document.getElementById("table5").style.backgroundColor='#80FFFF';
		//document.getElementById("table6").style.backgroundColor='#80FFFF';
		
		
		} else {
			document.getElementById("cust_zip").value='';
			//var xx1=document.getElementById("selectform");
			//xx1.radius[0].selected=true;
			document.getElementById("selectform").radius.style.display='none';
		document.getElementById("selectform").cust_zip.style.display='none';
		document.getElementById("radiusLabel").style.display='none';
		document.getElementById("cust_zipLabel").style.display='none';
		
		
		// hide state				
		document.getElementById("dstate").style.display='none';
		document.getElementById("stateLabel").style.display='none';
			
				
			
			
			}
		 
		

}

function openseminarRegistration(var1) {
	//var debug_log = new seminarCFC();
	//debug_log.setCallbackHandler(debugHandler);
	////debug_log.updateLog(var1);
	
	if (var1.REGISTRATIONURL !=null && var1.REGISTRATIONURL.trim() != '')
	{
	window.open(var1.REGISTRATIONURL,'_blank');	} else 	
	{
	var loc='';
	var loc_st_seperator='';
	var st_co_seperator='';
	if ((var1.LOCATION.trim()==null || var1.LOCATION.trim()=='') &&(var1.STATE.trim()==null || var1.STATE.trim()=='')) {
		loc_st_seperator='';
		} else {
			loc_st_seperator=', ';
			}
			
			
	if ((var1.STATE.trim()==null || var1.STATE.trim()=='') &&(var1.COUNTRY.trim()==null || var1.COUNTRY.trim()=='')) {
		st_co_seperator='';
		} else {
			st_co_seperator=', ';
			}
	
	
	
	if(var1.SEMINARTYPE == 'w'){
		var loc=var1.COUNTRY.trim();
	} else if (var1.SEMINARTYPE = 's' && (var1.COUNTRY== 'United States' || var1.COUNTRY == 'Canada'|| var1.COUNTRY == 'US/Canada')) {
			var loc=var1.LOCATION + loc_st_seperator + var1.STATE + st_co_seperator + var1.COUNTRY;
			
		} 
		else {
			var loc=var1.LOCATION + ' ' + var1.COUNTRY;
		}
	
	
	if(var1.REG_COUNT < var1.SEATLIMIT || var1.SEATLIMIT == 0){
		  var type2='reg';
		} else {
			var type2='wait';
			}
	
	document.getElementById("r_location").innerHTML=loc.trim();
	
	rf=document.getElementById("registerform");
	rf.reg_status.value=type2;
	rf.seminar_type.value=var1.SEMINARTYPE;
	rf.iCompanyID.value=var1.SBL_ROWID;
	rf.iSeminarID.value=var1.VARSEMINARID;
	rf.topic1.value=var1.TOPIC_CODE;
	rf.language.value=var1.LANGUAGECODE;
	rf.type1.value=var1.TYPE;
	
	//obj1= new Object();
	var1.iSeminarIDFIELD=rf.iSeminarID.value;
	//debug_log.updateLog(var1);
	// hidden fields
	//document.getElementById("reg_status").value=type2;
	//document.getElementById("seminar_type").value=var1.SEMINARTYPE;
	//document.getElementById("iCompanyID").value=var1.SBL_ROWID;
	//document.getElementById("iSeminarID").value=var1.VARSEMINARID;
	//document.getElementById("topic1").value=var1.TOPIC_CODE;
	//document.getElementById("language").value=var1.LANGUAGECODE;
	//document.getElementById("type1").value=var1.TYPE;
	
	// set producttype for siebel. 
	if (var1.TOPIC_CODE==1 || var1.TOPIC_CODE==3){
		document.getElementById("ProductType").value=8;
		}else{
			document.getElementById("ProductType").value=9;
			}
	// end populating hidden fields on reg form
	
	
	document.getElementById("r_phone").innerHTML=var1.PHONE;
	document.getElementById("r_reseller").innerHTML='<a href="'+var1.RESELLERURL+'" target="_blank">'+var1.RESELLER+'<a/>';
	//document.getElementById("r_theurl").innerHTML=var1.RESELLERURL;
	//document.getElementById("r_thedate").innerHTML=dateFormat(var1.THEDATE, "dddd, mmm dS, yyyy");
	document.getElementById("r_thedate").innerHTML=dateFormat(var1.THEDATE, "mmm dS, yyyy");
	document.getElementById("r_thetime").innerHTML=var1.THETIME;
	document.getElementById("r_directions").innerHTML=var1.DIRECTIONS;
	ColdFusion.Window.onShow("registerwindow", onshow);
	myWindow = ColdFusion.Window.getWindowObject('registerwindow');
   	//use the centerfunction to center the window.    
	myWindow.center();
	document.getElementById("windisplay").style.display='block';
	document.getElementById("registerform").Register3.style.display='block';
	document.getElementById("registerform").Register4.style.display='block';
	ColdFusion.Window.show('registerwindow');
	

	//}  else//end reguistraionurl
	//window.open(var1.REGISTRATIONURL,'_blank')
	
 } // end if (var1.REGISTRATIONURL.trim() != '')
	
	
	}
	
		
function debugHandler(returndata) {
	
	}	
	
function cancelRegistration() {
		document.getElementById("displayform").style.display='block';
		document.getElementById("displaysuccess").style.display='none';
		ColdFusion.Window.hide('registerwindow');
	
		}	


function onshow() {
	//var dd = document.getElementById('language');
	//getInd();
	}


var returncw = function(){
	alert(' 0= '+cm.getColumnWidth(0)+' 1= '+cm.getColumnWidth(1)+' 2= '+cm.getColumnWidth(2)+' 3= '+cm.getColumnWidth(3)+' 4= '+cm.getColumnWidth(4)+' 5= '+cm.getColumnWidth(5)+' 6= '+cm.getColumnWidth(6));
		}


/*
   setDateRenderer = function(){
      mygrid = ColdFusion.Grid.getGridObject(’CouponsGrid’);
      cm = mygrid.getColumnModel();
      cm.setRenderer(3, Ext.util.Format.dateRenderer(’m/d/Y’));
      mygrid.reconfigure(mygrid.getDataSource(),cm);
   }
*/  
//var myf = function(data,cellmd,record,row,col,store){
//	return data;
//	} 
var hideType = function(){
	mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
	cm = mygrid.getColumnModel();
	cm.setHidden(0,true);
	
	
	cm.setColumnWidth(1,244);
	
	mygrid.reconfigure(mygrid.getDataSource(),cm);
	//retturncw();
	
	
	}
	
	
var showType = function(){
	mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
	cm = mygrid.getColumnModel();
	cm.setHidden(0,false);
	cm.setColumnWidth(1,179);
	mygrid.reconfigure(mygrid.getDataSource(),cm);
	//returncw();	
	}	
var hideDist = function(){
	mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
	cm = mygrid.getColumnModel();
	cm.setHidden(5,true);
	//alert('hd' +cm.getColumnWidth(1));
	
	cm.setColumnWidth(4,105);
	cm.setColumnWidth(3,120);
	
	mygrid.reconfigure(mygrid.getDataSource(),cm);
	//returncw();
		
	}
	
var showDist = function(){
	mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
	cm = mygrid.getColumnModel();
	cm.setHidden(5,false);
	cm.setColumnWidth(4,80);
	cm.setColumnWidth(3,90);
	mygrid.reconfigure(mygrid.getDataSource(),cm);
	//returncw();
	
	
	}

setDistance = function(data,cellmd,record,row,col,store) {
  // if(data == "Product 4") return "<b>" + data + "</b>";
   //else return data;
   var co = ColdFusion.getElementValue('country');
   if(co=='United States' || co=='United Kindom')
  { return data+ ' MI';} else {
   return data+ ' KM';}
} 
var initGrid = function(){
mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
cm = mygrid.getColumnModel();
// prevent resizing grid
for(var i=0; i<cm.getColumnCount();i++) {
   col = cm.getColumnById(i);
    col.resizable=false;
    }
// end prevent resizing grid
cm.setRenderer(2, Ext.util.Format.dateRenderer('M d, Y'));
cm.setRenderer(5,setDistance); 
//alert('1');
//+''+cm.mygrid.getColumnWidth(2)+''+cm.mygrid.getColumnWidth(2)+''+cm.mygrid.getColumnWidth(4)+''+cm.mygrid.getColumnWidth(5)

mygrid.reconfigure(mygrid.getDataSource(),cm);

//add rowclick listner
mygrid.addListener("rowclick",register1);
//mygrid.addListener("mouseover",mover);
// add toolbar

/*

 var gridHead = mygrid.getView().getHeaderPanel(true);
 var tbar = new Ext.Toolbar(gridHead);
 var gridFoot = mygrid.getView().getFooterPanel(true);
 var ds = mygrid.getDataSource();


// this shows the display message by default 
 var paging = new Ext.PagingToolbar(gridFoot,ds,{
	  pageSize:10, //number of records displayed in grid
	  displayInfo:true, // change this to false, if you dont want info displayed
	  displayMsg:'Displaying records {0} - {1} of {2}',
	   emptyMsg:"No records to display"
	   });
 
 // add a custom combobox to the grid header
 cb = new Ext.form.ComboBox({
   id:"pagingCombo",
   emptyText:"Rows/page",
   mode:"local",
   triggerAction:"all",
   displayField:"text",
   valueField:"value",
         store:new Ext.data.SimpleStore({
            fields: ["value", "text"],
            data: [
               ["5","5 rows/page"],
               ["10","10 rows/page"],
               ["20","20 rows/page"],
               ["50","50 rows/page"]
            ]
   })
});
// add event listener to combobox
// this code will update the grid pageSize 
cb.addListener("select",function(combo,record,index){
		// the new pageSize from combobox
		// it needs to have parseInt() else it starts acting weird
         var numRows = parseInt(record.data.value);
		 
		 // below is one way of doing it - needs to paging variable uncommented above for this to work
		 // can do it either this way or the code below - below (2 lines)
		// paging.pageSize = parseInt(numRows);
		// paging.onClick("refresh");
		
		// thats another way of doing it
         // this line forces the grid to reload data with new pageSize
		ds.reload({params:{start:0,limit:numRows}});
		 // the footer paging toolbar still holds old pagesize, so that needs refreshing as well
		  // Create a new Paging Toolbar
		   var paging = new Ext.PagingToolbar(gridFoot,ds,{
		      pageSize:numRows, //number of records displayed in grid
		      displayInfo:true, // change this to false, if you dont want info displayed
		      displayMsg:'Displaying records {0} - {1} of {2}',
			   emptyMsg:"No records to display"
			   });
		 // reconfigure the grid
		  mygrid.reconfigure(ds, grid.getColumnModel());	   
      });
      
Ext.fly(tbar.addSpacer().getEl().parentNode).setStyle('width', '100%');
tbar.add(cb);
 
 
 */
 
}
function register1(grid,rowIndex,e) {
	var record = grid.getDataSource().getAt(rowIndex);
    //var id1 = row.data.TOPIC; 
	//openseminarRegistration(record.data.TOPIC);
	openseminarRegistration(record.data);
	      }
		  

/*
function setLabel(item:Object, columnName:String): String {
		<!--- because we are using this function on only one column, we don't really
		need to use the columnName parameter, but we would need it if
		used the same function for several columns and wanted to know which column
		we are supposed to format --->
		
		<!--- insert a new line between the address and the city --->
		return item.topic +  '\n' + item.topic + ', ' + item.topic;
	};	
	*/

	
	
//var name = firstname+' '+lastname;
//ColdFusion.navigate('#cgi.script_name#?action=form&id='+id,'editwindow');
//	      	ColdFusion.Window.onShow('editwindow',windowShowHandler.createCallback('Edit user - '+name,'editwindow'));
//	      	ColdFusion.Window.show('editwindow');
//	      }


function getCountrySearch() 
	{
   		var s = ColdFusion.getElementValue('country');
	    return s;
	}

function getStateSearch() 
	{
   		var s = ColdFusion.getElementValue('state');
		//var s = '';
	    return s;
	}



/*
	function getTypeSearch(lang) 
	{
   		var s = ColdFusion.getElementValue('type');
		var results1 = document.getElementById("dtype");
		var type1 = new seminarCFC();
		type1.setCallbackHandler(typeHandler);
		type1.getSeminarTypes(lang,'w');
		
	}
	
	typeHandler = function(returndata) {
		alert(77);
		//alert(returndata.DATA.type)
	if(returndata.DATA.=='s' || s=='w') {
			if(s=='s'){
				
				results1.innerHTML = "Seminars";
				
				
				} else {
					results1.innerHTML = "Webcast";
					}
		hideType();
		} else 	{
			showType();
			results1.innerHTML = "";
			}
		getGeo();
		return s;

}
*/

	
	
	function getTypeSearch() 
	{
   		//alert(1);
		var s = ColdFusion.getElementValue('type');
		var results1 = document.getElementById("dtype");
		//var type1 = new seminarCFC();
		//type1.setCallbackHandler(tagsHandler);
		//type1.getGeoCountries(getSeminarCountytype);
		if(s=='s' || s=='w') {
			if(s=='s'){
				
				results1.innerHTML = "Seminars";
				
				
				} else {
					results1.innerHTML = "Webcast";
					}
		hideType();
		} else 	{
			showType();
			results1.innerHTML = "";
			}
		getGeo();
		return s;
	}
	function getTopicSearch() 
	{
   		
		var s = ColdFusion.getElementValue('topic');
		return s;
	}
	function getProductSearch() 
	{
   		var s = ColdFusion.getElementValue('product');
	    return s;
	}
	function getResellerSearch() 
	{
   		var s = ColdFusion.getElementValue('reseller');
	    return s;
	}
	function getCustomerZip() 
	{
   		var s = ColdFusion.getElementValue('cust_zip');
	    return s;
	}
function getRadius() 
	{
   		//alert("111");
		var s = ColdFusion.getElementValue('radius');
		var z = ColdFusion.getElementValue('cust_zip');
		//alert(s);
		
		if(s=='') {
		hideDist();
		} else if (z.trim()=='') 
		{
			hideDist();
			} else {
				showDist();
				}
		return s;
		} 
			


function validate_zip(msg_ziprequired,msg_zipinvalid,msg_distancerequired,msg_zipinvalid2,msg_clickhere,msg_zipinvalid3) {
		
		var resultDiv = document.getElementById("zipmsg");
		resultDiv.innerHTML = '';
		
		var msg='';
		var err=false;
		var z = ColdFusion.getElementValue('cust_zip');
		var r = ColdFusion.getElementValue('radius');
		//if (r=='') {msg=msg+msg_distancerequired+'\n';err=true;}
		var geoObj = new mapquestCFC();
		
		//if (r=='') {
		//	document.getElementById("cust_zip").value='';
		//	var xx1=document.getElementById("selectform");
		//	xx1.radius[0].selected=true;
		//	redisplayGrid();
		//	} else {
		
		
		if (z==null || z=="") 	{
			redisplayGrid();
			return true;
			//msg=msg+msg_ziprequired+'\n';err=true;
			//document.getElementById("cust_zip").value='';
			//document.getElementById("cust_zip").focus();
			
		} else{
		//if (err){alert(msg);return false}
		
		//	}
		
		
		geoObj.setCallbackHandler(geoHandler);
		geoObj.geocode(getSeminarCounty(),'','',getSeminarZip(),msg_zipinvalid,msg_zipinvalid2,msg_clickhere,msg_zipinvalid3);}
				
}  


geoHandler = function(returndata) {
	//alert(returndata.CLICKHERE);
	// z is results based on zip code and A is the results are good
	var c = ColdFusion.getElementValue('country');
	if(returndata.RESULTCODE.charAt(0)=='Z' && returndata.RESULTCODE.charAt(returndata.RESULTCODE.length-1)=='A')
	{
		redisplayGrid();
		return true;
		
		} else {
		document.getElementById("cust_zip").focus();
		var resultDiv = document.getElementById("zipmsg");
		//resultDiv.innerHTML = returndata.INVALIDZIP +c+returndata.INVALIDZIP2+c;
		//resultDiv.innerHTML = returndata.INVALIDZIP + ' <a href="?&country=' +c+ '">Click here</a> '+returndata.INVALIDZIP2+' ' +c;
		resultDiv.innerHTML = returndata.INVALIDZIP + ' <a href="?&country=' + c + '">' +returndata.CLICKHERE+'</a> ' +returndata.INVALIDZIP2+' '+ c +' '+ returndata.INVALIDZIP3;
		//resultDiv.innerHTML = 'lll';
		resetRadius();
		displayGridNoResults();
		//redisplayGrid();
		//return false;
	}

		

}

























/*	
	function validate_zip(msg_ziprequired,msg_zipinvalid) {
		var c = ColdFusion.getElementValue('country');
		var z = ColdFusion.getElementValue('cust_zip');
		var r = ColdFusion.getElementValue('radius');
		
		switch(c)
			{
			case 'United States':
			  var Pattern = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
			  break;
			case 'United Kingdom':
			  var Pattern = /^(GIR|[A-Z]\d[A-Z\d]??|[A-Z]{2}\d[A-Z\d]??)[ ]??(\d[A-Z]{2})$/;
			  break;
			case 'Spain':
			   var Pattern = /^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$/;
			  break;
			case 'Italy':
			  var Pattern =/^(V-|I-)?[0-9]{5}$/;
			  break;
			case 'France':
				var Pattern =/^(F-)?((2[A|B])|[0-9]{2})[0-9]{3}$/; 
				//				/((^[0-9]*).?((BIS)|(TER)|(QUATER))?)?((\W+)|(^))(([a-z]+.)*)([0-9]{5})?.(([a-z\'']+.)*)$/;
				
				
				break;
		case 'Germany':
			   var Pattern =/\b((?:0[1-46-9]\d{3})|(?:[1-357-9]\d{4})|(?:[4][0-24-9]\d{3})|(?:[6][013-9]\d{3}))\b/ ;
			  break;
			case 'Canada':
			  var Pattern =/^[ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$/;
			  
			  //var Pattern =/^\D{1}\d{1}\D{1}\-?\d{1}\D{1}\d{1}$/;
			  break;
		 
			default:
			  var Pattern=0;
			}
		if (r=='') {
			document.getElementById("cust_zip").value='';
			var xx1=document.getElementById("selectform");
			xx1.radius[0].selected=true;
			redisplayGrid();
			} else {
		
		
		if (z==null || z=="") 	{
			alert(msg_ziprequired);
			document.getElementById("cust_zip").value='';
			var xx1=document.getElementById("selectform");
			xx1.radius[0].selected=true;
			document.getElementById("cust_zip").focus();
			return false;
		} else 
		
		
		if (Pattern!=0) {
			if (!Pattern.test(z.toLowerCase()))   {
				alert(msg_zipinvalid +c);
				document.getElementById("cust_zip").value='';
				var xx=document.getElementById("selectform");
				xx.radius[0].selected=true;
				document.getElementById("cust_zip").focus();
				return false;
			} else//if (!USpattern.test(z.toLowerCase())) 
				{
					redisplayGrid();
					return true;
					}
		} else { //if (pattern!=0) 
			redisplayGrid();
			return true;
			}
		} 
	}  

*/

//////////////////////////////////////////////
////// form specific validation          /////
////// individual functions are here:    /////
////// /includes/js/form_validation.js   /////
//////////////////////////////////////////////
var gotFocus = '';		
function validate_regform(thisform,ms_fname,ms_lname,ms_addr,ms_city,ms_company,ms_phone,ms_email,ms_emailinvalid,ms_siebelphone) {
	//function validate_regform(thisform) {
	//alert(msg_fname);
	with (thisform)
	{
	var errormsg='';
	var errorflag=false;
	

if (validate_required(FName,errormsg)==false)
 {
 errormsg=errormsg + ms_fname + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'FName';
}  


  
if (validate_required(LName,errormsg)==false)
 {
 errormsg=errormsg + ms_lname + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'LName';
} 
if (validate_required(Company,errormsg)==false)
 {
 errormsg=errormsg + ms_company + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'Company';
} 
if (validate_required(Address,errormsg)==false)
 {
 errormsg=errormsg + ms_addr + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'Address';
}  
if (validate_required(City,errormsg)==false)
 {
 errormsg=errormsg + ms_city + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'City';
}  

if ((SingleSelectValue(country1,'USA') == true || SingleSelectValue(country1,'Canada') ==true) && validate_required(zip)==false )
 {
 errormsg=errormsg + 'Zip Code / Postal Code Required for Country  = "USA" or "Canada"\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'zip';
} 

if ((SingleSelectValue(country1,'USA') == true || SingleSelectValue(country1,'Canada') ==true) && SingleSelectRequired(state1)==false)
 {
 errormsg=errormsg + 'State / Province Required for Country  = "USA" or "Canada"\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'state1';
} 

/*
if (validate_required(Phone,errormsg)==false)
 {
 errormsg=errormsg + ms_phone + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'Phone';
}  
*/

if (validate_required(Phone,errormsg)==false)
    {
    errormsg=errormsg + ms_phone + '\n';
    var errorflag=true;
    if (gotFocus.length == 0)
    gotFocus = 'Phone';

    } else {
     if (validate_siebelphone(Phone,errormsg)==false)
    {
    errormsg=errormsg + ms_siebelphone+ '\n';
    var errorflag=true;
    if (gotFocus.length == 0)
    gotFocus = 'Phone';
    }
  
  }



if (validate_required(email,errormsg)==false)
    {
    errormsg=errormsg + ms_email + '\n';
    var errorflag=true;
    if (gotFocus.length == 0)
    gotFocus = 'email';

    } else {
     if (validate_email(email,errormsg)==false)
    {
    errormsg=errormsg + ms_emailinvalid+ '\n';
    var errorflag=true;
    if (gotFocus.length == 0)
    gotFocus = 'email';
    }
  
  }


if (errorflag==true) {
		eval(gotFocus + ".focus()");
		gotFocus = '';
		{alert(errormsg);return false;}
		} 
		 return true;
		}
			
		}

/* js to support ajax 


*/
//msg_fname,msg_lname,msg_addr,msg_city,msg_company,msg_phone,msg_email
function doSubmitForm(msg_fname,msg_lname,msg_addr,msg_city,msg_company,msg_phone,msg_email,msg_emailinvalid,msg_siebelphone) {
	//alert(msg_email);
//,msg_fname,msg_lname,msg_addr,msg_city,msg_company,msg_phone,msg_email
	if (validate_regform(document.registerform,msg_fname,msg_lname,msg_addr,msg_city,msg_company,msg_phone,msg_email,msg_emailinvalid,msg_siebelphone))
	//if (1==1)
		{
			document.getElementById("registerform").Register3.style.display='none';
			document.getElementById("registerform").Register4.style.display='none';
			
ColdFusion.Ajax.submitForm('registerform','/includes/CFC/seminars/seminar.cfc?method=submitSeminarRegistration', resultRegHandler, editErrorHandler);
		}
		
	}

function resetRadius() {
	//var xx1=document.getElementById("selectform");
	//xx1.radius[0].selected=true;
	document.getElementById("cust_zip").value='';
}
function removeMsg() {
	var resultDiv = document.getElementById("zipmsg");
	resultDiv.innerHTML = '';
}

// other grid refreshes
function displayGridNoResults() {
 document.getElementById("gridtest").value='1';
 ColdFusion.Grid.refresh('seminarGrid',false);
 document.getElementById("gridtest").value='0';
}


function redisplayGrid() {
	 
	 ColdFusion.Grid.refresh('seminarGrid',false);
}

/*function redisplayGrid(msg_ziprequired,msg_zipinvalid,msg_distancerequiredj) {
	
	
	 ColdFusion.Grid.refresh('seminarGrid',false);
	 }
*/
// for initial loaded called from setCountry()
function refreshGrid(selectObj) {
     ColdFusion.Grid.refresh('seminarGrid', true);
	 document.getElementById("gridpage").style.display='block';
	 }

function refreshGrid1(selectObj) {
     //alert(selectObj);
	 setReseller('',selectObj);
	 ColdFusion.Grid.refresh('seminarGrid', true);
	 document.getElementById("gridpage").style.display='block';
	 }
	
 	

function resultRegHandler(x) {
		//alert(x);
		//document.getElementById("Register3").disabled=true;
		//document.getElementById("Register4").disabled=true;
		document.getElementById("displayform").style.display='none';
		document.getElementById("displaysuccess").style.display='block';
		var resultDiv = document.getElementById("result1");
		resultDiv.innerHTML = x;
		
		
		
	}
	
	
function editErrorHandler() {
		var resultDiv = document.getElementById("result1");
		resultDiv.innerHTML = "Error Occured while processing form";
		
	}	








/*
 * Date Format 1.2.3
 * (c) 2007-2009 Steven Levithan <stevenlevithan.com>
 * MIT license
 *
 * Includes enhancements by Scott Trenda <scott.trenda.net>
 * and Kris Kowal <cixar.com/~kris.kowal/>
 *
 * Accepts a date, a mask, or a date and a mask.
 * Returns a formatted version of the given date.
 * The date defaults to the current date/time.
 * The mask defaults to dateFormat.masks.default.
 */

var dateFormat = function () {
	var	token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
		timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
		timezoneClip = /[^-+\dA-Z]/g,
		pad = function (val, len) {
			val = String(val);
			len = len || 2;
			while (val.length < len) val = "0" + val;
			return val;
		};

	// Regexes and supporting functions are cached through closure
	return function (date, mask, utc) {
		var dF = dateFormat;

		// You can't provide utc if you skip other args (use the "UTC:" mask prefix)
		if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) {
			mask = date;
			date = undefined;
		}

		// Passing date through Date applies Date.parse, if necessary
		date = date ? new Date(date) : new Date;
		if (isNaN(date)) throw SyntaxError("invalid date");

		mask = String(dF.masks[mask] || mask || dF.masks["default"]);

		// Allow setting the utc argument via the mask
		if (mask.slice(0, 4) == "UTC:") {
			mask = mask.slice(4);
			utc = true;
		}

		var	_ = utc ? "getUTC" : "get",
			d = date[_ + "Date"](),
			D = date[_ + "Day"](),
			m = date[_ + "Month"](),
			y = date[_ + "FullYear"](),
			H = date[_ + "Hours"](),
			M = date[_ + "Minutes"](),
			s = date[_ + "Seconds"](),
			L = date[_ + "Milliseconds"](),
			o = utc ? 0 : date.getTimezoneOffset(),
			flags = {
				d:    d,
				dd:   pad(d),
				ddd:  dF.i18n.dayNames[D],
				dddd: dF.i18n.dayNames[D + 7],
				m:    m + 1,
				mm:   pad(m + 1),
				mmm:  dF.i18n.monthNames[m],
				mmmm: dF.i18n.monthNames[m + 12],
				yy:   String(y).slice(2),
				yyyy: y,
				h:    H % 12 || 12,
				hh:   pad(H % 12 || 12),
				H:    H,
				HH:   pad(H),
				M:    M,
				MM:   pad(M),
				s:    s,
				ss:   pad(s),
				l:    pad(L, 3),
				L:    pad(L > 99 ? Math.round(L / 10) : L),
				t:    H < 12 ? "a"  : "p",
				tt:   H < 12 ? "am" : "pm",
				T:    H < 12 ? "A"  : "P",
				TT:   H < 12 ? "AM" : "PM",
				Z:    utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
				o:    (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
				S:    ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
			};

		return mask.replace(token, function ($0) {
			return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
		});
	};
}();

// Some common format strings
dateFormat.masks = {
	"default":      "ddd mmm dd yyyy HH:MM:ss",
	shortDate:      "m/d/yy",
	mediumDate:     "mmm d, yyyy",
	longDate:       "mmmm d, yyyy",
	fullDate:       "dddd, mmmm d, yyyy",
	shortTime:      "h:MM TT",
	mediumTime:     "h:MM:ss TT",
	longTime:       "h:MM:ss TT Z",
	isoDate:        "yyyy-mm-dd",
	isoTime:        "HH:MM:ss",
	isoDateTime:    "yyyy-mm-dd'T'HH:MM:ss",
	isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
};

// Internationalization strings
dateFormat.i18n = {
	dayNames: [
		"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
		"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
	],
	monthNames: [
		"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
		"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
	]
};

// For convenience...
Date.prototype.format = function (mask, utc) {
	return dateFormat(this, mask, utc);
};