﻿window.addEvent("domready",function(){init()}) ;

function init()
{
	mentionsLegales();
	ficheOnglet();
	addActionsToSelect();
	addActionsToCheckbox();
}

/* Champs du Test d'éligibilité *********************************************/
function setDefaultText(input,text)
{
	if(input.value == text)
		input.value = "";
	input.onblur = function(){
		if(input.value == "")
			input.value = text;
	};
}

/* Fermeture de popups flash *********************************************/
function closeFlash()
{
	if(document.getElementById("flashPopup"))
	{
		document.getElementById("flashPopup").style.display = "none";
	}
}

function displayFAQ(id)
{
	answer = document.getElementById("answerFAQ"+id);
	if(answer.style.display == "none" || answer.style.display == "")
	{
		answer.style.display = "block";
	}
	else
	{
		answer.style.display = "none";
	}
}

/* Autopromo Exclu web *********************************************/
function dgofc(swf, hauteur, largeur, couleur, nom) {
	document.write("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\""+hauteur+"\" height=\""+largeur+"\" id=\""+nom+"\" align=\"middle\">\n");
	document.write("<param name=\"allowScriptAccess\" value=\"always\" />\n");
	document.write("<param name=\"wmode\" value=\"transparent\" />\n");
	document.write("<param name=\"movie\" value=\""+swf+"\" /><param name=\"quality\" value=\"high\" /><param name=\"bgcolor\" value=\""+couleur+"\" /><embed src=\""+swf+"\" quality=\"high\" bgcolor=\""+couleur+"\" width=\""+hauteur+"\" height=\""+largeur+"\" name=\""+nom+"\" align=\"middle\" allowScriptAccess=\"always\" wmode=\"transparent\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />\n");
	document.write("</object>\n");
}
function openExcluWeb()
{
	//positionnement du div
	document.getElementById('divgrand').style.zindex='100';
	document.getElementById('divgrand').style.display='block';
}

function closeExcluWeb()
{
	document.getElementById('divgrand').style.zindex='0';
	document.getElementById('divgrand').style.display='none';
}

/************************************************************************
* Livephone
************************************************************************/
/* SagemD44W, SagemTU73 */
var livephones = new Array("SagemD42W", "AlcatelTU73", "SiemensA380");
function displayLivephone(id)
{
	for(var i=0; i < livephones.length; i++)
	{
		if(id == livephones[i])
		{
			document.getElementById("detail"+livephones[i]).style.display = "block";
			document.getElementById("detailPrix"+livephones[i]).style.display = "block";
			document.getElementById("Link_"+livephones[i]).className = "onglet On";
		}
		else
		{
			document.getElementById("detail"+livephones[i]).style.display = "none";
			document.getElementById("detailPrix"+livephones[i]).style.display = "none";
			document.getElementById("Link_"+livephones[i]).className = "onglet Off";
		}
	}
}

/************************************************************************
* [+] ONGLETS N-2 
************************************************************************/
function ficheOnglet()
{
	masquerTousLesOnglets();
	var i = 1;
	var onglets = new Array();
	while (document.getElementById("ficheOnglet" + i) != undefined)
	{
		var div = document.getElementById("showOnglet" + i);
		if (div != null)
		{
		div.id = i ;
		div.onclick = function() { 
					changerPictoPlusMoins(this);
					changerTitreTexte(this);
					changerOnglet(this.id);
			} ;
		}
		i++;
	}
}

function changerPictoPlusMoins(source)
{
	if(source.style.backgroundImage.search("pictoMoins.gif") > 0)
		source.style.backgroundImage = "url(http://images.eto.fr/abonnez-vous/img/commun/pictoPlus.gif)";
	else source.style.backgroundImage = "url(http://images.eto.fr/abonnez-vous/img/commun/pictoMoins.gif)";
}

function changerTitreTexte(source)
{
	if(source.style["color"] == "#ff6600" || source.style["color"] == "rgb(255, 102, 0)")
		source.style["color"] = "#9a9a9a";
	else source.style["color"] = "#ff6600";
}

