//SETTING UP OUR POPUP
//0 means disabled; 1 means enabled;
var popupStatus = 0;

//loading popup with jQuery magic!
function loadPopup(){
    //loads popup only if it is disabled
    if(popupStatus==0){
        jQuery("#backgroundPopup").css({
            "opacity": "0.7"
        });
        jQuery("#backgroundPopup").fadeIn("slow");
        jQuery("#popupContact").fadeIn("slow");
        popupStatus = 1;
    }
}

//disabling popup with jQuery magic!
function disablePopup(){
    //disables popup only if it is enabled
    if(popupStatus==1){
        jQuery("#backgroundPopup").fadeOut("slow");
        jQuery("#popupContact").fadeOut("slow");
        popupStatus = 0;
    }
}

//centering popup
function centerPopup(){
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var popupHeight = jQuery("#popupContact").height();
    var popupWidth = jQuery("#popupContact").width();
    //centering
    /*
    jQuery("#popupContact").css({
        "position": "absolute",
        "top": windowHeight/2-popupHeight/2,
        "left": windowWidth/2-popupWidth/2
    });
    */
    var topos = '20px';
    var leftpos = windowWidth/2-popupWidth/2+'px';
    jQuery("#popupContact").css({
        "position": "absolute",
        "top": topos,
        "left": leftpos
    });
    //only need force for IE6
    
    jQuery("#backgroundPopup").css({
        "height": windowHeight
    });
    
}


//CONTROLLING EVENTS IN jQuery
jQuery(document).ready(function(){
 
    //LOADING POPUP
    //Click the button event!
    /*
    jQuery("#voirpopup").click(function(){
        //centering with css
        centerPopup();
        //load popup
        loadPopup();
    });
    */
    // changement du curseur pour les actions PopUp
    jQuery('#popupContactClose').hover(function () {
      jQuery(this).animate({opacity: "0.7"}, 100);
      jQuery(this).css({ cursor: "pointer"});
      }, function () {
      jQuery(this).animate({opacity: "1.0"}, 100);
      jQuery(this).css({ cursor: "auto"});
    });

    //CLOSING POPUP
    //Click the x event!
    jQuery("#popupContactClose").click(function(){
        disablePopup();
    });
    //Click out event!
    jQuery("#backgroundPopup").click(function(){
        disablePopup();
    });
    //Press Escape event!
    jQuery(document).keypress(function(e){
        if(e.keyCode==27 && popupStatus==1){
            disablePopup();
        }
    });

});
// ------------------ nouvelle fonction pour  jQuery ----------------------------
// initialisation tétière après chargement
jQuery.fn.voirpopupjquery = function(refcat) {
  //alert('recat = ' + refcat);
  jQuery('#popupContact').css({'background-color' : 'gray' });
  jQuery('#popuptitle').html("Rercherche en cours, veuillez patienter ...."); // Remplacement du contenu
  jQuery('#popupexplique').html(""); // Remplacement du contenu
  var ajaxwaithtml = '<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2"> ';
  ajaxwaithtml = ajaxwaithtml + '<tbody><tr><td style="height: 450px; width: 520px; text-align: center;">';
  ajaxwaithtml = ajaxwaithtml + 'T&eacute;l&eacute;chargement en cours <br /> Veuillez patienter ... <br /> ';
  ajaxwaithtml = ajaxwaithtml + '<img src="blocs/popupjquery/images/ajax_wait.gif" alt="en cours de chargement ..."   title="en cours de chargement ..."  >';
  ajaxwaithtml = ajaxwaithtml + '</td></tr></tbody></table>';
  jQuery('#popuptext').html(ajaxwaithtml); // Remplacement du contenu
  jQuery.ajax({  // ajax
    type: "GET",
    url: "popupcatgen.php", // url de la page à charger
    data: "refcat="+refcat+"&iduser=0",
    cache: false, // pas de mise en cache
    success:function(retourdatas){ // si la requête est un succès
    //alert(html); // Affichage
    //jQuery('#popupcontenu').html(Utf8.decode(retourdatas)); // Remplacement du contenu  avec decodage
    jQuery('#popupcontenu').html(retourdatas); // Remplacement du contenu  sans decodage
    // mise en place de la couleur de fond
    var newbgcolor = jQuery('#popuptitle').attr("rel");
    jQuery('#popupContact').css({'background-color' : newbgcolor });
    },
    error:function(XMLHttpRequest, textStatus, errorThrows){ // erreur durant la requete
    }
  });
  //centering with css
  centerPopup();
  //load popup
  loadPopup();
};
// -----------------------------------------------------------------------------
// CONVERSION JAVASCRIPT UTF 8 ENCODE ET DECODE
//
//  UTF-8 data encode / decode
//  http://www.webtoolkit.info/
//
///
var Utf8 = {
 
  // public method for url encoding
  encode : function (string) {
    string = string.replace(/\r\n/g,"\n");
    var utftext = "";
 
    for (var n = 0; n < string.length; n++) {
 
      var c = string.charCodeAt(n);
 
      if (c < 128) {
        utftext += String.fromCharCode(c);
      }
      else if((c > 127) && (c < 2048)) {
        utftext += String.fromCharCode((c >> 6) | 192);
        utftext += String.fromCharCode((c & 63) | 128);
      }
      else {
        utftext += String.fromCharCode((c >> 12) | 224);
        utftext += String.fromCharCode(((c >> 6) & 63) | 128);
        utftext += String.fromCharCode((c & 63) | 128);
      }
 
    }
 
    return utftext;
  },
 
  // public method for url decoding
  decode : function (utftext) {
    var string = "";
    var i = 0;
    var c = c1 = c2 = 0;
 
    while ( i < utftext.length ) {
 
      c = utftext.charCodeAt(i);
 
      if (c < 128) {
        string += String.fromCharCode(c);
        i++;
      }
      else if((c > 191) && (c < 224)) {
        c2 = utftext.charCodeAt(i+1);
        string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
        i += 2;
      }
      else {
        c2 = utftext.charCodeAt(i+1);
        c3 = utftext.charCodeAt(i+2);
        string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
        i += 3;
      }
 
    }
 
    return string;
  }
 
}

