var printDisplayed = false;

/*
 * Cette méthode permet de changer la langue d'affichage de l'interface.
 * Paramètre : code de la langue d'affichage sélectionné
 */
function changeLanguageFront( lang ) {
	if ( document.f == null ) {
		return;
	}
	if ( document.f.SESSION_LANG == null ) {
		return;
	}
	if ( document.f.ACTION_NAME == null ) {
		return;
	}
	if ( document.f.CURRENT_PAGE == null ) {
		return;
	}
	if ( document.f.NEXT_PAGE == null ) {
		return;
	}
	if ( document.f.CURRENT_PAGE.value == 'CURRENT_PAGE' ) {
		document.f.CURRENT_PAGE.value = document.f.NEXT_PAGE.value;
	}
	document.f.SESSION_LANG.value = lang;
	document.f.ACTION_NAME.value = "CHANGE_LANG";
	document.f.NEXT_PAGE.value = document.f.CURRENT_PAGE.value;
	document.f.CURRENT_PAGE.value = "CURRENT_PAGE";
	document.f.action = "/servlet/front";
	document.f.method = "POST";
	document.f.submit();
}

function load_image(loc, img, lang) {
	loc.src="/graphics/recherche" + img + "_" + lang + ".gif";
}


function executeAction(form, actionName) {
	if ( form.CURRENT_PAGE.value == 'CURRENT_PAGE' ) {
		form.CURRENT_PAGE.value = form.NEXT_PAGE.value;
	}
	disableButtons(form);
	form.action = "/servlet/front";
	form.ACTION_NAME.value = actionName;
	form.NEXT_PAGE.value = form.CURRENT_PAGE.value;
	form.method = "POST";
	form.submit();
}

function executeGenericAction(form, actionName) {
	if (cancelFront()){
		if ( form.CURRENT_PAGE.value == 'CURRENT_PAGE' ) {
			form.CURRENT_PAGE.value = form.NEXT_PAGE.value;
		}
		disableButtons(form);
		form.action = "/servlet/front";
		form.ACTION_NAME.value = actionName;
		form.NEXT_PAGE.value = form.CURRENT_PAGE.value;
		form.CURRENT_PAGE.value = "CURRENT_PAGE";
		form.method = "POST";
		form.submit();
	}
}


function executeLink(urlString, form) {
	if ( form == null ) {
		form = document.f;
		if ( form == null ) {
			return;
		}
	}
	if ( form.ACTION_NAME == null ) {
		return;
	}
	if ( form.CURRENT_PAGE == null ) {
		return;
	}
	if ( form.NEXT_PAGE == null ) {
		return;
	}
	if (cancelFront()){
		form.action = "/servlet/front";
		form.ACTION_NAME.value = "CANCEL";
		form.NEXT_PAGE.value = urlString;
		form.CURRENT_PAGE.value = "CURRENT_PAGE";
		form.method = "POST";
		form.submit();
	}
}


function displayToPrint(urlLink) {
	var printUrl = '/html/util/print.jsp';
	if ( urlLink != null )
		printUrl = urlLink;
	if ( document.f == null ) {
		return;
	}
	if ( document.f.CURRENT_PAGE == null ) {
		return;
	}
	printDisplayed = true;
	openWindow(printUrl,'print','width=650','height=500');
}

function displayEenToPrint(urlLink) {
	var printUrl = '/een/print.jsp';
	if ( urlLink != null )
		printUrl = urlLink;
	if ( document.f == null ) {
		return;
	}
	if ( document.f.CURRENT_PAGE == null ) {
		return;
	}
	printDisplayed = true;
	openWindow(printUrl,'print','width=450','height=500');
}


function login() {
	if ( document.f == null ) {
		return;
	}
	if ( document.f.CURRENT_PAGE == null ) {
		return;
	}
	if ( document.f.LOGIN == null ) {
		return;
	}
	if ( document.f.PASSWORD == null ) {
		return;
	}
	
	if ( document.f.CURRENT_PAGE.value == 'CURRENT_PAGE' ) {
		document.f.CURRENT_PAGE.value = document.f.NEXT_PAGE.value;
	}
	
	document.f.ACTION_NAME.value = "LOGIN";
	document.f.LOGIN.value = document.loginForm.LOGIN.value;
	document.f.PASSWORD.value = document.loginForm.PASSWORD.value;
	document.f.action = "/servlet/front";
	document.f.method = "POST";
	document.f.submit();
}

function logout() {
	if (cancelFront()){
		if (authentificationMandatory) {
			document.f.CURRENT_PAGE.value = "/html/index.jsp";
		}
		else {
			if ( document.f == null ) {
				return;
			}
			if ( document.f.CURRENT_PAGE == null ) {
				return;
			}
			if ( document.f.CURRENT_PAGE.value == 'CURRENT_PAGE' ) {
				document.f.CURRENT_PAGE.value = document.f.NEXT_PAGE.value;
			}
		}
		document.f.ACTION_NAME.value = "LOGOUT";
		document.f.action = "/servlet/front";
		document.f.method = "POST";
		document.f.submit();
	}
}

	
function openWindow(p_file,p_windowName,p_width,p_height) {
    	var p_windowOptions = '"toolbar=no,menubar=yes,scrollbars=yes,resizable=yes,'+p_width+','+p_height+'"';
    	newWindow = window.open(p_file,p_windowName,p_windowOptions);
    	newWindow.focus();
}

function trim(str){
	var pattern = /^\s*(\S*)\s*$/;
	var result = str.match (pattern);
	if (result!=null)
		return result[1];
	return str;
}

	
function gotoSection(section) {
	if (( section == null )||( section == '' ))
		return;
	self.location="#"+section;
}
		
/*
 * disableButtons(f)
 *
 * Paramètres:
 * 
 * f:    form
 * 
 * Désactive les boutons d'une page
 */
function disableButtons (f) {
	for (var i=0;i<f.length;i++){
		var elem = f.elements[i];
		if (elem.type=="submit" || elem.type=="button"){
			elem.disabled=true;
		}
	}
}


var mainLib= new Object();
mainLib.executeLink=executeLink;



/*
 * addField (form, fieldType, fieldName, fieldValue)
 * 
 * Add an INPUT element in a form
 *
 * Parameters:
 * form:    				Form name
 * fieldType:				Field type
 * fieldName:				Field name
 * fieldValue:				Value of the 
 *
 */
function addField (form, fieldType, fieldName, fieldValue) {
  if (document.getElementById) {
    var input = document.createElement ('INPUT');
      if (document.all) {
        input.type = fieldType;
        input.name = fieldName;
        input.value = fieldValue;
      }
      else if (document.getElementById) {
        input.setAttribute('type', fieldType);
        input.setAttribute('name', fieldName);
        input.setAttribute('value', fieldValue);
      }
    form.appendChild(input);
  }
}
