// init contexte si non defini
if (!window.ctx) ctx = new Object;

function MpLoad() {
	if (ctx.cook) MpCookSet('SES',MpSerialize(ctx.cook));
  // Appel de la fonction de réectriture des urls des documents de la page
  ReEcrireUrl();
}

// conversion d'une chaine jj/mm/ss hh:mm:ss en Date ou 30/12/1899 si chaine vide ou invalide
function hd(str) {
	var		mask;
	var		t,d,m,y,h,mi,s;
	var		i;

	// init
	d=30;m=12;y=1899;h=mi=s=0;
	// applique les masques successifs horodate, date, heure
	mask = /\s*(\d\d?)\/(\d\d?)\/(\d{4}|\d{2})\s+(\d\d?):(\d\d?):(\d\d?)\s*$/;
	t = mask.exec(str);
	if (t) {
		if (t[3].length == 2) y=2000; else y=0;
		for (i=1; i<t.length; i++) t[i]=parseInt(t[i]);
		d = t[1]; m=t[2]; y+=t[3]; h=t[4]; mi=t[5]; s=t[6];
	}
	else {
		mask = /\s*(\d\d?)\/(\d\d?)\/(\d{4}|\d{2})\s*$/;
		t = mask.exec(str);
		if (t) {
			if (t[3].length == 2) y=2000; else y=0;
			for (i=1; i<t.length; i++) t[i]=parseInt(t[i]);
			d = t[1]; m=t[2]; y+=t[3];
			if (t[3].length == 2) y += 2000;
		}
		else {
			mask = /\s*(\d\d?):(\d\d?):(\d\d?)\s*$/;
			t = mask.exec(str);
			if (t) {
				for (i=1; i<t.length; i++) t[i]=parseInt(t[i]);
				h = t[1]; mi=t[2]; s=t[3];
			}
		}
	}
	if (h>23 || mi>59 || s>59) h=mi=s=0;
	if (d==30 && m==12 && y==1899) {
		return new Date(y,m-1,d,h,mi,s,0);
	}
	if (d<1 || d>31 || m<1 || m>12 || y<1900 || y>2100) { d=30; m=12; y=1899; }
	return new Date(y,m-1,d,h,mi,s,0);
}
// conversion d'une variable en litteral JavaScript
function MpSerialize(v) {
	var y,m,d,h,mi,s,sRet;
	var bComma = false;

	if (v == null) sRet = 'null';

	else if (typeof v == 'string') {
		sRet = v.replace(/\\/g, '\\\\');
		sRet = sRet.replace(/\t/g, '\\t');
		sRet = sRet.replace(/\r/g, '\\r');
		sRet = sRet.replace(/\n/g, '\\n');
		sRet = sRet.replace(/\'/g, '\\\'');
		sRet = "'"+sRet+"'";
	}
	else if (v.constructor == Date) {
		y=v.getFullYear(); m=v.getMonth()+1; d=v.getDate();
		h=v.getHours(); mi=v.getMinutes(); s=v.getSeconds();
		if (d!=30 || m!=12 || y!=1899) {
			d=d.toString(); m=m.toString();
			sRet=((d.length == 2)?d:'0'+d)+'/'+((m.length==2)?m:'0'+m)+'/'+y;
		}
		if (h!=0 || mi!=0 || s!=0) {
			if (sRet) sRet += ' '; else sRet = '';
			h=h.toString(); mi=mi.toString(); s=s.toString();
			sRet += ((h.length == 2)?h:'0'+h)+':'+((mi.length == 2)?mi:'0'+mi)+':'+
			 ((s.length == 2)?s:'0'+s);
		}
		if (sRet == null) sRet = "hd()";
		else sRet = "hd('" + sRet + "')";
	}
	else if (v.constructor == Array) {
		sRet = '[';
		for (var i=0; i < v.length; i++) {
			if (bComma) sRet += ',';
			bComma = true;
			sRet += MpSerialize(v[i]);
		}
		sRet += ']';
	}
	else if (typeof v == 'object') {
		sRet = '{';
		for (var prop in v) {
			if (bComma) sRet += ',';
			bComma = true;
			sRet += prop+':'+MpSerialize(v[prop]);
		}
		sRet += '}';
	}
	else sRet = v.toString();
	return sRet;
}
// fonction d'impression
function printFrame(){
	var sNS		 = (navigator.appName == "Netscape");
	var sVersNav = navigator.appVersion;
	// Navigateur Netscape
	if (sNS) {
		window.print();
	}else{
		// No Version du Navigateur IE
		pos = sVersNav.indexOf("MSIE");
		if (pos >0) {
			numVers = sVersNav.substr((pos+5),1);
			if (numVers > 4){
				window.print();
			}else{
				var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
				document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
				WebBrowser1.ExecWB(6, 2);
				//Use a 1 vs. a 2 for a prompting dialog box
				WebBrowser1.outerHTML = "";
			}
		}else{
			alert("Pour imprimer, utiliser l'item \"Imprimer\" du menu Fichier Imprimer.")
		}
	}
}
// parametrage ouverture d'une fenetre
function MP_paramfen(sW,sH,sToolBar,sStatusBar,sLocation,sMenu,sScroll,sResize,sTitleBar,sDepend){
	sParam = 'width='+sW+',height='+sH+',toolbar='+sToolBar+',status='+sStatusBar+',location='+sLocation+',menubar='+sMenu+',scrollbars='+sScroll+',resizable='+sResize+',titlebar='+sTitleBar+',dependent='+sDepend;
	return sParam;
}
// impression avec ou sans le modele d'impression
function MP_imprimer(url,tMethod) {
	if (!url) {
		url= "ASS_modeleimp.aspx";
		url+=document.location.search;
		if (ctx.rh) url=url+"&rh=1"
	}
	if (!tMethod) tMethod=ctx.post;
	// Cas des Formulaire => Impression direct de la Page
	// Sinon on recharge la page pour supprimer le totem
	if (tMethod == 'POST') {
		printFrame();
	}else{
		window.open(url,'Impression',MP_paramfen('600','450','yes','no','no','yes','yes','yes','yes','yes'));
	}
}
// envoyer a un ami
function MP_ami(url) {
	if (!url) {
		if (!ctx.url) return;
		url="ASS_modele1.aspx?np=envoyer_a_un_ami_ass&url="+escape(location.protocol+'//'+location.host+ctx.url);
	}
	document.location.href = url;
}
// gestion focus et blur d'un champ (bIn = 1 si focus, 0 si blur)
function MpFocus(field, sText, bIn) {
	if (bIn) {
		if (field.value == sText) field.value = '';
		field.select();
	}
	else if (!bIn && field.value == '') field.value = sText;
}
// lecture d'un cookie
function MpCookGet(sCook) {
	var sc = document.cookie;
	var i = sc.indexOf(sCook+"=");
	if (i < 0) return null;
	i += sCook.length+1;
	j = sc.indexOf(";",i);
	if (j < 0) j = sc.length
	return unescape(sc.substring(i,j));
}
// ecriture d'un cookie
function MpCookSet(sCook,sVal, dDfv) {
	var d = (dDfv) ? '; expires='+dDfv.toGMTString() : '';
	var p = location.pathname;
	var i = p.indexOf('/portail');
	if (i > 0) p = p.substr(0,i); else p='/';
	document.cookie = sCook+'='+escape(sVal)+'; path='+p+d;
}

// Fonction qui réecrit les liens des documents d'un composant
function ReEcrireUrl() {
  for(i = 0; i < document.getElementsByTagName("a").length; i++){
    lien = document.getElementsByTagName("a")[i].href;
    // Test que le href du lien pointe vers un document
    if(lien.search(/getdoc.aspx\?np=/i) >= 0) {
      document.getElementsByTagName("a")[i].href = lien.replace(/getdoc.aspx\?np=/i,"modele0.aspx?np=secure_doc_ass&sIdc=");
    }
  }
}