function changeState(element,key) {
	img=document.getElementById('img_'+element+'_'+key);
	item=EVAL('value_'+element+'['+key+']');
	state=1;
	switch (state) {
		case '1' :
		img.src="/images/checkbox/7.gif";
		break;
		default :
		img.src="/images/checkbox/7.gif";
	}		
}

	var	disableOnClick=false;

function CheckBoxGroup (name,init,type) {
	var	name;
	var checkboxs;
	var	init;
	var current;
	var count=0;
	this.name=name;
	this.init=init;
	this.type=type;
	this.checkboxs=new Array();
	this.count=0;
	element=document.getElementById(this.name); //get the associated hidden data field
	this.init=element.value;
	
this.addBox = function(name) {
		if (this.init==name && this.type=='single'  ) {
			cb=new CheckBox(name,1,this.type);
		} else if ( this.type=='single') {
			cb=new CheckBox(name,0,this.type);
		} else {
			cb=new CheckBox(name,this.init,this.type);		
				
		}
		this.checkboxs[this.count]=cb;
		this.count++;
		img=document.getElementById('img_'+this.name+'_'+name); //get the associated images
		img.src=cb.displayState(this.type);
}
	/*
this.onClick= function (name,img) {
		
		if (this.type=='single') {
		
			if(fullpass){
				return false;
			}
			
			
			if (disableOnClick) {
				alert ('Changes to registration type are not allowed on confirmed bookings');
				return false;
			}
			element=document.getElementById(this.name); //get the associated hidden data field
			for(i=0;i<this.checkboxs.length;i++){
				cb=this.checkboxs[i];
				if (cb.getName()==name) {
					image=document.getElementById('img_'+this.name+'_'+cb.getName()); //get the associated hidden image
					image.src=cb.setState(1);
					element.value=name;
				} else {
					image=document.getElementById('img_'+this.name+'_'+cb.getName()); //get the associated hidden image
					image.src=cb.setState(0);
				}
			} //for loop
		} else {
			this.current='';
			for(i=0;i<this.checkboxs.length;i++){
				cb=this.checkboxs[i];
				if (cb.getName()==name) {
					img.src=cb.toggleState();
				} //endif
				this.current=this.current+cb.Encode();
			} //for loop
			element=document.getElementById(this.name); //get the associated hidden data field
			element.value=this.current;

		}
		evaluateForm();
}
	*/
	
this.onClick= function (name,img) {
		element=document.getElementById(this.name); //get the associated hidden data field
		if (this.type=='single') {
			if (disableOnClick) {
				alert ('Changes to registration type are not allowed on confirmed bookings');
				return false;
			}
				for(i=0;i<this.checkboxs.length;i++){
					cb=this.checkboxs[i];
					if (cb.getName()==name) {
						image=document.getElementById('img_'+this.name+'_'+cb.getName()); //get the associated hidden image
						image.src=cb.setState(1);
						element.value=name;
					} else {
						image=document.getElementById('img_'+this.name+'_'+cb.getName()); //get the associated hidden image
						image.src=cb.setState(0);
					}
				} //for loop
		} else {
			element=document.getElementById(this.name); //get the associated hidden data field
			var thisstate = 0;
			// check to see if this is select or unselect
			for(i=0;i<this.checkboxs.length;i++){
				cb=this.checkboxs[i];
				if (cb.getName()==name && cb.current==1) {
					thisstate=1;
				} //endif
			} //for loop	
		
			var formObj = document.frmRegForm;
			var emergencyTraining=new Array("BDASESS_DECHAR6","BDASESS_DECHAR8");
			var sutureSkills=new Array("BDASESS1_DECHAR0","BDASESS1_DECHAR1","BDASESS1_DECHAR2");
			var buildingCV=new Array("BDASESS_DECHAR6","BDASESS_DECHAR7","BDASESS_DECHAR9");
			var handlingComp=new Array("BDASESS1_DECHAR0","BDASESS1_DECHAR1","BDASESS1_DECHAR2");
			default_5198=0;
			default_5199=0;
			default_5200=0;
			default_5201=0;
			
			/*
			if(formObj.categoryid.value=='4066'){
					if ((eval('formObj.BDA_DECHAR5.value.indexOf("<H11H1>")!=-1')&& name=='H3') || (eval('formObj.BDA_DECHAR5.value.indexOf("<H31H3>")!=-1')&&name=='H1') ) {
							default_5198+=2;
					}			
					if ((eval('formObj.BDA_DECHAR5.value.indexOf("<I11I1>")!=-1')&& (name=='I2'||name=='I4'))|| (eval('formObj.BDA_DECHAR5.value.indexOf("<I21I2>")!=-1')&& (name=='I1'||name=='I4'))|| (eval('formObj.BDA_DECHAR5.value.indexOf("<I41I4>")!=-1')&& (name=='I2'||name=='I1'))) {
							default_5199+=2;
					}
					if ((eval('formObj.BDA_DECHAR8.value.indexOf("<H51H5>")!=-1')&& name=='H6') || (eval('formObj.BDA_DECHAR8.value.indexOf("<H61H6>")!=-1')&&name=='H5')) {
							default_5200+=2;				
					}
					if ((eval('formObj.BDA_DECHAR8.value.indexOf("<I51I5>")!=-1')&& (name=='I6'||name=='I7'))|| (eval('formObj.BDA_DECHAR8.value.indexOf("<I61I6>")!=-1')&& (name=='I5'||name=='I7'))|| (eval('formObj.BDA_DECHAR8.value.indexOf("<I71I7>")!=-1')&& (name=='I5'||name=='I6'))) {
							default_5201+=2;
					}
			}
			*/
			
			// do a check on all paid sessions, can only select one of a session type e.g. emergency training
			for(i=0;i<emergencyTraining.length;i++){
				cbArray=emergencyTraining[i];
				if(typeof eval('formObj.'+cbArray)!="undefined"){
					if (eval('formObj.'+cbArray+'.value.indexOf("<H11H1>")!=-1') || eval('formObj.'+cbArray+'.value.indexOf("<H31H3>")!=-1') || (thisstate!=1 && this.name==cbArray && (name=='H1' || name=='H3'))) {
						default_5198++;
					} //endif
				}
			} //for loop
			
			for(i=0;i<sutureSkills.length;i++){
				cbArray=sutureSkills[i];
				if(typeof eval('formObj.'+cbArray)!="undefined"){
					if (eval('formObj.'+cbArray+'.value.indexOf("H51H5")!=-1')|| eval('formObj.'+cbArray+'.value.indexOf("H61H6")!=-1') || eval('formObj.'+cbArray+'.value.indexOf("H71H7")!=-1') || (thisstate!=1 && this.name==cbArray  && (name=='H5' || name=='H6'  || name=='H7'))) {
						default_5200++;
					} //endif
				}
			} //for loop
	
			for(i=0;i<buildingCV.length;i++){
				cbArray=buildingCV[i];
				if(typeof eval('formObj.'+cbArray)!="undefined"){
					if (eval('formObj.'+cbArray+'.value.indexOf("<I11I1>")!=-1') || eval('formObj.'+cbArray+'.value.indexOf("<I21I2>")!=-1') || eval('formObj.'+cbArray+'.value.indexOf("<I41I4")!=-1') || (thisstate!=1 && this.name==cbArray && (name=='I1' || name=='I2'  || name=='I4'))) {
						default_5199++;
					} //endif
				}
			} //for loop
	
			for(i=0;i<handlingComp.length;i++){
				cbArray=handlingComp[i];
				if(typeof eval('formObj.'+cbArray)!="undefined"){
					if (eval('formObj.'+cbArray+'.value.indexOf("I51I5")!=-1') || eval('formObj.'+cbArray+'.value.indexOf("I61I6")!=-1') || eval('formObj.'+cbArray+'.value.indexOf("I71I7")!=-1') || (thisstate!=1 && this.name==cbArray  && (name=='I5' || name=='I6'  || name=='I7'))) {
						default_5201++;
					} //endif
				}
			} //for loop 
			if (this.name.indexOf('BDASESS')!=-1&&this.isAnySelected() && thisstate!=1&&this.name.indexOf('BDASESS1_DECHAR4')==-1&&this.name.indexOf('BDASESS1_DECHAR5')==-1&&this.name.indexOf('BDASESS1_DECHAR6')==-1) {			
				alert('You have already selected a session at this timess');
			} 
			else if (thisstate!=1 && (default_5198 > 1 || default_5199 > 1 || default_5200 > 1 || default_5201 > 1) ) {
				
				alert('You are already visiting this sessions at a different time');
				
			} 
		
			
			// do a check on all paid sessions, can only select one of a session type e.g. emergency training
			/*	
			if ((eval('formObj.BDA_DECHAR5.value.indexOf("<H11H1>")!=-1')&& name=='H3') || (eval('formObj.BDA_DECHAR5.value.indexOf("<H31H3>")!=-1')&&name=='H1') || (thisstate!=1 && this.name==cbArray && (name=='H1' || name=='H3'))) {
					default_5198++;				
			}			
			if ((eval('formObj.BDA_DECHAR5.value.indexOf("<I11I1>")!=-1')&& (name=='I2'||name=='I4'))|| (eval('formObj.BDA_DECHAR5.value.indexOf("<I21I2>")!=-1')&& (name=='I1'||name=='I4'))|| (eval('formObj.BDA_DECHAR5.value.indexOf("<I41I4>")!=-1')&& (name=='I2'||name=='I1'))|| (thisstate!=1 && this.name==cbArray && (name=='I1' || name=='I2'))) {
					default_5199++;
			}
			if ((eval('formObj.BDA_DECHAR8.value.indexOf("<H51H5>")!=-1')&& name=='H6') || (eval('formObj.BDA_DECHAR8.value.indexOf("<H61H6>")!=-1')&&name=='H5') || (thisstate!=1 && this.name==cbArray && (name=='H5' || name=='H6'))) {
					default_5200++;				
			}
			if ((eval('formObj.BDA_DECHAR8.value.indexOf("<I51I5>")!=-1')&& (name=='I6'||name=='I7'))|| (eval('formObj.BDA_DECHAR8.value.indexOf("<I61I6>")!=-1')&& (name=='I5'||name=='I7'))|| (eval('formObj.BDA_DECHAR8.value.indexOf("<I71I7>")!=-1')&& (name=='I5'||name=='I6'))|| (thisstate!=1 && this.name==cbArray && (name=='I5' || name=='I6'|| name=='I7'))) {
					default_5201++;
			}
						
				} */
			else {
				this.current='';
				for(i=0;i<this.checkboxs.length;i++){
					cb=this.checkboxs[i];
					if (cb.getName()==name) {
						img.src=cb.toggleState();
					} //endif
					this.current=this.current+cb.Encode();
				} //for loop
				element=document.getElementById(this.name); //get the associated hidden data field
				if(this.current!='')
					element.value=this.current;
			}
	}
		evaluateForm();
}
	
this.Clear = function() {
		var result;
		result=false;
		this.current='';
		for(i=0;i<this.checkboxs.length;i++) {
			cb=this.checkboxs[i];
			image=document.getElementById('img_'+this.name+'_'+cb.getName()); //get the associated hidden image
			image.src=cb.setState(0);
		} //for loop
		element=document.getElementById(this.name); //get the associated hidden data field
		element.value=this.current;
		return result;
}
	
this.exportState =function() {
		for(i=0;i<this.checkboxs.length;i++){
			cb=this.checkboxs[i];
		} //for loop
		return this.current;
}

this.howMany =function() {

    var array = new Array();
    array['checked'] = false;
    array['count'] = 0;
    //if(formObj.SAP_DECHAR9){
      for (var i = 0; i < this.checkboxs.length; i++ ) {
        cb=this.checkboxs[i]; 
        
        if (cb.isSelected()) {
          array['checked'] = true;
          array['count'] ++;
        }
      }
    //}
    return array['count'];
    
}

this.isAnySelected =function () {
		var result;
		result=false;
		for(i=0;i<this.checkboxs.length;i++) {
			cb=this.checkboxs[i];
			if (cb.isSelected()) { result=true; }
		} //for loop
		return result;
}
	
this.getState = function(name) {
	return this.current;
}	


}  // end onject/function checkbok group