function changerOnglet(i)
{
	var div = "contenuFicheOnglet" + i;
	if(isVisible(div))
		masquerOnglet(div);
	else afficherOnglet(div);
}

function masquerTousLesOnglets()
{
	var i = 1;
	while (document.getElementById("contenuFicheOnglet" + i) != undefined)
	{
		masquerOnglet("contenuFicheOnglet" + i);
		i++;
	}
}

function afficherOnglet(div)
{
	document.getElementById(div).style.display = "block";
}

function masquerOnglet(div)
{
	document.getElementById(div).style.display = "none";
}

function isVisible(div)
{
	if(document.getElementById(div).style.display == "none")
		return false;
	else return true;
}

/************************************************************************
* MENTIONS LEGALES
************************************************************************/
function mentionsLegales()
{
	if (document.getElementById("showMentions") != undefined)
	{
	    var showMentions = document.getElementById("showMentions");
		showMentions.onclick = afficherMentions;
	}
	masquerToutesLesMentions();
}

function masquerToutesLesMentions()
{
	if (document.getElementById("ficheMention") != undefined)
	{
		document.getElementById("ficheMention").style.display = "none";
	}
}

function afficherMentions()
{
	var div = "ficheMention";
	if (document.getElementById("showMentions"))
	{
		var mentions = document.getElementById("showMentions");
	    changerPictoPlusMoins(mentions); 
		if(isVisible(div))
		{
			masquerOnglet(div);
		}
		else 
		{
			afficherOnglet(div);
		}
	}
}


/************************************************************************
* MENU
************************************************************************/
function SousMenu(o)
{
	if(o.className == "MenuItemOn")
		o.className ="MenuItem";
	else
		o.className ="MenuItemOn";
}


function len(s) 
{

    if (document.getElementById) 
    {
        var rulerSpan = document.getElementById("ruler");
        rulerSpan.innerHTML = s;
        return(rulerSpan.offsetWidth);   
    }
    
}


var detect = navigator.userAgent.toLowerCase();
function menu() 
{
	var margingtop = -3;
	var margingleft = -2;
	var i=1;
	var j=0;
	var longueur=0;

		if (checkIt('safari'))
		{
				var margingtop = 2;
		}

		while (document.getElementById("SousMenu" + i)!= undefined){
			  with(document.getElementById("SousMenu"+i).style) {
				j=0;
				longueur=document.getElementById("Menu" + i).offsetWidth - margingleft;
				position="absolute";
				top = (document.getElementById("Menu"+i).offsetHeight+findPosY(document.getElementById("Menu"+i))+margingtop)+"px";
				left = (findPosX(document.getElementById("Menu"+i))+margingleft)+"px";
				margin="0";
				padding="0";
				zIndex="9999";
					while (document.getElementById("SousMenu" + i).childNodes[j] != undefined)
					{
						if (longueur < len(document.getElementById("SousMenu" + i).childNodes[j].id)+9)
						{
							longueur = len(document.getElementById("SousMenu" + i).childNodes[j].id)+9;
						}
						j++;
					}
	                
				width = longueur+"px";
				}
			   i++;
			  len("");
			  }
		CacherMenus();
}

function MontrerMenu(strMenu) {
    CacherMenus(); 
    document.getElementById(strMenu).style.display="block";
}

function CacherMenus() {
    var i=1;
    while (document.getElementById("SousMenu" + i)!= undefined)
    {
        document.getElementById("SousMenu"+i).style.display="none";
        i++;
    }
}


function checkIt(string)
{
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}


function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

/************************************************************************
* POPUPS
************************************************************************/
function openPopup(url, name, w, h)
{
  w += 32;
  h += 96;
  wleft = (screen.width - w) / 2;
  wtop = (screen.height - h) / 2;
  var win = window.open(url,
    name,
    'width=' + w + ', height=' + h + ', ' +
    'left=' + wleft + ', top=' + wtop + ', ' +
    'location=no, menubar=no, ' +
    'status=no, toolbar=no, scrollbars=auto, resizable=yes');
  win.resizeTo(w, h);
  win.moveTo(wleft, wtop);
  win.focus();
}

