// JavaScript Document

var thisPage; 		// cet objet lui-même
var valBase = 1; 	// Lang de base

function Page(){
	
}


// Ouvrir un fieldset
/**********************************************************/
Page.prototype.open_fieldset = function(fieldset_nb){
	
	if(document.getElementById("fieldset_"+fieldset_nb)){
	
		// Toggle entre ouvert et fermé
		thisFieldset = document.getElementById("fieldset_"+fieldset_nb);
		thisButton = document.getElementById('open_close_'+fieldset_nb).getElementsByTagName('img')[0] ;
		
		if(thisFieldset.style.height != "auto"){
			thisFieldset.style.height = "auto";
			if(thisFieldset.getElementsByTagName("iframe")[0]) thisFieldset.getElementsByTagName("iframe")[0].style.visibility = "visible";
			if(thisFieldset.getElementsByTagName("span")[0]) thisFieldset.getElementsByTagName("span")[0].style.visibility = "visible";
			if(thisFieldset.getElementsByTagName("div")[0]) thisFieldset.getElementsByTagName("div")[0].style.visibility = "visible";
			// Mettre la fleche vers le bas
			thisButton.src = "images_interface/icones/fl_v.gif";
			
		}else{
			thisFieldset.style.height = "15px";
			if(thisFieldset.getElementsByTagName("iframe")[0]) thisFieldset.getElementsByTagName("iframe")[0].style.visibility = "hidden";
			if(thisFieldset.getElementsByTagName("span")[0]) thisFieldset.getElementsByTagName("span")[0].style.visibility = "hidden";
			if(thisFieldset.getElementsByTagName("div")[0]) thisFieldset.getElementsByTagName("div")[0].style.visibility = "hidden";
			// Mettre la fleche vers le bas
			thisButton.src = "images_interface/icones/fl_h.gif";
		}
	}
}


// Réorganisation du menu page selon l'arborescence du tree
/**********************************************************/
Page.prototype.reorder_menu_page = function(ajax){

	if(ajax){
		//alert(ajax.responseText);
		document.getElementById('arbo').innerHTML = ajax.responseText;
	}
	charge_tree();
	
}

Page.prototype.refresh_all = function(){
	window.location.reload();	
}

Page.prototype.reorder_dessus = function(){
	
	from = document.forms['ordre'].page_site_link.value;
	to = document.forms['ordre'].page_site_link2.value;
	if(from != "---" && to !="---"){
		method 		= "GET";
		data 		= "";
		url			= "/umaservices/umapage/inc/utilities.php?what=reorder_page&type=dessus&from="+from+"&to="+to; 
		myAjax 		= new UmaAjax(method, data, url, thisPage.refresh_all);
	}
	
}

Page.prototype.reorder_dessous = function(){
	
	from = document.forms['ordre'].page_site_link.value;
	to = document.forms['ordre'].page_site_link2.value;
	if(from != "---" && to !="---"){
		method 		= "GET";
		data 		= "";
		url			= "/umaservices/umapage/inc/utilities.php?what=reorder_page&type=dessous&from="+from+"&to="+to; 
		myAjax 		= new UmaAjax(method, data, url, thisPage.refresh_all);
	}
	
}

Page.prototype.reorder_dedans = function(){
	
	from = document.forms['ordre'].page_site_link.value;
	to = document.forms['ordre'].page_site_link2.value;
	if(from != "---" && to !="---"){
		method 		= "GET";
		data 		= "";
		url			= "/umaservices/umapage/inc/utilities.php?what=reorder_page&type=dedans&from="+from+"&to="+to; 
		myAjax 		= new UmaAjax(method, data, url, thisPage.refresh_all);
	}
	
}

Page.prototype.reload_liste_maq = function (ajax){

	if(ajax){
		
		//alert(ajax.responseText);
		document.getElementById('dossier_models').innerHTML = ajax.responseText;
		
	}else{
	
		method 		= "GET";
		data 		= "";
		url			= "/umaservices/umapage/inc/utilities.php?what=reload_liste_maq"; 
		myAjax 		= new UmaAjax(method, data, url, thisPage.reload_liste_maq);
		
	}


}

Page.prototype.sup_maq_aff = function (ajax){
	thisPage.reload_liste_maq();
}

Page.prototype.sup_maq = function (file){
	
	method 		= "GET";
	data 		= "";
	url			= "/umaservices/umapage/inc/utilities.php?what=sup_maq&file="+file; 
	myAjax 		= new UmaAjax(method, data, url, thisPage.sup_maq_aff);

}