function setElementValue(name,value) {
		if (element=document.getElementById(name)) { //get the associated hidden data field
			element.value=value;
			return true;
		}
			return false;
}



function CheckBox (name,data,type) {
	
	var name;
	var	init=null;
	var	current=null;
	this.name=name;
	if ((data !='') && type !='single') {
		zero=data.indexOf('<'+this.name+'0'+this.name+'>');
		one=data.indexOf('<'+this.name+'1'+this.name+'>');
		if (zero>=0) {
			this.init=0;
		} else if (one>=0) {
			this.init=1;
		}	
		this.current=this.init;
	}
	if ((data !='') && type =='single') {
		if (data=='1') {
			this.init=1;
		} else {
			this.init=0;
		}	
		this.current=this.init;
	}

this.Decode =function(data) {
	//return this.current;
}
this.isSelected =function() {
	return this.current;
}
	
this.getName = function() {
	return this.name;
}	

this.Encode=function() {
	if (this.current==null) this.current=0;
	return '<'+cb.getName()+''+this.current+''+cb.getName()+'>'
}	
this.toggleState=function() {
	if (this.current==1) {
		this.current=0;
	} else {
		this.current=1;		
	}
	return this.displayState();
}

this.setState= function(state) {
		this.current=state;
		return this.displayState();
}
this.displayState=function() {
	if (this.init==null) {
		if (this.current==1) {
		 	return "/images/checkbox/2.gif";
		} else {
		 	return "/images/checkbox/1.gif";			
		}	 			
	} else if (this.current==this.init) {
		// basic image on or off
		if (this.current==1) {
		 	return "/images/checkbox/2.gif";
		} else {
		 	return "/images/checkbox/1.gif";			
		}
	} else { // state has changed show current state but with a red border
		if (this.current==1) {
		 	return "/images/checkbox/7.gif";
		} else {
		 	//return "/images/checkbox/10.gif";
		 	return "/images/checkbox/8.gif";			
		}
	}
}
		
		} // end checkbox



