/*
 * File Name : press.js
 * Created by Softage
 * http://www.softage.be
 */ 

var press_currentId=0;
var press_logged=false;
var sBasePath = site_root + "javascript/FCKeditor_2.4.3/fckeditor/";

/* 
 * Ajax Calls
 */
//--------Début du pager ----------
var myPager=new Object();
myPager["Page"]=1; 					// Page courante du pager
myPager["Execute"]='pagerGetList';  // Fonction qui sera appelée par les numéros du pager
myPager["Rows"]=15; 					// Entrées par page

//--------fonction exec par le pager
function pagerGetList(pg)
{ 
	myPager["Page"]=pg;// On positionne le pager
	init_app_press();// On appelle la requête avec les paramètres
}
// --------Fin pager---------------


function init_app_press()
{

		press_isLogged();
		var url = 'bridge/bridge_press.php';
		var pars = 'action=getAll';
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: init_app_press_resp });
}
	
function init_app_press_resp(originalRequest)
{
	var response = JSON.parse(originalRequest.responseText);
	if (response.Type=="Data")
	{
		
		$('main').innerHTML=rowToTable(response,myPager);
	}
	else if (response.Type=="Info") // Aucune entrée trouvée
	{
		var htmlTxt="<table id='press_entry_table' width='700px' >" 
		+"<tr><td height='25px' width='100%' style='cellheader'><br><br><b><font size='2'><center><font class='stdTitle'>Aucune entr&eacute;e trouv&eacute;e</font></center></font></b></td></tr>"
		+"<tr><td height='20px'>";
		if (press_logged==true) htmlTxt+= "<font class='stdTitle' onClick=\"press_edit('INSERT');\" style='cursor:pointer'><img src='images/add2.png'/>&nbsp;Ajouter un article</font>";
		htmlTxt+="</td></tr></table>";
		$('main').innerHTML=htmlTxt;
	}	
}


function rowToTable(response,pager)
{
	if (response.Type=="Data")
	{	
		var strTab="";
		var jsTab=response.Value;
		var pageSize=5; // nb de lignes par page
		// -------------Calcul du nbre de pages-------------------
		var totalPage=jsTab.length/pageSize;
		if (jsTab.length%pageSize>0) 
		{	
			totalPage-= (jsTab.length%pageSize)/pageSize;
			totalPage+=1;
		}
		//-------------------Pager -------------------------------
		strTab+="<table align='center' style='margin-left:10px; margin-right:10px' class='table_press_main' width='500px' max-width='500px' ><tr><td><font class='boldTitle'><b>" ;
		if (pager["Page"]==1){
			if (totalPage >1 )strTab+="<font color='#CC6666'> 1 </font><a onClick='"+ pager["Execute"] + "(" + 2 + ")' style='cursor : pointer'> 2 </a> ";
			if (totalPage >1 )strTab+=" <img src='images/fleche_" + site_section + "_droite.gif' onClick='"+ pager["Execute"] + "(" + 2 + ")' style='cursor : pointer'> ";
		}
		else if (pager["Page"]==2)
		{
			strTab+="<img src='images/fleche_" + site_section + "_gauche.gif' onClick='"+ pager["Execute"] + "(" + 1 + ")' style='cursor : pointer'> ";
			strTab+="<a onClick='"+ pager["Execute"] + "(" + 1 + ")' style='cursor:pointer'> 1 </a><font color='#CC6666'> 2 </font>";
			if (totalPage >2 )strTab+= "<a onClick='"+ pager["Execute"] + "(" + 3 + ")' style='cursor:pointer'> 3 </a>" ;
			if (totalPage >2 )strTab+=" <img src='images/fleche_" + site_section + "_droite.gif' onClick='"+ pager["Execute"] + "(" + 3 + ")' style='cursor : pointer'> ";
		}
		else if (pager["Page"]==totalPage)
		{
			strTab+=" <img src='images/fleche_" + site_section + "_gauche.gif' onClick='"+ pager["Execute"] + "(" + (pager["Page"]-1) + ")' style='cursor : pointer'> ";
			strTab+="<a onClick='"+ pager["Execute"] + "(" + (pager["Page"]-1) + ")' style='cursor:pointer'> " + (pager["Page"]-1) +" </a><font color='#CC6666'> " + pager["Page"]  + " </font>";
		}
		else
		{
			strTab+=" <img src='images/fleche_" + site_section + "_gauche.gif' onClick='"+ pager["Execute"] + "(" +  (pager["Page"]-1) + ")' style='cursor : pointer'> ";
			strTab+="<a onClick='"+ pager["Execute"] + "(" + (pager["Page"]-1) + ")' style='cursor:pointer'>" + (pager["Page"]-1) +"</a><font color='#CC6666'> " + pager["Page"]  + " </font>";
			strTab+="<a onClick='"+ pager["Execute"] + "(" + (pager["Page"]+1) + ")' style='cursor:pointer'>" + (pager["Page"]+1) +"</a>";
			strTab+=" <img src='images/fleche_" + site_section + "_droite.gif' onClick='"+ pager["Execute"] + "(" + (pager["Page"]+1) + ")' style='cursor : pointer'> ";
		}
		
		strTab+="</b></font></td></tr></table>" ;
		
		//----------------------Début du tbleau ---------------------------------------
		var i=0;
		strTab+="<table id='press_entry_table' style='margin-left:10px; margin-right:10px' class='table_press_main' width='500px' max-width='500px'>";
		strTab+="<tr class='cellheader'><td class='cellheader'><b><font size='2'><center><font class='stdTitle'>Musique - News</font></center></font></b></td></tr>";
		strTab+="<tr ><td height='50px'>";
		if (press_logged==true) strTab+= "<font class='stdTitle' onClick=\"press_edit('INSERT');\" style='cursor:pointer'><img src='images/add2.png'/>&nbsp;Ajouter un article</font>";
		strTab+="</td></tr>";
		
		//------------------------------------------------------------------------------
		for (var i=0;i<response.Size;i++) 
		{
			//------------------Données----------------------------------
			if ( ((pager["Page"]==1)&&(i<pageSize)) || ((pager["Page"]>1) && ((i>(pager["Page"]*pageSize-pageSize-1)) && (i<(pager["Page"]*pageSize)))  ))
			{
				strTab+="<tr  id='press_entry_title_" + response.Value[i].id  + "'><td >";
				strTab+="<font class='boldTitle' id='press_title_value_" + response.Value[i].id + "'>" + stripslashes(response.Value[i].title) + "</font>";
				if (press_logged==true)  strTab+="&nbsp;&nbsp;<img id='press_edit_" + response.Value[i].id + 
				"' src='images/edit.gif' width='16px' height='16px' style='cursor:pointer' onClick=\"press_edit('UPDATE',"+ 
				response.Value[i].id +")\">&nbsp;&nbsp;<img id='press_delete_" + 
				response.Value[i].id + "'src='images/delete16.png' style='cursor:pointer' onClick='press_remove("+ response.Value[i].id +")'>";
				strTab+="</td></tr><tr id='press_entry_description_" + response.Value[i].id  + 
				"'><td colspan=2 ><br/><font class='stdText' id='press_description_value_" + response.Value[i].id + "'>"+ stripslashes(response.Value[i].description) + 
				"</font></td></tr><tr ><td height='10px'><hr id='press_entry_line_" + response.Value[i].id + "'></td></tr>";	
			}
		}
		
		strTab= strTab + "</table>";
	}
	return strTab;
}


