
var urlws="46.105.129.187";

function setMenumode(pclient) {

	if (pclient=="") {
		hideDOMNode("clientmenu");  showDOMNode("defaultmenu");
	}
	else {
		hideDOMNode("defaultmenu"); showDOMNode("clientmenu");
		var myparams = new Hash(); 	myparams.set('id', pclient );
		ldPageParam("users/getUser_Applis.php", myparams, null, "showclientMenu", true);			
	}
}


var LoggedUserApplis=new Array();
var IMSPortail_Container=new appli();


function construct_submenu(menu) {

	var menuAppli= new Array();
	var submenu  = new Array();
	
	switch(menu) {
	
	case "V4" :
		
		submenu["name"] = "Signaler un probl&egrave;me"; submenu["value"]="pbform()";
		menuAppli[0] = submenu;
			
		break;
		
	}
    return construct_Submenu(menu, menuAppli);

}

function construct_Submenu(menu, menuAppli) {
	
	var html="";
	if (menuAppli.length>0) {
		
		html+="\n<ul id='submenu_"+menu+"' style='visibility:hidden'>";
		for (var j=0; j<menuAppli.length; j++) {
			if (menuAppli[j]["name"]=="<hr/>") {
				html+="<li style='height:3px; background-color:gray'> </li>";
			}
			else {
				html+="<li onmouseup='javascript:"+menuAppli[j]["value"]+"; selmenu(\"client\",\""+menu+"\" );' style='background:#eef; color:gray'>"+menuAppli[j]["name"]+"</li>";
			}
		}
		html+="</ul>";
	}

	return html;
	
}


function selmenu(menuid, menuitemid) {

	var realnodeid="";
	if (menuid=="client") 		realnodeid="clientmenuitems"
	else if (menuid=="default") realnodeid="defaultmenu";

	if (realnodeid!="") {
			
		// Reset all menus
		var fontcolor=""; //#605f5f
		var menunode=getNodeRef(realnodeid);
		var menuitems=menunode.getElementsByTagName("li");
		for (var i=0; i<menuitems.length; i++) {
			menuitems[i].style.backgroundColor="";
			menuitems[i].style.color=fontcolor;
		}
		
		// Menu Portail
		var menunodePortail=getNodeRef("mm_Portail");
		menunodePortail.style.backgroundColor="";
		menunodePortail.style.color=fontcolor;
		
		// Highlight select item
		var menunodesel=getNodeRef("mm_"+menuitemid);
		if (menunodesel !=undefined & menunodesel!=null) {
			menunodesel.style.backgroundColor="#6ac";
			menunodesel.style.color="white";
		}
	}

}

var silentmode=true;

function showclientMenu(menuitems) {
	
	LoggedUserApplis = new Array();
	LoggedUserApplis = UserApplisXmltoArray(menuitems, "appli");

	// By default the id is token
	var AppliLabels=new Array();
	AppliLabels["V4"]			= "V4" ;	
	AppliLabels["V4_Consulte"]	= "Achats (historique)";	
	AppliLabels["Websystem"]	= "Websystem" ;	
	AppliLabels["IMSProduits"]	= "IMS Produits" ;	
	AppliLabels["SimplyEdit"]	= "Simply-Edit" ;	
	AppliLabels["SimplyPerso"]	= "Simply-Perso" ;	
	
	var loginws="";
	
	silentmode=true;
	var action="";
	var menu="";
	var nmenuitems=LoggedUserApplis.length;
	//console.debug("showclientMenu nitems :"+nmenuitems);
	for (var i=0; i<nmenuitems; i++) {
		
		var userappli = new appli();
		userappli = LoggedUserApplis[i];
		
		var label = AppliLabels[userappli.Appli];
		if (label==null || label=="") label = userappli.Appli;
		
		var submenu="";
		var submenusensibility="";
		if (userappli.Appli=="Websystem") {
			loginws				= userappli.Login; //pwdws=userappli.Password;
			submenusensibility	= "onmouseout='javascript:hidesubmenu(this)' onmouseover='javascript:showsubmenu(this)'" ;
		}
		else 
			submenu = construct_submenu(userappli.Appli);
		
		var uappli=userappli.Appli;
		action="gotoAppli(\""+uappli+"\", \""+userappli.Login+"\", \""+userappli.Password+"\");";

		// Au démarrage : Logins automatiques (charger les applis ds un iframe)
		if (uappli=="Websystem" || uappli=="IMSProduits" || 
				uappli=="V4" || uappli=="SimplyPerso" ) { // 
			//console.debug("Loading "+uappli);
			eval(action);
		}
			
		var highlightmenu="";
		if (userappli.Appli!="SimplyEdit")
			highlightmenu=" selmenu(\"client\",\""+userappli.Appli+"\");";
		action="onmouseup='javascript:"+action+highlightmenu+"'";
		var menuitem="<li id='mm_"+userappli.Appli+"' "+submenusensibility+" style='overflow:visible'>"+
		"<div style='width:100%' " +action+">"+label+"</div>";
		menuitem+=submenu;
		menuitem+="</li>";
		//console.debug("-> :"+menuitem);
		menu+=menuitem;

	}
	if (webmaster==true) {
		menu+="<li id='mm_Client' onmouseup='javascript:loadPage(\"./users/manage_users.php\",\"post1\",\"get_Users()\",\"Clients\"); selmenu(\"client\",\"Client\"); '>Clients</li>";
		nmenuitems++;
	}
	silentmode=false;
	
	loadWallOK=false;
	// Reshow last Portal-page
	preparePage(""); //loadPage('accueil.php',	'post1', 'initAccueil()');
	loadWallOK=true;
	

	setNodeContent("clientmenuitems", menu);
	mvMenu(""); // init

	// Scroll btns 
	var width=nmenuitems*140;
	$("clientmenuitems" ).setStyle({'width': width+"px"});

	// If menu to big show navigation buttons
	$("mainmenuscrollbtn_right").setStyle({'display': "none"});
	$("mainmenuscrollbtn_left1").setStyle({'display': "none"});
	$("mainmenuscrollbtn_left2").setStyle({'display': "none"});
	if (nmenuitems>6) {
		$("mainmenuscrollbtn_right").setStyle({'display': ""});
		$("mainmenuscrollbtn_left1").setStyle({'display': ""});
		$("mainmenuscrollbtn_left1").setStyle({'visibility': "hidden"});
		$("mainmenuscrollbtn_left2").setStyle({'display': ""});
		$("mainmenuscrollbtn_left2").setStyle({'color': "#ddd"});
	}
	
	
	// WS
	if (loginws!="") loadWSmenu(loginws);
}


function loadWSmenu(login) {
	
	new Ajax.Request('./include/getWSMenu.php', {
	    method:'post',
	    parameters: {
			user 		: login
		}, 
	    onSuccess: function(transport){
	      var response = transport.responseText || "no response text";
	      if ( ifError(response)==false) 
	    	  showWSMenu(response);	
	    },
	    onFailure: function(){ alert('Sorry something went wrong...') }
		});
	
}