function fillcombos(form) {
}
// this function should be called whenever the form is be be evaluated dynamically

function evaluateForm() {
	var item;
	var value=0;
	formObj=document.frmRegForm;
	//alert(1);
	if (typeof formObj.dp1 != "undefined") {
		if(formObj.dp1[0].checked==true){
			value=formObj.categoryid1.value;
		}else{
			value=formObj.categoryid2.value;
		}
	}
	item=level0[value];
	
	if (item) changehtml("morepricedetail",item["morepricedetail"]);
	if (false) {
		style=item["style"];
		//price1=item["price1"];
		//price2=item["price2"];
		//price3=item["price3"];
		//alert (style+price1+price2+price3);
		if (item["p2"]=="") {
			setstyle("three");		
		} else {
			setstyle("one");		
		}
		changehtml("price1",item["p1"]);
		changehtml("price2",item["p2"]);
		changehtml("price3",item["p3"]);
		changehtml("price4",item["p4"]);
		changehtml("price5",item["p5"]);
		//changehtml("price6",item["p6"]);
		changehtml("price7",item["p7"]);
		//changehtml("price7",item["p7"]);
		viewState("D1",true);
		viewState("D2",false);
	}
		
}

function changehtml(idname,text) {
	//
	if (element=document.getElementById(idname)) {
		if (text=="0") {
			element.innerHTML = "FREE";		
		} else if (text=="") {
			element.innerHTML = "NA";				
		} else {
			element.innerHTML = text;
		}
	}
}

