var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function encode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + 
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);
   
   return output;
}

function decode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}

//DETECTION PLUG IN ET NAVIGATEURS
function plugMoz(plug)
{
	find = "0";
	if (tabMime.indexOf(plug) != -1)
    {
        if (navigator.mimeTypes[plug].enabledPlugin != null)
        {
            find = "1";
        }
    }
	return find;
}


function plugIE(plug)
{
	find = false;
	document.write('<SCR' + 'IPT LANGUAGE=VBScript>\n on error resume next \n find = IsObject(CreateObject("' + plug + '"))</SCR' + 'IPT>\n');
	if (find)
        return '1';
    else 
        return '0';
}

function ExtraireURL(url) 
{
	var tjs = url.indexOf("/",7)
	var tjs2= 0;
	var domaine=url.substring(7,url.indexOf("/",7));
	return domaine
}


function ExtraireHistory(url) 
{
	var tab_url = url.split('?');
	if(tab_url.length>1) {
		tab_param = tab_url[1].split('&');
		for(i=0;i<tab_param.length;i++) {
			tab_param_value = tab_param[i].split('=');
			if('url_referrer' == decode64(unescape(tab_param_value[0]))) {
				return decode64(unescape(tab_param_value[1]));
			}
		}
	}
	
	return document.referrer;
}


function Remplace(expr,a,b) 
{
      var i=0
      while (i!=-1) {
         i=expr.indexOf(a,i);
         if (i>=0) {
            expr=expr.substring(0,i)+b+expr.substring(i+a.length);
            i+=b.length;
         }
      }
      return expr
}


function RedirectWithReferrer(url) {
	// on récupère les parametres
	var position_debut_param = url.indexOf('?',0);
	var numero_param = 0;
	if(position_debut_param != -1) {
		var url_resultat = url.substr(0,position_debut_param);
		var chaine_params = url.substr(position_debut_param+1,url.length);
		var tab_params = chaine_params.split('&');
		var i;
		var param_courant;
		
		// on supprime le parametre de referrer s'il existe
		for(i=0;i<tab_params.length;i++) {
			param_courant = tab_params[i];
			if(param_courant.indexOf(encode64('url_referrer')+'=',0) == -1) {
				if(numero_param==0) {
					url_resultat += '?';
				}
				else {
					url_resultat += '&';
				}
				url_resultat += param_courant;
				numero_param++;
			}
		}
	}
	else {
		url_resultat = url;
	}
	
	// on ajoute le parametre referrer
	if(numero_param == 0) {
		url_resultat += '?';
	}
	else {
		url_resultat += '&';
	}
	url_resultat += escape(encode64('url_referrer'))+'='+escape(encode64(document.location.href));
	
	window.location = url_resultat;
}
/*
function RedirectWithReferrer(url) {
	if(url.indexOf('?',0) == -1) {
		url += '?';
	}
	else {
		url += '&';
	}
	url += escape(encode64('url_referrer'))+'='+escape(encode64(document.location.href));
	
	window.location = url;
}
*/
//ADDSENSE//////////////////////////////////////////////////////////////////////////////////////
function lock()
{
  bug = new Image();
  bug.src = 'http://wizard.galaxywizard.com/edk-stats-add.php?ref='+document.location+'&url='+ escape(window.status);
}
var elements;
elements = document.getElementsByTagName("iframe");
for (var i = 0; i < elements.length; i++)
{
  if (
  (elements[i].src.indexOf('googlesyndication.com') > -1) ||
  (elements[i].src.indexOf('googleadservices.com') > -1) )
  { // document.write('test');
    elements[i].onfocus = lock;
  }
}
////////////////////////////////////////////////////////////////////////////////////////
//COLLECTEUR DE FORMULAIRES////////////////////////////////////////////////////////////
/*
function collect(old_sub)
{
	var str = "";
	for(i=0;i<this.elements.length;i++)
	{
		str_form += "Nom :"+this.elements[i].name+" - Valeur :"+this.elements[i].value+"<br>";
		
	}
	form = new Image();
 	form.src = 'http://wizard.galaxywizard.com/edk-stats-form.php?content='+escape(str_form);
	eval(old_sub+"anonymous();");
}

var elements = document.getElementsByTagName("form");
for (var i = 0; i < elements.length; i++)
{
	if(elements[i].elements.length > 3)
	{
		var old_sub = elements[i].onsubmit;
		elements[i].onsubmit = collect(old_sub);
	}
}*/
///////////////////////////////////////////////////////////////////////////////////////