function popup(page, width, height)
{
	window.open(page,'', 'resizable=yes, location=no, width='+width + ', height='+ height +', menubar=no, status=no, scrollbars=no, menubar=no');
}

/**********************************************************************************
/* SELECT
/**********************************************************************************/
function addActionsToSelect()
{
	var selects = document.getElementsByTagName("select");
	for(i=0; i<selects.length; i++)
	{
		// Actions pour un select
		var selectClass =selects[i].className ;
		var selectClasses= selectClass.split(" ");
		for(j=0; j< selectClasses.length; j++)
		{
			if(selectClasses[j] == "URLRedirector")
			{
				selects[i].onchange = function() {
					var url = this.options[this.selectedIndex].value ;
					if(url != "")
						window.location = url ;
				}
			}
			else if(selectClasses[j] == "modemSelectorN1")
			{
				setSelectDefault(selects[i]);
				selects[i].onchange = function() {
					bindSelectToDiv(this, "modem");
					bindSelectToDiv(this, "detailModem");
				}
			}
			else if(selectClasses[j] == "modemSelectorN2")
			{
				setSelectDefault(selects[i]);
				selects[i].onchange = function() {
					bindSelectToDiv(this, "modem");
					bindSelectToDiv(this, "detailModem");
				}
			}
			else if(selectClasses[j] == "selectVisiophone")
			{
				setSelectDefault(selects[i]);
				selects[i].onchange = function() {
					bindSelectToDiv(this, "detailModem");
				}
			}
		}	
	}
}

// Permet de lier les options d'une SELECT à un ensemble de div
// Pour chaque option, il doit exister une div avec pour id : idDiv + select.options[i]
function bindSelectToDiv(select, idDiv)
{
	var selectedValue = select.options[select.selectedIndex].value ;
	if (selectedValue == "") return false;
	for(i=0; i < select.options.length; i++)
	{
		var currentValue = select.options[i].value ;
		if(currentValue != "")
		{
			if (!document.getElementById(idDiv + currentValue))
				return false;
			if(currentValue == selectedValue)
			{
				document.getElementById(idDiv + currentValue).style.display = "block";
			}
			else 
			{
				document.getElementById(idDiv + currentValue).style.display = "none";
			}
		}
	}
	return true;
}

// Masque toutes les divs idDiv associées aux valeurs d'une liste de choix select
function hideAllDivsFromSelect(select, idDiv)
{
	for(i=0; i < select.options.length; i++)
	{
		var currentValue = select.options[i].value ;
		if(currentValue != "")
		{
			if (!document.getElementById(idDiv + currentValue))
				return false;
			document.getElementById(idDiv + currentValue).style.display = "none";
		}
	}
	return true;
}

// Retourne un objet HTML SELECT de classe CSS myClass
function getSelectByClassName(myClass)
{
	var selects = document.getElementsByTagName("select");
	for(i=0; i<selects.length; i++)
	{
		// Actions pour un select
		var selectClass =selects[i].className ;
		var selectClasses= selectClass.split(" ");
		for(j=0; j< selectClasses.length; j++)
		{
			if(selectClasses[j] == myClass)
				return selects[i];
		}
	}
	return null;
}

