/********************************** LES FONCTIONS STANDARDS ******************************************/
function Back(referrer){
	location.href=referrer;
}

function open_close_div(id){
	var curdiv = document.getElementById(id);
	if (curdiv.style.display == "none")	{
		curdiv.style.display = "block";
	} else {
		curdiv.style.display = "none";
	}
}

function on_focus(field, value){
	if (field.value==value){
		field.value='';
	}
}
function on_blur(field, value){
	if (field.value==''){
		field.value=value;
	}
}

function sendData(param, page, contenu)	{
	if(document.all) {
		//Internet Explorer
		var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
	} else {
		//Mozilla
		var XhrObj = new XMLHttpRequest();
	}
	//définition de l'endroit d'affichage:
	var content = document.getElementById(contenu);
 	var elt = document.getElementById('loading');
	var navigation = document.getElementById('navigation');
	if (navigation){
		navigation.innerHTML="";
	}

	XhrObj.open("POST", page);
	//Ok pour la page cible
	XhrObj.onreadystatechange = function() {

					switch (XhrObj.readyState) {
						case 1:
							// 1 (loading)	début du transfert des données : loading visible
							elt.style.display="block";
							break;
						case 2:
							// 2 (loaded)	données transférées : loading visible
							elt.style.display="block";
							break;
						case 3:
							// 3 (interactive)	les données reçues sont accssibles en partie : loading visible
							elt.style.display="block";
							break;
						case 4:
							//si la page cible est OK (code HTTP 200) et 4 (complete :les données sont complètement accessibles), loading caché
							// NB : Firefox declanche avec "status" tant que le code de chargement n'est pas à  4
							if (XhrObj.status == 200) 
								{
									//définition de l'endroit d'affichage:
									var content = document.getElementById(contenu);
									//on affecte à  l'endroit d'affichage la valeur du fichier distant recupéré avec  la propriété .responseText
									content.innerHTML = XhrObj.responseText ;
									// s'il y avait un Javascript à  interpreter dans le fichier distant, on ecrirait : eval(XhrObj.responseText);
								}
							elt.style.display="none";
							
							break;
						default:
							// 0 (uninitialized)	non initialisé
							alert('Le serveur est bloqué. Veuillez recommencer.');
							break;
					}

	}
	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	XhrObj.send(param);
}


function GetData(param, page, contenu)	{
	if(document.all) {
		//Internet Explorer
		var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
	} else {
		//Mozilla
		var XhrObj = new XMLHttpRequest();
	}
	//définition de l'endroit d'affichage:
	var content = document.getElementById(contenu);
	XhrObj.open("POST", page);
	//Ok pour la page cible
	XhrObj.onreadystatechange = function() {
		if (XhrObj.readyState == 4 && XhrObj.status == 200)
				content.innerHTML = XhrObj.responseText ;
	}
	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	XhrObj.send(param);
}

// Charger la popup de la page conditions générales de vente
function loadPopup(page_id)
{
	$.modal('<iframe src="includes/loadpopup.php?page='+page_id+'" frameborder="0" scrolling="no"></iframe>');
	return false;
}

//CAPTCHA
function refreshimg()
{
	$.post('includes/captcha/newsession.php');
	$("#captchaimage").load('includes/captcha/image_req.php');
	return false;
}


var prediv = '<div style="color:#900; text-align:center; margin-top:10px"><strong>';
var enddiv = '</strong></div>';

/* delete row selected and clicked */
function delete_row(ID, selectedrow, tbl, url_site)
{
	$('#'+selectedrow).addClass('row_selected');
	var anSelected = fnGetSelected( oTable );
	
	$("#dialog").dialog("destroy");
	
	var data = 'ID=' + ID + '&tbl='+tbl;
	
	// Enlever la chaine 'parent_' pour avoir seulement le ID pour affichage dans l'alerte
	var myMatch = ID.search('parent_');
	if(myMatch != -1)
	{
		var string = ID.substring(0,7);
		if (string == 'parent_'){
			ID = ID.substring(7, ID.length);
		}
	}

	document.getElementById('dialog-message').innerHTML = prediv+'Etes vous sûre de vouloir supprimer <br />cet enregistrement (ID='+ID+') ?'+enddiv;
	$("#dialog-message").dialog({
			resizable: false,
			title:'Confirmer',
			autoheight:true,
			width:350,
			show:'blind',
			modal: true,
			buttons: {
				'OK': function() {
						$.ajax({
							url: url_site+"/admin/includes/action.php?action=DeleteRecord",	
							type: "POST",
							data: data,		
							cache: false
						});
					oTable.fnDeleteRow( anSelected[0] );
					$(this).dialog('close');
				},
				Annuler: function() {
					$(this).dialog('close');
				}
			}
		});
    return false;
}

