
function formKeyPress (event, formname){
	if(checkEnter(event)){
		if(testForm(formname)){
			document.forms[formname].submit();
		};
		return false;
	}else{
		try{
			document.forms[formname].fupdated.value = 42 ;
		}catch(e){};
	}
}


function testForm (ref){
	var success_action = '' ;
	var failure_action = '' ;
	var f = document.forms[ref] ;
	var cond , valname ;
	for (var i = 0 ; i < allforms[ref].length ; i += 2 ) {
		// this is used in actions
		strname = allforms[ref][i] ;
		if (allforms[ref][i] == '_onfailure' ){
			failure_action = allforms[ref][i+1]	
			continue ;
		}
		if (allforms[ref][i] == '_onsuccess' ){
			success_action = allforms[ref][i+1]	
			continue ;
		}
		if ( f[allforms[ref][i]].type == undefined){
			valname  = '';
		}else{
			valname =  (f[allforms[ref][i]].type.indexOf('select') > -1) ? '' : '.value'  ;
		}
		cond = allforms[ref][i+1][0].replace (/value/g , "f." + allforms[ref][i] + valname);
		if (!eval (cond)){
			if (failure_action) {
				failure_action  = failure_action.replace ('element', 'document.forms[\'' + ref + '\'][\''+allforms[ref][i]+'\']' );
			}		
			if (allforms[ref][i+1][1]) {
				if (useModalDialogs ) {
					var button_html = '<div id="pop_button"><a id="default_button" href="javascript:parent.gDialog.close()">OK</a></div>';
					gDialog.show( ((failure_action) ? failure_action +';':'')  + 'document.forms[\''+ref +'\'][\''+allforms[ref][i]+'\']'+'.focus();' , '<div class="pop_msg_txt">' + allforms[ref][i+1][1] + '</div>' + button_html , 'Form error', 300, 100);
				}else{
					alert (allforms[ref][i+1][1]);
					if (failure_action) {
						eval (failure_action);
					}
					try{	f[allforms[ref][i]].focus();}catch(e){};
				}
			}
			return false ;
		}
	}
	if (success_action) {
		success_action  = success_action.replace ('element', 'document.forms[\'' + ref + '\'][\''+allforms[ref][i]+'\']' );
		eval (success_action);
	}
	return true ;
}


function getFieldValue(obj){
	switch (obj.type){
		case "select-one":
			return obj[obj.selectedIndex].value ;
			break;
		default:
		return obj.value ;
	}
}

function isDate (str , format){
	// MM/DD/YY
	var date_parts = str.split('/') ;
	if (!date_parts[0] || ( date_parts[0] < 1 || date_parts[0] > 12 ) ) { // month
		return false ;
	} 
	if (!date_parts[1] || ( date_parts[1] < 1 || date_parts[1] > 31 ) ){ // day
		return false ;
	} 
	if (!date_parts[2] || ( date_parts[2] < 0 || date_parts[2] > 20 )) { // valid nix year
		return false ;
	} 
	return true ;
}

function trim (str){
	return str.replace(/^\s*|\s*$/g,"") ;
}

function is_checked (val) {
	if (val.length > 1 ) {
		for (var i =0 ; i<val.length ; i++) {
			if (val[i].checked == true) {
				return true ;
			}
		}
	}
	return false ;
}


function is_email(str) {
	var str = trim (str) ;
	if (str.indexOf(" ") != -1){
		return false;
	}else if (str.indexOf("@") == -1){
		return false;
	}else if (str.indexOf("@") == 0){
		return false;
	}else if (str.indexOf("@") == (str.length-1)){
		return false;
	}
	var arrayString = str.split("@");
	if (arrayString[1].indexOf(".") == -1){
		return false;
	}else if (arrayString[1].indexOf(".") == 0){
		return false;
	}else if (arrayString[1].charAt(arrayString[1].length-1) == ".") {
		return false;
	}
	return true;
}


function checkEnter(e){ 
	var evtobj=window.event? event : e  ;
	var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode ;
	if(unicode == 13){
		return true ;
	}else{
		return false ;
	}
}


function isAlnum(str){
	var chr ;
	var alnumchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	for (var i = 0 ; i < str.length ; i ++ ) {
		chr =  str.charAt(i) ;
		var is_ok = false ;
		for (var j = 0 ; j < alnumchars.length ; j ++ ) {
			if ( alnumchars.charAt(j) == chr) {
				var is_ok = true ;
				break;
			}
		}
		if (is_ok == false ){
			return false ;
		}	
	}
	return true ;
}
