
/**
 * Methode utilisee pour imprimer un article
 */
function print_page() {
	if (typeof(window.print) != 'undefined') { 
		window.print(); 
	}
}

/**
 * Methode permettant d'ouvrir la fenetre de delicious
 * @return
 */
function open_delicious_window(){
	page_url = 'http://delicious.com/save?url='
		+encodeURIComponent(window.location.href)+'&title='+encodeURIComponent(document.title)+'&v=5&';

	if(!window.open(page_url + 'noui=1&jump=doclose','deliciousuiv5',
	'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=600'))
		location.href = page_url+'jump=yes';
}

/**
 * Methode permettant de partager un lien dans delicious.com
 */
function delicious_share(){
	if(/Firefox/.test(navigator.userAgent)){

		setTimeout(open_delicious_window, 0);

	}else{

		open_delicious_window();

	}
}


/**
 * Methode AJAX qui appelle un service en mode asynchrone
 * @param data les donnees a envoyer au serveur
 * @param url l'URL du service
 * @param responseDivId le div devant contenir la reponse du serveur
 * @param method la methode utilisée pour appeller le serveur GET ou POST ou PUT (?)
 */
function ajax_call( data, url, responseDivId, method) {
	var xhr_object = null;
	
	if(window.XMLHttpRequest) // Firefox
	
		xhr_object = new XMLHttpRequest();
	
	else if(window.ActiveXObject) // Internet Explorer
	
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	
	else { // XMLHttpRequest non supporté par le navigateur
	
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}
	
	xhr_object.open(method, url, true);
	
	xhr_object.onreadystatechange = function() {
		if(xhr_object.readyState == 4) {
	
			//alert(xhr_object.responseText);
			window.location.reload();
		}
	};
	
	xhr_object.send(null);
}

/**
 * Permet d'enregistrer un Cookie
 * @param name le nom du cookie
 * @param value la valeur du cookie à stocker
 * @return none
 */
function setCookie(nom, valeur, expires) {
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()));
}

/**
 * Permet de recuperer la valeur d'un cookie à partir d'unee liste de cookie
 * @param offset l'indice du cookie
 * @return la valeur du cookie
 */
function arguments_cookie(offset){
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr)); 
}

/**
 * Récupère la valeur d'un Cookie à partir de son nom
 * @param name le nom du Cookie
 * @return la valeur du Cookie
 */
function getCookie(nom) {
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen){
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg)
			return arguments_cookie(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null; 
}


/**
 * Permet de récuperer la valeur d'un champ à partir d'un Cookie
 * @param cookieName la clé avec laquelle le Cookie est stockée. 
 * Cette valeur doit être la même que la valeur du champ "name" de l'input concerné
 * @param fieldDefaultValue la valeur par défaut du champ
 * @return la valeur à mettre dans le champ
 */
function getFieldValueFromCookie(cookieName, fieldDefaultValue) {
	var fieldValue = getCookie(cookieName);
	if (fieldValue == null) {
		fieldValue = fieldDefaultValue;
	}
	
	return fieldValue;
}




	

	

