var modeDebug = false;

// ====================================================================================================
//                                             FONCTIONS
// ====================================================================================================

var navigateur=function() {
	var strChUserAgent = navigator.userAgent;
	var intSplitStart = strChUserAgent.indexOf("(", 0);
	var intSplitEnd = strChUserAgent.indexOf(")", 0);
	var strChStart = strChUserAgent.substring(0, intSplitStart);
	var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);
	var strChEnd = strChUserAgent.substring(intSplitEnd);
	
    if(strChMid.indexOf("MSIE 8") != -1)
    {    return "IE8";  }
	if(strChMid.indexOf("MSIE 7") != -1)
	{	return "IE7";  }
	else if(strChMid.indexOf("MSIE 6") != -1)
	{	return "IE6";  }
    else if(strChMid.indexOf("MSIE 6") != -1)
    {    return "IE";  }
	else if(strChEnd.indexOf("Firefox/2") != -1)
	{	return "Firefox2";  }
	else if(strChEnd.indexOf("Firefox") != -1)
	{	return "Firefox";  }
	else if(strChEnd.indexOf("Netscape/7") != -1)
	{	return "NS7";  }
	else if(strChEnd.indexOf("Netscape") != -1)
	{	return "NS";  }
	else if(strChStart.indexOf("Opera/9") != -1)
	{	return "Opera9";  }
	else if(strChStart.indexOf("Opera") != -1)
	{	return "Opera";  }
	else if(strChEnd.indexOf("Safari") != -1)
	{	return "Safari";  }
	else 
	{	return "Autre";  }
};

// Permet de faire fonctionnner les transparences des fichiers png � partir de IE5.5
var correctPNG=function() {
	if (navigateur() == "IE6") {
		for(var i=0; i<document.images.length; i++) {
			var img = document.images[i];
			var imgName = img.src.toUpperCase();
			if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
      {
         var imgID = (img.id) ? "id='" + img.id + "' " : ""
         var imgClass = (img.className) ? "class='" + img.className + "' " : ""
         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
         var imgStyle = "display:inline-block;" + img.style.cssText 
         if (img.align == "left") imgStyle = "float:left;" + imgStyle
         if (img.align == "right") imgStyle = "float:right;" + imgStyle
         if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
         var strNewHTML = "<span " + imgID + imgClass + imgTitle
         + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
         + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
         + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
         img.outerHTML = strNewHTML
         i = i-1
      }

		}
	}
};
if (window.attachEvent) {
  window.attachEvent("onload",correctPNG);
}

// Pour ajouter le site aux favoris (IE7, Firefox)
var libelleFavoris = '';
var ajouterFavoris=function(pLibelle, pUrl) {
    siteURL = window.location.href != "" ? window.location.href : pUrl;
    siteNOM = libelleFavoris != "" ? libelleFavoris : pLibelle;
    
    /*-- MESSAGE --*/
    function myMessage (raccourciClavier) {
        alert ("Utilisez '" + raccourciClavier + "'\npour ajouter " + siteNOM + " dans vos favoris !");
    }

    /*-- TRAITEMENT DES NAVIGATEURS --*/

    //Konqueror
    if (navigator.userAgent.indexOf('Konqueror') >= 0) {
    /*Test a effectuer avant tout les autres car repond TRUE aux differents tests sans pouvoir les exploiter*/
        myMessage("CTRL + B");
    }
    else if (window.sidebar) {
        /* Netscape 6+ ; Mozilla, FireFox et compagnie (K-Meleon ...) */
        window.sidebar.addPanel(siteNOM,siteURL,"");
    }
    else if (window.external) {
        /* Internet Explorer 4+, et ses d�riv�s (Crazy Browser, Avent Browser ...) */
        window.external.AddFavorite(siteURL,siteNOM);
    }
    else if (document.all && (navigator.userAgent.indexOf('Win') < 0)) {
        /* Internet Explorer Mac */
        myMessage("POMME + D");
    }
    else if (window.opera && window.print) {
        /* Opera 6+ */
        myMessage("CTRL + T");
    }
    else if (document.layers) {
        /* Netsccape 4 */
        myMessage("CTRL + D");
    }
    else if (navigator.userAgent.indexOf('Safari') >= 0) {
        /* Safari */
        myMessage("POMME + D ou CTRL + D");
    }
    else alert ("Cette fonction n'est pas disponible pour votre navigateur.");
};