Page.prototype.reload_liste_css = function (ajax){

	if(ajax){
		
		//alert(ajax.responseText);
		document.getElementById('dossier_css').innerHTML = ajax.responseText;
		
	}else{
	
		method 		= "GET";
		data 		= "";
		url			= "/umaservices/umapage/inc/utilities.php?what=reload_liste_css"; 
		myAjax 		= new UmaAjax(method, data, url, thisPage.reload_liste_css);
		
	}


}

Page.prototype.sup_css_aff = function (ajax){
	thisPage.reload_liste_css();
}

Page.prototype.sup_css = function (file){
	
	method 		= "GET";
	data 		= "";
	url			= "/umaservices/umapage/inc/utilities.php?what=sup_css&file="+file; 
	myAjax 		= new UmaAjax(method, data, url, thisPage.sup_css_aff);

}

// Envoi des données pour update
/**********************************************************/
Page.prototype.send_datas = function(ajax){

	//alert(ajax.responseText);
	// On renvoie vers le surf et la page mise à jour.
	if(ajax.responseText =="update"){
		// On renvoie vers le surf et la page mise à jour.
		document.location.replace("admin.php?umapage&surf="+document.forms['formPage'].page_id.value);
	}else{
		// On renvoie vers le surf et la page mise à jour.
		document.location.replace("admin.php?umapage&surf=1");
	}
		
}

// Récupération des données 
/**********************************************************/
Page.prototype.get_page = function(page_id){
	// Création d'un objet de requete 
	method 		= "GET";
	data 		= "";
	url			= "/umaservices/umapage/inc/utilities.php?what=content_page&page_id="+page_id;
	myAjax 		= new UmaAjax(method, data, url, thisPage.affiche_page);
	
}

// alimentation du formulaire a partir des données 
/**********************************************************/
Page.prototype.affiche_page = function(ajax){
	//
	// Vider les champs en appelant la fonction de création depage vierge
	thisPage.create_page();
	//
	// Charger le formulaire
	myForm = new UmaForm();
	myForm.form_set_content(ajax.responseXML, 'formPage');

	document.getElementById('image_1').innerHTML = "Aucune image";
	document.getElementById('image_2').innerHTML = "Aucune image";
	document.getElementById('image_3').innerHTML = "Aucune image";
	document.getElementById('image_4').innerHTML = "Aucune image";
	
	if(document.forms['formPage'].page_image_1.value != ''){
		document.getElementById('image_1').innerHTML = "<img src=\"images/pages/vv_"+document.forms['formPage'].page_image_1.value+"\" title=\""+document.forms['formPage'].page_image_1.value+"\" />";
	}
	if(document.forms['formPage'].page_image_2.value != ''){
		document.getElementById('image_2').innerHTML = "<img src=\"images/pages/vv_"+document.forms['formPage'].page_image_2.value+"\" title=\""+document.forms['formPage'].page_image_2.value+"\" />";
	}
	if(document.forms['formPage'].page_image_3.value != ''){
		document.getElementById('image_3').innerHTML = "<img src=\"images/pages/vv_"+document.forms['formPage'].page_image_3.value+"\" title=\""+document.forms['formPage'].page_image_3.value+"\" />";
	}
	if(document.forms['formPage'].page_image_4.value != ''){
		document.getElementById('image_4').innerHTML = "<img src=\"images/pages/vv_"+document.forms['formPage'].page_image_4.value+"\" title=\""+document.forms['formPage'].page_image_4.value+"\" />";
	}

	// Changer le nom du champs MM_insert-> MM_update
	document.forms['formPage'].MM_Insert.value="update";
	document.forms['formPage'].page_titre_affiche.value = document.forms['formPage'].page_titre.value;
	
	my_html1 = unescape(document.forms['formPage'].page_description.value);
	if(my_html1 == ""){
		my_html1 = "<br />  ";
	}
	my_html2 = unescape(document.forms['formPage'].page_chapeau.value);
	if(my_html2 == ""){
		my_html2 = "<br />";
	}
	
	document.getElementById('enregistrer').innerHTML = "";
	// Mettre dans le KTML
	window.editor_col_gauche.document.body.innerHTML = my_html1;
	window.editor_col_droit.document.body.innerHTML = my_html2;

}


