var isIE = document.all;
var nouveauteIsDisplayed;
var catalogueIsDisplayed;
var teamWearIsDisplayed;
var posterIsDisplayed;
var newsIsDisplayed;
var annIsDisplayed;
var menuIsSet;
var lastX;
var lastY;
var expandedClient 	=0;
var preview1;
var index;

var vignettes = new Array('nouveaute', 'catalogueBox', 'teamWear', 'news', 'annonce' );
var mesEffets = new Object;


function load_sequence(){
	var x = Math.random();
	x = x * (vignettes.length - 1);
	x = Math.round(x);
	if(x>vignettes.length) x=vignettes.length;
	show('bas');
	if (vignettes.length == 5) {
		scooterMove();
	}
	if($('annonce_body')){
		if(document.getElementById('annonce_body').innerHTML.length == 0) {
			var rr = vignettes.indexOf('annonce');
			if(rr>-1)		vignettes.splice( rr, 1);
		}
	}
	debug(x+': '+vignettes[x]);
	if(( vignettes.indexOf('catalogueBox') > -1) & (vignettes[x]==='annonce')){  }  // exclusion annonce si pas encore catalogue
	else{
		mesEffets[vignettes[x]] = showElement(vignettes[x]);
		vignettes.splice( x, 1);
	}

	if (vignettes.length == 0) {
		window.clearTimeout(timer);
		var timerNouveautes = window.setTimeout(nouveaute_demander, 5000);
	}
	else {
		timer = window.setTimeout(load_sequence, 1500);
	}
}

function showElement(element){
	if ($(element)) {
		new Effect.Appear(element, {
			duration: 1.5
		});
	}
}

function inputFocus(){
	this.value = '';
	new Effect.Opacity(this.id, {from:0.5, to:1.0, duration:0.5} );
}

function nouveaute_demander(){
	var url = "modules/nouveaute/nouveaute3.php?xml=1";
	new Effect.Fade('nPath', {from:1, to:0, duration:1, sync: true});
	debug('nouveaute_demander: ' + url);
	doAjax(url, nouveaute_remplir);
}

function nouveaute_remplir(){
	var xmlDoc 	= this.req.responseXML.documentElement;
	var xMois 	= xmlDoc.getElementsByTagName('mois')[0].childNodes[0].nodeValue;
	var xAnnee 	= xmlDoc.getElementsByTagName('annee')[0].childNodes[0].nodeValue;
	var xModele	= xmlDoc.getElementsByTagName('modele')[0].childNodes[0].nodeValue;
	var xTexte	= xmlDoc.getElementsByTagName('texte')[0].childNodes[0].nodeValue;
	var xPath 	= xmlDoc.getElementsByTagName('path')[0].childNodes[0].nodeValue;
	//hide('nPath');
	$('nPath').setStyle({ opacity: 0 });
	document.getElementById('nPath').src = xPath;
	content('nMois', xMois);
	content('nAnnee', xAnnee);
	content('nModele', xModele);
	content('nTexte', xTexte);
	//new Effect.Appear('nPath', {to:1.0, duration:0.1, queue:'end'});
	timerNouveautes = window.setTimeout(nouveaute_demander,6000);
}

function nouveauteM_demander(){
	if(!menuIsSet){
		maxContenu();
		debug("php/menu.php?xml=1");
		doAjax("php/menu.php?xml=1", menuRefresh);
		menuIsSet=1;
	}
	var url = "php/nouveauteM.php";
	debug(url);
	//new Effect.Opacity('nPath', { from: 1, to: 0, duration: 0 });
	doAjax(url, nouveauteM_remplir);
}

function nouveauteM_remplir(){
	if (this.req.responseXML === null) {
		debug("Response is undefined");
		timerNouveautes = window.setTimeout(nouveauteM_demander,500);
	}
	else{
		debug(this.req.responseXML);
		var xmlDoc 	= this.req.responseXML.documentElement;
		if(xmlDoc){
			var xID_Planche	= xmlDoc.getElementsByTagName('ID_Planche')[0].childNodes[0].nodeValue;
			var xModele	= xmlDoc.getElementsByTagName('modele')[0].childNodes[0].nodeValue;
			var xPath 	= xmlDoc.getElementsByTagName('path')[0].childNodes[0].nodeValue;
			document.getElementById('iN'+xID_Planche).src = xPath;

			timerNouveautes = window.setTimeout(nouveauteM_demander,500);
		}
		else {
			debug("Failed loading nouveautes");
		}
	}
}

