
var request = '';
var IdDiv = '';
var xmlhttp;
var passcmd = '';

var MySessionkey = new Array(2);
var pk_profil = '';
var sessionkey = '';

/* Récupération du sessionkey */
function GetSessionkey() {
	if (GetCookie('sessionkey')){
		var MySessionkey = GetCookie('sessionkey').split('|');
		if (MySessionkey[0] != 'deleted'){
			pk_profil = MySessionkey[1];
			sessionkey = MySessionkey[0];
			//alert("this");
			//alert(pk_profil + sessionkey)
		}
	}
}

//submit_form
/* Function avec un switch pour construire la requete qui sera envoyé au HTTPrequest */
function submit_form(cmd) {
	switch (cmd){
	
		//ajout pour tester si le nom d'un blogue est déjà pris ou non
		//lors de la création d'un nouveau blog seulement...
		case "blogName":
			var langue = document.getElementById('f_langue').value;
			var name = document.getElementById('f_name').value;
			var pk_profil = document.getElementById('f_pk_profil').value;
			var sessionkey = document.getElementById('f_sessionkey').value;
			var commande = 'verifyuniqueblogname';
			var apl = '/cgi-bin/GestionBlog';
			var url = apl + '?Commande=' + escape(commande) + '&langue=' + escape(langue) + '&name=' + escape(name) + '&pk_profil=' + escape(pk_profil) + '&sessionkey=' + escape(sessionkey) ;
			IdDiv = "request_name";
			passcmd = cmd;
			loadXMLDoc(url);
			//alert(url)
			
		break;
		
		case "SendcommentForm":
			var visitor_name = document.getElementById('visitor_name').value;
			var visitor_email = document.getElementById('visitor_email').value;
			var visitor_url = document.getElementById('visitor_url').value;
			var content = document.getElementById('content').value;
			var langue = document.getElementById('langue').value;
			var apl = '/cgi-bin/SaisieCommentaire';
			var url = apl + '?langue=' + escape(langue) + '&fk_blog=' + escape (fk_blog) + '&fk_post=' + escape (fk_post) + '&dflt_comment_valid_status=' + escape (dflt_comment_valid_status) + '&visitor_name=' + escape (visitor_name) + '&visitor_email=' + escape (visitor_email) + '&visitor_url=' + escape (visitor_url) + '&content=' + escape (content);
			IdDiv = "commentForm";
			passcmd = cmd;
			loadXMLDoc(url);
		break;
		
		case "commentForm":
			IdDiv = "commentForm";
			document.getElementById('abonnement').innerHTML = displayAbonnement();
			document.getElementById(IdDiv).innerHTML = display_comm_Email();
		break;
		
		case "email":
			//fk_post = document.getElementById('fk_post').value;
			var langue = document.getElementById('langueB').value;
			var category = document.getElementById('categoryB').value;
			var pagedyn = document.getElementById('pagedynB').value;
			var email = document.getElementById('emailB').value;
			IdDiv = "commentForm";
			var apl = '/cgi-bin/IdentificationBlog';
			var currPage = "" + document.location;
			passcmd = cmd;
			var url = apl + '?Commande=' + escape (cmd) + '&langue=' + escape (langue) + '&category=' + escape (category) + '&pagedyn=' + escape (pagedyn) + '&email=' + escape (email) + '&fk_blog=' + escape (fk_blog) + '&fk_post=' + escape (fk_post) + '&url_old=' + currPage;
			loadXMLDoc(url);
		break;
		
		case "emailAbonnement":
			//fk_post = document.getElementById('fk_post').value;
			var langue = document.getElementById('langueB_abon').value;
			var category = document.getElementById('categoryB_abon').value;
			var pagedyn = document.getElementById('pagedynB_abon').value;
			var email = document.getElementById('emailB_abon').value;
			IdDiv = "abonnement";
			var apl = '/cgi-bin/IdentificationBlog';
			var currPage = "" + document.location;
			passcmd = cmd;
			var url = apl + '?Commande=email&langue=' + escape (langue) + '&category=' + escape (category) + '&pagedyn=' + escape (pagedyn) + '&email=' + escape (email) + '&fk_blog=' + escape (fk_blog) + '&fk_post=' + escape (fk_post) + '&url_old=' + currPage;
			loadXMLDoc(url);
		break;
		
		case "password":
			pk_profil = document.getElementById('pk_profilC').value;
			var pagerefresh = document.getElementById('pagerefreshC').value;
			var password = document.getElementById('passwordC').value;
			var langue = document.getElementById('langueC').value;
			var category = document.getElementById('categoryC').value;
			var pagedyn = document.getElementById('pagedynC').value;
			var email = document.getElementById('emailC').value;
			IdDiv = "commentForm";
			var apl = '/cgi-bin/IdentificationBlog';
			var url = apl + '?Commande=' + cmd + '&pk_profil=' + pk_profil + '&pagerefresh=' + pagerefresh + '&password=' + password + '&langue=' + langue + '&category=' + category + '&pagedyn=' + pagedyn + '&email=' + email + '&fk_blog=' + fk_blog + '&fk_post=' + fk_post;
			passcmd = cmd;
			loadXMLDoc(url);
		break;
		
		case "passwordDesactive":
			pk_profil = document.getElementById('pk_profilC').value;
			var pagerefresh = document.getElementById('pagerefreshC').value;
			var password = document.getElementById('passwordC').value;
			var langue = document.getElementById('langueC').value;
			var category = document.getElementById('categoryC').value;
			var pagedyn = document.getElementById('pagedynC').value;
			var email = document.getElementById('email').value;
			var apl = '/cgi-bin/IdentificationBlog';
			var url = apl + '?Commande=password&pk_profil=' + pk_profil + '&pagerefresh=' + pagerefresh + '&password=' + password + '&langue=' + langue + '&category=' + category + '&pagedyn=' + pagedyn + '&email=' + email + '&fk_blog=' + fk_blog + '&fk_post=' + fk_post;
			request = url;
			passcmd = cmd;
			loadXMLDoc(url);
		break;
		
		case "password_abon":
			pk_profil = document.getElementById('pk_profilC_abon').value;
			var pagerefresh = document.getElementById('pagerefreshC_abon').value;
			var password = document.getElementById('passwordC_abon').value;
			var langue = document.getElementById('langueC_abon').value;
			var category = document.getElementById('categoryC_abon').value;
			var pagedyn = document.getElementById('pagedynC_abon').value;
			var email = document.getElementById('emailC_abon').value;
			fk_post = document.getElementById('fk_postC_abon').value;
			IdDiv = "abonnement";
			passcmd = cmd;
			var apl = '/cgi-bin/IdentificationBlog';
			var url = apl + '?Commande=password&pk_profil=' + pk_profil + '&pagerefresh=' + pagerefresh + '&password=' + password + '&langue=' + langue + '&category=' + category + '&pagedyn=' + pagedyn + '&email=' + email + '&fk_blog=' + fk_blog + '&fk_post=' + fk_post;
			loadXMLDoc(url);
		break;
		
		case "addAbonnement":
		//J'ai du reprendre la fonction de lecture des cookies pour les abonnements a cause d'un bog.
		//Les parametres (pk_profil et sessionkey) ne suivaient pas....SS
		
			var MySessionkey = GetCookie('sessionkey').split('|');
				if (MySessionkey[0] != 'deleted'){
					pk_profil = MySessionkey[1];
					sessionkey = MySessionkey[0];
				}
			var apl = '/cgi-bin/GestionAbonnement';
			var url = apl + '?Commande=insert&langue=' + lng + '&pk_profil=' + pk_profil + '&sessionkey=' + sessionkey + '&fk_blog=' + fk_blog + '&blog_name=' + blog_name;
			
			IdDiv = "abonnement";
			passcmd = cmd;
			loadXMLDoc(url);
			
		break;
		
		case "lostpassword":
			var url = request;
			loadXMLDoc(url);
		break;
		}
}

