function ChangePromo(mixedobj){
	var myConn = new XHConn(); // CREATE AJAX
	if (!myConn) alert("XMLHTTP not available. Try a newer/better browser."); // VALIDATE BROWSER
	var fnWhenDone = function (oXML) {			
		// CREATE TWEEN OBJECT
		var tween = mixedobj.el.get('tween', {property: 'opacity',duration :2000});
		//fade it away
		tween.start(0).chain(function(){

			for(var i=1;i<=mixedobj.total;i++){				
				if($('promo-'+String(i).pad(2,'0',0))){ // IF PROMO ID EXIST
					if(i==mixedobj.id){
						$('promo-'+String(i).pad(2,'0',0)).className 	= 'page-on';	
						$('promo-'+String(i).pad(2,'0',0)).onmouseover 	= $empty;
						$('promo-'+String(i).pad(2,'0',0)).onmouseout 	= $empty;
						$('promo-'+String(i).pad(2,'0',0)).onclick 		= $empty;
									
					}
					else{
						 $('promo-'+String(i).pad(2,'0',0)).indice		= i;
						 $('promo-'+String(i).pad(2,'0',0)).className 	= 'page';
						 $('promo-'+String(i).pad(2,'0',0)).onmouseover = function(){this.className = 'page-on';}
						 $('promo-'+String(i).pad(2,'0',0)).onmouseout 	= function(){this.className = 'page';}
						 $('promo-'+String(i).pad(2,'0',0)).onclick 	= function(){ChangePromo({'id':this.indice,'el':mixedobj.el,'total':mixedobj.total});}
					}
				}
			}// PROMO ID EXIST		
			//mixedobj.el.innerHTML = oXML.responseText;
			//get value from elsewhere and inject it in the dom
			mixedobj.el.empty();//.inject(oXML.responseText);
			mixedobj.el.innerHTML = oXML.responseText;
			//show again
			tween.start(1);
		});	
			
		//$('debug').value += oXML.responseText;
	}
	var fileName =  "home.promo."+String(mixedobj.id).pad(2,'0',0)+".ajax.php";
	var myJSobj  =  JSON.encode(mixedobj);
	// CALL AJAX FILE	
	myConn.connect("ajax/"+fileName, "POST", "obj="+myJSobj, fnWhenDone);
}
function ChangeProduitTexte(mixedobj){
	var myConn = new XHConn(); // CREATE AJAX
	if (!myConn) alert("XMLHTTP not available. Try a newer/better browser."); // VALIDATE BROWSER
	// DISPLAY LOADING ICON
	DisplayLoading(mixedobj.el);
	var fnWhenDone = function (oXML) {			
		for(var i=1;i<=mixedobj.total;i++){ 
			if($('nav-cell-'+String(i).pad(2,'0',0))){// OBJ IS SET
				if(i==mixedobj.id){
					
					$('nav-cell-'+String(i).pad(2,'0',0)).className 	= 'nav-cell nav-cell-on';	
					$('nav-cell-'+String(i).pad(2,'0',0)).onmouseover 	= $empty;
					$('nav-cell-'+String(i).pad(2,'0',0)).onmouseout 	= $empty;
					$('nav-cell-'+String(i).pad(2,'0',0)).onclick 		= $empty;
								
				}
				else{
					
					 $('nav-cell-'+String(i).pad(2,'0',0)).indice		= i;
					 $('nav-cell-'+String(i).pad(2,'0',0)).className 	= 'nav-cell';
					 $('nav-cell-'+String(i).pad(2,'0',0)).onmouseover 	= function(){this.className = 'nav-cell nav-cell-over';}
					 $('nav-cell-'+String(i).pad(2,'0',0)).onmouseout 	= function(){this.className = 'nav-cell';}
					 $('nav-cell-'+String(i).pad(2,'0',0)).onclick 		= function(){ChangeProduitTexte({'ProductId':mixedobj.ProductId,'id':this.indice,'el':mixedobj.el,'total':mixedobj.total});}
					 
				}
			}// OBJ IS SET
		}			
		mixedobj.el.empty();//.inject(oXML.responseText);
		mixedobj.el.innerHTML = oXML.responseText;
	}
	var fileName =  "produit.content."+String(mixedobj.id).pad(2,'0',0)+".ajax.php";
	var myJSobj  =  JSON.encode(mixedobj);
	// CALL AJAX FILE	
	myConn.connect("ajax/"+fileName, "POST", "obj="+myJSobj+"&ProductId="+mixedobj.ProductId, fnWhenDone);
}
//
//	AJAX FN
//
//////////////////////////////////////////////////////////////////////////////////////////
//
//	BUSINESSLOGIC FN
//
function DisplayLoading(el){
	if(el){
		el.innerHTML = "<div style=\"text-align:center;vertical-align:middle;width:500px;height:400px;\"><img src=\"images/loading.gif\" alt=\"Chargement / Loading\" border=\"0\"></div>";
	}
	else{
		alert("Erreur, impossible de charger le contenu !");
	}
	
	
}
String.prototype.pad = function(l, s, t){
	// length : amount of characters that the string must have
	// substring : string that will be concatenated
	// type : specifies the side where the concatenation will happen, where: 0 = left, 1 = right and 2 = both sides
    return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
        + 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
        + this + s.substr(0, l - t) : this;
};
