// On definit que le server n'a aucune requette en cours;
var isWorking = false;
var nums = new Array();
var pubs = new Array();
var site;
var page;

var cookieEnCours;
var pubEnCours;
var _pub0Filled = false;
var _pub1Filled = false;
var _NUM;
var _PUBS;
var _URL;
var _HANDLER;
var _INDICE;
var _FIRSTPUBLIBELLE;
var _compt=0;
var gifDefaut = 'default/htl_pub.png';

// On cre l'object Http;
function getHTTPObject(){
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
		try{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) { 
			try { 
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) { 
				xmlhttp = false;
			}
		}
	@else
	xmlhttp = false;
	@end @*/ 
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}
var objectRequest = getHTTPObject(); // We create the HTTP Object
// Fonction principal ouvrant la cgi sur le serveur et appelant handleHttpResponse();
function selectPubs(url,handler){
	_URL = url;
	_HANDLER = handler;
	_compt++;
	if(!_pub0Filled){
		pubEnCours = 'pub0';
		cookieEnCours = 'acheter-louer_pub0';
		_NUM = 0;
		_INDICE = 0;
	}else{
		if(!_pub1Filled){
			pubEnCours = 'pub1';
			cookieEnCours = 'acheter-louer_pub1';
			_NUM=1;
			_INDICE = 1;
		}else{
			return;
		}
	}
	var numsPubs = GetCookie(cookieEnCours);
	if(!isWorking && objectRequest){
		getSitePage(_URL);
		var _url = _URL + '&pub=' + pubEnCours + '&numspubs=' + numsPubs + ieTrick('&') + '&firstPubLibelle=' + _FIRSTPUBLIBELLE;
		objectRequest.open("GET", _url, true);
		objectRequest.onreadystatechange = _HANDLER;
		isWorking = true;
  		objectRequest.send(null);
	}else{
		if(document.getElementById(pubEnCours)){
			document.getElementById(pubEnCours).src='/images/pub/' +  page + '/' + gifDefaut;
		}
	}
}