function WSMenuItemsXmltoArray(xmlinfo, itemname) {
	
	var list=new Array();
	var fiches = XMLtoArray(xmlinfo, itemname);
	var ind=0;
	var nfiches=fiches.length;
	
	for (var i=0; i<nfiches; i++) {
		
		list[list.length]=getWSMenuItemXml(fiches[ind]);
		ind++;
	}
	return list;
}

function menuitem() {
	
	this.name="";
	this.url="";
	this.id="";
}


function getWSMenuItemXml(module) {
	
	var name=getTagInfo("name",module);
	var url =getTagInfo("url", module);
	var id  =getTagInfo("id",  module);

	var mitem=new menuitem();
	mitem.name	=name;
	mitem.url	=url;
	mitem.id	=id;
	
	return mitem;
}




function showWSMenu(pdata) {
	
	// Put autorised pages in array.
	var menu_applis=new Array();
	var items = new Array();
	items = WSMenuItemsXmltoArray(pdata, "module");
	for (i=0; i<items.length; i++) {
		var item= items[i];
		var id	= item.id;
		if (((id==4) || (id==5) || (id==6))==false)
			menu_applis[menu_applis.length] = new param(item.name, "ldPageWS(\""+item.url+"\")" );
	}
	// Test menuitem
	//menu_applis[menu_applis.length] = new param("uStore", "ldPageWS(\"http://xmpie/WebSystemStore/ProductDetails.aspx?StoreId=8&pid=45\")" );
	menu_applis[menu_applis.length] = new param("Calendar", "ldPageWS(\"http://172.50.1.102/IMS_Portail/include/calendarview.html\")" ); //,\"setupCalendarsProducts()\"
	
	/*
	menuAppli[menuAppli.length] = new param("Gestion des produits", 						"ldPageWS(\"GestionProduit.aspx\")" );
	menuAppli[menuAppli.length] = new param("Gestion des produits d'op&eacute;rations", 	"ldPageWS(\"GestionProduitOperation.aspx\")" );
	menuAppli[menuAppli.length] = new param("Gestion des utilisateurs", 					"ldPageWS(\"GestionUtilisateurs.aspx\")" );

	//menuAppli[menuAppli.length] = new param("Gestion des quantit&eacute;s par d&eacute;faut","ldPageWS(\"defaultquantite.aspx\")" );
	//menuAppli[menuAppli.length] = new param("Nouvelle op&eacute;ration", 					"ldPageWS(\"Dossier.aspx\")" );

	//menuAppli[menuAppli.length] = new param("<hr/>", "#" );
	//menuAppli[menuAppli.length] = new param("Import quantit&eacute; Carrefour", 			"ldPageWS(\"importquantite.aspx\")" );
	//menuAppli[menuAppli.length] = new param("Import quantit&eacute; La Halle", 				"ldPageWS(\"importquantite_lahalle.aspx\")" );
	//menuAppli[menuAppli.length] = new param("Fusionner", 									"ldPageWS(\"fusionner.aspx\")" );
	//menuAppli[menuAppli.length] = new param("Import quantit&eacute; Sephora", 				"ldPageWS(\"importquantite_sephora.aspx\")" );
	//menuAppli[menuAppli.length] = new param("Kitage Sephora", 								"ldPageWS(\"kit_sephora.aspx\")" );

	//menuAppli[menuAppli.length] = new param("<hr/>", "#" );

	if (webmaster==true) {
		menuAppli[menuAppli.length] = new param("Changer mdp", 								"ldPageWS(\"Profil.aspx\")" );
		menuAppli[menuAppli.length] = new param("Admin", 									"ldPageWS(\"Administration.aspx\")" );
	}
	menuAppli[menuAppli.length] = new param("D&eacute;connexion", 							"ldPageWS(\"Default.aspx\")" );
	*/

	var appli="Websystem";
	
	var submenu=construct_Submenu(appli, menu_applis);
	
	var userappli=getAppliInfo(appli, LoggedUserApplis) ;
	var action="onmouseup='javascript:gotoAppli(\""+appli+"\", \""+userappli.Login+"\", \""+userappli.Password+"\"); selmenu(\"client\",\""+appli+"\"); '";

	var menuitem="<span " +action+" >"+appli+"</span>";
	var menucontent=menuitem + submenu;
	setNodeContent('mm_Websystem', menuitem + submenu );

}

// Prepares display and calls page

function ldPageWS(pPage, pfnc) {
	
	//document.getElementById("debuginfo").innerHTML="ldPageWS() "+pPage+", Websystem_connected:"+Websystem_connected;
	
	// Faudrait une sélection plus précise au niveau client/groupe/pointe de vente afin de cibler mieux les participants 
	// et discussions au différents niveaux.
	
	//getNodeRef("ifr1").style.width="430px"; //getNodeRef("ifr1").style.marginLeft="10px";
	var appli="Websystem";
	
	// Manage frames
	var ifr="ifr1"; 
	preparePage(ifr);

	if ( Websystem_connected || pPage=="Default.aspx" ) {
		
		// Call
		var adr = pPage;
		if (adr.indexOf("http:")==-1)
			adr="http://"+urlws+"/"+adr; // websystem.imsgroupe.com
		var fnc=null;
		if (pfnc!=undefined && pfnc!=null) {
			if (pfnc=="setupCalendarsProducts()") {
				fnc=setupCalendarsProducts();
			}
		}
		// Parameters
		var myparams = new Array();		
		
		// - For all pages 
		// (get client from 'operation magnagement frame')
		var client=""; myparams[myparams.length]=new param('client', client);

		// - For all operations :
		var ope="";    myparams[myparams.length]=new param('operation', ope);
		
		// Evt pane has to be specified when directly accessed outside the operation module (after modification/add) 
		// var pane="Frais";   myparams[myparams.length]=new param('pane', pane);
		// - For specific page 
		switch (pPage) {
			
		// CLIENTS
		case "Clients.aspx" :						break;

		// - Ses produits
		
		case "GestionProduitOperation.aspx" :		break;
		
			case "ProduitOperation.aspx" :			break; 	// Button : ldPageWS("GestionProduitOperation.aspx");	}
			case "ProduitSpecOperation.aspx" :		break;	// Button : ldPageWS("GestionProduitOperation.aspx"); }
			case "ProduitsGroupes.aspx" : 			break;
			case "ProduitsGroupe.aspx" : 			var groupe=""; myparams[myparams.length]=new param('groupe', groupe); break;			// Button : ldPageWS("ProduitsGroupes.aspx"); }
				

		// - Son organisation
		
		case "GestionUtilisateurs.aspx" : break;
					
			case "Siege.aspx" : 		var utilisateur=""; myparams[myparams.length]=new param('utilisateur', utilisateur); break;		// Button :  ldPageWS("GestionUtilisateurs.aspx"); }
			case "Groupe.aspx" : 		var groupe=""; 		myparams[myparams.length]=new param('groupe', groupe); 			 break;		// Button :  ldPageWS("GestionUtilisateurs.aspx"); }
			case "PointeVente.aspx" : 	var pvente=""; 		myparams[myparams.length]=new param('pvente', pvente); 			 break;		// Button :  ldPageWS("GestionUtilisateurs.aspx"); }
	
			// - et leur droits
			case "GestionUtilisateursDroits.aspx" : break;

		// OPERATIONS (Page d'accueil.aspx)
		// Ici on peut également indiquer la participation ou non à une opération
		
		case "Operation.aspx" : break; // Facturation, Periode, Description, infos
		
			case "OperationParticipants.aspx" : 	break;
			case "OperationProduits.aspx" : 		break;
			case "OperationKits.aspx" : 			break;
			case "OperationAffectations.aspx" : 	break;
			case "OperationDevis.aspx" : 			break;
			case "OperationFraisFixes.aspx" : 		break;
			case "OperationRetroplanning.aspx" : 	break;
			case "OperationAnalyse.aspx" : 			break;
			case "OperationV4.aspx" : 				break;


		// DECONNEXION		
		//case "Default.aspx" :Websystem_connected=false;  	break;
			
		}
		
		// Load page (post only if change of page/ simple display otherwise)
		var actpage = getLastPageShown(appli);
		if ( actpage.indexOf(pPage)==-1) {
			
			setLastPageShown(appli, pPage);	
			//document.getElementById("debuginfo").innerHTML="post "+adr+"->"+ifr;
			
			post(adr, myparams, ifr, fnc );
		}

	}
	
	// Connect first
	else { 
		
		// get Login for ws
		var userappli=getAppliInfo(appli, LoggedUserApplis);
		//document.getElementById("debuginfo").innerHTML="gotoAppli() : User "+userappli.Login +" "+ userappli.Password + "goes to appli websystem "
		
		gotoAppli(appli, userappli.Login, userappli.Password, pPage);
		
	}
	
}



