//	general.js	Utility routines for form validation
//---------------------------------------------------------------------------


// Enable event capture for Nav
function nav4event()
{
	if (is_nav4up)
	{
		document.captureEvents(Event.KEYPRESS);
	}
}

// For multi-part fields, jump to next one when current field is full
function autotab_toname(evt, cur_field, char_max, goto_field){    
	if (is_nav4){
		if (cur_field.value.length >= char_max){
				goto_field.focus();
			}
	}
	if (is_ie4up || is_nav5up){	// Offset fixed in Nav 6
		if (cur_field.value.length > (char_max-1)){
				goto_field.focus();
		}
	}
}

// Take a date in 199903011230 format and break into its parts.
function formatDate(str){
	if (isEmpty(str)) return;
	var pattern = /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})$/;
	var result = str.match(pattern);
	if (result != null){
		var year = result[1];
		var month = result[2];
		var day = result[3];
		var hour = result[4];
		var minute = result[5];
		document.write(month + "-" + day + "-" + year + " " + hour + ":" + minute);
	}else{
		// make it red if it's a bad format
		document.write("<font color=\"red\">" + str + "</font>");
	}
}

function currentDate(){
	var curdate = new Date();
	document.write(curdate.toLocaleString());
}

function formatPhone(str){
	if (isEmpty(str)){
		return;
	}
	var pattern = /^(\d{3})-?(\d{3})-?(\d{4})$/;
	var result = str.match(pattern);
	if (result != null){
		var areacode = result[1];
		var exchange = result[2];
		var number = result[3];
		document.write(areacode + "-" + exchange + "-" + number);
	}else{
		document.write("<font color=\"red\">" + str + "</font>");
	}
}


function setSelect(selectObject, value){
	var index = -1;
	for (var i = 0; i < selectObject.options.length; i++){
		if (selectObject.options[i].value == value){
			index = i;
			break;
		}
	}
	selectObject.selectedIndex = index;
	return;
}


function preparePhone(str){
	if (! isEmpty(str)){
		var areacode = str.substr(0,3);
		var exchange = str.substr(3,3);
		var number = str.substr(6,4);
		str = areacode + "-" + exchange + "-" + number;
	}
	return str;
}

    
// Get the currently selected value of a select widget
function getSelectValue(select){
	if (select.selectedIndex < 0){
			return("");
	}
	return(select.options[select.selectedIndex].value);
}

function MM_findObj(n, d) { //v4.01
	var p;
	var i;
	var x;  
	if(!d) 
	{
		d=document; 
	}
	
	n = n.toString();
	if((p=n.indexOf("?"))>0&&parent.frames.length) 
	{
		d=parent.frames[n.substring(p+1)].document; 
		n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) 
	{
		x=d.all[n]; 
	}
	for (i=0;!x&&i<d.forms.length;i++) 
	{
		x=d.forms[i][n];
	}
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
	{
		x=MM_findObj(n,d.layers[i].document);
	}
	if(!x && d.getElementById) 
	{
		x=d.getElementById(n); 
	}
	return x;
}

function cookieVal(cookieName)
{
	thisCookie = document.cookie.split(",");				
	for(i=0; i<thisCookie.length; i++)
	{
		if (cookieName == thisCookie[i].split("=")[0])
		{						
			return thisCookie[i].split("=")[1];
		}
	}					
}