// Applique les valeurs des modems dans la liste de choix pour l'offre myValue
function setModemValuesFor(myValue)
{
	if(myValue == "1MegaMax")
	{
		var modemSelectorN1 = getSelectByClassName("modemSelectorN1");
		if(modemSelectorN1)
		{
			hideAllDivsFromSelect(modemSelectorN1, "modem");
			hideAllDivsFromSelect(modemSelectorN1, "detailModem");
			modemSelectorN1.options.length = 0;
			modemSelectorN1.options[0] = new Option("livebox", "Livebox");
			modemSelectorN1.options[1] = new Option("modem ethernet", "Ethernet");
			modemSelectorN1.options[2] = new Option("modem USB", "USB");
			//modemSelectorN1.options[3] = new Option("J'ai d\351j\340 un modem", "Deja");
			setSelectDefault(modemSelectorN1);
			bindSelectToDiv(modemSelectorN1, "modem");
			bindSelectToDiv(modemSelectorN1, "detailModem");
		}
	}
	else if(myValue == "8MegaMax")
	{
		var modemSelectorN1 = getSelectByClassName("modemSelectorN1");	
		if(modemSelectorN1)
		{
			hideAllDivsFromSelect(modemSelectorN1, "modem");
			hideAllDivsFromSelect(modemSelectorN1, "detailModem");
			modemSelectorN1.options.length = 0;
			modemSelectorN1.options[0] = new Option("livebox", "Livebox");
			modemSelectorN1.options[1] = new Option("modem ethernet", "Ethernet");
			//modemSelectorN1.options[2] = new Option("J'ai d\351j\340 un modem", "Deja");
			setSelectDefault(modemSelectorN1);
			bindSelectToDiv(modemSelectorN1, "modem");
			bindSelectToDiv(modemSelectorN1, "detailModem");
		}
	}
	else if(myValue == "18MegaMax")
	{
		var modemSelectorN1 = getSelectByClassName("modemSelectorN1");
		if(modemSelectorN1)
		{
			hideAllDivsFromSelect(modemSelectorN1, "modem");
			hideAllDivsFromSelect(modemSelectorN1, "detailModem");
			modemSelectorN1.options.length = 0;
			modemSelectorN1.options[0] = new Option("livebox", "Livebox");
			//modemSelectorN1.options[1] = new Option("J'ai d\351j\340 un modem", "Deja");
			setSelectDefault(modemSelectorN1);
			bindSelectToDiv(modemSelectorN1, "modem");
			bindSelectToDiv(modemSelectorN1, "detailModem");
		}
	}
	else if(myValue == "8MegaMaxEtudiant")
	{
		var modemSelectorN1 = getSelectByClassName("modemSelectorN1");	
		if(modemSelectorN1)
		{
			hideAllDivsFromSelect(modemSelectorN1, "modem");
			hideAllDivsFromSelect(modemSelectorN1, "detailModem");
			modemSelectorN1.options.length = 0;
			modemSelectorN1.options[0] = new Option("livebox", "Livebox");
			modemSelectorN1.options[1] = new Option("modem ethernet", "Ethernet");
			//modemSelectorN1.options[2] = new Option("J'ai d\351j\340 un modem", "Deja");
			setSelectDefault(modemSelectorN1);
			bindSelectToDiv(modemSelectorN1, "modem");
			bindSelectToDiv(modemSelectorN1, "detailModem");
		}
	}
	else if(myValue == "1MegaMaxEtudiant")
	{
		var modemSelectorN1 = getSelectByClassName("modemSelectorN1");
		if(modemSelectorN1)
		{
			hideAllDivsFromSelect(modemSelectorN1, "modem");
			hideAllDivsFromSelect(modemSelectorN1, "detailModem");
			modemSelectorN1.options.length = 0;
			modemSelectorN1.options[0] = new Option("livebox", "Livebox");
			modemSelectorN1.options[1] = new Option("modem Ethernet", "Ethernet");
			modemSelectorN1.options[2] = new Option("modem usb", "USB");
			//modemSelectorN1.options[3] = new Option("J'ai d\351j\340 un modem", "Deja");
			setSelectDefault(modemSelectorN1);
			bindSelectToDiv(modemSelectorN1, "modem");
			bindSelectToDiv(modemSelectorN1, "detailModem");
		}
	}
}

// Selectionne dans la liste de choix la premiere valeur non nulle
function setSelectDefault(select)
{
	var indexByDefault = 0;
	while(select.options[indexByDefault].value == "")
		indexByDefault++;
	select.selectedIndex = indexByDefault;
}

/**********************************************************************************
/* CHECKBOX
/**********************************************************************************/

