﻿// ################################################################################
//
// Fonctions Javascript Editorialys 2001
// Version 1.00 du 30/06/2001
// Alain DIART pour CNSX
//
// ################################################################################

var localesElysConfirmBeforeClosing_fr = "Vous avez apporté des modifications sur cette page, \nêtes vous sûr de vouloir quitter cette page sans sauvegarder vos modifications ?\n\nCliquer sur Ok pour enregistrer vos modifications.";
var localesElysDidYouKnewIt_fr = "le saviez vous ?";
var localesElysAvailabilitiesDeletionConfirm_fr = "Etes vous sûrs de vouloir supprimer cette plage de dates ?";

var localesElysConfirmBeforeClosing_en = "[EN]Vous avez apporté des modifications sur cette page, \nêtes vous sûr de vouloir quitter cette page sans sauvegarder vos modifications ?\n\nCliquer sur Ok pour enregistrer vos modifications.";
var localesElysDidYouKnewIt_en = "[EN]le saviez vous ?";
var localesElysAvailabilitiesDeletionConfirm_en = "Etes vous sûrs de vouloir supprimer cette plage de dates ?";

var localesElysConfirmBeforeClosing_es = "[ES]Vous avez apporté des modifications sur cette page, \nêtes vous sûr de vouloir quitter cette page sans sauvegarder vos modifications ?\n\nCliquer sur Ok pour enregistrer vos modifications.";
var localesElysDidYouKnewIt_es = "[ES]le saviez vous ?";
var localesElysAvailabilitiesDeletionConfirm_es = "Etes vous sûrs de vouloir supprimer cette plage de dates ?";

var localesElysConfirmBeforeClosing_ja = "このページは変更されています。変更を保存せずにこのページを終了してもよろしいですか？よければOKをクリックしてください。";
var localesElysDidYouKnewIt_ja = "ご存知ですか?";
var localesElysAvailabilitiesDeletionConfirm_ja = "この掲載期間を削除してもよろしいですか？";

var localesElysConfirmBeforeClosing_pt = "[PT]Vous avez apporté des modifications sur cette page, \nêtes vous sûr de vouloir quitter cette page sans sauvegarder vos modifications ?\n\nCliquer sur Ok pour enregistrer vos modifications.";
var localesElysDidYouKnewIt_pt = "[PT]le saviez vous ?";
var localesElysAvailabilitiesDeletionConfirm_pt = "Etes vous sûrs de vouloir supprimer cette plage de dates ?";

var sLastStatus;
var bStatusLocked;
var sLastTips;
var bPageModified;
var frmSave;
var sTitle;

