
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}

function YY_checkform() { //v4.66
//copyright (c)1998,2002 Yaromat.com
  var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq;
  for (var i=1; i<args.length;i=i+4){
  if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
  var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));
  myV=myObj.value;
  if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
  if (myReq&&myObj.value.length==0){addErr=true}
  if ((myV.length>0)&&(args[i+2]==1)){ //fromto
  var myMa=args[i+1].split('_');if(isNaN(myV)||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
  } else if ((myV.length>0)&&(args[i+2]==2)){
 var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(myV))addErr=true;
  } else if ((myV.length>0)&&(args[i+2]==3)){ // date
  var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);
  if(myAt){
 var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
 var myDate=new Date(myY,myM,myD);
 if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true};
  }else{addErr=true}
  } else if ((myV.length>0)&&(args[i+2]==4)){ // time
  var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
  } else if (myV.length>0&&args[i+2]==5){ // check this 2
 var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
 if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
 if(!myObj1.checked){addErr=true}
  } else if (myV.length>0&&args[i+2]==6){ // the same
 var myObj1 = MM_findObj(args[i+1]);
 if(myV!=myObj1.value){addErr=true}
  }
  } else
  if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
 var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
 var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
  if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
  if (args[i+2]==2){
  var myDot=false;
  for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
  if(!myDot){myErr+='* ' +args[i+3]+'\n'}
  }
  } else if (myObj.type=='checkbox'){
  if(args[i+2]==1&&myObj.checked==false){addErr=true}
  if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
  } else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
  if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
  }else if (myObj.type=='textarea'){
  if(myV.length<args[i+1]){addErr=true}
  }
  if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
  }
  if (myErr!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+myErr)}
  document.MM_returnValue = (myErr=='');
}

//Limits the size of the textfield
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
countfield.value = maxlimit - field.value.length;
}