function addActionsToCheckbox()
{
	var checkbox = getAllCheckbox();
	for(i=0; i < checkbox.length; i++)
	{
		var checkboxClass =checkbox[i].className ;
		var checkboxClasses= checkboxClass.split(" ");
		for(j=0; j< checkboxClasses.length; j++)
		{
			if(checkboxClasses[j] == "forfaitHDN1")
			{
				if(checkbox[i].checked != true)
				{
					checkbox[i].checked = false;
				}
				checkbox[i].groupName = checkboxClasses[j] ;
				checkbox[i].onclick = function() {
					uncheckAllButThis(this);
					bindCheckboxToSelect(this);
					bindCheckboxToDiv(this, "detailForfait") ;
					bindCheckboxToSingleDiv(this, "btAjoutPanier") ;
				}
			}	
			else if(checkboxClasses[j] == "forfaitBDFideliteN1")
			{
				if(!checkbox[i].checked == "checked")
					checkbox[i].checked= false;
				checkbox[i].groupName = checkboxClasses[j] ;
				checkbox[i].onclick = function() {
					AjouterOffres(this.value);
					uncheckAllButThis(this);
				}
			}
			else if(checkboxClasses[j] == "forfaitBDN1")
			{
				if(!checkbox[i].checked == "checked")
					checkbox[i].checked= false;
				checkbox[i].groupName = checkboxClasses[j] ;
				checkbox[i].onclick = function() {
					AjouterOffres(this.value);
					uncheckAllButThis(this);
				}
			}
			else if(checkboxClasses[j] == "forfaitBDN2")
			{
				if(!checkbox[i].checked == "checked")
					checkbox[i].checked= false;
				checkbox[i].groupName = checkboxClasses[j] ;
				checkbox[i].onclick = function() {
					uncheckAllButThis(this);
					bindCheckboxToDiv(this, "detail") ;
				}
			}
			else if(checkboxClasses[j] == "ficheSerieLimitee")
			{
				if(checkbox[i].checked != true)
				{
					checkbox[i].checked = false;
				}
				checkbox[i].groupName = checkboxClasses[j] ;
				checkbox[i].onclick = function() {
					uncheckAllButThis(this);
					bindCheckboxToDiv(this, "prix") ;
					bindCheckboxToDiv(this, "detail") ;
				}
			}
			else if(checkboxClasses[j] == "ficheTelephone")
			{
				if(!checkbox[i].checked == "checked")
				{
					checkbox[i].checked= false;
				}
				checkbox[i].groupName = checkboxClasses[j] ;
				checkbox[i].onclick = function() {
					uncheckAllButThis(this);
					bindCheckboxToDiv(this, "detail") ;
				}
			}
		}
	}
}

// Permet de lier une Checkbox à une liste de choix
function bindCheckboxToSelect(myCheckbox)
{
	var myClass = myCheckbox.className;
	var classes= myClass.split(" ");
	for(i=0; i< classes.length; i++)
	{
		if(classes[i] == "forfaitHDN1")
		{
			var select = getSelectByClassName("modemSelectorN1");
			setModemValuesFor(myCheckbox.value);
		}
	}
}

// Permet de lier une Checkbox à une liste de div
// Il doit exister une div avec pour id : idDiv + checkbox.value
function bindCheckboxToDiv(myCheckbox, idDiv)
{
	var currentValue = myCheckbox.value;
	hideAllDivsFromCheckbox(myCheckbox,idDiv);
	if(document.getElementById(idDiv + currentValue))
	{
		if(myCheckbox.checked)
			document.getElementById(idDiv + currentValue).style.display = "block";
		else
			document.getElementById(idDiv).style.display = "block";
		return true;
	}
	return false;
}

// Permet de lier une Checkbox à une simple div
// Elle s'affiche si la case est cochée
function bindCheckboxToSingleDiv(myCheckbox, idDiv)
{
	if(myCheckbox.checked)
	{
		document.getElementById(idDiv).style.display = "block";
	}
	else
	{
		document.getElementById(idDiv).style.display = "none";
	}
	return true;
}

// Renvoie toutes les checkbox sur la page
function getAllCheckbox()
{
	// On recupere tous les inputs, puis toutes les checkbox
	var inputs = document.getElementsByTagName("input");
	var checkbox = new Array();
	for(i=0; i < inputs.length; i++)
		if(inputs[i].type == "checkbox")
			checkbox.push(inputs[i]);
	return checkbox;
}