function press_isLogged()
{
		var url = 'bridge/bridge_user.php';
		var pars = 'action=isLogged';
		var myAjax = new Ajax.Request( url, { method: 'post',asynchronous:false, parameters: pars, onComplete: press_isLogged_resp });
}
	
function press_isLogged_resp(originalRequest)
{
	var test=false;
	var response = JSON.parse(originalRequest.responseText);
	if (response.Type=="Success"){
		press_logged=true;	
	}
	else {
		$('admin_logout').innerHTML="";	
		press_logged=false;
	}
	return test;
	
}
function press_getOne(id)
{
		press_currentId=id;
		var url = 'bridge/bridge_press.php';
		var pars = 'action=getOne&id=' + id;
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: press_getOne_resp });
}
	
function press_getOne_resp(originalRequest)
{
	var response = JSON.parse(originalRequest.responseText);
	if (response.Type=="Object"){
		ob=response.Value;
		$('press_edit_title').value=ob['Title'];
		$('press_edit_description').value=stripslashes(ob['Description']);
		$('press_edit_id').value=ob['Id'];
	}
	else win2("Une erreur s'est produite");
	
}

function press_insert()
{
		var title=encodeURI($('press_edit_title').value);
		var description=encodeURIComponent(FCKeditorAPI.GetInstance('press_edit_description').GetXHTML());
		var url = 'bridge/bridge_press.php';
		var pars = 'action=insert&title=' + title + '&description=' + description;
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: press_insert_resp });
}
	
