
/*~+~f0f2582ad1d076129813d6f805ca37cf~+~*/

function handleError(msg,url,line)
{if(encodeURIComponent)
{var req=new AjaxRequest();var params="msg="+encodeURIComponent(msg)+'&url='+encodeURIComponent(url)+"&line="+line;req.setMethod("POST");return req.loadXMLDoc("/supplemental/logjserror.php",params);}
return false;}
window.onerror=handleError;function AjaxRequest()
{var req;var method="GET";var nocache=false;this.loadXMLDoc=function(url,params)
{if(window.XMLHttpRequest){try{req=new XMLHttpRequest();}catch(e){req=false;}}else if(window.ActiveXObject){try{req=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{req=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){req=false;}}}
if(req){req.onreadystatechange=processReqChange;if(nocache){params+=(params!='')?'&'+(new Date()).getTime():(new Date()).getTime();}
if(method=="POST"){req.open("POST",url,true);req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');req.send(params);}else{req.open(method,url+'?'+params,true);req.send(null);}
return true;}
return false;}
this.setMethod=function(newmethod){method=newmethod.toUpperCase();}
this.nocache=function(){nocache=true;}
var getNodeValue=function(parent,tagName)
{var node=parent.getElementsByTagName(tagName)[0];return(node&&node.firstChild)?node.firstChild.nodeValue:'';}
var processReqChange=function()
{if(req.readyState==4&&req.status==200){var response=req.responseXML.documentElement;var commands=response.getElementsByTagName('command');for(var i=0;i<commands.length;i++){method=commands[i].getAttribute('method');switch(method)
{case'alert':var message=getNodeValue(commands[i],'message');window.alert(message);break;case'setvalue':var target=getNodeValue(commands[i],'target');var value=getNodeValue(commands[i],'value');if(target&&value!=null){document.getElementById(target).value=value;}
break;case'setdefault':var target=getNodeValue(commands[i],'target');if(target){document.getElementById(target).value=document.getElementById(target).defaultValue;}
break;case'focus':var target=getNodeValue(commands[i],'target');if(target){document.getElementById(target).focus();}
break;case'setcontent':var target=getNodeValue(commands[i],'target');var content=getNodeValue(commands[i],'content');if(target&&content!=null){document.getElementById(target).innerHTML=content;}
break;case'setstyle':var target=getNodeValue(commands[i],'target');var property=getNodeValue(commands[i],'property');var value=getNodeValue(commands[i],'value');if(target&&property&&value){document.getElementById(target).style[property]=value;}
break;case'setproperty':var target=getNodeValue(commands[i],'target');var property=getNodeValue(commands[i],'property');var value=getNodeValue(commands[i],'value');if(value=="true")value=true;if(value=="false")value=false;if(target){document.getElementById(target)[property]=value;}
break;default:window.console.log("Error: unrecognised method '"+method+"' in processReqChange()");}}}}}
function toggleSubMenu(menuid)
{$submenu=document.getElementById(menuid);if($submenu)
{if($submenu.style.display)
{$submenu.style.display="";}
else
{$submenu.style.display="inline-block";}}}
function checkEmailValid(str)
{var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)
if(str.indexOf(at)==-1||str.indexOf(at)==0||str.indexOf(at)==lstr)
{return false;}
if(str.indexOf(dot)==-1||str.indexOf(dot)==0||str.indexOf(dot)==lstr)
{return false;}
if(str.indexOf(at,(lat+1))!=-1)
{return false;}
if(str.substring(lat-1,lat)==dot||str.substring(lat+1,lat+2)==dot)
{return false;}
if(str.indexOf(dot,(lat+2))==-1)
{return false;}
if(str.indexOf(" ")!=-1)
{return false;}
return true;}
function isInteger(s)
{var i;for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(((c<"0")||(c>"9")))return false;}
return true;}
function stripCharsInBag(s,bag)
{var i;var returnString="";for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(bag.indexOf(c)==-1)returnString+=c;}
return returnString;}
var phoneNumberDelimiters="()- ";var validWorldPhoneChars=phoneNumberDelimiters+"+";function checkPhoneValid(str)
{var minDigitsInIPhoneNumber=10;s=stripCharsInBag(str,validWorldPhoneChars);return(isInteger(s)&&s.length>=minDigitsInIPhoneNumber);}
function validateForm(form)
{var errmsg="";var error=false;with(form)
{value=name.value;errmsg="There was a problem with the information you provided:\n\n";if(value==null||value=="")
{errmsg+="\tPlease provide your name.\n";error=true;}
value=phone.value;if(value==null||value==""||!checkPhoneValid(value))
{errmsg+="\tPlease provide a valid phone number.\n";error=true;}
value=email.value;if(value==null||value==""||!checkEmailValid(value))
{errmsg+="\tPlease provide a valid email address.\n";error=true;}
value=message.innerHTML;if(value=="")value=message.value;if(value==null||value=="")
{errmsg+="\tPlease provide a message.\n";error=true;}
if(error)
{alert(errmsg);}}
return(!error);}