
var espaceGrid = "&nbsp;";
var tabWidget = new Array();
var loadingHTML = "<p align='center'><br/><br/><img src='/common/img/loading_neofeat.gif'/><br/><br/><br/></p>";
var d_param_widgets_ouvert = 1;
var msgTraitementEC = "<center><br/><br/><br/>XXXX<br/><br/><img src='/common/img/loading_neofeat.gif'/></center>";
var winConfigWebarea;


function ajouterLigne(legrid)
{
	try {
		var lastID = legrid.getAllItemIds().split(',')[legrid.getAllItemIds().split(',').length-1];
		legrid.addRow(lastID+1,",",legrid.getRowsNum());
	}catch(e){alert(e.message)}
}


function createPanelConfigWebarea()
{
	var idPanel_configWebarea = 'divPanel_configWebarea';
	if ($(idPanel_configWebarea))
		$(idPanel_configWebarea).parentNode.removeChild($(idPanel_configWebarea));
	var divWindow = document.createElement('div');
	divWindow.id = idPanel_configWebarea;
	divWindow.className = SKIN_PANEL_DEFAULT;
	divWindow.innerHTML = "<div class='hd'><div class='tl'></div><span>Fenêtre de paramétrage</span><div class='tr'></div></div>" + '<div class="bd"></div><div class="ft"><div class="bl"></div><span>&nbsp;</span><div class="br"></div></div>';
	document.body.appendChild(divWindow);
		
	winConfigWebarea = new YAHOO.widget.Panel(idPanel_configWebarea, {
		draggable: true,
		fixedcenter:true,
		width: '500px',
		height: '450px',
		modal:true,
		close:true,
		underlay:'none'
		});
	winConfigWebarea.renderEvent.subscribe(function(e){
	try {
		var panelHeight = this.element.offsetHeight;
		var headerHeight = this.header.offsetHeight; // Content + Padding + Border
		var footerHeight = this.footer.offsetHeight; // Content + Padding + Border
		var bodyHeight = (panelHeight - headerHeight - footerHeight);
		var bodyContentHeight = (IE_QUIRKS) ? bodyHeight : bodyHeight - tabPaddingPanel[SKIN_PANEL_DEFAULT];
		YAHOO.util.Dom.setStyle(this.body, 'height', bodyContentHeight + 'px');
		if (IE_SYNC) {
			this.sizeUnderlay();
			this.syncIframe();
		}
	}catch(e){}
	});
	
	winConfigWebarea.appendToBody($('d_param_widgets'));
}


function openSendMail(numFen,sujet)
{
	try {
		var idMailGlobal = 'divMailGlobal';
		if ($(idMailGlobal))
			$(idMailGlobal).parentNode.removeChild($(idMailGlobal));
		var divWindow = document.createElement('div');
		divWindow.id = idMailGlobal;
		divWindow.className = SKIN_PANEL_DEFAULT;
		divWindow.innerHTML = "<div class='hd'><div class='tl'></div><span>"+t_SendMail+"</span><div class='tr'></div></div>"+'<div class="bd"></div><div class="ft"><div class="bl"></div><span>&nbsp;</span><div class="br"></div></div>';
		document.body.appendChild(divWindow);
		
		winSendMail = new YAHOO.widget.Panel(idMailGlobal, {
			draggable: true,
			fixedcenter:true,
			width: '350px',
			height: '450px',
			modal:true,
			underlay:'none'
		});
		winSendMail.renderEvent.subscribe(function(e){
		try {
			var panelHeight = this.element.offsetHeight;
			var headerHeight = this.header.offsetHeight; // Content + Padding + Border
			var footerHeight = this.footer.offsetHeight; // Content + Padding + Border
			var bodyHeight = (panelHeight - headerHeight - footerHeight);
			var bodyContentHeight = (IE_QUIRKS) ? bodyHeight : bodyHeight - tabPaddingPanel[SKIN_PANEL_DEFAULT];
			YAHOO.util.Dom.setStyle(this.body, 'height', bodyContentHeight + 'px');
			if (IE_SYNC) {
				this.sizeUnderlay();
				this.syncIframe();
			}
		}catch(e){}
		});
		winSendMail.close = winSendMail.hide;
		winSendMail.render();
		winSendMail.bringToTop();
		setTimeout(function(){winSendMail.bringToTop();},1000);
		winSendMail.setBody("<center><div id='div_form_mail_"+numFen+"' class='contenuFen'></div></center>");
		trAjax('div_form_mail_'+numFen,"/webarea/ajax_xml.php", "/webarea/sendMail.xsl","post","sujet="+sujet+"&numFen="+numFen,true);
	}
	catch(e){
		//alert("Erreur dans sendMail : "+e.message)
	}
}