// Vidage du formulaire
/**********************************************************/
Page.prototype.create_page = function(parent_id){
	
	// Charger les éléménts de formulaire avec les données
	document.forms['formPage'].page_titre.value = "Sans-titre...";
	document.forms['formPage'].page_menu_id.value = "1";
	document.forms['formPage'].page_titre_lg1.value = "";

	document.forms['formPage'].page_date_depart.value = "";
	document.forms['formPage'].page_date_arret.value = "";
	document.forms['formPage'].page_description.value = "";
	document.forms['formPage'].page_description_lg1.value = "";
	document.forms[0].page_chapeau.value = "";
	document.forms[0].page_chapeau_lg1.value = "";
	/*document.forms[0].page_resume.value = "";
	document.forms[0].page_resume_lg1.value = "";*/
	document.forms['formPage'].page_mot_cle.value = "";
	document.forms['formPage'].page_tags.value = "";
	document.forms['formPage'].page_image_1.value = "";
	document.forms['formPage'].page_image_2.value = "";
	document.forms['formPage'].page_image_3.value = "";
	document.forms['formPage'].page_image_4.value = "";
	document.forms['formPage'].page_parent_id.value = parent_id;
	document.forms['formPage'].page_id.value = 0;
	document.forms['formPage'].MM_Insert.value = "insert";
	
	document.getElementById('image_1').innerHTML = "Aucune image";
	document.getElementById('image_2').innerHTML = "Aucune image";
	document.getElementById('image_3').innerHTML = "Aucune image";
	document.getElementById('image_4').innerHTML = "Aucune image";
			
	document.forms[0].page_titre_affiche.value = "Sans titre...";
	window.editor_col_gauche.document.body.innerHTML = "Créez votre contenu ici...";		

}

// Fonction Suppression de la page
//*********************************************************************/
Page.prototype.supprimer_page = function(page_id){
	
	location.replace("admin.php?umapage");
	
}

// Créer une nouvelle page
//*********************************************************************/
Page.prototype.create_new_page = function(ajax){
	
	location.replace("admin.php?umapage&surf="+ajax.responseText);

}

Page.prototype.prep_submit = function(){
	
	//alert(thisPage.valBase);
	// On remet les données du ktml modifié dans le bon champs caché...
	if(thisPage.valBase != 1 ){	
	// On repasse en français pour tout envoyer...
		thisPage.version(1);
	}
	// On met les contenus français dans le Ktml et le titre français
	document.forms['formPage'].page_titre.value = document.forms['formPage'].page_titre_affiche.value;
	document.forms['formPage'].page_description.value = window.editor_col_gauche.document.body.innerHTML;
	document.forms['formPage'].page_chapeau.value = window.editor_col_droit.document.body.innerHTML;
}


// Change la version de langue
/**********************************************************/
Page.prototype.version  = function(val){
	
	
	if(val == 1){ 		// Version française
	
		if(thisPage.valBase == 2){	
			// On vient de l'anglais  (valBase = 2)
			// On récupère le contenu du KTML dans la description et le titre dans le titre anglais
			document.forms['formPage'].page_description_lg1.value = window.editor_col_gauche.document.body.innerHTML;
			document.forms['formPage'].page_chapeau_lg1.value = window.editor_col_droit.document.body.innerHTML;
			document.forms['formPage'].page_titre_lg1.value = document.forms['formPage'].page_titre_affiche.value;
		}
		// On met valeur en français
		thisPage.valBase = 1; 
		document.getElementById('dr_fr').className='lang_on';
		document.getElementById('dr_gb').className='lang_of';
		// On met les contenus français dans le Ktml et le titre
		document.forms['formPage'].page_titre_affiche.value = document.forms['formPage'].page_titre.value;
		window.editor_col_gauche.document.body.innerHTML = document.forms['formPage'].page_description.value;
		window.editor_col_droit.document.body.innerHTML = document.forms['formPage'].page_chapeau.value;
			
	}else if(val == 2){	// Version anglaise
	
		if(thisPage.valBase == 1){	
			// On vient du français  (valBase = 1)
			// On récupère le contenu du KTML dans la description et le titre dans le titre anglais
			document.forms['formPage'].page_description.value = window.editor_col_gauche.document.body.innerHTML;
			document.forms['formPage'].page_chapeau.value = window.editor_col_droit.document.body.innerHTML;
			document.forms['formPage'].page_titre.value = document.forms['formPage'].page_titre_affiche.value;
			
		}
		
		// On met valeur en français
		thisPage.valBase = 2; 
		document.getElementById('dr_fr').className='lang_of';
		document.getElementById('dr_gb').className='lang_on';
		// On met les contenus français dans le Ktml et le titre
		document.forms['formPage'].page_titre_affiche.value = document.forms['formPage'].page_titre_lg1.value;
		window.editor_col_gauche.document.body.innerHTML = document.forms['formPage'].page_description_lg1.value;
		window.editor_col_droit.document.body.innerHTML = document.forms['formPage'].page_chapeau_lg1.value;

		
	}
}