function buttonSubmit(button,formObj,result) {
	if (result===true) {
		button.innerHTML ='Please wait...';
		button.disabled=true;
		formObj.submit();
	} else {
		//alert ('result of validation not true')	
	}
}

function buttonRedirect(button,action,result)
{
	if (result===true) {
		button.innerHTML ='Please wait...';
		button.disabled=true;
		eval(action);
	}//End if
}

function buttonRedirectNewWindow(button,action,result)
{
	if (result===true) {
		button.innerHTML ='Please wait...';
		button.disabled=true;
		window.open(action);
		button.innerHTML ='Add fee paying conference pass';
		button.disabled=false;
		//eval(action);
	}//End if
}


function setstyle(days) {

	switch (days) {
		case 'three':
			form.oneday.checked = false;		
			form.oneday.disabled = true;		
			form.threeday.checked = true;		
			form.threeday.disabled = true;		
			form.day1.checked = true;		
			form.day1.disabled = true;		
			form.day2.checked = true;		
			form.day2.disabled = true;		
			form.day3.checked = true;		
			form.day3.disabled = true;		
		
		break;
		default:
			form.oneday.disabled = false;		
			form.threeday.disabled = false;		
			form.day1.disabled = false;		
			form.day2.disabled = false;		
			form.day3.disabled = false;		
		break;
	}

}

function Selectable (name,checked) {
	this.name=name;
	this.checked=checked;
}

function viewState (childname,state) {
  var browser = detect_ie();   
   	if (element = document.getElementById(childname)) {	
		if(state=='block'){
			  if(browser == true) {    
				element.style.display = 'block';
			  } else {
				element.style.display = 'table-row';
			  }
		}
		else{
			element.style.display = state;
		}		
	}
}

function detect_ie() {
    if (navigator.appName.indexOf('Microsoft') != -1) {
      return true;
    } else {
      return false;
    }
 } 


Selectable.prototype.IsSelected = function() {
	return this.selected;	
}

var day1 = new Selectable('day1',false);
var day2 = new Selectable('day2',false);
var day3 = new Selectable('day3',false);
var oneday = new Selectable('oneday',false);
var threeday = new Selectable('threeday',false);




// generic isvalid function changes use based on name of form
// use framework for all formsbased on name of form

function isFormValid(formObj,eventnumber) {

	var prompt ="";
	switch (formObj.name) {
		case 'frmRegForm' :
		prompt=ValidateForm(formObj,eventnumber);
		break;
		case 'frmPreComm' :
			prompt=validateRegForm(formObj,eventnumber);
		break;
		case 'frmCheckout' :
			prompt=validateCheckoutForm(formObj,eventnumber);
		break;
		case 'frmHotelCheckout' :
			prompt=validateHotelCheckoutForm(formObj,eventnumber);
		break;
		case 'frmUnlock' :
			prompt=validateUnlockForm(formObj,eventnumber);
		break;
		case 'frmStatementAddress' :
			prompt=validateStatementAddress(formObj,eventnumber);
		break;
		default :
			prompt= 'function to validate form not found, proceed? '+formObj.name;
		break	
		case 'frmOptions' :
			return true;
		break;	
	} // switch
	if (prompt) {
		alert(convertChars(prompt));
		return false;
	} else {
		if (eventnumber != "" ) formObj.event.value=eventnumber; // set the exit event
		return true;
	}

}
function validateUsername(username,formObj) {
	var prompt="";
	
	if(formObj.OWNBOOKING[0].checked==false&&formObj.OWNBOOKING[1].checked==false) prompt=prompt +"Please select if you are attending"+"\n";
	
	if ( username =="" ) prompt=prompt +"Email address is a required field"+"\n";
	else if ( !validateemail(username) ) 
	{prompt=prompt +"Email address is not a valid email address format"+"\n";}
	else if(username.indexOf(" ")>"0") 
	{prompt=prompt +"Email address is not a valid email address format"+"\n";}
	else if(username.indexOf(",")>"0") 
	{prompt=prompt +"Email address is not a valid email address format"+"\n";}
	
	

	if (prompt) {
		alert(convertChars(prompt));
		return false;
	} else {
		/*
		//check for sap.com email address but let them register
		if(username.indexOf("sap.")>"0" && document.getElementById('SAPWARNING').style.visibility!="visible") {

			//x=(document.width - 657)/2;
			//y=(document.height - 500)/2;

			if (parseInt(navigator.appVersion)>3) {
			 if (navigator.appName=="Netscape") {
			  x = window.innerWidth;
			  y = window.innerHeight;
			 }
			 if (navigator.appName.indexOf("Microsoft")!=-1) {
			  x = document.body.offsetWidth;
			  y = document.body.offsetHeight;
			 }
			}

			var dleft = ((x-500)/2) + 'px';
			var dtop = y/2 + 'px';

			document.getElementById('SAPWARNING').style.left=dleft;
			document.getElementById('SAPWARNING').style.top=200;					
			document.getElementById('SAPWARNING').style.visibility="visible";
			
			document.getElementById('compcont').disabled = true;

			return false;
			
		} else {
		*/
		return true;
		//}
	}
	

}