/* traitement de la requete */
function OutPut(DataOut, IdDiv) {
	if (document.getElementById('redirect')) { // récupére le url du start page dans un Element
		document.location.href = document.getElementById('redirect').value;
	}
	
	else {
		if (passcmd == 'password') { // cas du password
			GetSessionkey(); // récupère le SessionKEY et le place dans 2 variables global : pk_profil et sessionkey
			document.getElementById('headShare').innerHTML = GetLoginOn(); // affichage du champ pour le login
			displayAbonnement(); // affichage du champ pour l'abonnement
		}
		else if (passcmd == 'SendcommentForm') { // cas du sendcommentForm
			if (dflt_comment_valid_status == "101") { // le statut du blog 
				window.location.replace( document.location ); // 
			}
			else {
				document.getElementById(IdDiv).innerHTML = DataOut; // affichage du formulaire pour ajouter un commentaire
			}
		}
		else if (passcmd == 'addAbonnement'){ 
			InsertCookieAbonnement(fk_blog); // insertion du fk_blog dans le cookie abonnement
			document.getElementById('abonnement').innerHTML = displayAbonnement(); // affiche l'abonnement dans la col de droite
		}
		else if (passcmd == 'password_abon'){
			GetSessionkey(); // récupère les information du cookie 
			if (sessionkey != ''){
			var apl = '/cgi-bin/GestionAbonnement';
			var url = apl + '?Commande=list&langue=' + lng + '&pk_profil=' + pk_profil + '&sessionkey=' + sessionkey + '&fk_blog=' + fk_blog + '&blog_name=' + blog_name;
			document.location.href = url; // affiche la liste des abonnement
			}
			else {
				document.getElementById(IdDiv).innerHTML = DataOut; // affiche le resultat de la requete
			}
			
		} 
		else if (passcmd == 'passwordDesactive'){ 
			document.location.href = request;
		}
		else {
			document.getElementById(IdDiv).innerHTML = DataOut;
		}
	}
}