function getLastPageShown(pappli) {
	
	if (pappli=="Portal") {
		return IMSPortail_Container.lastpageshown;
	}
	else {
		var idx=getAppliInd(pappli, LoggedUserApplis);
		if (idx>=0) {
			return LoggedUserApplis[ idx ].lastpageshown;
		}
		else {
			return "";
		}
	}
}

function setLastPageShown(pappli, pPage) {
	
	if (pappli=="Portal") {
		IMSPortail_Container.lastpageshown=pPage;
	}
	else {
		var idx=getAppliInd(pappli, LoggedUserApplis);
		if (idx>=0) {
			LoggedUserApplis[ idx ].lastpageshown=pPage ;
		}
	}
}

function pbform() {
	
	var loc="";
	var frname='ifr_V4';
	var nd=window.frames[frname];
	if (nd=="undefined" || nd==null) {
		alert("frame"+frname+" pas trouvé");
	}
	else {
		//nd=top.ifr1.content;
		if (nd=="undefined" || nd==null) {
			alert("frame content pas trouvé");
		}
		else {
			//loc=nd.location;
		}
	}
	var url="http://appli.imsgroupe.com/clients/imsv4/portailv4.nsf/pbform?OpenForm&url="+loc;
	post(url, null, "content", null ); 

}


function param(pname, pvalue) {
	
	this.name=pname;
	this.value=pvalue;
}

var Websystem_connected=false;


function postObj(pPage, pParams, pForm, pFnc) {
	
	this.page=pPage;
	this.myparams = pParams;
	this.form=pForm;
	this.fnc=pFnc;
}


function createPostV4(log, pw) {
	
	var page="http://appli.imsgroupe.com/names.nsf?Login";
	var myparams = new Array();
	myparams[myparams.length]=new param('Username', log);
	myparams[myparams.length]=new param('Password', pw);
	myparams[myparams.length]=new param('RedirectTo',"/");
	myparams[myparams.length]=new param('%%ModDate', "0000000001B5B711");
	
	// Fnc onload
	var fnc = function() {
		ldPageintoFrame("ifr_V4", "./v4red.php");
	
		// Hide Header frame version js (not autorised to change on server)
		/* var frdoc=getFrameDoc("ifr1");
			frdoc.body.style.display="none";*/				
	};
	fnc=null;
	applilog=log; applipw=pw;
	
	return new postObj(page, myparams, null, fnc);	
}




function createPostV4Stat() {
	
	// -> var g (user.)V4ClientAuth
	
	var page="./v4/clients.php";
	//if (client=="*") {} else if (client!="") { page="clientorders.php";	}
	var myparams = new Array();
	myparams[myparams.length]=new param('Client', 		V4ClientAuth.Client);
	myparams[myparams.length]=new param('Honoraires',   V4ClientAuth.Honoraires);
	var fnc = function() { 
		initpageV4Consulte(V4ClientAuth.Client, V4ClientAuth.Honoraires);
	};
	return new postObj(page, myparams, null, fnc);
}



var ldPage1=null;

function createPostWS(log, pw, pPage) {

	var myparams = new Array();
	
	// IE special : login window // if ( (nav_ie()) == true) page="loginWS.php";
	
	ldPage1 = function(event) {
		
		Websystem_connected = true;
		
		////document.getElementById("debuginfo").innerHTML="ldPage1(): Websystem_connected="+Websystem_connected;
		// !!! Permissions denied because iframe :
		/*var frdoc=getFrameDoc("ifr1");
		//var frmnode=null; if (frdoc!=undefined && frdoc!=null) frmnode=frdoc.forms[0];
		var loginfld=frdoc.getElementById('TextBoxLogin'); if ((loginfld!=undefined) && (loginfld!=null)) loginfld.value=wslogin;
		var pwfld=frdoc.getElementById('TextBoxPassword'); if ((pwfld!=undefined) && (pwfld!=null)) pwfld.value=wspw;
		var submitbtn=frdoc.getElementById('ButtonConnexion'); if ((submitbtn!=undefined) && (submitbtn!=null)) submitbtn.click();
		
		//var tablenodes = frmnode.getElementsByTagName("table"); var firsttablenode=tablenodes[0]; 
		*/
	};
	
	var page="";
	if (pPage!=undefined && pPage!=null && pPage!="") {
		page = pPage;
	}
	else {
		page="Default.aspx";
		myparams[myparams.length]=new param('TextBoxLogin', log);
		myparams[myparams.length]=new param('TextBoxPassword', pw);
		myparams[myparams.length]=new param('ButtonConnexion', "Connexion");
		myparams[myparams.length]=new param('__VIEWSTATE',"/wEPDwUKLTc3MzE1MzQwN2Rk8Cz9HXbQDStNZhI6MxfNSon7PeY=");
		myparams[myparams.length]=new param('__EVENTVALIDATION',"/wEWBALn1caGDAKx8vDOBgKpzpH0DQKL+YmNCCcGt7zLTOBhIa4IVcCGvVeTl2cp");
	}
	page="http://"+urlws+"/"+page;
	
	// Passe login info
	applilog=log; applipw=pw;
	
	if (page=="Default.aspx") {
		return new postObj(page, myparams, null, ldPage1);
	}
	else
		return new postObj(page, myparams, null, null);

}



