var isNN = (navigator.appName.indexOf("Netscape")!=-1);
//****************************************************************************
//****************************************************************************
function MovePage(direction, targetPage){

        if (direction == 'Next'){
                if (CheckRequired(document.frm)){
                        document.frm.action = targetPage + "&direction=next";
                        document.frm.submit();
                }
        }

        if (direction == 'Previous'){
                document.frm.action = targetPage + "&direction=previous";
                document.frm.submit();
        }
}
//****************************************************************************
//****************************************************************************
function fSubmitForm (frm)
{
        if (CheckRequired(frm) == 1)
        {
                frm.submit();
        }
}
//****************************************************************************
//****************************************************************************
function toCaps(frmObj) { 
var index; 
var tmpStr; 
var tmpChar; 
var preString; 
var postString; 
var strlen; 
tmpStr = frmObj.value.toLowerCase(); 
strLen = tmpStr.length; 
if (strLen > 0)  { 
for (index = 0; index < strLen; index++)  { 
if (index == 0)  { 
tmpChar = tmpStr.substring(0,1).toUpperCase(); 
postString = tmpStr.substring(1,strLen); 
tmpStr = tmpChar + postString; 
} 
else { 
tmpChar = tmpStr.substring(index, index+1); 
if (tmpChar == " " && index < (strLen-1))  { 
tmpChar = tmpStr.substring(index+1, index+2).toUpperCase(); 
preString = tmpStr.substring(0, index+1); 
postString = tmpStr.substring(index+2,strLen); 
tmpStr = preString + tmpChar + postString; 
         } 
      } 
   } 
} 
frmObj.value = tmpStr; 
} 
//****************************************************************************
//****************************************************************************
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 CheckRequired(frm) {
var errorMessage = "";
        for(I=0;I<frm.elements.length;I++) 
        {
                        
            
            if (frm.elements[I].id != "" && frm.elements[I].value.length > 0){
                 
                if (frm.elements[I].valueType == "email" && !(isEmail(frm.elements[I].value) ) ){
                                errorMessage += "Invalid email address (should be you@yourisp.com format)\n";
			                   frm.elements[I].focus();
            			      break;
                        }
                        else if (frm.elements[I].valueType == "numeric" && isNaN(frm.elements[I].value)){
                                errorMessage += frm.elements[I].id + " must be all numeric.\n";
			                   frm.elements[I].focus();
            			      break;
                        }
//                        else if (frm.elements[I].valueType == "addy") {
//                               var tmp = frm.elements[I].value;
//								if ((tmp.indexOf("P.O.") != -1) or (tmp.indexOf("PO Box") != -1) or (tmp.indexOf("p.o.") != -1)) {
//	                                errorMessage += "P.O. Boxes may not be used.\r";
//    	                            frm.elements[I].value = "";
//								}
//                        }
            }      
            
            else if (frm.elements[I].id != "" && frm.elements[I].value.length == 0){
                       // alert("Please fill in "+ frm.elements[I].id);
                    errorMessage +=  "Required field: " + frm.elements[I].id + "\n";
                   frm.elements[I].focus();
                  break;
                }
            }
                        
                        
                        if (errorMessage.length > 0){

                        errorMessage = "Please correct the following: \n\n" + errorMessage
                        
                                alert(errorMessage);
                                return false;
                        }
                        else {
                                return true;
                        }
}
//****************************************************************************
//****************************************************************************
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
 
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  
  return (!r1.test(str) && r2.test(str));
}
//****************************************************************************
//****************************************************************************
function fmouseblur(item)
        {
        item.className="smouseblur";
        }

function fmouseover(item)
        {
        item.className="smouseover";
        }

function fmouseclick(item)
        {
        item.className="smouseclick";
        }

//****************************************************************************
//****************************************************************************
function popUp(helpFile)
        {
        window.open (helpFile,'popup','width=500,height=500,scrollbars=yes,resizable=yes,menubar=no');
        }
  


