/*************************************************************************************************************************************/
/* FUNCTION SUR LOAD DE LA PAGE                                                                                                      */
/*************************************************************************************************************************************/
window.addEventListener ? window.addEventListener('load', $Load, false) : window.attachEvent('onload', $Load);
function $Load(){
	$Png();
}

/*************************************************************************************************************************************/
/* VARIABLES GLOBALES                                                                                                                */
/*************************************************************************************************************************************/
var TsNameNavigateur = 'FF'; // Par default Firefox
var TSVersionNavigateur = 0; // Par default pas de version
var TsAfficheFiltre = false;
var TsDocRef = null;

/*************************************************************************************************************************************/
/* LES FONCTIONS                                                                                                                     */
/*************************************************************************************************************************************/
// Navigateur et Version
function $Navigateur(TsNavigateur){
	var TsTabNav = TsNavigateur.split(';');
	for(var i in TsTabNav){
		if(TsTabNav[i].indexOf('MSIE') > -1){ // Si IE
			TsNameNavigateur = 'IE';
			var TsVersion = TsTabNav[i].replace('MSIE','');
			TSVersionNavigateur = TsVersion.replace(' ','');
		}
	}
}

// IE et version inferieur a la 7
function $Png(TsDocument){
    TsDocument = TsDocument || null;
    if( !$('SitewebUrl') ){return false;} // Pas input de type hidden dans le master ou la page
	$Navigateur(navigator.appVersion);
    if (TsNameNavigateur == 'IE' && TSVersionNavigateur < 7) {
        if( $(TsDocument) ){
            TsDocument = document.getElementById(TsDocument);
        }else{
            TsDocument = document.getElementById('globale');
        }

        var TsTabElements = TsDocument.getElementsByTagName('img');
		for (var i=0;i<TsTabElements.length;i++) {
			if(TsTabElements[i].src.match(/\.png/i) == null) {continue}; // pas un png

			with(TsTabElements[i]){
			    style.width = width + "px";
			    style.height = height + "px";
			    style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"
			    src = $('SitewebUrl').value + "/_medias/commun/bg-blank.gif";
			}
		}
    }
}