function formElement (pid, pname, pvalue, ptype) {
	
	this.id	 = pid;
	this.name= pname;
	this.value=pvalue;
	this.type =ptype;
	
}


var ld1stPageIMSProds=null;

function createPostIMSProds(log, pw, ifr) {
	
	var url="http://products.imsgroupe.com/login.aspx";
	applilog=log; applipw=pw;
	
	var isnavie=false; // nav_ie();
	if (isnavie==true) {
		
		// Recall page but for iframe now
		ld1stPageIMSProds = function() {
			
			var appli= "IMSProduits";
			var ifr  = "ifr_IMSProds";
			var url  = "http://products.imsgroupe.com/Consultationfiche.aspx";
			preparePage(ifr, appli, url);
			
			// Reset callback function (itself)
			var myparams = new Array();
			myparams[myparams.length]=new param('Login_UserName', log);
			myparams[myparams.length]=new param('Login_Password', pw);
			postDef.page	= url;
			postDef.myparams= myparams;
			postDef.fnc		= null;
			callAppli(appli, ifr); // uses params  + postDef
			
			// set lastpageshown to original login so no other login will be done on subsequent calls
			//setLastPageShown(appli, url );
			
		};
		
		url="loginIMSProdsSimple.php"; 
		var myparams = null; // No post of params possible to new window must keep track of win
							 // values will be obtained from parent window (this)
		
		// Si déjà chargé aller vers page d'accueil // ceci ne permet pas de changer l'ifr ici
		//if (getLastPageShown( "IMSProduits")!="" ) 	url  = "http://products.imsgroupe.com/Consultationfiche.aspx";
		
		return new postObj(url, myparams, null, ld1stPageIMSProds);
		
	}
	
	else {
		
		var elements=new Array(); var i=0;
		elements[i++]=new formElement("Login_UserName", "Login$UserName", 	log, 	"text" );
		elements[i++]=new formElement("Login_Password", "Login$Password", 	pw, 	"text" );
		elements[i++]=new formElement("", 				"__EVENTARGUMENT", 	"",		"hidden" );
		elements[i++]=new formElement("", 				"__EVENTTARGET", 	"",		"hidden" );
		var evtval='/wEWBQLgx4ywBQKl4af/CQL+pLH2BALY9LKMCwLG8NGxD+iGV9osqn8/M1oeNBiJ46P6VjpR';
		elements[i++]=new formElement("", 				"__EVENTVALIDATION", evtval,"hidden" );
		var viewstate="/wEPDwUKMTk5ODA5NjE0OWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgIFEExvZ2luJFJlbWVtYmVyTWUFFkxvZ2luJExvZ2luSW1hZ2VCdXR0b27Z9aNtB940g3zqA8lSrmrs4J6kcQ==";
		elements[i++]=new formElement("", 				"__VIEWSTATE", 		viewstate,"hidden" );
		elements[i++]=new formElement("Login_Button", "Login$LoginButton", 	"",		"text" );
	
		var form=crform('frm1', url, elements, ifr);
		
		//WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Login$LoginButton", "", true, "Login", "", false, false));
		return new postObj("", null, form, null);
	}
}


function createPostSimplyEdit(log, pw, ifr) {
	
	//var params="?artIdx=0&rubIdx=0&zoneIdx=0&numIdx=0&nulaIdx=0&pageIdx=0&docuIdx=0&noteIdx=0&mode=&callbackUrl=";
	var elements=new Array(); var i=0;
	elements[i++]=new formElement("inputLogin", 	"usrLogin", 	log, 	"text" );
	elements[i++]=new formElement("inputPassword", 	"usrPassword", 	pw, 	"text" );
	var form=crform('frm_post', url, elements, "_blank");
	
	// Function onload
	/* applilog=log;	applipw=pw;
	fnc = function() { var ifr="ifr1"; getNodeRef(ifr).onload="";				
		var myparams = new Array(); myparams[myparams.length]=new param('usrLogin', applilog);
		myparams[myparams.length]=new param('usrPassword', 	applipw);
		post("http://simply-edit.imsgroupe.com/sygesp/publicationsf.php", myparams, ifr); } */
	return new postObj("", null, form, null);
	
}


function createPostSimplyPerso(log, pw, ifr) {
	
	
	var elements=new Array(); var i=0;
	elements[i++]=new formElement("ctl00_cphMainContent_txtEmail", 		"ctl00$cphMainContent$txtEmail", 		log, 	"text" );
	elements[i++]=new formElement("ctl00_cphMainContent_txtPassword", 	"ctl00$cphMainContent$txtPassword", 	pw, 	"text" );
	elements[i++]=new formElement("", 									"__VIEWSTATE", 						"/wEPDwUKLTk2NDk4MTkyOQ9kFgJmD2QWAgICD2QWCAIBD2QWAmYPZBYCZg9kFgRmD2QWBAIBD2QWAgIBDw8WAh4LTmF2aWdhdGVVcmwFF34vTG9nb3V0LmFzcHg/U3RvcmVJZD00FgIeB29uY2xpY2sFI2phdmFzY3JpcHQ6cmV0dXJuIFNpZ25PdXRDb25maXJtKCk7ZAIFD2QWAgIBDw8WAh8ABUt+L0ltYWdlcy9IZWxwVW5kZXJDb25zdHJ1Y3Rpb24vaGVscC5odG1sP0N1cnJlbnRQYWdlPSUyZnVTdG9yZSUyZmxvZ2luLmFzcHhkZAIBD2QWBAIBD2QWAgIBDw8WAh8ABRd+L0xvZ291dC5hc3B4P1N0b3JlSWQ9NBYCHwEFI2phdmFzY3JpcHQ6cmV0dXJuIFNpZ25PdXRDb25maXJtKCk7ZAIFD2QWAgIBDw8WAh8ABUt+L0ltYWdlcy9IZWxwVW5kZXJDb25zdHJ1Y3Rpb24vaGVscC...NrZWRoZGRkZAIPDw8WAh8EBQdTaWduIFVwZGQCAg8WAh8DZ2QYAwUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgQFLWN0bDAwJGNwaFByb2R1Y3RHcm91cHMkY3RsMDAkUHJvZHVjdEdyb3VwVHJlZQUkY3RsMDAkY3BoRmxhZ3MkY3RsMDAkZmxhZ0xpc3QxJGN0bDAwBSRjdGwwMCRjcGhGbGFncyRjdGwwMCRmbGFnTGlzdDEkY3RsMDEFJGN0bDAwJGNwaEZsYWdzJGN0bDAwJGZsYWdMaXN0MSRjdGwwMgUqY3RsMDAkY3BoTWFpbkNvbnRlbnQkUmVnaXN0cmF0aW9uTXVsdGlWaWV3Dw9kAgFkBSRjdGwwMCRjcGhNYWluQ29udGVudCRSZWdpc3RlckNhcHRjaGEPBSRjNWUwZGI4NC02NjdkLTQ1NjMtOWRjYS01Y2IwNGFmMGM1ZTdkIz4uQ/dnMdIZSieqa0LPlJqttxk=", "hidden" );
	elements[i++]=new formElement("", 									"__EVENTVALIDATION", 					"/wEWDgKeoeKQCgKzj7lHArOPpewHArOPkZEPAtOm9tIMAvHLm6YHAvWhgccMAve2iO0EApafuJQNAt6FmZcKAr3z2r8DArLSyv8HAv/M168HAu+NhNUHqwxDtZ6mXZkuXcJy93OZLP6JRrk=", "hidden" );
	elements[i++]=new formElement("", 									"__EVENTTARGET", 						"", 	"hidden" );
	elements[i++]=new formElement("", 									"__EVENTARGUMENT", 					"", 	"hidden" );
	

	var url="http://xmpie/uStore/login.aspx?storeID=4";
	var form=crform('frm_1', url, elements, ifr);
	
	fnc = function() { ldPageintoFrame("ifr_SimplyPerso", "http://xmpie/uStore/default.aspx"); };
	fnc=null;
	return new postObj("", null, form, fnc);

}