function revInit(){
	window.setTimeout("",0);
	doAjax("php/menu.php?xml=1", menuRefresh);
	var nouveauDiv = document.createElement("div");
	nouveauDiv.id = 'popup';
	nouveauDiv.setAttribute('style', "display:none");
	nouveauDiv.style.display = "none";
	document.getElementById('contenu').appendChild(nouveauDiv);
	if(document.all)	document.attachEvent('onmousemove', revWatch);
	else 				window.onmousemove = revWatch;
}

function revWatch(evenement){
	if(document.all){
		lastX = event.clientX + document.body.scrollLeft;
		lastY = event.clientY + document.body.scrollTop;
	}else{
		lastX=evenement.clientX;
		lastY=evenement.clientY;
	}
}

function revDept(dep, e){
	//alert(dep);
	var url = "php/revPopup.php?dep="+dep;
	debug(url);
	doAjax(url, revPopup);
}

function revPopup_hide(event){
	if(document.all){//ie
		var papa = event.toElement.parentNode;

	}else{
		var papa = event.relatedTarget.parentNode;
	}
	if((papa.id !== 'popup')& (papa.id !== 'revUl')&(papa.nodeName !=='LI')){
		var revUL = document.getElementById('revUl');
		if(revUL){
			if(document.all)//ie
			revUL.innerText='';
			else
			revUL.innerHTML='';
			var $arr = revUL.childNodes;
			for(var i = 0; i<$arr.length; i++){
				revUL.removeChild($arr[i]);
			}
		}
		debug(papa.nodeName+'#'+papa.id);
		Effect.Fade('popup', {duration:0.5});
		window.onmousemove = revWatch;
	}
}

function revPopup(e){
	var xmlDoc 	= this.req.responseXML.documentElement;

	if(!this.req.responseXML){debug("Failed loading town list");}
	else {
		var xmlDoc 		= this.req.responseXML.documentElement;
		if(!xmlDoc){debug("Failed loading town list");}
		else{
			if(document.getElementById("revUl"))
			document.getElementById("popup").removeChild( document.getElementById("revUl") );
			var nLigne = xmlDoc.getElementsByTagName('ville').length;
			debug("found "+nLigne);
			var nouveauUl = document.createElement("ul");
			//nouveauUl.id = 'revUl';
			nouveauUl.setAttribute('id', 'revUl');
			document.getElementById('popup').appendChild(nouveauUl);

			for(var i = 0; i < nLigne; i++) {
				var _nom 	= xmlDoc.getElementsByTagName('nom')[i].childNodes[0].nodeValue;
				// creation LI
				var nouveauLI = document.createElement("li");
				nouveauLI.className = 'revLi';
				nouveauLI.setAttribute('id', i);
				// creation link
				var a = document.createElement("a");
				var aTitre = document.createTextNode(_nom);
				a.appendChild(aTitre);
				a.setAttribute('href', "/revendeursville-"+_nom+".html");
				a.className = 'menu';
				nouveauLI.appendChild(a);
				if(document.getElementById("revUl").childNodes[i]){
					document.getElementById("revUl").replaceChild(nouveauLI, document.getElementById("revUl").childNodes[i]);
				} else{
					document.getElementById("revUl").appendChild(nouveauLI);
				}
			}
			//
			var hPop = 300;
			debug('hPop='+hPop);
			var xx = lastX - document.getElementById('nouv_m_body').offsetLeft
			xx  -= document.getElementById('contenu').offsetLeft;
			xx  -= document.getElementById('centre').offsetLeft;

			var yy = lastY ;
			var limBasse = document.getElementById('bas').offsetTop ;
			debug('bas pop = '+(yy+hPop)+'  bas= '+limBasse);
			if((yy+hPop) > limBasse){
				yy = limBasse - hPop + 35;
			}
			yy  -= document.getElementById('nouv_m_body').offsetTop;
			yy  -= document.getElementById('contenu').offsetTop;
			yy  -= document.getElementById('popup').offsetHeight/2;
			if(yy < document.getElementById('contenu').offsetTop)
			yy = document.getElementById('contenu').offsetTop;


			if(document.all){
				//debug('lastX = '+lastX+'\n offsetLeft = '+document.getElementById('contenu').offsetLeft);
				//debug(xx+'/'+yy);
				document.getElementById('popup').style.left= xx;
				document.getElementById('popup').style.top = yy;
				document.getElementById('popup').style.display = 'block';
				document.getElementById('popup').attachEvent('onmouseout', revPopup_hide);
			}
			else{
				document.getElementById('popup').setAttribute('style', "display:block; top: "+yy+"px; left:"+xx+"px;");
				document.getElementById('popup').addEventListener('mouseout',revPopup_hide,false);
			}
			window.onmousemove = revWatch;
		}
	}
}
function menuDisplay(){
	doAjax("php/menu.php?xml=1", menuRefresh);
}

