function placeFocus() {
if (document.forms.length > 0) {
var field = document.forms[0];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
document.forms[0].elements[i].focus();
break;
         }
      }
   }
}

function stringFilter (input) {
s = input.value;
filteredValues = "' ";     
var i;
var returnString = "";
for (i = 0; i < s.length; i++) {  
var c = s.charAt(i);
if (filteredValues.indexOf(c) == -1) returnString += c;
}
input.value = returnString;
}

function stringApostrophe (input) {
s = input.value;
filteredValues = "'";    
var i;
var returnString = "";
for (i = 0; i < s.length; i++) {  
var c = s.charAt(i);
if (filteredValues.indexOf(c) == -1) returnString += c;
}
input.value = returnString;
}

function stringLCase(input) {
t = input.value;
input.value=input.value.toLowerCase();
}

var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode; 
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}

function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}

function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}

function tmt_winManage(id,c,x,y){
	var d=eval(id)==null||eval(id+".closed");
	if(!d){eval(id+"."+c+"("+x+","+y+")");}
}

function tmt_winLoad(id,u){
	var d=eval(id)==null||eval(id+".closed");
	if(!d){eval(id+".location.href='"+u+"'")}
}

function tmt_winControl(id,c){ 
	var d=eval(id)==null||eval(id+".closed");
	if(!d){eval(id+"."+c);}
}

function tmt_winPrint(id){ 
	if(window.print()){
	var d=eval(id)==null||eval(id+".closed");
	if(!d){eval(id+".print()");}}
}

function pcdWinMax(){
	var winWidth = screen.availWidth;
  var winHeight = screen.availHeight;
	window.moveTo(0,0)
	window.resizeTo(winWidth,winHeight)	
}

function pcdWinRight(winURL,winWidth){
  var winHeight = screen.availHeight;
	var winLeft = (screen.availWidth-winWidth)
  	newWindow=window.open(winURL,'winRight','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,left='+winLeft+',top=0,width='+winWidth+',height='+winHeight);
		newWindow.focus()
}

function unblur() {
	this.blur();
} 

function blurLinks() {
	if (!document.getElementById) return;
		theLinks = document.getElementsByTagName("A");
		theAreas = document.getElementsByTagName("AREA");
		for(i=0; i<theLinks.length; i++) {theLinks[i].onfocus = unblur;}
		for(i=0; i<theAreas.length; i++) {theAreas[i].onfocus = unblur;}
}

function confirmSubmit() {
	var agree=confirm("Warning: Are you sure you want to do this?");
	if (agree) {
		return true;
	} else {		
		return false;
	}
}

function centreWindow(url, windowName, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2 - 20;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable=no,status=yes';
	win = window.open(url, windowName, winprops);

if (parseInt(navigator.appVersion) >= 4) {
	win.window.focus();
		}
	}

function YY_checkform() { 
  var args = YY_checkform.arguments,myDot=true,myV='',myErr='',addErr=false,myReq,rx,myObj1,myMa,myAt;
  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'){
      if (myReq&&myObj.value.length==0)addErr=true;
      if ((myV.length>0)&&(args[i+2]==1)){ 
        if (!(myV/1)||myV<args[i+1].split('_')[0]/1||myV > args[i+1].split('_')[1]/1){addErr=true}
      }
      if ((myV.length>0)&&(args[i+2]==2)){ 
            rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
          }
      if ((myV.length>0)&&(args[i+2]==3)){ 
        myMa=args[i+1].split("#");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}
      }
      if ((myV.length>0)&&(args[i+2]==4)){myMa=args[i+1].split("#");myAt=myV.match(myMa[0]);if(!myAt)addErr=true}
      if (myV.length>0&&args[i+2]==5){ 
        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;
      }
      if (myV.length>0&&args[i+2]==6){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=='');
}