

function ouvrirPopin(url, params, exept){

    new Ajax.Request(url, {
            method: 'get',
            asynchronous: true,
            parameters: params,
            onSuccess: function (transport){
                contentLightbox(transport.responseText, exept);
                $('lightbox').addEventListener('DOMSubtreeModified', checkSize, false);
            }
        });
}

function contentLightbox(content, params){

	lightboxCustom('lightbox',params);

    var popin_content = $('lightbox');
    if (content.match(/^javascript:/)) {
        eval(content.substring(11));
    } else {
        popin_content.innerHTML = content;
        var listsScript = popin_content.getElementsByTagName('script');
        var i = 0;
        var script;
        while (script = listsScript.item(i++)) {
            if (script.innerHTML) {
                window.eval(script.innerHTML);
            }
        }
    }
}


/* EFFET LIGHTBOX */

function lightboxCustomCLOSE(lyrId, refresh){
	new Effect.Fade('overlay', {duration: overlayDuration});
	new Effect.Fade(lyrId, {duration: overlayDuration});
	showSelectBoxes();
	showFlash();
    if (refresh) {
        location.reload();
    }
}

function lightboxCustom(lyrId, param2){

	Object.extend(Element, {
		getWidth: function(element) {
		   	element = $(element);
		   	return element.offsetWidth;
		},

		setWidth: function(element,w) {
		   	element = $(element);
	    	element.style.width = w +"px";
		},

		setHeight: function(element,h) {
	   		element = $(element);
	    	element.style.height = h +"px";
		},

		setTop: function(element,t) {
		   	element = $(element);
	    	element.style.top = t +"px";
		},

		setSrc: function(element,src) {
	    	element = $(element);
	    	element.src = src;
		},

		setHref: function(element,href) {
	    	element = $(element);
	    	element.href = href;
		},

		setInnerHTML: function(element,content) {
			element = $(element);
			element.innerHTML = content;
		}

	});

	var objBody = document.getElementsByTagName("body").item(0);

	var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','overlay');
		objOverlay.style.display = 'none';
		objOverlay.onclick = function() {lightboxCustomCLOSE(lyrId); }
		objBody.appendChild(objOverlay);

	var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','shIDtop');
		objOverlay.style.position = 'absolute';
		objOverlay.style.top = 0+'px';
		objBody.appendChild(objOverlay);

	hideSelectBoxes();
	hideFlash();

	// stretch overlay to fill page and fade in
	var arrayPageSize = getPageSize();
	Element.setHeight('overlay', arrayPageSize[1]);
	overlayDuration = 0.9;	// shadow fade in/out duration
/*
	alert(lyrId);
	$('overlay').style.display = 'block';
	$(lyrId).style.display = 'block';
*/

	new Effect.Appear('overlay', {
		afterFinish: function(){ showLightFixe(lyrId,param2);},
		duration: overlayDuration,
		from: 0.0, to: 0.8
	});
	
	// Valeur ScrollTop de la page
	var NavVersion = navigator.appVersion;
	if ((NavVersion.search("Chrome") == -1)&&(NavVersion.search("Safari") == -1)){		
		BodHeight = document.documentElement.scrollTop;
	} else {	
		BodHeight = document.body.scrollTop;
	}	
	
	// Position de la lightbox à partir du top
	var positionTop	= BodHeight+90;	
	$(lyrId).style.top = positionTop+"px";	

	function showLightFixe(lyrId,param2){
		$(lyrId).style.display = 'block';
		
		if(param2 == 'googleMap'){
			onLoad();
		}	
		if(param2 == 'vizion'){
			reloadPicvizion();
			duration:2
		}	
	}
	
	/*if(param2 == 'googleMap'){
		new Effect.ScrollTo('shIDtop', {
		afterFinish: function(){ onLoad();},
		duration:2
		});
	}
	else if(param2 == 'vizion'){
		new Effect.ScrollTo('shIDtop', {
		afterFinish: function(){ reloadPicvizion();},
		duration:2
		});
	}
	else{
		new Effect.ScrollTo('shIDtop', {duration:2});
	}*/
	//new Effect.Appear('layr_photo', {duration: overlayDuration});
}

function reloadPicvizion(){
/*
	onerror="this.src='/communfo/img/modules/visiophoto/no_vis_p.png'"
	onload="redimImage(this, '600', '400');"

	onload="redimImage(this, '90', '70')"
	onerror="this.parentNode.style.display='none';"

	onload="redimImage(this, '90', '70')"
	onerror="this.parentNode.style.display='none';"
*/
//alert('coucou');
redimImage('LNI_vizmini1', '600', '400');
	for(i=0;i<8;i++){
		if('LNI_vizmini1'+i){
			redimImage('LNI_vizmini1'+i, '90', '70');
		}
	}
}

/* FONCTIONS COMPLEMENTAIRES */

function getPageScroll(){
	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}
	arrayPageScroll = new Array('',yScroll)
	return arrayPageScroll;
}

function getPageSize(){
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;

	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
	return arrayPageSize;
}