var elysDefaultLanguageCode = "fr";
var elysCurrentLanguageCode = elysDefaultLanguageCode;

	bPageModified = false;
	sTitle = document.title;
	
	function elysCheckParentFrame(reloadUrl){ // Vérifie que la page est bien dans le cadre de frame, reload sinon
		if (top.document == document){

			top.document.location = reloadUrl;
		}
	}
	
	function elysSetPageModified(){ // Positionne le status de modification à vrai
	
		bPageModified = true;
	}

	function elysSetFrmSave(frm){ // Positionne le formulaire à utiliser pour sauvegarder les modifications apportées sur une page
		
		// Positionne la variable globale
		frmSave = frm;
		
		// Puis ajoute l'event sur tous les controles
		
	}
	
	function elysWarnPageModifiedArtc(){ // A appeller sur onUnload de la page de gestion des articles : affiche une boite et sauvegarde le cas échéant
	
		if(bPageModified){
			if (confirm(elysGetLocaleString('localesElysConfirmBeforeClosing'))){
				bPageModified = false;
				submitArtc();
			}
		}
		return true;
	}
	
	function elysWarnPageModified(){ // A appeller sur onUnload : affiche une boite et sauvegarde le cas échéant
	
		if(bPageModified){
			if (confirm(elysGetLocaleString('localesElysConfirmBeforeClosing'))){
				bPageModified = false;
				frmSave.submit();
			}
		}
		return true;
	}

	function elysSetStatus(sStatus){ // Positionne le status editorialys avec une valeur donnée
		if (bStatusLocked != true) {
			if (sStatus == 'undefined') {
				sStatus = ''
			}
			sLastStatus = top.document.getElementById('elysStatus').innerHTML;
			top.document.getElementById('elysStatus').innerHTML = sStatus;
			window.status = sStatus;
		}
		return true;
	}	
	
	function elysSetLockedStatus(sStatus){ // Positionne le status editorialys avec une valeur donnée
		if (sStatus == 'undefined') {
			sStatus = ''
		}
		sLastStatus = top.document.getElementById('elysStatus').innerText;
		bStatusLocked = true;
		window.status = sStatus;
		top.document.getElementById('elysStatus').innerText = sStatus;
		return true;
	}

	
	function elysRevertStatus(){ // Remet le status à son ancienne valeur
		if (bStatusLocked != true) {
			if (sLastStatus == 'undefined') {
				sLastStatus = '';
			}
			top.document.getElementById('elysStatus').innerHTML = sLastStatus;
			window.status = top.document.getElementById('elysStatus').innerText;
		}		
	}
	
	function elysRevertLockedStatus(){ // Remet le status à son ancienne valeur
		window.status = sLastStatus;
		bStatusLocked = false;
		top.document.getElementById('elysStatus').innerText = sLastStatus;		
	}


	function elysSetTips(sTipTitle, sTipDesc, sTipImage, sTipUrl){ // Positionne le tips editorialys avec une valeur donnée
		sLastTips = top.document.getElementById('elysTips').innerHTML;
		if (sTipTitle == '') {
			sTipTitle = elysGetLocaleString('localesElysDidYouKnewIt');
		}
		sNewTip = '<span class="elysaTipTitle">' + sTipTitle + '</span><br><br><span class="elysaTipDesc">' + sTipDesc + '</span>';
		top.document.getElementById('elysTips').innerHTML = sNewTip;
		return true;
	}

	
	function elysRevertTips(){ // Remet le status à son ancienne valeur
		top.document.getElementById('elysTips').innerHTML = sLastTips;		
	}

	
	function elysSetFocus(controlName){
		e = document.getElementById(controlName)
		if (e) { e.focus(); }
	}
	
	
	function elysSwapBox(boxName){ // affiche ou masque un layer
		document.getElementById(boxName).style.display = ((document.getElementById(boxName).style.display == 'none') ? 'inline' : 'none');
	}

	function elysSetHTMLContent(boxName, newValue){ // écrit dans un div un contenu HTML, retourne en résultat de fonction l'ancienne valeur
	var oldValue
	
		oldValue = document.getElementById(boxName).innerHTML;
		document.getElementById(boxName).innerHTML = newValue;
		return oldValue
	}

	function elysFindObj(n, d) { // import fonction dreamweaver
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=elysFindObj(n,d.layers[i].document);
	  if(!x && document.getElementById) x=document.getElementById(n); return x;
	}


	function elysShowHideLayers() { // equivalent de la fonction dreamweaver, utilise display plutot que visibility (plus de bugs d'affichage avec les select)
	  var i,p,v,obj,args=elysShowHideLayers.arguments;
	  for (i=0; i<(args.length-2); i+=3) if ((obj=elysFindObj(args[i]))!=null) { v=args[i+2];
		if (obj.style) { obj=obj.style; v=(v=='show')?'inline':(v='hide')?'none':v; }
		obj.display=v; }
	}

	function elysPreloadImages() { // import fonction dreamweaver
	  var d=document; if(d.images){ if(!d.ELYS_p) d.ELYS_p=new Array();
		var i,j=d.ELYS_p.length,a=elysPreloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.ELYS_p[j]=new Image; d.ELYS_p[j++].src=a[i];}}
	}

	
	function elysSwapImgRestore() { // import fonction dreamweaver
	  var i,x,a=document.ELYS_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	
	function elysInvertSrc(pSrc) {
		var temp,i,x,a=document.ELYS_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
			if (pSrc == x.src){x.oSrc = pSrc;}
	}

	function elysSwapImage() { // import fonction dreamweaver
	  var i,j=0,x,a=elysSwapImage.arguments; document.ELYS_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=elysFindObj(a[i]))!=null){document.ELYS_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	
	function getNextPage(btn, nbPage){ // Fonction de paging de recordset : prend la page suivante
		frm = btn.form;
		if (Number(frm.susap.value) + 1 <= nbPage){
			frm.susap.value = Number(frm.susap.value) + 1;
		} else {
			frm.susap.value = 1
		}
		frm.submit();
	}

	function getPrevPage(btn, nbPage){ // Fonction de paging de recordset : prend la page précédente
		frm = btn.form;
		if (Number(frm.susap.value) - 1 >= 1){
			frm.susap.value = Number(frm.susap.value) - 1;
		} else {
			frm.susap.value = nbPage;
		}
		frm.submit();
	}
		
	function elysGetLocaleString(stringName){ // Fonction de localisation, retourne la chaine localisée
	
		if(eval(stringName +'_'+ elysCurrentLanguageCode) != ''){
			return eval(stringName +'_'+ elysCurrentLanguageCode);
		} else {
			return eval(stringName +'_'+ elysDefaultLanguageCode);
		}
	}
	
	function elysSetLocale(languageCode){ // Fonction de localisation, positionne la langue en cours
		elysCurrentLanguageCode = languageCode;
	}