function DisableEnableForm(xForm,xHow){
  objElems = xForm.elements;
  for(i=0;i<objElems.length;i++){
    objElems[i].disabled = xHow;
  }
}

function isSapEmail(username) {

	if(username.indexOf("@sap.")>"0" && document.getElementById('SAPWARNING').style.visibility!="visible") {


	      DisableEnableForm(document.frmRegForm,true);

		//if (parseInt(navigator.appVersion)>3) {
		 /*
		 if (window.innerHeight) {

		 
		  x = window.innerWidth;
		  y = window.innerHeight;
		 
		 
		 }
		 */
		 if (document.all) {
		  x = document.body.offsetWidth;
		  y = document.body.offsetHeight;
		 } else {
		  x = window.innerWidth;
		  y = window.innerHeight;
		  
		  y = y + window.pageYOffset;
		 }
		//}

		var dleft = ((x-500)/2) + 'px';
		var dtop = y/2 + 'px';
	      
	      document.getElementById('SAPWARNING').style.left=0;
	      document.getElementById('SAPWARNING').style.top=0;
	      document.getElementById('SAPWARNING').style.height=y+'px';
      	      document.getElementById('SAPWARNING').style.visibility = 'visible';
      	      document.getElementById('SAPWARNING').style.display = 'block';
      	      
      	      //document.getElementById('messagetable').style.left=dleft;
      	      //document.getElementById('messagetable').style.top=dtop;
      	      

/*
		//x=(document.width - 657)/2;
		//y=(document.height - 500)/2;

		if (parseInt(navigator.appVersion)>3) {
		 if (navigator.appName=="Netscape") {
		  x = window.innerWidth;
		  y = window.innerHeight;
		 }
		 if (navigator.appName.indexOf("Microsoft")!=-1) {
		  x = document.body.offsetWidth;
		  y = document.body.offsetHeight;
		 }
		}

		var dleft = ((x-500)/2) + 'px';
		var dtop = y/2 + 'px';

		document.getElementById('SAPWARNING').style.width='100%';
		document.getElementById('SAPWARNING').style.height='100%';
		document.getElementById('SAPWARNING').style.left=dleft;
		document.getElementById('SAPWARNING').style.top=dtop;					
		document.getElementById('SAPWARNING').style.visibility="visible";
*/
		return false;

	}


}




function validateStatementAddress (formObj,eventnumber) {
		var prompt="";		
		
	if (element=document.getElementById('StatementAddressSection1')) {
		element.value="1";  //enable this section during save
		if ( formObj.title.value =="" ) prompt=prompt +"Title is a required field"+"\n";
		if ( formObj.firstname.value =="" ) prompt=prompt +"First name is a required field"+"\n";
		if ( formObj.lastname.value =="" ) prompt=prompt +"Last name is a required field"+"\n";
		if ( formObj.phone1.value =="" ) prompt=prompt +"Telephone is a required field"+"\n";
		if ( formObj.email.value =="" ) prompt=prompt +"Email address is a required field"+"\n";		
		if ( !validateemail(formObj.email.value) ) prompt=prompt +"Email address is not a valid Email address format"+"\n";
		//if ( formObj.company.value =="" ) prompt=prompt +"Company name is a required field"+"\n";		
		if ( formObj.address1.value =="" ) prompt=prompt +"Address is a required field"+"\n";
		if ( formObj.city.value =="" ) prompt=prompt +"City is a required field"+"\n";
		if ( formObj.postcode.value =="" ) prompt=prompt +"Postal code is a required field"+"\n";
	
		if ( formObj.countryname.options[formObj.countryname.selectedIndex].value=="" ) prompt=prompt +"Country is a required field"+"\n";
		return prompt;
	}
	if ( (element=document.getElementById('StatementAddressSection2'))  ) {
		if  (!(formObj.firstname_1.value+formObj.lastname_1.value+formObj.company_1.value+formObj.address1_1.value+formObj.city_1.value+formObj.postcode_1.value==""))  {
			element.value="1";  //enable this section during save
			if ( formObj.firstname_1.value =="" ) prompt=prompt +"Invoice first name is a required field"+"\n";
			if ( formObj.lastname_1.value =="" ) prompt=prompt +"Invoice last name is a required field"+"\n";
			if ( formObj.company_1.value =="" ) prompt=prompt +"Invoice company Name is a required field"+"\n";
			if ( formObj.address1_1.value =="" ) prompt=prompt +"Invoice address1 is a required field"+"\n";
			if ( formObj.city_1.value =="" ) prompt=prompt +"Invoice city is a required field"+"\n";
			if ( formObj.postcode_1.value =="" ) prompt=prompt +"Invoice postcode is a required field"+"\n";
			if ( formObj.countryname_1.options[formObj.countryname_1.selectedIndex].value=="" ) prompt=prompt +"Invoice country is a required field"+"\n";
			if ( formObj.email_1.value =="" ) prompt=prompt +"Invoicecemail address is a required field"+"\n";
			if ( !validateemail(formObj.email_1.value) ) prompt=prompt +"Invoice email address is not a valid Email address format"+"\n";
		} else {
			element.value="0";  //disable this section during save
		}
	} 
	if ( (element=document.getElementById('StatementAddressSection3'))  ) {
		element.value="1";  //enable this section during save
		if  (!(formObj.address1_2.value+formObj.city_2.value+formObj.postcode_2.value+formObj.payDevice.value==""))  {
			prompt=validateCheckoutForm(formObj,eventnumber)
			if ( formObj.address1_2.value =="" ) prompt=prompt +"Card address is a required field"+"\n";
			if ( formObj.city_2.value =="" ) prompt=prompt +"Card city is a required field"+"\n";
			if ( formObj.postcode_2.value =="" ) prompt=prompt +"Card postal code is a required field"+"\n";
			if ( formObj.countryname_2.options[formObj.countryname_2.selectedIndex].value=="" ) prompt=prompt +"Card country is a required field"+"\n";
		} else {
			element.value="0";  //disable this section during save
		}
	} 
	if (prompt) {
			alert(convertChars(prompt));
			return false;
		} else {
			return false;
		}
}