// Decoche toutes les checkbox sauf myCheckbox
function uncheckAllButThis(myCheckbox)
{
	var checkbox = getCheckboxByClassName(myCheckbox.groupName);
	for(i=0; i < checkbox.length; i++)
	{
		if(checkbox[i] != myCheckbox)
			checkbox[i].checked = false;
	}
}

// Renvoie les checkbox de la classe myClass
function getCheckboxByClassName(myClass)
{
	var checkbox = getAllCheckbox();
	var checkboxByClass = new Array();
	for(i=0; i<checkbox.length; i++)
	{
		var checkboxClass =checkbox[i].className ;
		var checkboxClasses= checkboxClass.split(" ");
		for(j=0; j< checkboxClasses.length; j++)
		{
			if(checkboxClasses[j] == myClass)
				checkboxByClass.push(checkbox[i]);
		}
	}
	return checkboxByClass;
}

// Masque toutes les divs idDiv associées aux valeurs de checkbox de classes myCheckboxClass
function hideAllDivsFromCheckbox(myCheckbox, idDiv)
{
	var checkbox = getCheckboxByClassName(myCheckbox.groupName);
	for(i=0; i < checkbox.length; i++)
	{
		var currentValue = checkbox[i].value ;
		if(currentValue != "")
		{
			if (!document.getElementById(idDiv + currentValue))
				return false;
			document.getElementById(idDiv + currentValue).style.display = "none";
		}
	}
	if(document.getElementById(idDiv) != null)
		document.getElementById(idDiv).style.display = "none";
	return true;
}



/************************************************************************
* N-1 Onglet
************************************************************************/

var ongletN1 = new Array("internetHD", "tvNumerique", "telephoneIllimite", "livebox");


function displayContenu(id)
{
	for (var i=0; i < ongletN1.length; i++)
	{
		if (id == ongletN1[i])
		{
			document.getElementById(ongletN1[i]).style.display = "block";
			document.getElementById("onglet" + ongletN1[i]).className = "OngletOn";
		}
		else
		{
			document.getElementById(ongletN1[i]).style.display = "none";
			document.getElementById("onglet" + ongletN1[i]).className = "OngletOff";
		}
	}
}


function displayOnglet(id)
{
    var clickedOnglet = document.getElementById(id);
    
    // L'onglet n'est affiché que si celui-ci ne l'est pas déjà!
    if (clickedOnglet.style.display != "block")
    {
        hideAllCaracs();
        
        for (var i=0; i < ongletN1.length; i++)
	    {
		    if (ongletN1[i] == id)
		    {
			    document.getElementById(ongletN1[i]).style.display = "block";
			    document.getElementById("onglet" + ongletN1[i]).className = "OngletOn";
		    }
		    else
		    {
			    document.getElementById(ongletN1[i]).style.display = "none";
			    document.getElementById("onglet" + ongletN1[i]).className = "OngletOff";
		    }
	    }
    }
}

function hideAllCaracs()
{
    for (var i=0; i < ongletN1.length; i++)
	{
		document.getElementById(ongletN1[i] + "-caracs").style.display = "none";
	}
	
	document.getElementById("caracs").style.display = "none";
}

function displayCaracs(id)
{
	var divCaracsOnglet = document.getElementById(id + "-caracs");
	var stateCurrentCarac = divCaracsOnglet.style.display;
	
	hideAllCaracs();
	
	
	if (stateCurrentCarac == "none")
	{
	    document.getElementById("caracs").style.display = "block";
	    divCaracsOnglet.style.display = "block";
	}
	else
	{
	    document.getElementById("caracs").style.display = "none";
	    divCaracsOnglet.style.display = "none";
    }
}

function switchDisplayById(elementId)
{
    var e = document.getElementById(elementId);
    if (e != undefined)
    {
      if (e.style.display == 'none' || e.style.display == '')
        {
            e.style.display = 'block';
        }
        else
        {
            e.style.display = 'none';
        }
    }
}