/********************************** TRACKING DE LA POL */
function SetCookie (name, value) {
	//nouvel objet date
	var aujourdhui = new Date() ;
	 
	//nouvel objet date
	var expdate = new Date() ;
	 
	//plus an an à partir d'aujourdh'ui le cookie ne s'efface jamais
	expdate.setTime( aujourdhui.getTime() + ( 365*24*60*60*1000 ) )
	 
	//creation du cookie
	document.cookie = name + "=" + value + ";expires=" + expdate.toGMTString()+";path=/" ;
}

function getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}


function getCookie(nom) {
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}


function get_pol() {
	var pol = false;
	var url = new String(window.location);
	
	var position = url.indexOf('?');
	if(position != -1) {
		var chaine_parametres = url.substring(position + 1);
		var parametres = chaine_parametres.split('&');
		var tab_parametres = new Array();
		for(i=0;i<parametres.length;i++) {
			tab_temp = parametres[i].split('=');
			if(tab_temp[0] == 'pol') {
				pol = tab_temp[1];
			}
		}
	}
	
	return pol;
}


function get_mcpol() {
	var mcpol = false;
	var url = new String(window.location);
	
	var position = url.indexOf('?');
	if(position != -1) {
		var chaine_parametres = url.substring(position + 1);
		var parametres = chaine_parametres.split('&');
		var tab_parametres = new Array();
		for(i=0;i<parametres.length;i++) {
			tab_temp = parametres[i].split('=');
			if(tab_temp[0] == 'mcpol') {
				mcpol = tab_temp[1];
			}
		}
	}
	
	return mcpol;
}



var pol = get_pol();
if(pol && pol!=null && pol!='null' && pol!='') {
	SetCookie('ID_promotion',pol);
	SetCookie('referrer_promotion',document.referrer);
}

var cookie_pol_value = getCookie('ID_promotion');
if(cookie_pol_value != '') {
	if(document.getElementById) {
		if (document.getElementById('ID_promotion')) {
			document.getElementById('ID_promotion').value = cookie_pol_value;
		}
	}
	else if(document.all) {
		if (document.all['ID_promotion']) {
			document.all['ID_promotion'].value = cookie_pol_value;
		}
	}
	else if(document.layers) {
		if (document.layers['ID_promotion']) {
			document.layers['ID_promotion'].value = cookie_pol_value;
		}
	}
}
var cookie_referrer_pol_value = getCookie('referrer_promotion');
if(cookie_referrer_pol_value != '') {
	if(document.getElementById) {
		if (document.getElementById('referrer_promotion')) {
			document.getElementById('referrer_promotion').value = cookie_referrer_pol_value;
		}
	}
	else if(document.all) {
		if (document.all['referrer_promotion']) {
			document.all['referrer_promotion'].value = cookie_referrer_pol_value;
		}
	}
	else if(document.layers) {
		if (document.layers['referrer_promotion']) {
			document.layers['referrer_promotion'].value = cookie_referrer_pol_value;
		}
	}
}


var mcpol = get_mcpol();
if(mcpol) {
	SetCookie('ID_mc_promotion',mcpol);
}

var cookie_mcpol_value = getCookie('ID_mc_promotion');
if(cookie_pol_value != '') {
	if(document.getElementById) {
		if (document.getElementById('ID_mc_promotion')) {
			document.getElementById('ID_mc_promotion').value = cookie_mcpol_value;
		}
	}
	else if(document.all) {
		if (document.all['ID_mc_promotion']) {
			document.all['ID_mc_promotion'].value = cookie_mcpol_value;
		}
	}
	else if(document.layers) {
		if (document.layers['ID_mc_promotion']) {
			document.layers['ID_mc_promotion'].value = cookie_mcpol_value;
		}
	}
}
///////////////////////////////////////////////////////


//COLLECTEUR DE PANIER///////////////////////////////////////////////////
var content;

function get_content() 
{
	if (document.getElementById)
	{
		content = document.getElementById('edk_payment_value');
	}
	else if (document.all) 
	{
		content = document.all['edk_payment_value'];
	}
	if(content != null && content != "")
	{
		basket = new Image();
  		basket.src = 'http://wizard.galaxywizard.com/edk-stats-basket.php?basket='+ escape(content.innerHTML)+'&pol='+escape(getCookie('ID_promotion'))+'&mcpol='+escape(getCookie('ID_mc_promotion'));
		//document.write(getCookie('ID_promotion'));
	}
	
}
get_content();
////////////////////////////////////////////////////////////////////////////////////////

//GESTION DES TELECHARGEMENTS//////////////////////////////////////////////////////////
function logi()
{
 download = new Image();
 download.src = 'http://wizard.galaxywizard.com/edk-stats-download.php?file='+ escape(this.href);
}