function changestatut_row(ID, idimgstatut, tbl, url_site)
{
	var data = 'ID=' + ID + '&tbl='+ tbl;
	
	$.ajax({
		url: url_site+"/admin/includes/action.php?action=ChangeStatutRecord",	
		type: "POST",
		data: data,
		cache: false,
		//success
		success: function (img){			
			if (img!=''){	
				document.getElementById(idimgstatut).src = url_site+'/admin/img/'+img;
			}
		}
	});
    return false;
}

// Mettre un contenu dans la page d'accueil ou page de démarrage
function ChangeDefaultPage(ID, tbl, url_site)
{
	var data = 'ID=' + ID + '&tbl='+ tbl;
	
	$.ajax({
		url: url_site+"/admin/includes/action.php?action=ChangeDefaultPage",	
		type: "POST",
		data: data,
		cache: false,
		//success
		success: function (response){			
			if (response!=''){
				
				var options = {};
				$('#ok_done').html (response);
				$("#ok_done").effect('bounce',options,500,callback);
				$("#ok_done").fadeOut('slow');
			
				InitGrid();	

			}
		}
	});
    return false;
}



/* Get the rows which are currently selected */
function fnGetSelected( oTableLocal )
{
	var aReturn = new Array();
	var aTrs = oTableLocal.fnGetNodes();
	
	for ( var i=0 ; i<aTrs.length ; i++ )
	{
		if ( $(aTrs[i]).hasClass('row_selected') )
		{
			aReturn.push( aTrs[i] );
		}
	}
	return aReturn;
}

//SUPPRIMER UN OU PLUSIEURS ENREGISTREMENTS
function deleteRows(tbl, url_site)
{
	var nb_checked = 0;
	var tab_ID = "";
	$("#dialog").dialog("destroy");
	
	frm = document.getElementById('adminForm');
	for (i=0; i<frm.elements.length; i++) 
	{
		if (frm.elements[i].type=='checkbox')
		{
			if (frm.elements[i].checked == true){
				tab_ID += frm.elements[i].value+',';
			}
		}
	}	
	
	if (tab_ID==""){
		document.getElementById('dialog-message').innerHTML = prediv+'Sélectionner au moins un enregistrement à supprimer!'+enddiv;
		$("#dialog-message").dialog({
				resizable: false,
				title:'Attention',
				autoheight:true,
				width:350,
				show:'blind',
				modal: true,
				buttons: {
					Retour: function() {
						$(this).dialog('close');
					}
				}
			});
		return false;
		
	}else{
		
		var data = 'IDs=' + tab_ID + '&tbl='+tbl;
		
		document.getElementById('dialog-message').innerHTML = prediv+'Etes vous sûre de vouloir supprimer <br />le(s) enregistrement(s) coché(s) ?'+enddiv;
		$("#dialog-message").dialog({
				resizable: false,
				title:'Confirmer',
				autoheight:true,
				width:350,
				show:'blind',
				modal: true,
				buttons: {
					'OK': function() {
							$.ajax({
								url: url_site+"/admin/includes/action.php?action=DeleteManyRecords",	
								type: "POST",
								data: data,		
								cache: false
							});
							
							var sData = jQuery('input:checked', oTable.fnGetNodes()).serialize();
							var aTrs = oTable.fnGetNodes();
							for ( var i=0 ; i<aTrs.length ; i++ )
							{
								if(jQuery('input:checked', aTrs[i]).val()){
									oTable.fnDeleteRow(aTrs[i]);
								}
							}
							
							
						$(this).dialog('close');
					},
					Annuler: function() {
						$(this).dialog('close');
					}
				}
			});
		return false;
	}
	
}
//CHECK OR UNCHECK ALL CHECKBOXES
function checkAll(frm)
{
	for (i=0; i<frm.elements.length; i++) 
	{
		if (frm.elements[i].type=='checkbox')
		{
			if (frm.elements[i].checked == false){
				frm.elements[i].checked = true;
			}else
				frm.elements[i].checked = false;
		}
	}	
}

//callback function to bring a hidden box back
function callback(){
	setTimeout(function(){
		$("#pageerrorcontainer:hidden").removeAttr('style').hide();
		$("#ok_done:hidden").removeAttr('style').hide();
	}, 1000);
};

