var undefined;
var linkActionned = false;
function perform(f, actionName, formAction) {
	if ( !linkActionned ) {
		f.ACTION.value = actionName;
		if (formAction != undefined)
			f.action = formAction;
		if (f.ACTION_ID != undefined)
			f.ACTION_ID.value = new Date().getTime();
		linkActionned = true;
		f.submit();
	}
}

function performNewWindow(f, actionName, formAction) {
	if ( !linkActionned ) {
		f.ACTION.value = actionName;
		if (formAction != undefined)
			f.action = formAction;
		if (f.ACTION_ID != undefined)
			f.ACTION_ID.value = new Date().getTime();
		linkActionned = false;
		var p_windowOptions = '"toolbar=no,menubar=no,scrollbars=no,resizable=yes,width=550,height=500"';
    	window.open('','FORMULAR',p_windowOptions);
    	f.target='FORMULAR';
    	f.submit();
    	f.target='';
	}
}

function download(f, actionName, id) {
	f.DOWNLOAD.value = id;
	f.ACTION.value = actionName;
	f.ACTION_ID.value = new Date().getTime();
	f.submit();
}

function goTo(f, nextPage) {
	f.ACTION_ID.value = new Date().getTime();
	f.NEXT_PAGE.value = nextPage;
	f.ACTION.value = 'frontend.GoTo';
	f.submit();
}

function trim(str) {
	var pattern = /^\s*(\S*)\s*$/;
	var result = str.match (pattern);
	if (result!=null)
		return result[1];
	return str;
}

function changeStyle(id, style) {
	var tmpInner;  
	if ( document.getElementById )
  		tmpInner = document.getElementById(id).innerText;
	else if ( document.all )
  		tmpInner = document.all[id2].innerText;

  	if (style != undefined)
  		tmpInner = "<a style='" + style + "'>" + tmpInner + "</a>";
	
	if ( document.getElementById )
  		document.getElementById(id).innerHTML = tmpInner;
	else if ( document.all )
  		document.all[id2].innerHTML = tmpInner;
}

/*
 * checkMail (emailStr)
 *
 * Paramètres:
 * 
 * emailStr:    adresse Email a valider
 * 
 * retourne true si l'adresse est valide 
 * valide une adresse Email
 */
function checkEmail (emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	
	
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	// See if "user" is valid 
	if (user.match(userPat)==null) {
	    return false
	}
	
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
			return false
		    }
	    }
	    return true
	}
	
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
	    return false
	}
	
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   return false
	}
	
	// Make sure there's a host name preceding the domain.
	if (len<2) {
	   return false
	}

	return true;
}