function hideSelectBoxes(){
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
}

function hideFlash(){

	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i != flashObjects.length; i++) {
		flashObjects[i].style.visibility = "hidden";
	}

	var flashEmbeds = document.getElementsByTagName("embeds");
	for (i = 0; i != flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "hidden";
	}
}

function showSelectBoxes(){
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}

function showFlash(){
	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i != flashObjects.length; i++) {
		flashObjects[i].style.visibility = "visible";
	}
	var flashEmbeds = document.getElementsByTagName("embeds");
	for (i = 0; i != flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "visible";
	}
}
/*-----------------------------*/
/* FIN EFFET LIGHTBOX OUVER TURE DE popup */
/*-----------------------------------------------------------------*/


/*------------------------------------- HOLD
function ouvrirPopin(url, params)
{
    initPopin();

    new Ajax.Request(url, {
            method: 'get',
            asynchronous: true,
            parameters: params,
            onSuccess: function (transport)
            {
                refreshPopin(transport.responseText);
                $('popin_content').addEventListener('DOMSubtreeModified', checkSize, false);
            }
        });
}

function loadPopin()
{
    var popin_content = $('popin_content');
    popin_content.addClassName('loading');
    popin_content.style.height = '';
    popin_content.innerHTML = '';
    popin_content.style.marginLeft = (-1 * parseInt(popin_content.getWidth() / 2)) + "px";
    popin_content.style.marginTop = (-1 * parseInt(popin_content.getHeight() / 2)) + "px";
}
*/
function refreshPopin(content)
{
    var popin_content = $('popin_content_main');
    if (content.match(/^javascript:/)) {
        eval(content.substring(11));
    }
    else {
        popin_content.style.height = '';
        popin_content.removeClassName('loading');
        popin_content.innerHTML = content;
        if (popin_content.getHeight() > $('popin').getHeight()) {
            popin_content.style.height = '95%';
        }
        popin_content.style.marginLeft = (-1 * parseInt(popin_content.getWidth() / 2)) + "px";
        popin_content.style.marginTop = (-1 * parseInt(popin_content.getHeight() / 2)) + "px";

        var listsScript = popin_content.getElementsByTagName('script');
        var i = 0;
        var script;
        while (script = listsScript.item(i++)) {
            if (script.innerHTML) {
                window.eval(script.innerHTML);
            }
        }
    }
}
/*
function checkSize() {
    var popin = $('popin');
    var popin_content = $('popin_content');

    popin_content.removeEventListener('DOMSubtreeModified', checkSize, false);

    if (popin_content.getHeight() > popin.getHeight()) {
        popin_content.style.height = '95%';
    }
    else if (popin_content.style.height != '') {
        popin_content.style.height = '';
        if (popin_content.getHeight() > popin.getHeight()) {
            popin_content.style.height = '95%';
        }
    }
    popin_content.style.marginTop = (-1 * parseInt(popin_content.getHeight() / 2)) + "px";

    popin_content.addEventListener('DOMSubtreeModified', checkSize, false);
}

function initPopin()
{
    // Fermeture de la popin existante
    if ($('popin')) {
        $('popin').remove();
    }

    // Cache les elements problematiques
    var listeSelect = document.getElementsByTagName('select');
    for (i = 0; i < listeSelect.length; i++) { listeSelect[i].style.visibility = 'hidden'; }
    var flashObjects = document.getElementsByTagName('object');
    for (i = 0; i != flashObjects.length; i++) { flashObjects[i].style.visibility = 'hidden'; }
    var flashEmbeds = document.getElementsByTagName('embeds');
    for (i = 0; i != flashEmbeds.length; i++) { flashEmbeds[i].style.visibility = 'hidden'; }

    // Mise en place du fond semitransparent
    var popin = $(document.createElement("div"));
    popin.id = 'popin';
    popin.setStyle({display: 'none'});
    popin.innerHTML = '<div class="background" onclick="fermerPopin();"></div><div id="popin_content" class="loading"></div>';
    document.body.appendChild(popin);

    new Effect.Appear(popin, {
            afterFinish: function() {
                popin.style.display = 'block';
            },
            duration: 0.9,
            from: 0.0,
            to: 1.0
        });
}

function fermerPopin(refresh) {
    var popin = $('popin');
    if (popin) {
        new Effect.Fade(popin, {
            afterFinish: function() {
                popin.remove();
            },
            duration: 0.9
            });

        // Affiche les elements problematiques
        var listeSelect = document.getElementsByTagName('select');
        for (i = 0; i < listeSelect.length; i++) { listeSelect[i].style.visibility = 'visible'; }
        var flashObjects = document.getElementsByTagName('object');
        for (i = 0; i != flashObjects.length; i++) { flashObjects[i].style.visibility = 'visible'; }
        var flashEmbeds = document.getElementsByTagName('embeds');
        for (i = 0; i != flashEmbeds.length; i++) { flashEmbeds[i].style.visibility = 'visible'; }
    }
    if (refresh) {
        location.reload();
    }
}

*/


