var allowClickClosePopup = false;
var timerAllowClickClosePopup = null;
var popupOpened = null;
function initPopup(elmt){
	var content = elmt.innerHTML;
	elmt.innerHTML = '';
	elmt.className = 'popup';
	elmt.style.display = 'none';

	var btn_close = document.createElement('a');
	btn_close.href = '#';
	btn_close.onclick = function(){
		closePopup();
		return false;
	}
	btn_close.title = 'Fermer la popup';
	btn_close.innerHTML = 'Fermer la popup';
	btn_close.className = 'btnClosePopup';
	elmt.appendChild(btn_close);

	var contenu = document.createElement('div');
	contenu.className = 'texte';
	contenu.innerHTML = content;
	elmt.appendChild(contenu);
}
function openPopup(elmt){
	if (popupOpened != null){
		closePopup();
	}

	elmt.style.display = 'block';
	popupOpened = elmt;
	if (timerAllowClickClosePopup != null){
		clearTimeout(timerAllowClickClosePopup);
	}
	timerAllowClickClosePopup = setTimeout(function(){ allowClickClosePopup = true; timerAllowClickClosePopup = null; }, 500);
}
function closePopup(){
	if (popupOpened != null){
		popupOpened.style.display = 'none';
		popupOpened = null;
		timerAllowClickClosePopup = null;
		allowClickClosePopup = false;
	}
}
function mouseClick(event){
	if (popupOpened != null && allowClickClosePopup){
		var el = event.target ? event.target : event.srcElement;
		while (true){
		    if (el.nodeType == 1){
				if (hasClassName(el, 'popup')){
					return true;
				}
			    if (el.nodeName.toLowerCase() == 'body' || el.nodeName.toLowerCase() == 'html'){
					closePopup();
				    return false;
			    }
		    }
			el = el.parentNode;
	    }
	}
}			
function hasClassName(ele, className){
	if (!ele || !className || !ele.className){
		return false;
	}
	
    var elementClassName = ele.className;
    if (elementClassName.length == 0) return false;
    if (elementClassName == className || elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))){
    	return true;
    }
    return false;
}

if (document.addEventListener){
	document.addEventListener("click", mouseClick, false );
} else if (document.attachEvent){
	document.attachEvent("onclick", function () { mouseClick(window.event); } );
}

function complementToPopups(elmt, destId){
	var fromCP2 = (arguments.length > 2 && arguments[2]) ? true : false; 
	var genLink = (arguments.length > 3 && !arguments[3]) ? false : true; 
	
	var lis = elmt.getElementsByTagName('li');
	for (var i=0; i<lis.length; i++){
		var link = lis[i].getElementsByTagName('a');
		if (link.length == 0){
			continue;
		}
		link = link[0];

		img = lis[i].getElementsByTagName('img');
		if (img.length == 0){
			continue;
		}
		titre = link.innerHTML;
		popup = link.href;
		if (popup.substr(0, 11) == 'about:blank'){
			popup = popup.substring(11);
		}
		if (popup.substr(0, 6) == 'about:'){
			popup = popup.substring(6);
		}
		img = img[0];
		
		if (!popups){
			var popups = document.createElement('div');
			popups.className = 'popups'; 
		}
		
		if ((i < 3 && (lis.length != 4 || destId != 'contenu-principal2')) || (i < 2 && lis.length == 4 && destId == 'contenu-principal2')){
			if (!popupsGauche){
				var popupsGauche = document.createElement('div');
				popupsGauche.className = 'popupsGauche';
				popups.appendChild(popupsGauche);
			}
			popupsGauche.appendChild(complementToPopup(titre, popup, img, genLink));
		} else {
			if (!popupsDroite){
				indexPopup = 0;
				var popupsDroite = document.createElement('div');
				popupsDroite.className = 'popupsDroite';
				if (fromCP2){
					popups.insertBefore(popupsDroite, popups.firstChild);
				} else {
					document.getElementById('contenu-principal').appendChild(popupsDroite);
				}
			}
			popupsDroite.appendChild(complementToPopup(titre, popup, img, genLink));
		}		
	}
	if (popups){
		document.getElementById(destId).appendChild(popups);
	}
}

var indexPopup = 0;
function complementToPopup(titreData, popupData, imgData){
	indexPopup++;
	var genLink = (arguments.length > 3 && arguments[3]);

	var elmt = document.createElement('div');
	var iframe = document.createElement('iframe');
	iframe.frameborder = 0;
	iframe.src = popupData;
	elmt.appendChild(iframe);

	// On crée le conteneur de la vignette
	var aPopup = document.createElement('div');
	aPopup.className = 'aPopup';
	if (indexPopup == 1){
		aPopup.className += ' first';
	}

	// On y crée le titre
	var titre = document.createElement('h3');
	var openPopupLink = document.createElement('a');
	openPopupLink.href = '#';
	openPopupLink.innerHTML = titreData;
	if (genLink){
		openPopupLink.onclick = function(){
			openPopup(elmt);
			return false;
		}
	} else {
		openPopupLink.onclick = function(){
			return false;
		}
	}
	titre.appendChild(openPopupLink);
	aPopup.appendChild(titre);

	// On déplace l'image s'il y en a une dans le titre
	var vignette = document.createElement('div');
	vignette.className = 'vignettePopup';

	var openPopupLink = document.createElement('a');
	openPopupLink.href = '#';
	openPopupLink.appendChild(imgData);
	if (genLink){
		openPopupLink.onclick = function(){
			openPopup(elmt);
			return false;
		}
	} else {
		openPopupLink.onclick = function(){
			return false;
		}
	}
	
	vignette.appendChild(openPopupLink);
	aPopup.appendChild(vignette);

	document.getElementById('enveloppe-page').appendChild(elmt);
	initPopup(elmt);

	// On retourne l'objet créé
	return aPopup;
}