function press_insert_resp(originalRequest)
{
	var response = JSON.parse(originalRequest.responseText);
	if (response.Type=="Object")
	{
		ob=response.Value;
		var htmlTxt="";
		if (!document.getElementById('press_entry_table'))  // Il n'y a encore aucune entée
		{
		htmlTxt+="<table id='press_entry_table' width='100%' style='margin-left:10px; margin-right:10px' width='100%'>";
		htmlTxt+="<tr ><td height='25px' bgcolor='#FF9933'><b><font size='2'><center><font class='stdTitle'>Articles de presse</font></center></font></b></td></tr><tr><td height='20px'>";
		if (press_logged==true) htmlTxt+= "<font class='stdTitle' onClick=\"press_edit('INSERT');\" style='cursor:pointer'><img src='images/add2.gif'/>&nbsp;Ajouter un article</font>";
		htmlTxt+="</td></tr>";
		}
		htmlTxt+="<tr id='press_entry_title_" + ob.Id  + "'><td><font class='boldTitle' id='press_title_value_" + ob.Id  + "'>" + stripslashes(ob.Title) +
			"</font>&nbsp;&nbsp;<img id='press_edit_" + ob.Id  + "' src='images/edit.gif' width='16px' height='16px'"+ 
			"style='cursor:pointer' onClick=\"press_edit('UPDATE',"+ ob.Id  +")\">&nbsp;&nbsp;<img id='press_delete_" + ob.Id  + 
			"'src='images/delete16.png' style='cursor:pointer' onClick='press_remove("+ ob.Id  +")'>"+
			"</td></tr><tr id='press_entry_description_" + ob.Id   + "'><td max-width='774px><font class='stdText' id='press_description_value_" +
			ob.Id  + "'>"+ stripslashes(ob.Description) + "</font></td></tr><tr ><td height='10px'><hr id='press_entry_line_" + 
			ob.Id + "'></td></tr>" ;	
		if (!$('press_entry_table')) {
			htmlTxt+="</table>";
			$('div_events').innerHTML=htmlTxt;
		}
		else new Insertion.Bottom('press_entry_table', htmlTxt);

		Windows.closeAll();
	}
	else win2("Une erreur s'est produite");
	
}

function press_update()
{
		var id=$('press_edit_id').value;
		var title=encodeURI($('press_edit_title').value);
		var description=encodeURIComponent(FCKeditorAPI.GetInstance('press_edit_description').GetXHTML())
		var url = 'bridge/bridge_press.php';
		var pars = 'action=update&id=' + id + '&title=' + title + '&description=' + description;
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: press_update_resp });
}
	
function press_update_resp(originalRequest)
{
	var response = JSON.parse(originalRequest.responseText);

	if (response.Type=="Success"){
		$('press_title_value_' + press_currentId).innerHTML=$('press_edit_title').value;
		$('press_description_value_' + press_currentId).innerHTML=FCKeditorAPI.GetInstance('press_edit_description').GetXHTML();	
		Windows.closeAll();
	}
	else win2("Une erreur s'est produite");
	
}


function press_remove(id)
{
	Dialog.confirm("Voulez vous vraiment effacer cette entr&eacute;e ?", 
               {width:300, height:75, okLabel: "Oui", 
		className:"darkX",
               buttonClass: "myButtonClass",
               id: "dialogYesCancel",
               cancel:function(win){debug("cancel confirm panel")},
               ok:function(){	
			press_currentId=id;
			var url = 'bridge/bridge_press.php';
			var pars = 'action=remove&id=' + id;
			var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: press_remove_resp });
			return true;
			}
			
              });

}
	
function press_remove_resp(originalRequest)
{

	var test=false;
	var response = JSON.parse(originalRequest.responseText);
	if (response.Type=="Success"){
		Effect.Fade('press_entry_description_' + press_currentId ); 
		Effect.Fade('press_entry_title_' + press_currentId ); 
		Effect.Fade('press_entry_line_' + press_currentId);	
	}
	else win2("Une erreur s'est produite");

	
}

function press_edit(mode,id)
{
	
	var dialogHeight;
	var form_press="";
	form_press+= "<br><table width='90%' height='95%' style='margin-left:20px'>"
				+ "<tr height='35px' valign='top'>"
				+ "<td  width='50%'>Titre</td><td width='50%'><input type='hidden' id='press_edit_id'/><input type='text' id='press_edit_title'/></td>"
				+ "</tr>"
				+ "<tr width='100%' valign='top'><td width='100%' colspan='2'>D&eacute;scription</td></tr><tr><td colspan='2' valign='top'><textarea id='press_edit_description' name='press_edit_description' height='300px' rows='80' cols='80'></textarea></td></tr>"
				+ "<tr width='100%' height='35px' valign='center'><td width='50%' ><center><input type='button' value='Envoyer' ";
				if (mode=="INSERT") form_press+="onClick='press_insert()'";
				else form_press+="onClick='press_update()'";
				form_press+="/></center></td><td width='50%'><center><input type='button' value='Annuler' onclick='Windows.closeAll()'/></center></td></tr>"
				+ "</table>";
	Dialog.info(form_press,{className: "darkX",  width: 650, height: 360,showProgress: false});

	var oFCKeditor = new FCKeditor( 'press_edit_description' ) ;
	oFCKeditor.BasePath	= sBasePath ;
	oFCKeditor.ToolbarSet = "Basic";
	oFCKeditor.ReplaceTextarea();
	if (mode=="UPDATE")press_getOne(id);
}