function createPostPacked(log, pw, ifr) {
	
	var url="http://www.imsgroupe.com/Packed/login.aspx"; //"http://172.50.1.12/client/forms/main/login.aspx";
	//url="frmtest.html";
	
	form = new Element('form', {name:'aspnetForm', id:'aspnetForm', method: 'post', action: url, target:ifr });
	var elements=new Array();
	var i=0;
	
	fld="ctl00_ContentPlaceHolder1_txtIdentifiant";
	elements[i++]=new Element('input', { name: fld, value: log, 		type: 'text', 	id:fld });
	
	var fld='ctl00_ContentPlaceHolder1_txtIdentifiant_clientState';
	elements[i++]=new Element('input', { name: fld, value: '|0|01||', 	type: 'hidden', id:fld });

	fld="ctl00_ContentPlaceHolder1_txtMotDePasse";
	elements[i++]=new Element('input', { name: fld, value: pw, 			type: 'text', 	id:fld });
	
	fld="ctl00_ContentPlaceHolder1_txtMotDePasse_clientState";
	elements[i++]=new Element('input', { name: fld, value: '|0|01||', 	type: 'hidden', id:fld });

	fld='__EVENTTARGET';
	elements[i++]=new Element('input', { name: fld, value: '', 			type: 'hidden', id:fld });
	fld='__EVENTARGUMENT';
	elements[i++]=new Element('input', { name: fld, value: '', 			type: 'hidden', id:fld});

	fld="__VIEWSTATE";
	var viewstate="/wEPDwULLTEwNjA2NzUzNjMPZBYCZg9kFgICAw9kFgQCAQ9kFgRmDzwrAAkBAA8WBB4IRGF0YUtleXMWAB4LXyFJdGVtQ291bnQC/////w9kZAICDw9kDxAWAWYWARYCHg5QYXJhbWV0ZXJWYWx1ZWQWAQIDZGQCBQ9kFgRmDw8WAh4EVGV4dAVoUEFDS0VEIHwgIDQgcnVlIGR1IFRpbGxldWwgNTk4NDAgUEVSRU5DSElFUyB8ICBUw6lsLiArMzMgKDApMyAyMCAxNyAyOCA4MCB8ICBGYXggKzMzICgwKTMgMjAgMTcgMjggODggfCBkZAICDw8WBB8DBRdwYWNrZWRAcHJvZHVjZWQtZXVyLmNvbR4LTmF2aWdhdGVVcmwFHm1haWx0bzpwYWNrZWRAcHJvZHVjZWQtZXVyLmNvbWRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYCBShjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJHR4dElkZW50aWZpYW50BSdjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJHR4dE1vdERlUGFzc2U6sVvjLvy2PPC7U6kFudldaB1FLA==";
	elements[i++]=new Element('input', { name: fld, value: viewstate, 	type: 'hidden', id:fld });

	fld='__EVENTVALIDATION';
	var eventvalid = '/wEWAwLN7M2eAQLgudMhAqDJoG3yU5K6yMdAXVw8uwvXoUZCguoq1Q==';
	elements[i++]=new Element('input', { name: fld, value: eventvalid, 	type: 'hidden', id:fld });

	fld='ctl00_ContentPlaceHolder1$btValider';
	elements[i++]=new Element('input', { name: fld, value: 'Connexion', type: 'text', 	id:'ctl00_ContentPlaceHolder1_btValider' });

	for ( var i=0; i < elements.length; i++) {	form.insert(elements[i]);	}
	
	// frm method
	var fnc = null;  
	return new postObj("", null, form, fnc); 
	
	// page method
	//var fnc = function() { submitPacked(); };
	//return new postObj(url, null, null, fnc); 
}


function submitPacked() {

	var frm=getFrame("ifr1");
	var doc=getFrameDoc("ifr1"); //frm.contentWindow.document
	var form = doc.forms["aspnetForm"];
	var element= form.elements["fname"];
//	.
	/*
	
	var frdoc=getFrameDoc("ifr1");
	var fld="ctl00_ContentPlaceHolder1_txtIdentifiant";
	var node = frdoc.forms[0]; //.ctl00_ContentPlaceHolder1_txtIdentifiant;
	//var node=frdoc.getElementById(fld);
	if ((node!=undefined) && (node!=null) )
		alert (node.id);
	//frdoc.ctl00_ContentPlaceHolder1_txtIdentifiant.value= applilog;
	//frdoc.ctl00_ContentPlaceHolder1_txtMotDePasse.value = applipw;
	//frdoc.forms[0].submit();
	*/
}


function getAppliLink(pappli, log, pw, ifr, page) {
	
	var nifr=getNodeRef(ifr);
	
	switch (pappli) {
	
	case "V4"  			: return createPostV4(log, pw); 			break;
	case "V4_Consulte" 	: break; // createPostV4Stat();
	case "Websystem" 	: if ((nifr!=undefined) && (nifr!=null)) nifr.style.border="0px";  
						  return createPostWS(log, pw, page); 			break;	
	case "IMSProduits"  : if ((nifr!=undefined) && (nifr!=null)) { nifr.style.width= "100%"; nifr.style.border="none"; nifr.style.borderBottom="thin solid gray"; }
						  return createPostIMSProds(log, pw, ifr); 	break;
	case "SimplyEdit" 	: break; //return createPostSimplyEdit(log, pw, ifr); break;
	case "Packed" 		: return createPostPacked(log, pw, ifr); 	break;
	case "SimplyPerso"  : return createPostSimplyPerso(log, pw, ifr); 	break;
	default : alert("Sorry, the application you called ain't implemented yet");
	}
	
	return null;
}


// itemname = le tag format l'enveloppe 
function ClientSocXmltoArray(xmlinfo, itemname) {
	
	var list=new Array();
	var fiches = XMLtoArray(xmlinfo, itemname);
	var ind=0;
	while (	fiches[ind]!=null) {
		list[list.length]=getClientsocXml(fiches[ind]);
		ind++;
	}
	return list;
}


function getClientsocXml(xmlnode) { return getTagInfo("nom", xmlnode); }