function validateUnlockForm (formObj,eventnumber) {

	if ( (formObj.unlock.value=="") && (formObj.unlock.value.length!=5) )  return 'Enter a valid unlock Code';

}


	
	function isAnySessionSelected(item)  {
		var result;
		window.alert(item);
		result = item.indexOf(">1<"); // look for selected settions
		alert(result);
	}
	
	var bRTC = false;				
	var	bAllowCookies=false;
	
	function doTerms(srcimage,state,terms) {
		if (terms!='') bigpopupwindow(terms,true);
		setCookie("bReadTC","Y");
		bRTC = state;
		if (state) {
			document.getElementById(srcimage).src = "/images/checkbox/7.gif";
		} else {
			document.getElementById(srcimage).src = "/images/checkbox/1.gif";		
		}
		return false;	
	} // doTerms
	
	function toggleHidden (childname) {
	    element = document.getElementById(childname);
	    element.style.display = (element.style.display == "none") ? "" : "none";
	}
		
	function validateReadTerms(frm,event) {	
		var prompt="";
		if (!bRTC) {
			prompt=prompt+ 'Please ensure you have read the Terms and Conditions'+"\n";
		}
		if (prompt) {
			alert(convertChars(prompt));
			return false;
		} else {
			return true;
		}
	}
	var bCheckcv2;
	var bCheckcv2=1;
	function validateCheckoutForm(frm,event) {	
		var prompt="";
			
		if (frm.payType.value=="Cheque" || frm.payType.value=="EFT") {
			//if (frm.poNumber.value=='') {
				//return 'A reference or PO number must be specified'+"\n";
			//}
		}
		if (frm.payType.value=="Free") {
		}
		if (frm.payType.value=="MyCard") {
		}
		if (frm.payType.value=='CreditCard') {
			if (frm.payMethod.selectedIndex=='0') {
				 prompt=prompt+ 'A card type must be selected'+"\n" ;
			}
			now = new Date();		
			endDate = new Date(frm.endYear.options[frm.endYear.selectedIndex].value,frm.endMonth.options[frm.endMonth.selectedIndex].value);
			if (now > endDate) {
				prompt=prompt+ 'Credit card has expired'+"\n";
			}
			
			if (frm.cardName.value.length<2) {
				 prompt=prompt+ 'Credit card name not supplied'+"\n" ;
			}
			if ( frm.cv2.value=='' && (frm.payMethod.value!='swch') ) {
				 prompt=prompt+ 'The security code is required'+"\n" ;
			}
			else if ( (frm.cv2.value.length < 3) && (frm.payMethod.value!='swch') ) {
				 prompt=prompt+ 'The security code is required'+"\n" ;
			}
			if ( frm.address1_2.value =="" || frm.city_2.value =="" || frm.postcode_2.value =="" || frm.countryname_2.options[frm.countryname_2.selectedIndex].value=="" ) {
				 prompt=prompt+ 'A cardholder address is required'+"\n" ;
			}
			
			if (frm.payMethod.value=='swch') {
				// validate switch stuff
				if (frm.issueNumber.value=='' || !isFinite(frm.issueNumber.value)) {
					 //prompt=prompt+ 'A SWITCH card requires a valid issue number'+"\n";
				}	
				startDate = new Date(frm.startYear.options[frm.startYear.selectedIndex].value,frm.startMonth.options[frm.startMonth.selectedIndex].value);
				if (startDate >= endDate) {
					 prompt=prompt+ 'SWITCH card requires a valid from date'+"\n";
				} // if				
			} // if switch
			
			if (!isValidCardNumber(frm.payDevice.value)) {
				 prompt=prompt+ 'Invalid credit card number (length and format)'+"\n";
			}	

			
		} // if creditcard
		return prompt;	

} // validateCheckoutForm	