function sendMail(numFen,sujet)
{
	var formulaire = $('f_sendMail_'+numFen);
	//formulaire.destinataires.value = gridDest.getRowItemValEC("::","|][|");
	formulaire.destinataires.value = getGridValues(gridDest,"::","",1);
	if (sujet=='resultOLAP') {
		var laTable = $('tableResult_'+numFen).cloneNode(true);
		laTable.style.border='1px solid red';
		if ($('containsIMG'+numFen).getElementsByTagName('img').length>0) {
			formulaire.chMDX.value = $('frmInput'+numFen).strMDX_EC_Datamart.value;
			formulaire.Serveur.value = $('frmInput'+numFen).Serveur.value;
			formulaire.DataBase.value = $('frmInput'+numFen).DataBase.value;
			formulaire.Cube.value = $('frmInput'+numFen).Cube.value;
			formulaire.typeGraph.value = getTypeGraph(numFen);
			formulaire.sizeGraph.value = getTailleGraph(numFen);
		}
		else {
			formulaire.chMDX.value = "";
			formulaire.Serveur.value = "";
			formulaire.DataBase.value = "";
			formulaire.Cube.value = "";
			formulaire.typeGraph.value = "";
			formulaire.sizeGraph.value = "";
		}
		var tabTD = laTable.getElementsByTagName('TD');
		for (var i=0; i<tabTD.length; i++) {
			if ((tabTD[i].className=="odd")||(tabTD[i].className=="even")) {
				tabTD[i].innerHTML = tabTD[i].innerHTML.replace(/ /gi,'');
				tabTD[i].innerHTML = tabTD[i].innerHTML.replace(/&nbsp;/gi,'');
			}
			tabTD[i].removeAttribute('CelLevel');
			tabTD[i].removeAttribute('Valeur');
			tabTD[i].removeAttribute('drillDirect');
			tabTD[i].removeAttribute('drillType');
			tabTD[i].removeAttribute('CelCol');
			tabTD[i].removeAttribute('CelRow');
			tabTD[i].removeAttribute('CelNbChild');
			tabTD[i].removeAttribute('CelVal');
			tabTD[i].removeAttribute('CelValParent');
			tabTD[i].removeAttribute('CelValLast');
			tabTD[i].removeAttribute('CelValLastParent');
			tabTD[i].removeAttribute('CelValColspan');
			tabTD[i].removeAttribute('CelValRowspan');
			tabTD[i].removeAttribute('CelType');
			tabTD[i].removeAttribute('Extract');
			tabTD[i].removeAttribute('onclick');
			tabTD[i].removeAttribute('style');
			if (tabTD[i].className=="sort-table_thead")
				tabTD[i].setAttribute("bgColor","#cccccc");
			tabTD[i].className ="";
			tabTD[i].removeAttribute('class');
			tabTD[i].removeAttribute('className');
			if (tabTD[i].innerHTML.indexOf('<img') != -1)
				tabTD[i].innerHTML="";
				
			if (tabTD[i].innerHTML.indexOf('<IMG') != -1)
				tabTD[i].innerHTML="";
		}
		formulaire.contenuMail.value = laTable.innerHTML;
		formulaire.action="/webarea/traite.php";
	}
	if (sujet=='detailOLAP')
		formulaire.action="/webarea/traite.php?"+returnValeursInput(numFen);
	if (sujet=='detailSQL')
		formulaire.action="/webarea/traite.php?"+$('param_loadXML'+numFen).value;

	
	formulaire.target="traite";
	formulaire.method="post";
	beginTraitement(msgTraitementEC.replace('XXXX',msg_SendMail_ec));
	formulaire.submit();
}



function supprimerLigne(legrid)
{
	try {legrid.deleteSelectedItem();}
	catch(e){alert(e.message)}
}


function calculPositionNewFen()
{
	debutWinX = espaceMinX+(nbWinRow*espaceFenX)+(nbWinRow*tailleWinX)
	debutWinY = espaceHaut+ espaceMinY+(nbRow*espaceFenY)+(nbRow*tailleWinY);
	nbWinRow++;
	if (nbWinRow>=nbWinMaxRow) {
		nbWinRow=0;
		nbRow++;
	}
}

function openParamWidgets(visible)
{
	if (visible != undefined && visible==false) {
		winConfigWebarea.hide();
		return;
	}
	winConfigWebarea.render();
	winConfigWebarea.show();
	winConfigWebarea.bringToTop();
}






function afterSave(msg,erreur)
{
	if (erreur==true)
		validerTraitement("<center><br/><br/><img src='/common/img/error.gif'/><br/><br/>"+msg+"</center>");
	else
		validerTraitement("<center><br/><br/><img src='/common/img/icones/apply.png'/><br/><br/>"+msg+"</center>");
}






