function valString(pForm,pField,pLabel,pRequired,pMaxLen){

	var strTest = new String() ; 
	strTest = document.forms[pForm].elements[pField].value ; 

	if(pRequired=='1'){
		if(strTest==''){
			alert(pLabel + ' required.');
			document.forms[pForm].elements[pField].focus();
			return false ;
		}
	}
	
	if(pMaxLen != ''){
		if(pMaxLen < strTest.length){
			alert(pLabel + ': maximum length is ' + pMaxLen + '.\nThere are currently ' + strTest.length + ' characters.');
			document.forms[pForm].elements[pField].focus();
			return false ;
		}
	}

	return true ;

}

function valNumber(pForm,pField,pLabel){

	var strTest = new String() ; 

	if(document.forms[pForm].elements[pField].value==''){
		document.forms[pForm].elements[pField].value = '1' ;
	}
	strTest = document.forms[pForm].elements[pField].value ; 

	if(isNaN(strTest)){
		alert(pLabel + ' must be a number.');
		document.forms[pForm].elements[pField].focus();
		return false ;
	}

	return true ;

}

function valInteger(pForm,pField,pLabel){

	var strTest = new String() ; 

	if(document.forms[pForm].elements[pField].value==''){
		document.forms[pForm].elements[pField].value = '0' ;
	}
	strTest = document.forms[pForm].elements[pField].value ; 

	if(isNaN(strTest)){
		alert(pLabel + ' must be a number.');
		document.forms[pForm].elements[pField].focus();
		return false ;
	}
	if(strTest.indexOf('.') >= 0){
		alert(pLabel + ' must be a whole number.');
		document.forms[pForm].elements[pField].focus();
		return false ;
	}

	return true ;

}

function valSelection(pForm,pField,pLabel){
	var jValue = 0 ; 
	for(var ii=0; ii < document.forms[pForm].elements[pField].length; ii++){
		if(document.forms[pForm].elements[pField][ii].selected == true){
			jValue = document.forms[pForm].elements[pField][ii].value ; 
		}
	}
	if(jValue < 1){
		alert(pLabel + ' is required.');
		document.forms[pForm].elements[pField].focus();
		return false ;
	}

}

function valDate(pLabel, obj){

	//simple date validation, Barry Diederich

	var del1 = -1 ;
	var del2 = -1 ;
	var deltype = '' ;

	var dd = new String(obj.value) ;

	if((dd.length < 6) || (dd.length > 10)){
		alert(pLabel + ': Not a valid date.\n\nUse date format: MM-DD-YY');
		obj.focus();
		return false ;
	}

	if(deltype==''){
		del1 = dd.indexOf('/') ;
		if(del1 > 0){ deltype = '/' ; }
	}

	if(deltype==''){
		del1 = dd.indexOf('-') ;
		if(del1 > 0){ deltype = '-' ; }
	}

	if(deltype==''){
		del1 = dd.indexOf('.') ;
		if(del1 > 0){ deltype = '.' ; }
	}

	if(deltype==''){
		alert(pLabel + ': Not a valid date.');
		obj.focus();
		return false ;
	}

	del2 = dd.lastIndexOf(deltype)

	var d_mo = dd.substr(0,del1);
	var d_day = dd.substr(del1+1, del2-(del1+1)) ;
	var d_year = dd.substr(del2+1) ;

	if((isNaN(d_mo)==true) || (d_mo < 1) || (d_mo > 12)){
		alert(pLabel + ': Not a valid date.');
		//alert('Month: ' + d_mo + '\nDay: ' + d_day + '\nYear: ' + d_year);
		obj.focus();
		return false ;
	}
	if((isNaN(d_day)==true) || (d_mo < 1) || (d_day > 31)){
		alert(pLabel + ': Not a valid date.');
		//alert('Month: ' + d_mo + '\nDay: ' + d_day + '\nYear: ' + d_year);
		obj.focus();
		return false ;
	}
	if((isNaN(d_year)==true) || (d_year > 2100)){
		alert(pLabel + ': Not a valid date.');
		//alert('Month: ' + d_mo + '\nDay: ' + d_day + '\nYear: ' + d_year);
		obj.focus();
		return false ;
	}


	return true ;

}


function valURL(pObj){
	var jUrl = new String(pObj.value) ;
	if(jUrl.length > 0){
		jUrl = jUrl.toLowerCase() ;
		if(jUrl.substr(0,7) != 'http://'){
			pObj.value = 'http://' + jUrl ;
		}
	}
}

function makeLink(pField) {

	var txtHref = new String();
	var txtDisplay = new String() ;

	if(document.all){
		txtDisplay = getSel() ;
		if(txtDisplay==''){
			alert('You must select text to link first.');
			return  ;
		}
	}


	var lType = confirm('Make an Email link?') ;

	if(lType==true){
		txtHref = prompt('Enter email address:', '') ;
		if(txtHref==null || txtHref==''){ return false ;  	}
		txtHref = 'mailto:' + txtHref ;
	} else {
		txtHref = prompt('Enter website address:', '') ;
		if(txtHref==null || txtHref==''){ return false ;  	}
		txtHref = txtHref.toLowerCase() ;
		if(txtHref.substr(0,7) != 'http://'){
			txtHref = 'http://' + txtHref ;
		}
	}


	if(document.all){
		document.selection.createRange().text = '<a href=' + txtHref + ' target=_blank>' + txtDisplay + '</a>' ;
	} else {
		txtDisplay = prompt('Enter display text.') ;
		var oField = document.getElementById(pField) ;
		var sBody = new String(oField.value) ;
		sBody = sBody + '<br><a href=' + txtHref + '>' + txtDisplay + '</a>' ;
		oField.value = sBody ;
		alert('Link was placed at the bottom of text.  Cut and paste to where you need it.');
	}

}

function getSel() {
	var txt = '';
	var foundIn = '';
	if (window.getSelection) {
		txt = window.getSelection();
	} else if (document.getSelection) {
		txt = document.getSelection();
	} else if (document.selection) {
		txt = document.selection.createRange().text;
	}

	return txt ;

}

function valEmail($paddress){
	if(ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $paddress)){
		return true ;
	} else {
		return false ;
	}
}

