/*************************************************************************************************************************************/
/* FUNCTION SUR LOAD DE LA PAGE                                                                                                      */
/*************************************************************************************************************************************/
/*
window.addEventListener ? window.addEventListener('load', $Load, false) : window.attachEvent('onload', $Load);
function $Load(){
	$Png();
}
*/

// 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;
}


/*************************************************************************************************************************************/
/* VARIABLES GLOBALES                                                                                                                */
/*************************************************************************************************************************************/
var TsNameNavigateur = 'FF'; // Par default Firefox
var TSVersionNavigateur = 0; // Par default pas de version
var TsAfficheFiltre = false;
var TsDocRef = null;

// Affiche la Popup
function $ShowPopup(TsPopupFile, TsBackgroundColor) {
  //up onload winodw
  skroll.toTop();
  
//inutile
    //if( !$('SitewebUrl') ){return false;}
//inutile définition de la couleur par défaut
	//TsBackgroundColor=TsBackgroundColor || "#fff";
	
	window.TsBackgroundColor=TsBackgroundColor;
	// vérifie si la popup est déjà lancé
	if( !$('popup') ){$CreatePopup(TsPopupFile);return false;}
	// Quand on revient dans cette fonction après avoir crée id="popup"
	// On peut désormais lancer la popup
	$OpenFilePopup(TsPopupFile+'?nocache='+Math.random(), 'HTML'); // Recherche le contenu a afficher
}

/*On crée la popup la première fois et la cache ou l'affiche après*/
// Creation de la Popup
function $CreatePopup(TsPopupFile){
	// On crée le HTML de la popup que l'on va placer juste après de la balise BODY
	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;';
	// on définit l'ID popup qui servira à appeler la popup ultérieurement.
	TsPopup.setAttribute('id', 'popup');
	TsPopup.setAttribute('style', TsStyle);
	TsPopup.style.cssText = TsStyle;
	// Après avoir crée on place en dessous de body
	TsTabElementBody[0].appendChild(TsPopup);
	
	// Popup étant définit et placé on relance la méthode appelante 
	// ATTENTION se type de fonction indirectement récusrsive doit avoir des sorties
	if( $('popup') ){$ShowPopup(TsPopupFile, window.TsBackgroundColor);} // 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()", 1000);
			}
 		}
	}
	
	TsRequest.send(null);
}
// Cache la Popup
function $HidePopup(){
	$('popup').style.display = 'none';
	$('popup').innerHTML = '';
	$HideFilter();
}
// 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;
}

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_alerte' ){$LoadPopupAlerte();}
	}
	if (document.getElementById('url_redirection') && document.getElementById('GoUrl')) {
		document.getElementById('GoUrl').value=document.getElementById('url_redirection').value;
	}
	$PositionPopup();
}

// 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 + ")";
	}
}

// Création 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
}

// Document en cours
function $Document(){
	if(TsDocRef == null){
		if(document.documentElement && document.documentElement.clientWidth){
			TsDocRef = document.documentElement;
		}else{
			TsDocRef = document.body;
		}
	}
}

// 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( $('page') ){ // Hauteur et largeur en fonction du contenu si celui-ci superieur au client
        if( $('page').offsetHeight >  TsHauteur){TsHauteur = parseInt($('page').offsetHeight);}
        if( $('page').offsetWidth  >  TsLargeur){TsLargeur = parseInt($('page').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';
}

// Action de resize sur le filter et reposittionne popup
function $GestionFiltre(){
	if( !$('filter') ){return false;}
	/*
	if(TsAfficheFiltre){
		setTimeout('$ShowFilter()', 20);
		setTimeout('$PositionPopup()', 20);
	}*/
}

// 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);
} 

// 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';
}

// 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";
			}
		}
    }
}
/* *******************************************************************************************************
                      Changement des checkbox par des images
******************************************************************************************************* */
// Arret de la propagation sur evenement
function $ClearPropagation(e) {
	if(!e) {
	 	e = window.event;
	 	e.stop();
	}

 //e.preventDefault ? e.preventDefault() : e.returnValue = false;
 //e.stopPropagation ? e.stopPropagation() : e.cancelBuble = true;
}
function choix_checkbox(id, e) {
	e = e || window.event;

    var checkbox = document.getElementById(id);
		
    var para = document.getElementById("checkbox_"+id);
    
    $$('SPAN.checkbox_off').each(function(el) {
			//alert(el.getAttribute("id").toString() );
			el.setStyle("border", "1px solid white");
    });
		
    if(para.className.indexOf('checkbox_on') != -1) {
        checkbox.checked= "";
        para.className= "checkbox_off";
    } else {
        checkbox.checked= "checked";
        para.className= "checkbox_on";
    }
	
	$ClearPropagation(e)
}