/* auth : 	callAppli() - getUserAppliAuth.php (ims_portail.mysql)
   id client (email-> id contact-> id client/nom client) : 	loadV4ConsultAuth() -> getSocContact.php (V4) ->
   showV4Consult() clients.php*/
function loadV4ConsultAuth(xmlinfo) {
	  	
	// Get Authorizations
	V4ClientAuth=UserAuthsXmltoObject(xmlinfo, "auth");

	// All clients
	if (V4ClientAuth.Client=="true") {
		showV4Consult("");
	}
	// Specific client
	else {
		// Get society of client from which to show stats
		var myparams = new Hash(); myparams.set('Contact', v4Login );
		if (v4Login!="") {
			ldPageParam("./v4/getSocContact.php", myparams, null, "showV4Consult", true);
		}
	}
}

   
function debuginfo(pMsg, pIfr, node ) {
	
	if (pIfr!=undefined && pIfr!=null && pIfr!="") {
		var frd=getFrameDoc(pIfr);
		if (frd!=undefined && frdoc!=null)
			frd.getElementsByTagName("body")[0].innerHTML=pMsg;
	}
	if (node!=undefined && node!=null && node!="") {
		setNodeContent(node,pMsg);
	}
	
}

var ifr="ifr1";
var postDef=null;

// Show page stats

function showV4Consult(xmlinfo) {
	
	// Parameters
	// If authorization 'see clients' pass param client '*' 
	// else pass client name 
	var client="";
	
	// webmaster -> show all clients
	if (V4ClientAuth.Client=="true") {
		client="*";
	}
	// Show only stats of client
	else {
		var socs = new Array();
		socs=ClientSocXmltoArray(xmlinfo, "client");
		if (socs.length>0) 
			client=socs[0];
	}

	
	V4ClientAuth.Client=client;
	
	// Show the page stats
	if (client=="") {
		alert("Il n'y a pas de société trouvée associé à votre profil");
	}
	else {
		if (client=="*") {
			var myparams=new Hash();
			ldPageParam("./v4/clientlist.php", myparams, null, "showV4Consultbis", true);
		}
		else
			showV4Consultbis(null);
	}
}


//
// Load page statistics of client (clients.php) with presentation following rights 
// into node  post_V4Consulte
// then calls initpageV4Consulte()
function showV4Consultbis(pclientlist) {
	
	// Memorise clients 
	if (pclientlist!=null)
		clientlist = pclientlist.split("\",\"");

	var page="./v4/clients.php";
	//if (client=="*") {} else if (client!="") { page="clientorders.php";	}
	var myparams=new Hash(); 
	myparams.set('Client', 		V4ClientAuth.Client ); 
	myparams.set('Honoraires', 	V4ClientAuth.Honoraires);
	var fnc="initpageV4Consulte('"+V4ClientAuth.Client+"','"+V4ClientAuth.Honoraires+"')";
	
	ldPageParam(page, myparams, "post_V4Consulte", fnc, false);

}



function callSimplyEdit() {
	
	// Open new window
	var page="blank_page.php"; // postDef.form.action
	var availHeight=window.screen.availHeight;
	var availWidth=window.screen.availWidth;
	var options="resizable=yes,scrollbars=yes,width="+availWidth+",height="+availHeight; 
	var win=window.open('', "Simply-Edit", options);
	win.focus();
	
	// Do post with form 
	var submitForm=new FormObject(win);
	submitForm.create("frm_post", "http://simply-edit.imsgroupe.com/common/login.php");
	submitForm.add("inputLogin", 	"usrLogin",    applilog);
	submitForm.add("inputPassword", "usrPassword", applipw);
	submitForm.form.submit();

}

var lastshowniframe="";
var onloadfnc = null;
var childswins=new Array();
var childswins_onLoads=new Array();

// Checks if window is closed, if so calls callback function 
// The param url doesn't seem to work (no authorisation), the goal was to determine 
// if this url is loaded in the window (meaning 'logged in') to finalise the action
function closeWindow(n, purl) {
	
	var closed=false;
	var chwin=childswins[n];
	if (chwin) {
		var okclose=false;
		//var actualpage=chwin.location.href; if (actualpage.indexOf(purl)>=0) okclose=true;
		if (chwin.closed) okclose=true;
		if (okclose==true) {
		
			// Do onclose function
			var onloadfnc=childswins_onLoads[n];
			if (onloadfnc!=undefined && onloadfnc!=null)
				onloadfnc();
			
			//chwin.close();
			closed=true; 
		}
	}
	if (closed==false)	var tmr=setTimeout("closeWindow("+n+",'"+purl+"')", 500 ); 
	
}

// parameters : pappli, pifr & postDef (global)
function callAppli(pappli, pifr) {
		
	// V4 consulte is special in the way that it's paste from an external application into an internal 1
	// but is still treated as an ext. application
	if (pappli=="V4_Consulte") {
		// Get authorizations for this application first (before post)
		// var msg="Loading authorizations of "+personLoggedIn +" for acces to "+pappli+" ..."; debuginfo(msg, "ifr1");
		var myparams = new Hash(); myparams.set('userid', personLoggedIn ); myparams.set('appid', pappli );						
		ldPageParam("./users/getUserAppliAuth.php", myparams, null, "loadV4ConsultAuth", true);
	}
	else if (pappli=="SimplyEdit"){
		callSimplyEdit();
	}
	//else if (pappli=="Websystem") {
		// if (url=="http://"+urlws+"/Default.aspx") frmelements[i]=new formElement( "ButtonConnexion", "ButtonConnexion", "Connexion", "submit");
		// if (url=="http://"+urlws+"/Default.aspx") document.getElementById('ButtonConnexion').click();

	//}
	else {
		// Do the post
		var page = "";
		if (postDef!=undefined && postDef!=null) page = postDef.page;
		// WS / V4
		//console.debug("callAppli("+pappli+", page:"+page+")");
		// A) Create form before post
		if (page != "") {
			
			var callbackfunc = postDef.fnc;
			
			// IE - Login IMSProds : onload will be done once window closed
			//if ((pifr=="_blank") && (pappli=="IMSProduits") ) callbackfunc=null;
			//alert("post " +page);
			
			post(page, postDef.myparams, pifr, callbackfunc );
			
			// IE Call Logins
			/*if (pifr=="_blank") {
				// - WS, - IMSProduits
				if ((pappli=="Websystem") || (pappli=="IMSProduits") ) {
					var nwin=childswins.length-1;
					var url="";
					//if (pappli=="Websystem")  url=urlws+"/menu.aspx";
					var tmr=setTimeout("closeWindow("+nwin+",'"+url+"')", 500 ); 
					childswins_onLoads[nwin]=postDef.fnc;
				}
			}*/
			
		}
		
		// B) Form already created, just do post
		else if (postDef.form != null) {
			
			if (postDef.fnc!=null) setOnload_IFrame(pifr, postDef.fnc);

			var frmel = postDef.form;
			var domfrm=$(document.body).insert(frmel);
			frmel.submit(); frmel.remove(); 
			
		}
		
		// Set Websystem connected here because onload iframe doesn't work with ie
		if (pappli=="Websystem") 
			Websystem_connected = true;
		
	}
}


