     function GetFormById(frm){
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==frm){
                return document.forms[i];
            }
        }
    }
    function submitFormName(frmtoSubmit){
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==frmtoSubmit){
                document.forms[i].submit();
            }
        }
    }
    function submitNodeFormName(frmtoSubmit,mode){
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==frmtoSubmit){
                document.forms[i].sel.value=mode;   
                if(document.forms[i].keysearch){
                    document.forms[i].keysearch.value="";                        
                } 
                document.forms[i].submit();
            }
        }
    }
    function submitForm(frmtoSubmit){
        if(frmtoSubmit){
            frmtoSubmit.submit();
        }
    }
    function performsearch(){
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id=='frmmainsearch'){
                document.forms[i].submit();
            }
        }
    }
    function addtobasket(frmtoSubmit){
        var objForm;
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==frmtoSubmit){
                objForm =    document.forms[i];
            }
        }
        if(objForm){
            var element = objForm.elements['bookcoursesessionid[]'];  
            if(element){
                if(element.length){
                    for(i=0;i< element.length;i++){  
                        if(element[i].checked){
                            objForm.submit(); 
                            return;              
                        }
                    }    
                }else{
                    if(element.checked){
                        objForm.submit(); 
                        return;              
                    }
                }
            }
        }
        alert("Please select a course you wish to book");
        return;
    }
    function submitquote(frmtoSubmit){
        var objForm;
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==frmtoSubmit){
                objForm =    document.forms[i];
            }
        }
        if(objForm){
            var element = objForm.rdoVenue;
            if(element){
                if(element.length){
                    for(i=0;i< element.length;i++){  
                        if(element[i].checked){
                            objForm.submit(); 
                            return;              
                        }
                    }    
                }    
            }
        }
        alert("Please select a venue option");
        return;
    }
    function processform(frmtoSubmit,url){
        var objForm;
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==frmtoSubmit){
                objForm =    document.forms[i];
            }
        }
        if(objForm){
            var element = objForm.paymenttype;
            if(element){
                if(element.length){
                    for(i=0;i< element.length;i++){  
                        if(element[i].checked){
                            if(element[i].value=="creditcard"){
                                objForm.action = httpsurl + url;
                            }
                        }
                    }    
                }else{
	                if(element.checked){
                    	if(element.value=="creditcard"){
							objForm.action = httpsurl + url;
                        }
                    }
                }    
            }
        }
        objForm.submit(); 
        return;           
    }
    function refreshpage(frmtosubmit,type){
        //myform = document.forms[frmtosubmit];
         for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==frmtosubmit){
                    myform = document.forms[i];
            }
        }
        mybtn = document.getElementById("hdsecurelogin");
        if(mybtn){
            mybtn.value=type;
        }
        if(myform){
            myform.submit();
        }
    }

	function SubmitEnter(e,frmtosubmit,functiontocall){
		var keycode;
		if (window.event) keycode = window.event.keyCode;
		else if (e) keycode = e.which;
		else return true;

		if (keycode == 13)
		{
            if(frmtosubmit){
                eval(functiontocall);
            } 
		   return false;
		}
		else
		{
			return true;
		}
    }	
    
    function doConfirm(frmToSubmit){
            window.open("popup.htm","","width=150,height=50,toolbar=no,menubar=no");
    }
    function openpopup (url,name,properties)
    {
          //window.open(url,"Help","top=150,left=300,width=458,height=480,scrollbars=auto");
        //window.open(url,name,properties);
        window.open("test.htm",name,properties);
    }
    var winConfirm = null;


    function msgConfirm(message){
		if (confirm (message))
			return true;
		else
			return false;
    }
    
    function selectall(formname,selectdeselect){
        var objForm;
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==formname){
                objForm=document.forms[i];
            }
        }
        if(objForm){
            for(i=0;i< objForm.elements.length;i++){
                if(selectdeselect){
                    objForm.elements[i].checked = true;           
                }else{
                    objForm.elements[i].checked = false;
                }
    	    }
        }
            
    }   
    
    function submitFormvalidateinput(formname){
        var retval = false;
        var objForm;
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==formname){
                objForm=document.forms[i];
            }
        }
        if(objForm){
            if(objForm.chkTerms.checked){
                    retval=true;
            }
        }
        if(retval){
            objForm.submit();
        }else{
            alert("Please confirm that you have read and agree to the terms and conditions.");
        }
        
    }
    function submitAttendeeForm(frmtoSubmit){
	    if(!validateattendee(frmtoSubmit)){
		    return;
	    }
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==frmtoSubmit){
                document.forms[i].submit();
            }
        }
    }
    function validateattendee(formname){
	    var retval = false;
        var objForm;
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==formname){
                objForm=document.forms[i];
            }
        }
        if(objForm){
            for(i=0;i< objForm.elements.length;i++){
	            ojelement = objForm.elements[i];
	            if(ojelement.type=="text"){
		            var textboxname = ojelement.name;
		            if(ojelement.value.length==0){
			        	alert("Please enter all the required values");
			        	ojelement.focus();
			        	return false;
	        		}
	        		if(textboxname.indexOf('Email')!=-1){
		        		if(!isValidEmail(ojelement.value)){
			        		alert("Please enter a valid email address");
			        		ojelement.focus();
			        		return false;
		        		}
	        		}
	            }
                
    	    }
        }
        return true;
    }
    function isValidEmail(str) {
		return (str.indexOf(".") >= 1) && (str.indexOf("@") > 0);
	}
    
	function countrychange(objElement){
		var country = objElement.options[objElement.selectedIndex].value;
		if(country=="Other - Please specify"){
			showhideelement("divother",true);
		}else{
			showhideelement("divother",false);
		}
	}
	function Howchange(objElement){
		var How = objElement.options[objElement.selectedIndex].value;
		if(How=="Other- please specify"){
			showhideelement("divotherHow",true);
		}else{
			showhideelement("divotherHow",false);
		}
	}
	function showhideelement(divelement, showhide){
		var show1="";var show2="";
		if(showhide){
			show1="block";show2="visible";	
		}else{
			show1="none";show2="hidden";	
		}
		if (document.getElementById) { // DOM3 = IE5, NS6
			if(document.getElementById(divelement)){
				document.getElementById(divelement).style.display = show1;
			}
		}else {
		    if (document.layers) { // Netscape 4
				if(document.layers[divelement]){
					document.layers[divelement].visibility = show2;
				}
		    }else { // IE 4
				if(document.all(divelement)){
					document.all(divelement).style.visibility = show2;
				}
		    } 
		}
	}
	function Getelement(divelement){
		
		if (document.getElementById) { // DOM3 = IE5, NS6
			if(document.getElementById(divelement)){
				return document.getElementById(divelement);
			}
		}else {
		    if (document.layers) { // Netscape 4
				if(document.layers[divelement]){
					return document.layers[divelement];
				}
		    }else { // IE 4
				if(document.all(divelement)){
					return document.all(divelement);
				}
		    } 
		}
	}
	var FillDDL = "";
	function RetrieveVenues(ddlCourseId,frmSearch)
	{
		var CourseId = ddlCourseId.options[ddlCourseId.selectedIndex].value;
		var objForm = GetFormById(frmSearch);
		if(!objForm) return;
		FillDDL = objForm.bookcoursesessionid;
		
		initDDL(frmSearch);
		showhideelement('div_refreshing',true);
		showhideelement('div_nocourse',false);
		
		var url = uncache('XML/FetchCourseSessions.php?time=1111&CourseId=' + CourseId);
		
		var pars = '';
		var myAjax = new Ajax.Request( 
		url, 
		{ 
			method: 'post', 
			contentType: 'text/xml',
			parameters: pars, 
			onComplete: RetrieveVenues_Response 
		});
	
	}
	function RetrieveVenues_Response(originalRequest)
	{
		try{
			if(!FillDDL) return;
			
			var xmlobj = originalRequest.responseXML;
			if(!xmlobj){
				addOption(FillDDL,"No courses available",0,selected);
				return;
			}
			var xmldoc = xmlobj.documentElement;
			if(!xmldoc){
				showhideelement('div_refreshing',false);
				return;
			}
			if(originalRequest.responseText.length==0){
				return;
			}
			
			var xRows = xmldoc.getElementsByTagName('CourseSession');
			if(xRows.length==0){
				var xCourseRow = xmldoc.getElementsByTagName('Course');
				if(xCourseRow.length>0){
					var attribs = xCourseRow[0].attributes;
					var CourseName=attribs.getNamedItem("Name").value;	
					var DivNoCourse = Getelement('div_nocourse');
					DivNoCourse.innerHTML = DivNoCourse.innerHTML.replace("**NAME**",CourseName);
				}
				showhideelement('div_nocourse',true);
				showhideelement('div_refreshing',false);
				
			}
			
			for(i=0;i<xRows.length;i++){
				var attribs = xRows[i].attributes;
				var Id="";var Value="";
				if(attribs.getNamedItem("CourseSessionId")){
					Id=attribs.getNamedItem("CourseSessionId").value;
				}
				if(attribs.getNamedItem("SessionName")){
					Value=attribs.getNamedItem("SessionName").value;
				}
				Value = Value.replace("&pound;","£");
				Value = Value.replace("&#36;","$");
				var selected = false;
				addOption(FillDDL,Value,Id,selected);
			}
			showhideelement('div_refreshing',false);
		}catch(err){
			txt="There was an error on this page.\n\n";
  			txt+="Error description: " + err.description + "\n\n";
  			txt+="Click OK to continue.\n\n";
  			alert(txt);
  			showhideelement('div_refreshing',false);
		}
	}
	function initDDL(frmcoursesearch){
		var objForm = GetFormById(frmcoursesearch);
		if(!objForm) return;
		var ddlSub = objForm.bookcoursesessionid;
		if(ddlSub){
			ddlSub.options.length=0;
		}
		addOption(ddlSub,"Select a date and location","",false);
	}
	function addOption(selectbox,text,value ,selected)
	{
		var optn = document.createElement("OPTION");
		optn.text = text;
		optn.value = value;
		if(selected){
			optn.selected=true;
		}
		selectbox.options.add(optn);
	}
	function uncache(url){
		var d = new Date();
		var time = d.getTime();
		return url + '&time='+time;
	}
	
	function OpenCourseDescription(forname,CourseURL,Name,Props){
		var objForm = GetFormById(forname);
		if(!objForm) return;
		var CourseId = objForm.ddlCourse.options[objForm.ddlCourse.selectedIndex].value;
		if(CourseId=='') return;
		winpopup(CourseURL + '?courseid='+CourseId,Props);
	}
	
	function BookCourseForm(frmtoSubmit){
        for(var i=0;i<document.forms.length;i++){
            if(document.forms[i].id==frmtoSubmit){
	            var objForm = document.forms[i];
	            if(objForm){
		            var deleg = objForm.ddlAttendees.options[objForm.ddlAttendees.selectedIndex].value;
		            if(deleg=="10+") return;
	            }
                document.forms[i].submit();
            }
        }
    }
    function ValidateDelegate(frm)
	{
		var objForm = GetFormById(frm);
		var deleg = objForm.ddlAttendees.options[objForm.ddlAttendees.selectedIndex].value;
		if(deleg=="10+"){
			showhideelement('div_moredeleg',true);	
		}else{
			showhideelement('div_moredeleg',false);	
		}
	}