function TestLogin(allow_comment, CPermission){
//alert (allow_comment + CPermission);

	if ( !GetCookie('sessionkey') && !GetCookie('Abonnement') ){
		if (allow_comment == 'f'){
			document.getElementById('commentForm').innerHTML = '';
			return false;
			}
			else {
				if (CPermission == "profil"){
					submit_form('commentForm');
				}
				else {
					return false;
				}
			}
	}

	if (CPermission == "profil"){
		if (allow_comment == 't'){
			if (oCurrentCookie.sessionkey == 'na' || oCurrentCookie.sessionkey == 'deleted'){
				submit_form('commentForm'); // affiche le login dans le cas ou il n'y a pas de cookie

			}
			else {
				document.getElementById('abonnement').innerHTML = displayAbonnement(); // affiche gestion d'abonnement dans la col de droite
			}
		}
		else {
			document.getElementById('commentForm').innerHTML = '';

		}
	}
	else {

			document.getElementById('abonnement').innerHTML = displayAbonnement(); // affiche gestion d'abonnement dans la col de droite	
	}
}

/* la classe du XMLHttpRequest */
function loadXMLDoc(url)
{
// code for Mozilla, etc.
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest()
  xmlhttp.onreadystatechange=state_Change;
  xmlhttp.open("GET",url,true)
  xmlhttp.send(null)
  }

// code for IE
//ActiveXObject("Microsoft.XMLHTTP");
else if (window.ActiveXObject)
  { 
	  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    if (xmlhttp)
    {
    xmlhttp.onreadystatechange=state_Change;
    xmlhttp.open("GET",url,true)
    xmlhttp.send()
    }
  }
		document.getElementById('wait').style.display = 'inline';
}

function state_Change()
{
// if xmlhttp shows "loaded"
if (xmlhttp.readyState==4)
  {

  // if "OK"
  if (xmlhttp.status==200)
  {
		document.getElementById('wait').style.display = 'none';
	  if (passcmd != 'password_abon'){
			document.getElementById(IdDiv).innerHTML = xmlhttp.responseText;
		}
		OutPut(xmlhttp.responseText, IdDiv); 
	}
  else
  {
	  alert("Erreur 500" + xmlhttp.statusText)
  }
  }
}

function SetCookieAbonnement (name, value, days) {
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));

	var argv = SetCookieAbonnement.arguments;
	var argc = SetCookieAbonnement.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = '/';
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + value +
	((expires == null) ? "" : ("; expires=" + date)) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function testIfFK(fk_blog, tempcookie){
	if (tempcookie != '') {
	return tempcookie.search('-' + fk_blog + '-');
		}else {
			return -1;
		}
}

function DeleteAbon(fk_blog, id){
	var my_fk_blog = '-' + fk_blog + '-';
	if (document.getElementById(id).checked == true){
		var tempcookie = new String(GetCookie('Abonnement'))
	if (testIfFK(fk_blog, tempcookie) > -1){
		var m = tempcookie.replace(my_fk_blog, '');
		SetCookieAbonnement('Abonnement', m , 360);
	}
		var tempcookie = new String(GetCookie('Abonnement'))
	}
	else {
		var tempcookie = new String(GetCookie('Abonnement'))
		SetCookieAbonnement('Abonnement', tempcookie + my_fk_blog, 360);
	}
}

function InsertCookieAbonnement(fk_blog){
	var tempcookie = new String(GetCookie('Abonnement'))
	if (testIfFK(fk_blog, tempcookie) == -1){
		if (tempcookie == null) { tempcookie = ''; }
			var m = String(tempcookie);
				m = m + '-' + fk_blog + '-';
				SetCookieAbonnement('Abonnement', m, 360);
	}
}

function GetRequest(r, target){
	request = r;
	var IdDiv = target;
}

function linkDesactive(url) {
	document.location.href = url;
	return true;
}

function testEmail(idName){
var validEmail = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
	if (document.getElementById(idName).value == 'nom@serveur.com' || document.getElementById(idName).value == ''){
		alert ('Veuillez inscrire votre adresse de courriel.');
		return false;
	}
	else if ( validEmail.test(document.getElementById(idName).value) == false) {
		alert ("Cette adresse de courriel n\'est pas valide.\n Elle doit avoir cette forme : nom@votreserveur.com");
		return false;
	}
	else {
		return true;
	}
}