function gotoAppli(pappli, log, pw, pPage) {
		
	// Needlog
	var needlog=true;
	
	// Determine container for page & content
	var ifr = "ifr1"; 
	switch(pappli) {
		case "Websystem"  	: break; // ifr = (nav_ie()==true) ? "_blank" : "ifr1";		
		case "IMSProduits"  : ifr ="ifr_IMSProds";  break; //if (nav_ie()==true)  ifr = "_blank";				
		case "V4"  			: ifr ="ifr_V4"; 		 break;
		case "SimplyPerso" 	: ifr ="ifr_SimplyPerso";break; 
		case "SimplyEdit" 	: ifr ="_blank"; 		 break; 
		case "V4_Consulte"  : ifr ="post_V4Consulte"; v4Login=log; needlog=false; break;
		case "Packed" 		: break;  
	}
	if (needlog==true && log=="") {
		alert("Vous n'avez pas de login pour cet application !");
	}
	else {
		
		applilog=log; applipw=pw; // in case used in callback function
		
		// Determine page to call
		// Default : name of application to indicate that appli has been loaded
		var page=""; // Most applications are called by simple form post for login (don't have mutiple acces) 
		// so the aname of the application is enough to determine if it has already been consulted 
		// Applis which function with ajax (page) are V4_Consulte (internal (Portail)), V4 and WS
		
		// Call to specific page in external appli ? -> memorise this page has been loaded as last one 
		// Get page to show
		// - ws: last page shown
		// - application
		// - if first time called : starting page 
		if (pappli=="Websystem") {
			
			if (Websystem_connected==true) {
				page = getLastPageShown(pappli);
				// if not on loginpage -> go there
				if (page=="" || page!="Accueil.aspx") {
					page="Accueil.aspx";
					// Info for post
					var url="http://"+urlws+"/"+page;
					postDef = new postObj(url, null, null, null);
				}
			}

		}
		
		// No history -> main (login) page
		// page = appli
		// if appli defined page = defined by appli
		if (page=="") {
	
			page=pappli;	
			postDef = getAppliLink(pappli, log, pw, ifr, pPage); 
			if (postDef != null) {
				var pageAppli = postDef.page;
				if ( (pageAppli!=undefined) && pageAppli!="" )
					page=pageAppli;
			}
		}

		
		// Prepare appli
		var loadPgOk = true;
		if (silentmode==false) {
			loadPgOk = preparePage(ifr, pappli, page); // Show and reset it's pane, hide others
		}
		else {
			reset_IFrame(ifr); // reset only
		}
		
		// Load page
		if (loadPgOk == true) {

			// In case in IFrame : prepare frame
			// - Show 'loading... message' before call
			// - Reset onload() 
			var showloading=false;
			//var loadpageok=true;
			
			// In case iframe -> show 'loading' message
			if ( ifr.substr(0,3)=="ifr" ) {
				if (silentmode==false)
					showloading=true;
			}
			// Au démarrage n'appeler que les applis avec login qui se chargent ds un iframe
			// Already managed in showclientmenu 
			//else if (silentmode==true) loadpageok=false;
			showloading=false; //IE n'aime pas l'onload programmé de cette manière
							  // de toute façon la connection se fait au login
			if (showloading==true) {
				var fnc = function() { callAppli(pappli, ifr); 	};
				post("loading.php", null, ifr, fnc );
			}
			else // !! callAppli params : pappli, ifr + postDef (global)
				callAppli(pappli, ifr);
			
		}
	}
}



// - Shows appropriate container (hides previous one)
// - Determines if page needs to be reloaded (keeps last page of application in corresponding container)
// - Refreshes wall
var actAppli="";
var loadWallOK=true;

function preparePage(pContainer, pAppli, pPage) {
	
	// Show appropriate container & hide previous
	var loadPgOk=true;
	var pCont=pContainer;
	var page=pPage;
	
	// IMSProduits : Already logged ? -> change default target
	// -ifr, page
	if (pCont == "_blank") {
		if (pAppli=="IMSProduits") {
			var actpage=getLastPageShown(pAppli);
			if (actpage!="") {
				pCont="ifr_IMSProds";
				if (getLastPageShown( "IMSProduits")!="" ) 
					page = "http://products.imsgroupe.com/Consultationfiche.aspx";
			}

		}
	}
	
	
	if (pCont != "_blank") {

    	// Hide last shown iframe
		if (lastshowniframe!="") 
			hideDOMNode(lastshowniframe); //getNodeRef("ifr1").style.width="1160px"; //getNodeRef("ifr1").style.marginLeft="29px";

		// Show Portal pane
		var container="";
		if (pCont==undefined || pCont==null || pCont=="" || pCont=="page-portal") {
			container = "page-portal"; 
			showDOMNode("post1"); hideDOMNode("post_V4Consulte");
		}
		// Show frame appli or portal pane V4Consulte
		else {
			
			// Show Portal pane if appli integrated in here but hide it's portal content
			var Portalpage = (pCont == "post_V4Consulte") ? true : false;
			showhideDOMNode("page-portal", Portalpage ); // show main frame
			hideDOMNode("post1");
			
			// Reset iframe
			if (Portalpage==false) reset_IFrame(pCont);
			
			// Memorise container
			container=pCont;
			lastshowniframe=pCont;
	
		}
		
		
		// Determine if page has not already been loaded 
		var newPage=false;
		if ( (page != undefined) && (page != null) && (page != "") ) {
			
			// Memorise actual content
			// Normally a hide/display of the pane will be done
			// except for content displayed in same pane, it's content will be reloaded
			// (but this method has the disadvantage that it saves partial info in case the page 
			// has not finished loading
			switch (actAppli) {	case "Clients" : Clients_Content = getNodeContent("post1"); break;}
				
			// Load/show previous content of appli
			var appli=(pAppli==undefined || pAppli==null) ? appli= "" : appli=pAppli;
			var frame = (container=="page-portal") ? "Portal" : appli;
			var actpage=getLastPageShown(frame);
			
			// Memorise last visited appli & page
			actAppli = appli;
			if ( actpage.indexOf(page) == -1 ) {
				setLastPageShown(frame, page);
			}

			// Same page ->don't load again from server but return 'already loaded'
			switch (appli) {
			
			case "Clients" :
				if (Clients_Content	!= "") {
					setNodeContent("post1", Clients_Content);
					loadPgOk=false;
				}
				break;
				
			default : // Frames applis & Node Portal
				
				if ( actpage.indexOf(page)>=0 ) { 
					loadPgOk = false;
				}

				break;
			}

		}
		else {
			loadPgOk=false;
		}
		
		newPage=loadPgOk;
		
		// Show container
		if (silentmode==false) {
			// Delete old content before showing container
			if ((newPage==true) && (container=="page-portal") ){
				setNodeContent("post1", "");
			}
			showDOMNode(container);
		}


		// Refresh wall
		if ((container=="page-portal") && (loadWallOK==true)) {
			loadWall("mur/getFiches.php");
		}
   
    }
    //console.debug("NewPage ? :"+loadPgOk+" act "+actpage+" new:"+page);
	return loadPgOk;
}