//Selection des pubs 1 et 2;
function handlerPubs(){
	var tab = new Array();
	var _pub;
	var _link;
	var _extGif = /\.gif/i;
	var _extJpg = /\.jpg/i;
	var _extSwf = /\.swf/i;
	var _extPng = /\.png/i;

	if(objectRequest && objectRequest.readyState == 4) {
		if (objectRequest.responseText.indexOf('invalid') == -1){
			result = objectRequest.responseText;
			tab = result.split(";");
			isWorking = false;
			
			if(tab[0] && tab[1]){//L'ajax renvoi quelque chose
				_FIRSTPUBLIBELLE = tab[2];
				_pub = new String(tab[0]);
				_link = tab[1];
				
				nums[_NUM] = _link;
				pubs[_NUM] = _pub;
				//on en profite pour renseigner le cookieBandeauxAnnonces;

				majCookieBandeauxAnnonces(cookieEnCours,_link);
				if(_pub.match(_extGif) || _pub.match(_extJpg) || _pub.match(_extPng)){
					if(document.getElementById(pubEnCours)){
						//alert(pubEnCours + '-' + page + '-' + _pub);
						document.getElementById(pubEnCours).src= '/images/pub/' + page + '/' + _pub;
					}
				}else if(_pub.match(_extSwf)){
					document.getElementById('pubimage'+_INDICE).style.visibility='hidden';
					document.getElementById('pubimage'+_INDICE).style.display='none';
					document.getElementById('pubiframe'+_INDICE).style.visibility='hidden';
					document.getElementById('pubiframe'+_INDICE).style.display='none';
	
					//1. je crée mon object
					var objetFlash=document.createElement("object");
					
					//. je crée mes param
					var paramMovie=document.createElement("param");
					var paramQuality=document.createElement("param");
					var paramBgColor=document.createElement("param");

					//3. j'ajoute aux params leurs atributs
					paramMovie.setAttribute("name","movie");
					var swf = '/images/pub/' + page + '/' + _pub;

					paramMovie.setAttribute("value",swf);

					paramQuality.setAttribute("name","quality");
					paramQuality.setAttribute("value","high");

					//4. j'ajoute mes param à l'object
					objetFlash.appendChild(paramMovie);
					objetFlash.appendChild(paramQuality);

					//5. je met l'object dans le html
					document.getElementById('pubflash'+_INDICE).appendChild(objetFlash);
					objetFlash.setAttribute("width",300);
					objetFlash.setAttribute("height",250);
					objetFlash.setAttribute("data",swf);

					document.getElementById('pubflash'+_INDICE).style.visibility= 'visible';
					document.getElementById('pubflash'+_INDICE).style.display= 'block';
				}else{
					// Pour l'instant il n'y a que BlueLithium donc Fonction Math.round special pour lui
					var rnd = Math.round(Math.random()*10000000);
					document.getElementById('iframe'+_INDICE).src= _pub + '&cpy=' + rnd;
					//alert(document.getElementById('iframe'+_INDICE).src);
					document.getElementById('pubiframe'+_INDICE).style.visibility= 'visible';
					document.getElementById('pubiframe'+_INDICE).style.display= 'block';
					document.getElementById('pubiframe'+_INDICE).style.zindex= 1;
					document.getElementById('pub'+_INDICE).style.visibility='hidden';
					document.getElementById('pub'+_INDICE).style.display='none';
					document.getElementById('pubflash'+_INDICE).style.visibility='hidden';
					document.getElementById('pubflash'+_INDICE).style.display='none';
				}
				if(pubEnCours == 'pub0'){_pub0Filled = true;}
				if(pubEnCours == 'pub1'){_pub1Filled = true;}
			}else{//L'ajax ne renvoi rien
				majCookieBandeauxAnnonces(cookieEnCours,'',1);
				if(_compt > 4){
					affichePubDefaut();
					if(pubEnCours == 'pub0'){_pub0Filled = true;}
					if(pubEnCours == 'pub1'){_pub1Filled = true;}
				}
			}
			selectPubs(_URL,_HANDLER);
		}else{
			if(document.getElementById(pubEnCours)){
				document.getElementById(pubEnCours).src='/images/pub/' + page + '/' + gifDefaut;
			}
			majCookieBandeauxAnnonces(cookieEnCours,'',1);
		}
  	}else{
		return;
	}
}

//Mise ï¿½ jour du cookieBandeauxAnnonces;
function majCookieBandeauxAnnonces(COOKIE,num,SETCOOKIE){
	var path = "/";
	var expdate = new Date ();
	expdate.setTime (expdate.getTime() + (336 * 60 * 60 * 1000));
	if(SETCOOKIE){
		SetCookie(COOKIE,'',expdate,path);
	}else{
		var numsPubs = GetCookie(COOKIE);
		if(numsPubs == false){
			numsPubs = '';
		}else{
			var regexp = /^;/;
			numsPubs = new String(numsPubs);
			numsPubs = numsPubs.replace(regexp,'');
		}
		var chaine = numsPubs + ';' + num;
		SetCookie(COOKIE,chaine,expdate,path);
	}
}
//Renvoie le site et la page;
function getSitePage(url){
	//alert(url);
	var exp_site = /site=.+/;
	var exp_page = /page=\D+&/;
	var site_arg = new String(url.match(exp_site));
	site = site_arg.replace('site=','');
	page_arg = new String(url.match(exp_page));
	page = page_arg.replace('page=','');
	page = page.replace('&','');
	//alert(site + ' - ' + page);
}
function ieTrick(sep){ 
	d = new Date();
	trick = d.getYear() + "ie" + d.getMonth() + "t" + d.getDate() + "r" + d.getHours() + "i" + d.getMinutes() + "c" + d.getSeconds() + "k" + d.getMilliseconds();
	if (sep != "?"){ 
		sep = "&"; 
	}
	return sep + "ietrick=" + trick; 
}
function affichePubDefaut(){
	document.getElementById(pubEnCours).src='/images/pub/' + page + '/' + gifDefaut;
}