function modInit(){
	menuDisplay();
	maxContenu();
	var code = document.fModele.marque.value;
	marqueSearch(code);
}

function url_encode(string){
	string = string.replace(/ /g,"_");
	string = string.replace(/\//g,"_");
	string = string.replace(/-/g,"_");
	string = string.replace(/\*/g,"_");
	string = escape(string);
	return string;
}

function HTMLEncode(wText){
	if(typeof(wText)!="string"){
			wText=wText.toString();
	}
	wText=wText.replace(/&/g, "&amp;") ;
	wText=wText.replace(/"/g, "") ;//&quot;
	wText=wText.replace(/</g, "&lt;") ;
	wText=wText.replace(/>/g, "&gt;") ;
	wText=wText.replace(/'/g, "&#146;") ;
	return wText;
}

function HtmlEntities(newString,type) {

	if(!newString.length) {
		return newString;
	}

	var chars = new Array ('&','�','�','�','�','�','�','�','�','�','�',
	'�','�','�','�','�','�','�','�','�','�','�',
	'�','�','�','�','�','�','�','�','�','�','�',
	'�','�','�','�','�','�','�','�','�','�','�',
	'�','�','�','�','�','�','�','�','�','�','�',
	'�','�','�','�','�','�','�','�','\"','�','<',
	'>','�','�','�','�','�','�','�','�','�','�',
	'�','*','�','�','�','�','�','�','�','�','�',
	'�','�','�','�','�','�','�','�');

	var entities = new Array ('&amp;','&agrave;','&aacute;','&acirc;','&atilde;','&auml;','&aring;',
	'aelig;','&ccedil;','&egrave;','&eacute;','&ecirc;','&euml;','&igrave;',
	'iacute;','&icirc;','&iuml;','&eth;','&ntilde;','&ograve;','&oacute;',
	'ocirc;','&otilde;','&ouml;','&oslash;','&ugrave;','&uacute;','&ucirc;',
	'uuml;','&yacute;','&thorn;','&yuml;','&Agrave;','&Aacute;','&Acirc;',
	'Atilde;','&Auml;','&Aring;','&AElig;','&Ccedil;','&Egrave;','&Eacute;',
	'Ecirc;','&Euml;','&Igrave;','&Iacute;','&Icirc;','&Iuml;','&ETH;','&Ntilde;',
	'Ograve;','&Oacute;','&Ocirc;','&Otilde;','&Ouml;','&Oslash;','&Ugrave;',
	'Uacute;','&Ucirc;','&Uuml;','&Yacute;','&THORN;','&euro;','&quot;','&szlig;',
	'lt;','&gt;','&cent;','&pound;','&curren;','&yen;','&brvbar;','&sect;','&uml;',
	'copy;','&ordf;','&laquo;','&not;','&shy;','&reg;','&macr;','&deg;','&plusmn;',
	'sup2;','&sup3;','&acute;','&micro;','&para;','&middot;','&cedil;','&sup1;',
	'ordm;','&raquo;','&frac14;','&frac12;','&frac34;');

	if(type == "decode") {
		var from = chars;
		var to = entities;
	} else {
		var from = entities;
		var to = chars;
	}

	for (var i = 0; i < from.length; i++)
	{
		myRegExp = new RegExp();
		myRegExp.compile(to[i],'g');
		newString = newString.replace (myRegExp,from[i]);
	}

	return newString;

}

function diapo_display(url, alt, id, pageAdmin){
	alt = alt.replace(/\\'/g,"&#39;");
	alt = alt.replace(/�/g,"&euro;");
	document.getElementById('photo490').setAttribute('src', url);
	document.getElementById('photo490').setAttribute('alt', alt);
	content('diapoText', alt);
	setEvent('diapoBtn', 'onclick', "edit('" + pageAdmin + "', " + id + ")");
}
function modeleLoad(){
	debug('modeleLoad');
	maxContenu();
	menuDisplay();
}

function maxContenu(){
	debug('maxContenu');
	var hMenu = document.getElementById('menuUL').offsetHeight;
	if(document.all){
		var hs = window.screen.availHeight ;
	}
	else{
		var hs = window.innerHeight ;
	}
	var hC	= hs - 143;
	if(hC < hMenu){
		hC = hMenu;
		hs = hC + 143
	}
	if(document.getElementById('nouv_diapo')){
		var hB = document.getElementById('nouv_diapo').offsetTop + document.getElementById('nouv_diapo').offsetHeight;
		debug(hB);
		if(hC < hB){
			hC = hB;
			hs = hC + 143
		}
	}
	else if(document.getElementById('nuancier')){
		var hB = document.getElementById('nuancier').offsetTop + document.getElementById('nuancier').offsetHeight;
		debug('hB='+hB);
		if(hC < hB){
			hC = hB;
			hs = hC + 143
		}
	}
	else if(document.getElementById('nouv_m_body')){
		var hB = document.getElementById('nouv_m_body').offsetTop + document.getElementById('nouv_m_body').offsetHeight;
		debug('hB='+hB);
		if(hC < hB){
			hC = hB;
			hs = hC + 143
		}
	}
	else if(document.getElementById('std_Body_STR')){
		hPreviews = $('dPreviews').offsetHeight * nRows;
		$('dPreviews').style.height = hPreviews+'px';
		debug('dPreviews='+$('dPreviews').offsetTop+" + "+$('dPreviews').offsetHeight)
		debug('std_Body_STR='+$('std_Body_STR').offsetTop+" + "+$('std_Body_STR').offsetHeight)
		var hB = ($('dPreviews').offsetHeight * (nRows-1)) + 605;
		debug('             hMenu='+hMenu);
		if(hC < hB){
			hC = hB;
			hs = hC + 143
		}
	}
	var h	= hC - 85;
	if(document.getElementById('centre'))		document.getElementById('centre').style.height = (hC + 50) + 'px';
	if(document.getElementById('contenu'))		document.getElementById('contenu').style.height = hC + 'px';
	if(document.getElementById('bas'))			document.getElementById('bas').style.top 	= (hs - 2) +'px';// bouge mal sur petits ecrans
	//document.getElementById('piedPage').style.left 	= document.getElementById('contenu').offsetLeft+'px';
	document.getElementById('menu').style.height 	= (hC - 2)+'px';
	if(document.getElementById('nouv_m_body'))	document.getElementById('nouv_m_body').style.height = h+'px';
	if(document.getElementById('std_BodyNS'))	document.getElementById('std_BodyNS').style.height = h+'px';
	if(document.getElementById('std_Body_STR'))	$('std_Body_STR').style.height = h+'px';
	if(document.getElementById('dLMods'))		document.getElementById('dLMods').style.height = (h - 80)+'px';
	if(document.getElementById('modeles'))		document.getElementById('modeles').style.height = '95%';

	show('pied');
	show('bas');
	scooterMove();
}

function debug(str){
	if(document.getElementById("footer")){
		document.getElementById("footer").innerHTML = str +'<br/>'+ document.getElementById("footer").innerHTML;
		document.status = str;
	}
}

function hide(id){
	/*if(document.all){
	document.getElementById(id).setAttribute('style', "display:none; ");
	}
	else */
	document.getElementById(id).style.display = "none";
}

function show(id){
	if(document.getElementById(id)){
		document.getElementById(id).style.display = "block";
	}
	/*if(document.all){
	document.getElementById(id).setAttribute('style', "display:block; ");
	document.getElementById(id).style.display = "block";
	}
	else document.getElementById(id).style.display = "block";*/
}

function pwToggle(id2hide, id2show){
	hide(id2hide);
	show(id2show);
	if(id2show=='pw')document.getElementById(id2show).focus();
}

function content(id, str){
	debug(str);
	if(document.all){//ie
		document.getElementById(id).innerText = str;
	}
	else{
		document.getElementById(id).innerHTML = str;
	}
}

function setEvent(id, evenmt, action){
	var e = document.getElementById(id);
	if(e){
		if (document.all){//IE
			eval(id + ".attachEvent('" + evenmt + "'," + action + ");");
		}
		else  {	//DOM2 compatibles
			document.getElementById(id).setAttribute( evenmt, action + ';' );
		}
	}
}

function clientExpand(idc){
	if(expandedClient != 0){
		content("client"+expandedClient, '');
		hide('client'+expandedClient);
	}
	//debug(idr+' / '+expandedRef);
	if(idc != expandedClient){
		expandedClient		= idc;
		show ('client'+idc);
		var url = "php/ax_adresse.php?idc="+idc;
		debug(url);
		doAjax(url, clientRefresh);
	}
	else{
		expandedClient =0;
	}
}

function clientRefresh(){
	debug('clientRefresh');
	var xmlDoc 	= this.req.responseXML.documentElement;

	if(!this.req.responseXML){debug("Failed loading distributor");}
	else {
		var xmlDoc 		= this.req.responseXML.documentElement;
		if(!xmlDoc){debug("Failed loading distributor");}
		else{
			var idc = xmlDoc.getElementsByTagName('id')[0].childNodes[0].nodeValue;
			var adr = xmlDoc.getElementsByTagName('adresse')[0].childNodes[0].nodeValue;
			var _tel = xmlDoc.getElementsByTagName('tel')[0].childNodes[0].nodeValue;
			var _fax = xmlDoc.getElementsByTagName('fax')[0].childNodes[0].nodeValue;
			var _mail = xmlDoc.getElementsByTagName('mail')[0].childNodes[0].nodeValue;
			var _web = xmlDoc.getElementsByTagName('web')[0].childNodes[0].nodeValue;
			//var reg=new RegExp('\\n' , "g");
			var aBR = (document.all)?'\n':'<br />';
			adr = adr.replace(/\n/g, aBR);
			var div = document.getElementById('client'+idc);
			content('client'+idc, adr);
			show('client'+idc);

			var div1 = document.createElement("div");
			div1.className = 'tel';
			var dtel = document.createTextNode("Phone: " + _tel);
			div1.appendChild(dtel);
			div.appendChild(div1);

			var div2 = document.createElement("div");
			div2.className = 'tel';
			var dfax = document.createTextNode("Fax:   " + _fax);
			div2.appendChild(dfax);
			div.appendChild(div2);

			var div3 = document.createElement("div");
			div3.className = 'webDiv';
			var a = document.createElement("a");
			var dmail = document.createTextNode("Mail: " + _mail);
			a.appendChild(dmail);
			a.setAttribute('href', "mailto:"+_mail);
			a.className = 'weblink';
			div3.appendChild(a);
			div.appendChild(div3);

			var br = document.createElement("br");
			div3.appendChild(br);
			var a2 = document.createElement("a");
			var dweb = document.createTextNode("Web site: " + _web);
			a2.appendChild(dweb);
			a2.setAttribute('href', _web);
			a2.setAttribute('target', "_blank");
			a2.className = 'weblink';
			div3.appendChild(a2);
			debug(div.innerHTML);
			//div.appendChild(div4);
		}
	}
}

function video_display(url, alt, id, id_video){
	alt = alt.replace(/\\'/g,"&#39;");
	content('videoText', alt);
	//swfobject.embedSWF(url, id, "720", "405", "9.0.0");
	swfobject.removeSWF(id);
	var divFlash = document.createElement("div");
	divFlash.setAttribute('id', id);
	$('flashParentNode').appendChild(divFlash);
	swfobject.embedSWF(url, id, "100%", "405", "9.0.0");
	setEvent('videoAdminBtn', 'onclick', "edit('videoEdit', " + id_video + ")");

	//$('flash').movie = url;
	//$(id).LoadMovie(0, url);
	//$('flash').Play();
	//$('flash').setAttribute('data' ,url);
	//$('flash').alt = alt;
}

function previews_autoscroll_old(){
	preview1++;
	if (preview1 > npreview) {
		preview1 = 1;
	}
	debug(preview1+'/'+npreview);
	var i =2;
	var tr;
	while(i <= npreview ){

		tr = document.getElementById('prev_' + i);
		if((i<preview1)|(i>(preview1+7))){
			//tr.setAttribute('width', "0");
			tr.setAttribute('style', "display:none");
		}
		else{
			//tr.setAttribute('width', "127");
			tr.setAttribute('style', "display:block");
		}
		i++;
	}

}

function previews_autoscroll(caller){
	var now = new Date();
	if (dateDernierScrollVideo < (now - 500)) {
		var tablePreviews = $('tablePreviews');
		var tbody = tablePreviews.tBodies[0];
		var tr = tbody.childNodes[0];
		var enfant = tr.childNodes;

		var nPreviews = npreview;//enfant.length;
		var last = preview1 + 7;
		if (last > nPreviews)
		last = (last % (nPreviews + 1)) + 1;
		if (preview1 > nPreviews)
		preview1 = (preview1 % (nPreviews + 1)) + 1;
		if (preview1 <= 0)
		preview1 = preview1 + nPreviews;
		var moveUnit = 0;
		if (caller == preview1)
		moveUnit = -1;
		else
		if (caller == last)
		moveUnit = 1;
		else
		moveUnit = 0;


		debug(caller + ' :[' + preview1 + ';' + last + '] move ' + moveUnit + '   nVignettes=' + nPreviews);
		if (moveUnit == 1) {
			if(document.all) 	index = 0;
			else 				index++;
			// clonons la premiere cellule
			var NewObjetNode = enfant[index].cloneNode(true);
			debug('index: '+index);
			tr.removeChild(enfant[index]);
			tr.appendChild(NewObjetNode);
			preview1++;
		}
		else
		if (moveUnit == -1) {
			if (document.all) {
				var indexF = enfant.length - 1;
				index = 0
				var NewObjetNode = enfant.item(indexF).cloneNode(true);
				tr.removeChild(enfant.item(indexF));
				tr.insertBefore(NewObjetNode, enfant.item(index));	//index
			}

			else {
				var indexF = (index + nPreviews - 1);
				var NewObjetNode = enfant.item(indexF).cloneNode(true);
				tr.removeChild(enfant[indexF]);
				tr.insertBefore(NewObjetNode, enfant.item(index));
				index = indexF;
			}

			debug('indexF: '+indexF+'   index:'+index);
			preview1--;
		}
		debug('First: ' + preview1);
		dateDernierScrollVideo = new Date();
	}
	//	else debug('trop tot');
}

function scooterMove(){
	debug('scooterMove');

	var scooter  = $('_scooter');
	var navBarre = $('navBarText');//calageScooter sur liens de la navBarre
	var contenu  = $('contenu');
	if(navBarre && scooter){
		var caleGauche = navBarre.offsetLeft + navBarre.offsetWidth + contenu.offsetLeft + 10;
		var gauche = scooter.offsetLeft;
		var depH = gauche - caleGauche;
		debug('caleGauche='+caleGauche);
		new Effect.Parallel([
		new Effect.Opacity(scooter, {sync: true, from:0, to:0.85} ),
		new Effect.Move(scooter, { sync: true, x: -depH, y: 0, mode: 'relative' })
		], {
			duration: 1.5
		});

		/*new Effect.Opacity(scooter, {from:0.1, to:0.85, duration:0.5} );
		new Effect.Move(scooter, { x: -depH, y: 0, mode: 'relative', duration:2 });*/

	}

}