function reset_IFrame(pContainer) {
	
	if (pContainer.substr(0,3)== "ifr") {
		
		var nifr = getNodeRef(pContainer); 	// getFrame(framename);
	
		if (nifr==undefined || nifr==null) 
			alert ("preparePage() : Can't find container "+pContainer)
		else {
			nifr.onload="";
		}

	}

}

// loadPage page into node with postbackfunction, belongs to appli

//loadPage('accueil.php',	'post1', 'initAccueil()');

function loadPage(pPage, pNodeName, fnc, pAppli) {
	
	var appli = (pAppli==undefined) || (pAppli==null) || (pAppli=="") ? "Portal" : pAppli;
	var loadPgOk = preparePage("", appli, pPage); // Show it's pane and hide others, params : frame, appli, page
	if (loadPgOk==true) {
		ldPage(pPage, pNodeName, fnc);
	}
}



function loadPageRecrut(pPage, pNodeName) {
	loadPage(pPage, pNodeName, "initRecrut()");
}


var tmrwall=null;

function loadWall(pPage, automatic) {
	
   if (getNodeRef("page-portal").style.display=="none") 
	   return;
   
   new Ajax.Request(pPage, {
 	 	
 	    method:'post',
	    onSuccess: function(transport) {
	      var response = transport.responseText || "no response text";
	      
		 createWall(response, automatic);
		 
		 // Load regularly
		 if ( (tmrwall!=undefined) && (tmrwall!=null) ) clearTimeout(tmrwall);
	  	 tmrwall=setTimeout("loadWall('mur/getFiches.php',1)", 120000 ); //120000
		  
    	},
	    onFailure: 
		    function(){ alert('Ajax message : something went wrong on loading of the wall'); return false; }
	});

}


function ldPageintoFrame(framename, page) {

	// If frames : load indicated frame 
	reset_IFrame(framename);
	post(page, null, framename ); 

}

function mvMenu(pdir) {
	
	var nid="clientmenuitems";
	
/*	var actpos=	$(nid).getStyle( 'left' );
	var pxpos=actpos.indexOf("px");
	actpos = (pxpos>0) ? new Number(actpos.substr(0, pxpos)) : 0;
	
	var depl=0;
*/	
	var smenus=new Array();
	var menuchilds = $(nid).childElements();
	for (var i=0; i<menuchilds.length; i++) {
		if (menuchilds[i].tagName=="LI")
			smenus[smenus.length]=menuchilds[i];
	}
	if (pdir!="") {
		fifo_menu(smenus, pdir);
	}
	else {
		// show only first n items 
		for (var i=0; i<smenus.length; i++) { 
			smenus[i].style.display = ( i<6 ) ? "" :"none";
		}
	}
	
	switch (pdir) {
	case '<' : // mv right (from neg to 0)
		//depl=0-actpos;
		break;
	case '>' : 
		/*var width =	$(nid).getStyle( 'width' );
		var pxpos=width.indexOf("px");
		width = (pxpos>0) ? new Number(width.substr(0, pxpos)) : 0;
		depl=840-width; */ // mv left to show what's on the right
		
		// show only last n items
		//for (var i=0; i<smenus.length; i++) { smenus[smenus.length-i-1].style.display = ( i<6 ) ? "" :"none";}
		break;
	}

	var color=(smenus[0].style.display=="") ? "#ccc" : "#222";
	var visible=(smenus[0].style.display=="") ? "hidden" :"visible";
	$("mainmenuscrollbtn_left1" ).setStyle({'visibility' : visible });
	$("mainmenuscrollbtn_left2" ).setStyle({'color': color});
	
	var color=(smenus[smenus.length-1].style.display=="") ? "#ccc" : "#222";
	$("mainmenuscrollbtn_right" ).setStyle({'color': color });
	
/*	new Effect.Move($(nid), {
		 x: depl, 
		 transition: Effect.Transitions.sinoidal
	});
	*/
	//$(nid).setStyle({ 'left': (actpos+depl)+"px" });
	
}

function fifo_menu(smenus, pdir) {
	
	var ok=false;
	var start=0;
	var step=1;
	switch (pdir) {
		case '<' : 
			if (smenus[0].style.display=="none") {
				ok=true;
				start=smenus.length-1;
				step=-1;
			}
			break; 
		case '>' :
			if (smenus[smenus.length-1].style.display=="none") 
				ok=true;
			break;
	}

	if (ok==true) {
	
		var mode="hide";
		var i=start;
		
		for (var j=0; ((j<smenus.length) && (mode!="stop")); j++) {
			
			var smenu=smenus[i];
			var itemdisplay=smenu.style.display;
			if (mode=="hide") {
				if (itemdisplay!="none") {
					smenu.style.display="none";
					mode="show";
				}
			}
			else {
				if (itemdisplay=="none") {
					smenu.style.display="";
					mode="stop";
				}
			}
			i=i+step;
	
		}
	}
}

var menutimeout=null;

function BlindDown(nid, maxheight) {
	
	var aheight=$(nid).getHeight();
	if (aheight<maxheight)
		aheight+=Math.round(maxheight/20);
	if (aheight>maxheight) {
		$(nid).setStyle({ height: maxheight+"px", overflow:"visible" });
	}
	else { 
		$(nid).setStyle({ height: aheight+"px"	});
		var cmd="BlindDown('"+nid+"',"+maxheight+" )";
		menutimeout=setTimeout(cmd, 30);
	}

}

var actmenu="";
function showhidesubmenu(pnode, showhide, noeffect) {

	var smenus = $(pnode.id).select('ul');
	if (smenus.length==0) return;
	var smenu=smenus[0];
	if (showhide==true ) {
		
		actmenu=pnode.id;
		
		if (smenu.style.visibility=="hidden") {
			
			// show other menulines
			//for (var i =1; i<smenus.length; i++) {	smenus[i].style.visibility="visible";	}
			if (noeffect==undefined || noeffect==null) {
				// Blinddown
				// maxheight ?
				smenu.style.height="auto";
				var maxheight = $(smenu.id).getHeight();
							
				smenu.style.overflow="hidden";
				smenu.style.height="20px";
				smenu.style.visibility="visible";
				var cmd="BlindDown('"+smenu.id+"',"+maxheight+" )";
				eval(cmd);
			}
			else smenu.style.visibility="visible";


		}
	}
	else {
		actmenu="";
		
		// Si au bout d'un petit delay le menu n'est plus actif -> cacher
		var cmd="hidemenu('"+pnode.id+"','"+smenu.id+"')";
		setTimeout(cmd, 500);
	}
}


function hidemenu(pid, cid) {
	
	if (actmenu!=pid)
		getNodeRef(cid).style.visibility="hidden";
	
}

function showsubmenu(pnode, noeffect) { showhidesubmenu(pnode, true, noeffect);	}
function hidesubmenu(pnode) { showhidesubmenu(pnode, false);}