// Initialisation du process
/**********************************************************/
Page.prototype.init = function(){
	
	thisPage = this;
	thisPage.valBase = 1;
	// Fontion de déclenchement des événements
	/**********************************************************/
	this.open_fieldset(1);
	// Vérifier qu'on est en mode edition et que les boutons existent..
	if(document.getElementById("submit_btn")){
		document.getElementById("submit_btn").onclick = function(){
			
			document.forms['formPage'].page_statut.value = "1";
			thisPage.prep_submit();
			
			// Création d'un objet de requete 
			method 		= "POST";
			myForm 		= new UmaForm;
			data 		= myForm.form_get_content("formPage");
			url			= "/umaservices/umapage/inc/utilities.php?what=update_page"; 
			myAjax 		= new UmaAjax(method, data, url, thisPage.send_datas);
			
		}	
	
		document.getElementById("brouillon_btn").onclick = function(){
			
			document.forms['formPage'].page_statut.value = "0";
			thisPage.prep_submit();
				
			// Création d'un objet de requete 
			method 		= "POST";
			myForm 		= new UmaForm;
			data 		= myForm.form_get_content("formPage");
			url			= "/umaservices/umapage/inc/utilities.php?what=update_page"; 
			myAjax 		= new UmaAjax(method, data, url, thisPage.send_datas);
				
		}
		
		document.getElementById("supprime_btn").onclick = function(){
			
			
			if(confirm("Voulez-vous vraiment supprimer cette page ?")){
				// Création d'un objet de requete 
				method 		= "GET";
				data 		= "";
				url			= "/umaservices/umapage/inc/utilities.php?what=delete_page&page_id="+document.forms['formPage'].page_id.value; 
				myAjax 		= new UmaAjax(method, data, url, thisPage.supprimer_page);
			}
			
		}
		
		document.getElementById("annule_btn").onclick = function(){
	
			document.location.replace("admin.php?umapage&surf="+document.forms['formPage'].page_id.value);
			
		}
		// Appel à la fonction de cahrgement de la page (dans page.php)
		charge_page();
	}
	
	
	
	// Fin d'initialisation
}


/********************************************************************************/
/********************************************************************************/
//
// FIN
//
/********************************************************************************/
/********************************************************************************/

// Déclencher les événement au chargement de la page
/********************************************************************************/

function blackyHeightMove(){
	
	// Repositionner le calque noir si besoin
	if(document.getElementById('blacky')){
		document.getElementById('blacky').style.left= "0";
		document.getElementById('blacky').style.height = (getHeight()+getScrollY() -1)+"px";
	}
	
}


// Récupère la valeur de la hauteur de la fenêtre courante
/**********************************************************/
function getHeight() {
  var myHeight = 0;
  if( typeof( window.innerHeight ) == 'number' ) {
    //Non-IE
    myHeight = window.innerHeight;
  } else if(document.documentElement && document.documentElement.clientHeight) {
    //IE 6+ in 'standards compliant mode'
    myHeight = document.documentElement.clientHeight;
  }
  return myHeight;
}

// Récupère la valeur de scroll vertical
/**********************************************************/
function getScrollY() {
  var scrOfY = 0;
  if( document.body && document.body.scrollTop) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  return scrOfY;
}

// trouver la position en Y de l'objet
/****************************************************************************************/
function yPos(obj){
	var top = obj.offsetTop/1;
	while((obj = obj.offsetParent) != null){
		if(obj.tagName!='HTML')top += obj.offsetTop;
	}			
	if(document.all)top = top/1 + 13; else top = top/1 + 4;		
	return top;
}
	
// Trouver la position en X de l'objet
/****************************************************************************************/
function xPos(obj){
	var left = obj.offsetLeft/1 + 1;
	while((obj = obj.offsetParent) != null){
		if(obj.tagName!='HTML')left += obj.offsetLeft;
	}
		
	if(document.all)left = left/1 - 2;
	return left;
}


function newContext(){
	myPage = new Page();
	myPage.init();
	blackyHeightMove();
}

if (window.addEventListener) {
	window.addEventListener('load', newContext, false);
	window.addEventListener('scroll', blackyHeightMove, false);
	window.addEventListener('resize', blackyHeightMove, false);
}else if (window.attachEvent) {
	window.attachEvent('onload', newContext);	
	window.attachEvent('onscroll', blackyHeightMove, false);
	window.attachEvent('onresize', blackyHeightMove, false);
}