function validateHotelCheckoutForm(frm,event) {	
		var prompt="";
			
		//Always a credit card
			if (document.getElementById('INTERNAL') && frm.payType.value=='INT') {
				if (frm.cardName.value.length<2) {
					 prompt=prompt+ 'name not supplied'+"\n" ;
				}
				if (frm.payDevice.value=='') {
					 prompt=prompt+ 'cost centre not supplied'+"\n" ;
				}
			} else {

				if (frm.payMethod.selectedIndex=='0') {
					 prompt=prompt+ 'A card type must be selected'+"\n" ;
				}
				now = new Date();		
				endDate = new Date(frm.endYear.options[frm.endYear.selectedIndex].value,frm.endMonth.options[frm.endMonth.selectedIndex].value);
				if (now > endDate) {
					prompt=prompt+ 'Credit card has expired'+"\n";
				}
				
				if (frm.cardName.value.length<2) {
					 prompt=prompt+ 'Credit card name not supplied'+"\n" ;
				}
				/*
				if ( bCheckcv2 && (frm.cv2.value.length<3) && (frm.payMethod.value!='swch')) {
					 prompt=prompt+ 'The security code is required'+"\n" ;
				}
				*/
	
			
				if (frm.payMethod.value=='swch') {
					// validate switch stuff
					if (frm.issueNumber.value=='' || !isFinite(frm.issueNumber.value)) {
						 //prompt=prompt+ 'A SWITCH card requires a valid issue number'+"\n";
					}	
					startDate = new Date(frm.startYear.options[frm.startYear.selectedIndex].value,frm.startMonth.options[frm.startMonth.selectedIndex].value);
					if (startDate >= endDate) {
						 prompt=prompt+ 'SWITCH card requires a valid from date'+"\n";
					} // if				
				} // if switch
				if (!checkCreditCard(frm.payDevice.value,frm.payMethod.value)) {
					 prompt=prompt+ 'Invalid credit card number (length and format)'+"\n";
				}		
		}
		return prompt;	

} // validateHotelCheckoutForm		

function copyCardholder(formObj,state) {

	if (state) {
		formObj.address1_2.value=document.myaddress.address1.value;
		formObj.address2_2.value=document.myaddress.address2.value;
		formObj.city_2.value=document.myaddress.city.value;
		formObj.county_2.value=document.myaddress.county.value;
		formObj.postcode_2.value=document.myaddress.postcode.value;
		formObj.countryname_2.value=document.myaddress.countryname.value;
		
	} else {
		formObj.address1_2.value=document.cardholderaddress.address1.value;
		formObj.address2_2.value=document.cardholderaddress.address2.value;
		formObj.city_2.value=document.cardholderaddress.city.value;
		formObj.county_2.value=document.cardholderaddress.county.value;
		formObj.postcode_2.value=document.cardholderaddress.postcode.value;
		formObj.countryname_2.value=document.cardholderaddress.countryname.value;
	}
	
}

function openWindow(url) {
	window.open(url, "newwindow", "width=700,height=600,scrollbars=yes,resizable=yes,status=yes");
}

function partType() {

	var selected='';
	for (var i=0; i<document.frmRegForm.SAP_DECHAR2.length; i++) {
		if (document.frmRegForm.SAP_DECHAR2[i].checked == true) {
			selected = document.frmRegForm.SAP_DECHAR2[i].value;
		}
	}

	if (selected=='Other') {
		
		var browser = navigator.appName; //find the browser name
	
		if(browser == "Microsoft Internet Explorer"){ 
			document.getElementById('reloth').style.display = 'block';
			document.getElementById('reloth1').style.display = 'block';
		}else{
			document.getElementById('reloth').style.display = 'table-row';
			document.getElementById('reloth1').style.display = 'table-row';
		}
		
	} else {
		document.getElementById('reloth').style.display='none';
		document.getElementById('reloth1').style.display='none';
	}


}

function attendType() {

	var selected='';
	for (var i=0; i<document.frmRegForm.SAP_DECHAR9.length; i++) {
		if (document.frmRegForm.SAP_DECHAR9[i].checked == true) {
			selected = document.frmRegForm.SAP_DECHAR9[i].value;
		}
	}
	
	if (selected=='None of the above') {
		
		var browser = navigator.appName; //find the browser name
	
		if(browser == "Microsoft Internet Explorer"){ 
			document.getElementById('attendoth').style.display = 'block';
			document.getElementById('attendoth1').style.display = 'block';
		}else{
			document.getElementById('attendoth').style.display = 'table-row';
			document.getElementById('attendoth1').style.display = 'table-row';
		}
		
	} else {
		document.getElementById('attendoth').style.display='none';
		document.getElementById('attendoth1').style.display='none';
	}

}

function heardType() {

	document.getElementById('heardoth').style.display='none';

	if (document.getElementById('SAP_DECHAR7').value == 'Other') {
	
		var browser = navigator.appName; //find the browser name
	
		if(browser == "Microsoft Internet Explorer"){ 
			document.getElementById('heardoth').style.display = 'block';
		}else{
			document.getElementById('heardoth').style.display = 'table-row';
		}	
	
	}

}

function gearBox(oldnode,newnode) {
		//document.getElementById(oldnode).style.display='none';
		document.getElementById(newnode).style.display='block';
}