/*************************************************************************************/
/**************************** Enregistrement / Restauration **************************/
/*************************************************************************************/


// Enregistre la configuration en cours
function enreg()
{
	var nbFen = $('nbFen').value;
	for (i=0;i<nbFen;i++)
	{
		if (tabWidget[i] != null)
		{
			$('VisibilityFen_'+i).value=tabWidget[i].isVisible()?'1':'0';
			$('xFen_'+i).value= tabWidget[i].getPosition().x;
			$('yFen_'+i).value= tabWidget[i].getPosition().y;
			$('hFen_'+i).value= tabWidget[i].getSize().height;
			$('wFen_'+i).value= tabWidget[i].getSize().width;
			$('TitreFen_'+i).value = tabWidget[i].options.Title;
			$('SkinFen_'+i).value = tabWidget[i].options.skin;
			if ($('OrigineFen_'+i).value=='perso') $('URLFen_'+i).value = tabWidget[i].options.URL;
		}
		
	}
	formulaire = $('f_sauvegarde')
	$('type_action').value = "save";
	formulaire.action="/webarea/traite.php?idWebArea="+idWebArea;
	formulaire.target="traite";
	formulaire.method="post";
	beginTraitement(msgTraitementEC.replace('XXXX',msg_Traitement));
	setTimeout(function(){formulaire.submit();},1000);
	openParamWidgets(false);

}
/************************************************************************************/

/************************************************************************************/
function restaurer()
{
	formulaire = $('f_sauvegarde')
	$('type_action').value = "restore";
	formulaire.action="/webarea/traite.php?idWebArea="+idWebArea;
	formulaire.target="traite";
	formulaire.method="post";
	beginTraitement(msgTraitementEC.replace('XXXX',msg_Traitement));
	setTimeout(function(){formulaire.submit();},1000);	
	openParamWidgets(false);
}
/************************************************************************************/
/************************************************************************************/







/************************************************************************************/
/***********************************************************************************/
function decocheFen(num)
{
	// Décoche la case de la fenêtre concernée dans la fenêtre de paramétrage
	if (eval('$("ckAffiche_'+num+'") != null'))
		eval('$("ckAffiche_'+num+'").checked = false');
	
}
/************************************************************************************/
/************************************************************************************/









/*********************************************************************************/
/*************** Fonctions appelées dans la fenetre de paramétrage ***************/
/*********************************************************************************/


function loadWidget(num)
{
	for (var i=0; i<tabWidget.length; i++) {
		if ((tabWidget[i].options.idWin == num)&&($("ckAffiche_"+i))) {
			$("ckAffiche_"+i).checked = true;
			affichWin(i);
			return;
		}
	}
	if ((tabWidget[num])&&($("ckAffiche_"+num))) {
		$("ckAffiche_"+num).checked = true;
		affichWin(num);
	}
}




function affichWin(num)
// Permet d'afficher / masquer une fenêtre en cochant sa case
{	
	if (tabWidget[num]) {
		ck = $("ckAffiche_"+num).checked;
		if (ck) {
			//alert(num+" choché dans afficheWin");
			if (tabWidget[num].chargee==false)
				tabWidget[num].chargerContenu();
			
			if (tabWidget[num].options.full != '1') {
				tabWidget[num].afficher();
			}
			
		}
		else
			tabWidget[num].masquer();
	}
}



/**************************************************************************************/
/**************************************************************************************/
/**************************************************************************************/


function effectAppear(nomdiv)
{
	ladiv = $(nomdiv);
	//new Effect.Appear(ladiv);
	ladiv.style.display='';
}

function effectFade(nomdiv)
{
	ladiv = $(nomdiv);
	//new Effect.Fade(ladiv);
	ladiv.style.display='none';
}



var winPrepareRapport;


function prepareRapport()
{
	openParamWidgets(false);
	var w_url = "/webarea/rapports/index.php?idWebArea="+idWebArea;
	var largeur = screen.width;
	var hauteur = screen.height;
	window.open(w_url,(new Date).valueOf(),"menubar=no,location=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=0, width="+largeur+", height="+hauteur);
	return;
}



function getGridValues(legrid,delimRow,delimCol,nbCols) {
	if (legrid==undefined || legrid==null) return "";
	var ch = "";
	var recordset = legrid.getRecordSet();
	var nbRows = recordset.getLength();
	for (var i=0; i<nbRows; i++) {
		for (var j=1; j<=nbCols; j++ ) {
			ch += recordset.getRecord(i).getData("b"+j)+delimCol ;
		}
		ch += delimRow;
	}
	return ch;
}