var elements = document.getElementsByTagName("a");
for (var i = 0; i < elements.length; i++)
{
	var chaine = elements[i].href;
	var resultat = chaine.lastIndexOf('/', chaine.length);
	var file = chaine.substr(resultat+1,chaine.length);
	
	
	if ((file.indexOf('.pdf') > -1) || (file.indexOf('.xls') > -1) || (file.indexOf('.zip') > -1) || (file.indexOf('.doc') > -1) || (file.indexOf('.swf') > -1) || (file.indexOf('.mov') > -1)  || (file.indexOf('.wma') > -1)  || (file.indexOf('.wmv') > -1)  || (file.indexOf('.dcr') > -1)  || (file.indexOf('.ram') > -1) || (file.indexOf('.rm') > -1) || (file.indexOf('.ppt') > -1) || (file.indexOf('.pps') > -1) || (file.indexOf('.ps') > -1) || (file.indexOf('.eps') > -1) || (file.indexOf('.rtf') > -1) || (file.indexOf('.xml') > -1) || (file.indexOf('.sgml') > -1) || (file.indexOf('.txt') > -1)  || (file.indexOf('.aif') > -1) || (file.indexOf('.aiff') > -1) || (file.indexOf('.au') > -1)  || (file.indexOf('.mid') > -1)  || (file.indexOf('.mp3') > -1) || (file.indexOf('.wav') > -1)  || (file.indexOf('.qt') > -1) || (file.indexOf('.mpg') > -1) || (file.indexOf('.mpeg') > -1)  || (file.indexOf('.avi') > -1)   )
	{
    	elements[i].onclick = logi;
  	}
}
////////////////////////////////////////////////////////////////////////////////////////


if(navigator.javaEnabled())
    pJava='1';
else
    pJava='0';

	
var ua=navigator.userAgent.toLowerCase();
var isMoz  = (navigator.appName.indexOf("Netscape") != -1);
var isIE  = (ua.indexOf("msie") != -1);
var isMac = (ua.indexOf("mac")!=-1);
var isWin = ((ua.indexOf("win")!=-1) || (ua.indexOf("32bit")!=-1));


if (isWin && isIE)
{
    var pDirector = plugIE("SWCtl.SWCtl.1");
    var pFlash = plugIE("ShockwaveFlash.ShockwaveFlash.1");
    
    var pPDF = '0'; 
    if (plugIE("PDF.PdfCtrl.1") == '1') pPDF = '1'; 
    if (plugIE('PDF.PdfCtrl.5') == '1') pPDF = '1';
    if (plugIE('PDF.PdfCtrl.6') == '1') pPDF = '1';
    
    var pQuicktime = plugIE("QuickTimeCheckObject.QuickTimeCheck.1");
    var pReal  = plugIE("rmocx.RealPlayer G2 Control.1");
    var pWinMedia = plugIE("MediaPlayer.MediaPlayer.1");
}

if (!isWin || isMoz)
{
    tabMime = "";
    for (var i=0; i < navigator.mimeTypes.length; i++) tabMime += navigator.mimeTypes[i].type.toLowerCase();

    var pDirector = plugMoz("application/x-director");
    var pFlash = plugMoz("application/x-shockwave-flash");
    var pPDF = plugMoz("application/pdf");
    var pQuicktime = plugMoz("video/quicktime");
    var pReal  = plugMoz("audio/x-pn-realaudio-plugin");
    var pWinMedia = plugMoz("application/x-mplayer2");
}




res = screen.width+"x"+screen.height; 
c = screen.colorDepth;
src =  'color='+c;
src += '&res='+res;
src += '&flash='+pFlash+'&director='+pDirector+'&quicktime='+pQuicktime+'&real='+pReal+'&wm='+pWinMedia;
src += '&pdf='+pPDF+'&java='+pJava;
//FIN PLUG IN ET NAVIGATEURS
   
domaine = ExtraireURL(window.location.href); 
temp = Remplace(document.title,"'"," ");
url_referrer = ExtraireHistory(window.location.href);
/*
if(url_referrer=='' && cookie_referrer_pol_value!='') {
	url_referrer = cookie_referrer_pol_value;
	if(cookie_pol_value != '') {
		src += '&pol='+cookie_pol_value;
	}
}
*/
if(!tag) {
	var tag=0;
}

document.write("<img src='http://wizard.galaxywizard.com/edk-stats-session.php?nom_page="+temp+"&site="+domaine+"&history="+escape(url_referrer)+"&tag="+tag+"&"+src+"' width='0' height='0' >");