function sapTest(event) {

		//alert(document.getElementById('company').value.indexOf('SAP'));

		if (event=='hide') {

				document.getElementById('SAPWARNING').style.visibility="hidden";
				document.getElementById('compcont').disabled = false;

		}	
		else if (document.getElementById('company').value.indexOf('SAP') == 0) {

				//x=(document.width - 657)/2;
				//y=(document.height - 500)/2;
				
				if (parseInt(navigator.appVersion)>3) {
				 if (navigator.appName=="Netscape") {
				  x = window.innerWidth;
				  y = window.innerHeight;
				 }
				 if (navigator.appName.indexOf("Microsoft")!=-1) {
				  x = document.body.offsetWidth;
				  y = document.body.offsetHeight;
				 }
				}
				
				var dleft = ((x-500)/2) + 'px';
				var dtop = y/2 + 'px';
				
				document.getElementById('SAPWARNING').style.left=dleft;
				document.getElementById('SAPWARNING').style.top=dtop;					
				document.getElementById('SAPWARNING').style.visibility="visible";
				
				document.getElementById('compcont').disabled = true;
				
		}		
	

}

function hideWarning() {

	document.getElementById('SAPWARNING').style.visibility="hidden";
	document.getElementById('compcont').disabled = false;	

}

function testGroups() {

	if (document.getElementById('group1').selectedIndex != 0) {
		document.getElementById('group2').disabled = true;
	}
	else if (document.getElementById('group2').selectedIndex != 0) {
		document.getElementById('group1').disabled = true;
	}
	else {
		document.getElementById('group1').disabled = false;
		document.getElementById('group2').disabled = false;
	}	

}

function showOtherBox(field,othervalue,otherrow) {

	document.getElementById(otherrow).style.display='none';

	if (document.getElementById(field).value == othervalue) {
	
		var browser = navigator.appName; //find the browser name
	
		if(browser == "Microsoft Internet Explorer"){ 
			document.getElementById(otherrow).style.display = 'block';
		}else{
			document.getElementById(otherrow).style.display = 'table-row';
		}	
	
	}

}

function changeJobTitles() {

	var jobfunction = document.getElementById('SAP_DECHAR0').value;
	
	var newmenu='';

	switch (jobfunction) {
	
		case 'Software developer':
		
			newmenu = jbt_software;
			break;
			
		case 'Systems administrator':
			newmenu = jbt_sysadmin;
			break;
			
		case 'Business process expert':
			newmenu = jbt_business;
			break;
			
		case 'IT manager':
			newmenu = jbt_itman;
			break;
			
		case 'SAP partner, consultant, or ISV':
			newmenu = jbt_sappart;
			break;
			
		case 'Enterprise architect':
			newmenu = jbt_enter;
			break;
		
		case 'Other':	
			newmenu = jbt_other;
			// Show other jobtitle text box
			
			break;
		
	}

	//var menuopt = eval(newmenu);
	
        for (var i=document.getElementById("jobtitle").options.length; i > -1; i=i-1) {  
	
	  document.getElementById("jobtitle").options[i] = null;

        }      
        
        document.getElementById("jobtitle").options[0] = new Option('Select', '', true, false);
        
        var counter=1;
        for (i=0; i<newmenu.length; i++) {

   	  document.getElementById("jobtitle").options[counter] = new Option(newmenu[i], newmenu[i], false, false);	
   	  counter++;
      
        }
        
        showOtherBox('jobtitle','Other','jobtother');

}

// Function that displays the info for the pre conference
function showPreConfInfo(pcid) {

	if (document.getElementById('preconfinfo').style.display == 'block') {
	
		document.getElementById('preconfinfo').style.display = 'none';
	
	} else {
	
		document.getElementById('preconfinfo').style.display = 'block';

		var preconfhtml  = '<table width=100% style="border: medium double rgb(0,0,0)">';
		    preconfhtml += '<tr><td style="text-align:left"><b>'+document.getElementById('description_'+pcid).value+'</b></td><td style="text-align:right" valign="top"><a href="javascript:showPreConfInfo(0)">Close</a></td></tr>';
		    preconfhtml += '<tr><td colspan="2"><Br>';
		    preconfhtml += document.getElementById('moreinfo_'+pcid).value;
		    preconfhtml += '<br><br></td></tr></table>';

		document.getElementById('preconfinfo').innerHTML = preconfhtml;	
		
	}

}

function showDesc(divid) {


      if (document.getElementById(divid).style.visibility == 'hidden') { 

		 //DisableEnableForm(document.frmRegForm,true);
		 if (document.all) {

		  x = document.body.offsetWidth;
		  y = document.body.offsetHeight;

		  y = 300;

		  offset =  document.body.scrollHeight;
		  var dtop = y / 2;

		  var dleft = ((x-550)/2) + 'px';

		  document.getElementById(divid+'inner').style.left=dleft;

		 } else {

		  x = window.innerWidth;
		  y = window.innerHeight;

		  y = 300;

		  y = y + window.pageYOffset;

		  offset = window.pageYOffset;
		  var dtop = (y + offset) / 3;

		 }


		//var dtop = (y + offset) / 3;
		var dleft = (x/2) + 'px';

	      document.getElementById(divid).style.left=0;
	      document.getElementById(divid).style.top=0;
	      document.getElementById(divid).style.height=y+'px';
	      document.getElementById(divid).style.visibility = 'visible';
	      document.getElementById(divid).style.display = 'block';

	      document.getElementById(divid+'inner').style.top=dtop+'px';
	      //document.getElementById(divid+'inner').style.left=dleft;	
     }
     else 
     {

	  document.getElementById(divid).style.visibility = 'hidden';   

     }




}