// Creation requete
function $Request(){
	var TsRequest;
	try { TsRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { TsRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	try { TsRequest = new XMLHttpRequest(); } catch(e) {}
	return TsRequest;
}

/*************************************************************************************************************************************/
/* POPUPS                                                                                                                            */
/*************************************************************************************************************************************/
// Document en cours
function $Document(){
	if(TsDocRef == null){
		if(document.documentElement && document.documentElement.clientWidth){
			TsDocRef = document.documentElement;
		}else{
			TsDocRef = document.body;
		}
	}
}

// Action de resize sur le filter et reposittionne popup
function $GestionFiltre(){
	if( !$('filter') ){return false;}
	if(TsAfficheFiltre){
		setTimeout('$ShowFilter()', 20);
		setTimeout('$PositionPopup()', 20);
	}
}

// Affiche le filtre
function $ShowFilter(){
	if( !$('filter') ){$CreateFilter();return false;}

	if(!TsAfficheFiltre){
		$('filter').style.visibility = 'hidden';

		// Evenements pour gestion du filtre et de la popup
		window.addEventListener ? window.addEventListener('resize', $GestionFiltre, false) : window.attachEvent('onresize', $GestionFiltre);
		window.addEventListener ? window.addEventListener('DOMMouseScroll', $GestionFiltre, false) : window.attachEvent('DOMMouseScroll', $GestionFiltre);
		window.addEventListener ? window.addEventListener('scroll', $GestionFiltre, false) : window.attachEvent('onscroll', $GestionFiltre);
	}
	if(TsAfficheFiltre){$('filter').style.display = 'none';}

	if(!TsDocRef){$Document();}

	TsLargeur = parseInt(TsDocRef.clientWidth) + parseInt(TsDocRef.scrollLeft);

	window.innerHeight ? TsClientHeight = window.innerHeight : TsClientHeight = TsDocRef.clientHeight;
	TsHauteur = parseInt(TsClientHeight) + parseInt(TsDocRef.scrollTop);
	
    if( $('globale') ){ // Hauteur et largeur en fonction du contenu si celui-ci superieur au client
        if( $('globale').offsetHeight >  TsHauteur){TsHauteur = parseInt($('globale').offsetHeight);}
        if( $('globale').offsetWidth  >  TsLargeur){TsLargeur = parseInt($('globale').offsetWidth);}
    }

	$('filter').style.width = TsLargeur + 'px';
	$('filter').style.height = TsHauteur + 'px';

	if(!TsAfficheFiltre){
		if (TsNameNavigateur == 'IE' && TSVersionNavigateur < 7){$GestionSelect('hidden');} // Affiche les SELECT si < IE7

		$('filter').style.visibility = 'visible';
		TsAfficheFiltre = true;
	}

	$('filter').style.display = 'block';
}

// Cache le filtre
function $HideFilter(){
	if( $('filter') ){$('filter').style.display = 'none';}
	if (TsNameNavigateur == 'IE' && TSVersionNavigateur < 7){$GestionSelect('visible');} // Affiche les SELECT si < IE7
	TsAfficheFiltre = false;
}

// Creation du filtre
function $CreateFilter(){
	var TsTabElementBody = document.getElementsByTagName('body');
	if(!TsTabElementBody[0]){return false;}
	
	var TsFilter = document.createElement('div');
	var TsStyle = 'position:absolute;top:0;left:0;width:0px;height:0px;z-index:999998;display:none;overflow:hidden;background:'+window.TsBackgroundColor;
	var action = '$HidePopup();return false;';
	TsFilter.setAttribute('id', 'filter');
	TsFilter.setAttribute('style', TsStyle);
	TsFilter.style.cssText = TsStyle;

	TsTabElementBody[0].appendChild(TsFilter);
	
	if( $('filter') ){$ChangeOpacity(70, 'filter');$ShowFilter();} // Relance affichage du filtre
}

// Ouverture file Popup
function $OpenFilePopup(TsFile, TsType){
	var TsRequest = $Request();
	TsRequest.open('GET' ,TsFile ,true);

	TsRequest.onreadystatechange = function(){
		if( TsRequest.readyState == 4 ){
 			if(TsRequest.status == 200){
				$ReadFilePopup(TsRequest, TsType);
				$ShowPopup1(0);
			}else{
				$('popup').innerHTML = 'Erreur de lecture du fichier '+TsFile;
				setTimeout("$HidePopup()", 5000);
			}
 		}
	}
	
	TsRequest.send(null);
}


// Lecture file Popup
function $ReadFilePopup(TsRequest, TsType){
	if(!TsRequest){return null;}

	switch(TsType){
		case 'XML':
			var TsResponseXml =  TsRequest.responseXML;
		break;
		case 'HTML':
			$('popup').innerHTML = $GetContentPopup(TsRequest.responseText);
		break;
	}
}

// Recupere le contenu de la popup
function $GetContentPopup(content){ 
   var x = content.indexOf('<!-- Start popup --');
   x = content.indexOf('>', x);    
   var y = content.lastIndexOf('<!-- End popup -->'); 
   return content.slice(x + 1, y);
} 

// Affiche la Popup
function $ShowPopup(TsPopupFile, TsBackgroundColor){
    if( !$('SitewebUrl') ){return false;}
	TsBackgroundColor=TsBackgroundColor || "#fff";
	window.TsBackgroundColor=TsBackgroundColor;
	
	if( !$('popup') ){$CreatePopup(TsPopupFile);return false;}

	$OpenFilePopup(TsPopupFile+'?nocache='+Math.random(), 'HTML'); // Recherche le contenu a afficher
}





function $ShowPopup1(param){
	$ShowFilter();
	$('popup').style.display = 'block';
	$Png("popup");

	// Recupere la largeur de la popup a afficher
	var TsTabElements = $('popup').childNodes;
	
	for(var i=0;i<TsTabElements.length;i++){
		if(TsTabElements[i].tagName){
			$('popup').style.width = parseInt(TsTabElements[i].offsetWidth) + 'px';
			$('popup').style.height = parseInt(TsTabElements[i].offsetHeight) + 'px';
		}
		if( TsTabElements[i].id && TsTabElements[i].id == 'popup_ami' ){$LoadPopupAmi();} //yannis 11/07/08
		if( TsTabElements[i].id && TsTabElements[i].id == 'popup_alerte' ){$LoadPopupAlerte();}
	}


	


	if (document.getElementById('url_redirection') && document.getElementById('GoUrl'))
{
document.getElementById('GoUrl').value=document.getElementById('url_redirection').value;
}
	$PositionPopup();
}

// Ouverture file Popup
function $OpenFileResult(TsFile, TsType){

	$ShowPopup('/img/sporthome/Template/popups/loader.html','#fff');

	var TsRequest = $Request();
	TsRequest.open('GET' ,TsFile ,true);

	TsRequest.onreadystatechange = function(){
		if( TsRequest.readyState == 4 ){
 			if(TsRequest.status == 200){
				$ReadFileResult(TsRequest, TsType);
				$HidePopup();
				$ShowResult1();
			}else{
				$('popup').innerHTML = '<div style="position:relative;width:400px;height;200px;color:#f00;padding:10px;background:#fff;">Erreur de lecture du fichier '+TsFile+'</div>';
				setTimeout("$HidePopup()", 5000);
		
				return false;
			}
 		}
	}
	
	TsRequest.send(null);
}

// Lecture file result
function $ReadFileResult(TsRequest, TsType){
	if(!TsRequest){return null;}

	switch(TsType){
		case 'XML':
			window.TsResponse50 =  TsRequest.responseXML;
		break;
		case 'HTML':
			window.TsResponse00 = $GetContentResult(TsRequest.responseText, '<div id="liste_produit_content" class="block_float">', '<div style="display:none;">Fin liste_produit</div>');
			window.TsResponse01 = $GetContentResult(TsRequest.responseText, '<div id="values_xml_content">', '<div style="display:none;">Fin values_xml_content</div>');
			window.TsResponse02 = $GetContentResult(TsRequest.responseText, '<div id="filters_xml_content">', '<div style="display:none;">Fin filters_xml_content</div>');
		break;
	}
}

// Recupere le contenu de la popup
function $GetContentResult(TsContent, TsDebut, TsFin){ 
   var x = TsContent.indexOf(TsDebut);
   var y = TsContent.lastIndexOf(TsFin); 
   return TsContent.slice(x, y);
} 

// Lance le rechargement Ajax
function $ShowResultTempo(){
	setTimeout('$ShowResult()', 50);
}

// Affiche le resultat de la selection
function $ShowResult(){
	var Tsparams = $InitParamsResult();

	if( Tsparams == 'false'){return false;} // Ne lance pas le rechargement

	//alert('/rayonbis.aspx?id_secteur='+window.TsIdSecteur+'&id_famille='+window.TsIdFamille+Tsparams+'&nocache='+Math.random());
	$OpenFileResult('/rayonbis.aspx?id_secteur='+window.TsIdSecteur+'&id_famille='+window.TsIdFamille+Tsparams+'&nocache='+Math.random(), 'HTML'); // Recherche le contenu a afficher
	
	return false;
}

function $ShowResult1(){
	if( !$('liste_produit') ){return false;}
	
//	window.location.hash = '#haut_page'; // Remonte apres rechargement

	$('liste_produit').innerHTML = window.TsResponse00;

	if( $('values_xml') ){$('values_xml').innerHTML = window.TsResponse01;}
	if( $('filters_xml') ){$('filters_xml').innerHTML = window.TsResponse02;}

	$InitListeProduits();
		
	return false;
}

// Parametre pour le chargement
function $InitParamsResult(){
	var Tsparam = '';
	var Tsparams = '';

	// Filtres Parametres
	if( $('TsNumPageActive').value == null || $('TsNumPageActive').value == '' || isNaN($('TsNumPageActive').value) ){$('TsNumPageActive').value = 1;}
	Tsparam = $('TsNumPageActive').value + '-' + $('TsChoixtri').value + '-' + $('TsOrdretri').value;
	Tsparams += '&Parametre='+Tsparam;
	
	if( $('filter_profils') ){  // Filtres profils
		Tsparam = $CheckFilter('filter_profils');
		Tsparams += '&Profils='+Tsparam;
	}
	
	if( $('filter_niveaux') ){  // Filtres niveaux
		Tsparam = $CheckFilter0('filter_niveaux');
		Tsparams += '&Niveaux='+Tsparam;
	}

	if( $('TsMemoBudgetSmin') && $('TsMemoBudgetSmax') ){  // Filtres budget
		Tsparams += '&PrixMinS='+$('TsMemoBudgetSmin').value;
		Tsparams += '&PrixMaxS='+$('TsMemoBudgetSmax').value;
	}

	if( $('TsMemoPoidsSmin') && $('TsMemoPoidsSmax') ){  // Filtres Poids
		Tsparams += '&PoidsMinS='+$('TsMemoPoidsSmin').value;
		Tsparams += '&PoidsMaxS='+$('TsMemoPoidsSmax').value;
	}

	if( $('filter_marques') ){  // Filtres marques
		Tsparam = $CheckFilter('filter_marques');
		Tsparams += '&Marques='+Tsparam;
	}
	
	if( $('filter_types') ){  // Filtres types
		Tsparam = $CheckFilter('filter_types');
		Tsparams += '&Types='+Tsparam;
	}
	
	if( $('filter_taille') ){  // Filtres tailles
		Tsparam = $CheckFilter('filter_taille');
		Tsparams += '&Declinaisons='+Tsparam;
	}
	
	if( $('filter_dispos') ){  // Filtres Dispos
		Tsparam = $CheckFilter('filter_dispos');
		Tsparams += '&Dispos='+Tsparam;
	}
	
	if( $('filter_couleurs') ){  // Filtres Couleurs
		Tsparam = $CheckFilter1('filter_couleurs');
		Tsparams += '&Familles='+Tsparam;
	}
	
	return Tsparams;
}

// Liste des filtres dans un P
function $CheckFilter(TsElement){
	if( !$(TsElement) ){return null;}

	var TsParamFilter = '';

	var TabElements = $(TsElement).getElementsByTagName('p');
	for(var i=0;i<TabElements.length;i++){
		var TsElementClassName = TabElements[i].className;

		if(TsElementClassName.indexOf('checkbox_on') != -1){ // Filtre actif
			if(TsParamFilter == ''){
				TsParamFilter = TabElements[i].getAttribute('paramnum'); // Premiere fois
			}else{
				TsParamFilter = TsParamFilter + '_' + TabElements[i].getAttribute('paramnum'); // autres
			}
		}
	}
	return TsParamFilter;
}

// Liste des filtres dans un A (Niveaux)
function $CheckFilter0(TsElement){
	if( !$(TsElement) ){return null;}

	var TsParamFilter = '';

	var TabElements = $(TsElement).getElementsByTagName('a');
	for(var i=0;i<TabElements.length;i++){
		var TsElementClassName = TabElements[i].className;

		if(TsElementClassName.toLowerCase().indexOf('niveau_') != -1){
			if(TsElementClassName.toLowerCase().indexOf('_actif') != -1){
				if(TsParamFilter == ''){
					TsParamFilter = TabElements[i].getAttribute('paramnum'); // Premiere fois
				}else{
					TsParamFilter = TsParamFilter + '_' + TabElements[i].getAttribute('paramnum'); // autres
				}
			}
		}
	}

	return TsParamFilter;
}

// Liste des filtres dans un DIV (Couleurs)
function $CheckFilter1(TsElement){
	if( !$(TsElement) ){return null;}

	var TsParamFilter = '';

	var TabElements = $(TsElement).getElementsByTagName('div');
	for(var i=0;i<TabElements.length;i++){
		var TsElementClassName = TabElements[i].className;

		if(TsElementClassName.toLowerCase().indexOf('block_couleur_actif') != -1){
			if(TsParamFilter == ''){
				TsParamFilter = TabElements[i].getAttribute('paramnum'); // Premiere fois
			}else{
				TsParamFilter = TsParamFilter + '_' + TabElements[i].getAttribute('paramnum'); // autres
			}
		}
	}

	return TsParamFilter;
}

// Init des valeurs selectionnee
function $_CheckFilter(TsElement, e){
	e = e || window.event;

	if( !$(TsElement) ){$ClearPropagation(e);return false;}

	switch(TsElement){
		case 'filter_profils':
		case 'filter_marques':
		case 'filter_types':
		case 'filter_taille':
			var TabElements = $(TsElement).getElementsByTagName('p');
			for(var i=0;i<TabElements.length;i++){
				if(TabElements[i].className.indexOf('checkbox_on') != -1){TabElements[i].className = 'checkbox_off';}
			}
		break;
		case 'filter_dispos':
			var TabElements = $(TsElement).getElementsByTagName('p');
			for(var i=0;i<TabElements.length;i++){
				if(TabElements[i].className.indexOf('checkbox_off') != -1){TabElements[i].className = 'checkbox_on';}
			}
		break;
		case 'filter_niveaux':
			var TabElements = $(TsElement).getElementsByTagName('a');
			for(var i=0;i<TabElements.length;i++){
				if(TabElements[i].className.toLowerCase().indexOf('niveau_') != -1 && TabElements[i].className.toLowerCase().indexOf('_actif') != -1){
					TabElements[i].className = TabElements[i].className.substring(0, TabElements[i].className.toLowerCase().indexOf('_actif'));
				}
			}
		break;
		case 'filter_couleurs':
			var TabElements = $(TsElement).getElementsByTagName('div');
			for(var i=0;i<TabElements.length;i++){
				if( TabElements[i].className.toLowerCase().indexOf('block_couleur_actif') != -1 ){
					TabElements[i].className = 'block_couleur';
				}
			}
		break;
	}

	$ClearPropagation(e);
}

// Cache la Popup
function $HidePopup(){
	$('popup').style.display = 'none';
	$('popup').innerHTML = '';
	$HideFilter()
}

// Calcule la position de la popup
function $PositionPopup(){
	$Document();

	var TsScrollTop = 0;
	var TsScrollLeft = 0;
	window.pageXOffset ? TsScrollLeft = window.pageXOffset : TsScrollLeft = TsDocRef.scrollLeft;
	window.pageYOffset ? TsScrollTop = window.pageYOffset : TsScrollTop = TsDocRef.scrollTop;

	window.innerHeight ? TsClientHeight = window.innerHeight : TsClientHeight = TsDocRef.clientHeight;
	var TsBlockTop = (parseInt(TsClientHeight) - parseInt($('popup').offsetHeight)) /2;
	$('popup').style.top = TsScrollTop + parseInt(TsBlockTop) + 'px';

	var TsBlockLeft = (parseInt(TsDocRef.clientWidth) - parseInt($('popup').offsetWidth)) /2;
	$('popup').style.left = TsScrollLeft + parseInt(TsBlockLeft) + 'px';
}

// Creation de la Popup
function $CreatePopup(TsPopupFile){
	var TsTabElementBody = document.getElementsByTagName('body');
	if(!TsTabElementBody[0]){return false;}
	
	var TsPopup = document.createElement('div');
	var TsStyle = 'position:absolute;top:0;left:0;z-index:999999;background:none;color:#fff;text-align:left;display:none;';
	TsPopup.setAttribute('id', 'popup');
	TsPopup.setAttribute('style', TsStyle);
	TsPopup.style.cssText = TsStyle;

	TsTabElementBody[0].appendChild(TsPopup);
	
	if( $('popup') ){$ShowPopup(TsPopupFile, window.TsBackgroundColor);} // Relance affichage du filtre
}

// Change opacite
function $ChangeOpacity(TsOpacity, TsId){
	if( !$(TsId) ){return false;}
	
	with($(TsId).style){
		opacity = (TsOpacity / 100);
		Mozopacity = (TsOpacity / 100);
		Khtmlopacity = (TsOpacity / 100);
		filter = "alpha(opacity=" + TsOpacity + ")";
	}
}

// Affiche ou Cache les SELECT de la page
function $GestionSelect(TsOption){
	var TsTabElements = document.getElementById('globale').getElementsByTagName('select');
	for(var i=0;i<TsTabElements.length;i++){TsTabElements[i].style.visibility = TsOption;}
}
/*************************************************************************************************************************************/
/* FUNCTION SUR LES NODES                                                                                                            */
/*************************************************************************************************************************************/
function Contains(t, elt) {
	for (var i=0;i<t.length;i++) if (t[i]==elt) return true;
	return false;
}
function $(o) {
	return (typeof o=='string') ? o=document.getElementById(o) : o;
}
function $t(o) {
	return $(o).tagName ? $(o).tagName.toLowerCase() : '';
}
function $c(o,t) {
	var at = t ? t.toLowerCase().split('|') : null;
	var a=new Array;
	if (!$(o).childNodes) return null;
	for (var i=0;i<$(o).childNodes.length;i++) {
		if (!at) { if ($(o).childNodes[i].tagName) a[a.length]=$(o).childNodes[i]; }
		else if (Contains(at,$t($(o).childNodes[i]))) a[a.length]=$(o).childNodes[i];
	}
	return a;
}
function $p(o,t) {
	if (!o) return null;
	var at = t ? t.toLowerCase().split('|') : null;
	return $t(o)=='body' ? null : (Contains(at,$t(o)) ? $(o) : $p($(o).parentNode, t));
}
function GetSrcElt(e){
	if(!e){e = window.e;}
	if(e.srcElement){return e.srcElement;}
	if(e.target){return e.target;}
	return null;
}
/*************************************************************************************************************************************/
