// ****** opens link in popup window
function pop(url) { 
topL=20;
leftL=20;
width=640;
height=480;    
toolbar=1;      
scrollbar=1;      
wName='popUp';
width = (arguments.length>1)?arguments[1]:width; // option to pass in width
height = (arguments.length>2)?arguments[2]:height; // option to pass in height    
toolbar = (arguments.length>3)?arguments[3]:toolbar; // option to turn toolbar off
scrollbar = (arguments.length>4)?arguments[4]:scrollbar; // option to turn scrollbar off
wName = (arguments.length>5)?arguments[5]:wName; // option to pass in window name     

var str="toolbar="+ toolbar +",location=0,directories=0,status=0,menubar=0,scrollbars="+ scrollbar +",width="+ width +",height="+ height +",screenX="+ leftL +",screenY="+ topL +",left="+ leftL +",top="+ topL +",resizable=1";
var Pwin = window.open(url,wName,str,true)
Pwin.focus();
return false;
}

// new wrapper object
var ap = new Object();

// remove error flags
ap.removeError = function(fld){
	var myImgs = fld.parentNode.getElementsByTagName('img');
	for(var i = 0; i < myImgs.length; i++){
		if(myImgs[i].className=='err'){
			fld.parentNode.removeChild(myImgs[i]);
		}
	}
}
// add error flags
ap.addError = function(fld){
	ap.removeError(fld);
	var myi = document.createElement('img');
	myi.className = 'err';
	myi.src = "images/icn_error.gif";
	myi.alt = "There was a problem with this field.";
	fld.parentNode.appendChild(myi);
}
// simple validation for blank fields only
ap.validate = function(frm){

	var txtFlds = new Array();
	var errFlds = new Array();
	// grab all text fields
	for(var i = 0; i < frm.elements.length; i++){
		if(frm.elements[i].type=='text'){
			txtFlds[txtFlds.length] = frm.elements[i];
			ap.removeError(frm.elements[i]);
		} else {
			if(frm.elements[i].type=='select-one'){
				ap.removeError(frm.elements[i]);
				if(frm.elements[i].selectedIndex==0){
					errFlds[errFlds.length] = frm.elements[i];
					ap.addError(frm.elements[i]);
				}
			}
		}
		
	}
	// grab all erroneous ones
	for(var i = 0; i < txtFlds.length; i++){
		if(txtFlds[i].value=='' || txtFlds[i].value==' ' || txtFlds[i].value == undefined){
			errFlds[errFlds.length] = txtFlds[i];
			ap.addError(txtFlds[i]);
		}
	}
	if(errFlds.length>0){
		alert("One or more required fields are missing.\nPlease try again.");
		return false;
	} else {
		frm.submit();
		return true;
	}
}

// for FAQs - highlights the question that was clicked
function jumpTo(loc){
	var myHilites = getElementsByClassName('hilite');
	if(myHilites.length > 0){
		for(var i = 0; i < myHilites.length; i++){
				myHilites[i].className = '';
		}
	}
	if(document.getElementById && loc.lastIndexOf('#') >= 0){
		var o = document.getElementById(loc.substr(loc.lastIndexOf('#')+1));
		o.parentNode.className = 'hilite';
	}
}

// utility function
function getElementsByClassName(c) {
   var ret = new Array();
   var j = 0;
   var objs = document.all ? document.all : document.getElementsByTagName("*");
   for(i = 0;i<objs.length;i++){
     if(objs[i].className == c){
       ret[j] = objs[i];
       j++;
     }
   }
   return ret;
 }