//print_r javascript
var print_r = function( array, return_val ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Michael White (http://crestidg.com)
    // +   improved by: Ben Bryan
    // *     example 1: print_r(1, true);
    // *     returns 1: 1
    var output = "", pad_char = " ", pad_val = 4;
    var formatArray = function (obj, cur_depth, pad_val, pad_char) {
        if (cur_depth > 0) {
            cur_depth++;
        }

        var base_pad = repeat_char(pad_val*cur_depth, pad_char);
        var thick_pad = repeat_char(pad_val*(cur_depth+1), pad_char);
        var str = "";

        if (obj instanceof Array || obj instanceof Object) {
            str += "Array\n" + base_pad + "(\n";
            for (var key in obj) {
                if (obj[key] instanceof Array) {
                    str += thick_pad + "["+key+"] => "+formatArray(obj[key], cur_depth+1, pad_val, pad_char);
                } else {
                    str += thick_pad + "["+key+"] => " + obj[key] + "\n";
                }
            }
            str += base_pad + ")\n";
        } else {
            str = obj.toString();
        }

        return str;
    };

    var repeat_char = function (len, pad_char) {
        var str = "";
        for(var i=0; i < len; i++) {
            str += pad_char;
        };
        return str;
    };
    output = formatArray(array, 0, pad_val, pad_char);

    if (return_val !== true) {
        document.write("<pre>" + output + "</pre>");
        return true;
    } else {
        return output;
    }
};

// Permet de cacher la div (divIntro) contenant l'intro flash
var hide_intro = function(duree_loading, duree_regardee, regardee_completement)
{	
	if(typeof(document.getElementById('divIntro')) != 'undefined')
    {
         document.getElementById('divIntro').style.display = 'none';
         document.getElementById('navigation').outerHTML = tampon_navig;
         if(document.getElementById('ConteneurQuicksearch') != null)
         {
            document.getElementById('ConteneurQuicksearch').outerHTML = tampon_qs;
         }
         var htmlElement = document.getElementsByTagName('html')[0];
         htmlElement.style.overflowY = 'auto';
         htmlElement.style.overflowX = 'auto';
         if(document.body)
         {
            document.body.style.overflowY = "auto";
            document.body.style.overflowX = "auto";
         }
		 
		 if (modeDebug) {
		 	alert('duree_loading : ' + duree_loading);
		 	alert('duree_regardee : ' + duree_regardee);
		 	alert('regardee_completement : ' + regardee_completement);
		 }
		 
		 if (duree_loading != undefined) {
		 	if(duree_regardee == undefined) { duree_regardee = 0; }
			if(regardee_completement == undefined) { regardee_completement = 0; }
			
		 	envoiStatsAnim(duree_loading, duree_regardee, regardee_completement);
		 }
    }
}

// Permet d'envoyer les stats fournies par l'anim d'intro, à un script PHP, pour l'enregistrement en base
var envoiStatsAnim = function(duree_loading, duree_regardee, regardee_completement)
{
    var xhr = createXHR();
    if (modeDebug) {
		xhr.onreadystatechange = function(){
			if (xhr.readyState == 4) {
				if (xhr.status == 200) {
					alert(xhr.responseText);
				}
			}
		};
	}
	
	var adresseURL = document.URL.split('/');

	var urlStats = '/apicius_plateforme2/intro/stats.php?lang=' + adresseURL[3] + '&duree_loading=' + duree_loading + '&duree_regardee=' + duree_regardee+ '&regardee_completement=' + regardee_completement;  
    xhr.open("GET", urlStats , true);
    xhr.send(null);
};



// Fonction



// Fonction a utiliser si vous souhaiter envoyer des infos vers Flash
var emetteurVersFlash = function(nomPage) {
    var doc_flash;
    
    if(document.getElementById("navigation"))
    {
        if (navigator.appName.indexOf("Microsoft") != -1)
        {
            doc_flash = window["navigation"];
        }
        else
        {
            if (document["navigation"].length != undefined)
            {
                doc_flash = document["navigation"][1];
            }
            else
            {
                doc_flash = document["navigation"];
            }
        }
        
        doc_flash.recepteurDepuisJavascript(nomPage);
    }
};


// Fonction a utiliser si vous souhaitez renvoyer des infos depuis Flash
var recepteurDepuisFlash = function(pParam) {
};


//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
//Attention ce n'est pas la fonction d'orige elle à été hacké par Ghislain et Jean pour le support de la molette sous IE
var flashmousewheel=function(e){
   nav = navigateur();
   if(nav.indexOf("IE")!=-1){ document.body.scrollTop-=e.wheelDelta/2; }
 }

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else 
    return src + ext;   
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{
  var str = '<object onmousewheel="flashmousewheel(event);"';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs) {
    str += i + '="' + embedAttrs[i] + '" ';
  }
  str += ' ></embed></object>';
  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "name":
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "id":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function cameFrom(where) {
if (!document.referrer && !where) return true;
else return (document.referrer.indexOf(where)>=0)
}
if (cameFrom("google")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.fr")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.es")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.de")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.it")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.en")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.jp")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.uk")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.ch")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("msn.fr")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("msn")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("msn.es")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("msn.de")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("msn.it")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("msn.en")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("msn.jp")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("msn.uk")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("msn.ch")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("yahoo.fr")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("yahoo")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("altavista")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("altavista.fr")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("dogpile")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("voila.fr")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.co.uk")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("google.nl")) {
location.replace("http://www." + Url + "/");
}
else if (cameFrom("live")) {
location.replace("http://www." + Url + "/");
}
