var pdf = "(+d&eacute;tail)";
var pds = "(+d&eacute;tail)";
var quartier = null;
var ville = null;
var zipcode = null;
var idfilm = null;
var _noresult = "Pas de r&eacute;sultats selon vos crit&egrave;res";
var _selectionquartier = "S&eacute;lectionner un quartier";
var _selectionarrondissement = "S&eacute;lectionner un ou plusieurs arrondissements";
var _selectiontitre = "Saisir un titre dans la boite de recherche";
var _selectionautretitre = "Pas de programmation pour ce film ce jour";
var _tabselected = "";//quartier,codepostale,titre
var _retourmessage = "&lt;&lt;Retour s&eacute;lection pr&eacute;c&eacute;dente";
var _favorisTitre = "unCine.fr les horaies de cinema simplement et rapidement";
var _favorisURL = "http://www.uncine.fr";
var _showsalle = false;
var _pasdeprogrammation = "Pas de programation pour cette salle cette semaine"
var _days = 30;

/*
 *  voir alsacreation
 *  Permet d'avoir plusieur fonction sur le onLoad
 */
function addLoadEvent(func) {
    var oldonload = window.onload;if(typeof window.onload != 'function')    {
        window.onload = func;
    } else    {
        window.onload = function()       {
            oldonload();func();
        }
    }
}

function init(){
  ville = getVilleSelectionnee();
  activeProximite(true);
  quartier = getcookie('quartier');
  zipcode = getcookie('zipcode');
 }

function getsalleparquartier(id_quartier)
{
	hideMsgInfo();
        hideMsgNav();
  	var jour = getJourSelectione();
	var xhr=null;
    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhr.onreadystatechange = function() {get_sallexml(xhr,jour);};

    //on affiche le message d'acceuil
    document.getElementById("message").className="montre";

	var ville = getVilleSelectionnee();
	setcookie( 'ville', ville,_days);
	setcookie( 'quartier', id_quartier,_days);
	deletecookie('zipcode');

    //on appelle le fichier reponse.php

    xhr.open("GET", encodeURI("rsalle.php?jour="+jour+"&id_quartier="+id_quartier+"&ville="+ville), true);
    xhr.send(null);
	//miseajourinterface(jour);
	//showMsgInfo();
}

function getsalles(jour) {
  hideMsgInfo();
  hideMsgNav();
  montre_pub("pub1", false);
  montre_pub("pub2", false);
  document.getElementById('content').innerHTML = "";
  _showsalle = false;
  if (jour == null) {
  //le jour n'est pas passé en paramère on le recherche
    jour = getJourSelectione();
  }
  miseajourinterface(jour);

  ville = getVilleSelectionnee();
  trouveCtx();
  getTabSelected();
  if (_tabselected == "titre") {
    if (idfilm != null) {
     getfilm(idfilm,jour);
    return;
    }else {
     if (ville != 'paris' && ville != 'lyon') {
     	getsalles2(jour);
        return;
     } else {
      miseajourinterface(jour);
      showMsgInfo();
      return;
      }
    }
  }

  if (jour != null ) {
    if (quartier != null) {
      miseajourinterface(jour);
      getsalleparquartier(quartier);
    } else
    {if ((zipcode != null) && (zipcode.length > 0) ) {getsalles2(jour);
      } else {
         //pas de zipcode cas normal en dehors de paris et lyon
         if ((ville == 'paris') || (ville == 'lyon')) {
           //pas de zipcode selectionner possible pour un nouvelle entrant
           showMsgInfo();
            miseajourinterface(jour);
            document.getElementById('content').innerHTML = "";
         } else {
            getsalles2(jour);
            document.getElementById('champ-texte').focus()
         }
      }
    }
  } else {
    //TODO on ne devrait jamais être ici
    getsalles1();
  }
}

function getsalles1()
{
  hideMsgInfo();
  hideMsgNav();
	var xhr=null;
    var jour = getJourSelectione();
    //TODO est-ce nécéssaire
    miseajourinterface(jour);
    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhr.onreadystatechange = function() {get_sallexml(xhr,jour);};

    //on affiche le message d'acceuil
    document.getElementById("message").className="montre";

    var ville = getVilleSelectionnee();
    var zipcodeselection = getCheckedZipCode();
  	setcookie( 'ville', ville,_days);
  	setcookie( 'zipcode', zipcodeselection,_days);
  	deletecookie('quartier');
    xhr.open("GET", encodeURI("rsalle.php?jour="+jour+"&zipcode="+zipcodeselection+"&ville="+ville), true);
    xhr.send(null);
  	//miseajourinterface(jour);
  	//showMsgInfo();
}

function getsalles2(jour)
{
    hideMsgInfo();
    hideMsgNav();
    activeProximite(true);

    var xhr=null;

    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhr.onreadystatechange = function() {get_sallexml(xhr,jour);};

    //on affiche le message d'acceuil
    document.getElementById("message").className="montre";

    var ville = getVilleSelectionnee();
    //on regarde si on est sur une recherche par quartier, zipcode, ou ville entière
    //c'est
    var zipcodeselection = getCheckedZipCode();
    setcookie( 'ville', ville,_days);
    setcookie( 'zipcode', zipcodeselection,_days);
    deletecookie('quartier');
    xhr.open("GET", encodeURI("rsalle.php?jour="+jour+"&zipcode="+zipcodeselection+"&ville="+ville), true);
    xhr.send(null);
    //miseajourinterface(jour);
    //showMsgInfo();
}

function getsalle(id_salle,jour)
{
	hideMsgInfo();
        hideMsgNav();
        montre_pub("pub1", false);
        montre_pub("pub2", false);
	_showsalle = true;
	var xhr=null;

    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhr.onreadystatechange = function() {get_sallexml(xhr,jour);};

    //on affiche le message d'acceuil
    document.getElementById("message").className="montre";

	var ville = getVilleSelectionnee();
	setcookie( 'ville', ville,_days);
    //on appelle le fichier reponse.php

    xhr.open("GET", encodeURI("rsalle.php?jour="+jour+"&id_salle="+id_salle+"&ville="+ville), true);
    xhr.send(null);
	//miseajourinterface(jour);
	//showMsgInfo();
}

function get_sallexml(xhr,jour)
{
    ville = getVilleSelectionnee();
    if (xhr.readyState==4 && xhr.status == 200)
    {
         montre_pub("pub1", true);
        montre_pub("pub2", false);
    	document.getElementById("message").className="cache";
    	var docXML= xhr.responseXML;
    	var items = docXML.getElementsByTagName("salle")
		var html     = ''; /* PrÃ©sentation HTML de la liste */
		var idxville = 0;
		var lvilleprec = '';
		
		if (items.length == 0) {
			html = _noresult;
			document.getElementById('msginfo').style.display = "none";
			document.getElementById('content').innerHTML = html;
			return 0;
		}

		//si on regarde une salle uniquement on active le lien retour
		if (_showsalle ) {
		  var msg = '<a href="javascript:getsalles(\''+jour+'\');">'+_retourmessage+'</a>';
		  document.getElementById('msgnav').innerHTML = msg;
		} 
		
		for(i = 0; i < items.length; i++) { /* POUR CHAQUE item */
		    var lville = items[i].getElementsByTagName("ville")[0].firstChild.nodeValue;
			var nom_long = items[i].getElementsByTagName("lnom")[0].firstChild.nodeValue;
			//on affiche que la ville selectionner par default
			var lproximite = getProximite();
			// affichage des lignes de sépration,les villes sont différentes que dans le cas de la proximité
                        // on mets un name et un id a cause d'un bug ie

			if (lville != lvilleprec) {
				lvilleprec = lville;idxville++;
				if (lville == ville) {//ville principale
				    if (lproximite == 3 ) {
						html += '<div name="princelt" id="princelt" rel='+idxville+' class="separation_ville" >'+nom_long+'</div>';
					} else {
						html += '<div name="princelt" id="princelt" rel='+idxville+' class="separation_ville" style="display:none" >'+nom_long+'</div>';
					}
				} else {
				    if (lproximite > 1 ) {
						html += '<div name="element" id="element" rel='+idxville+' class="separation_ville">'+nom_long+'</div>';
					} else {
						html += '<div name="element" id="element" rel='+idxville+' class="separation_ville" style="display:none" >'+nom_long+'</div>';
					}
				}
			}
			//On affiche que le jour demandÃ©
			
			if (lville.toLowerCase() == ville.toLowerCase()) {
			   if (lproximite == 2) {
					html += '<div class="element" name="element" id="element" style="display:none" rel='+idxville+'>';
			   } else {
					html += '<div class="element" name="element" id="element" rel='+idxville+'>';
			   }
			} else { //on est sur les villes d'entourage on cache 
			   if (lproximite == 1) {
					html += '<div class="element" name="element" id="element" style="display:none" rel='+idxville+'>';
			   } else {
					html += '<div class="element" name="element" id="element" rel='+idxville+'>';
			   }
			}
			
                        //si la salle est fermé on n'affiche pas les détails
                        if (items[i].getElementsByTagName("f")[0].firstChild.nodeValue == 1) {
                            html += '<h2 class="salle_ferme">' + items[i].firstChild.nodeValue + '</h2>';
                            html += _pasdeprogrammation;
          		    html += '</div>';
                        } else {
   	 		html += '<h2 class="salle">' + items[i].firstChild.nodeValue;
			html += '<a class="ps" href="javascript:void(0)" onclick="dsp(this)">'+pds+'</a>';
			html += '</h2>';
			html += '<div class="ds" style="display:none">';
                        if (items[i].getElementsByTagName("add")[0].firstChild != null) {
                            html += items[i].getElementsByTagName("add")[0].firstChild.nodeValue;
                        }
			html += '<br/>';
			html += items[i].getElementsByTagName("cp")[0].firstChild.nodeValue;
			html += ' '+nom_long;
			var lmapgoogle = items[i].getElementsByTagName("lmapgoogle")[0].firstChild.nodeValue;
			html += ' - <a class="pg"  title="Plan du cinéma : '+items[i].firstChild.nodeValue+'" href="'+lmapgoogle+'&amp;output=embed">Plan google</a>';
			html += '</div>';
			html += '<table class="salle">';
    			var titres = items[i].getElementsByTagName("titre");
    			//On boucle sur les titres de film
    			for(j = 0 ; j < titres.length; j++) {
				    if ( j % 2 == 0) {
						html += '<tr><td class="afilm">';
				    } else {
						html += '<td class="afilm">';
					}
					var id_film = titres[j].getAttribute("id");
                                        var titre_simple = titres[j].getElementsByTagName("ts")[0].firstChild.nodeValue;
    				html += '<div >';
                                html += '<a class="titre" href="film/'+lville+'/'+id_film+'-'+titre_simple+'.html">';
	    			html += titres[j].childNodes[0].nodeValue +'</a>';
                                //Avant première
                                if (titres[j].getElementsByTagName("ap")[0].firstChild.nodeValue == "1") {
                                    html += '<span class="ap">AP</span>';
                                }

                                        html += '<a class="ff puff" id="ff'+id_film+'" title="Fiche du film : '+titres[j].childNodes[0].nodeValue+'" href="fiche_film.php?id_film='+id_film+'" >'+pdf+'</a>';
					html += '</div>';

                                //on affiche tous les vovf
	    			for (k = 0; k < titres[j].getElementsByTagName("jour")[0].getElementsByTagName("heure").length ; k++) {
			 			html += '<div class="heure"><span class="vovf">';
						html += titres[j].getElementsByTagName("jour")[0].getElementsByTagName("heure")[k].getAttribute("vovf");
  						html += '</span>';
						html += titres[j].getElementsByTagName("jour")[0].getElementsByTagName("heure")[k].firstChild.nodeValue;
						html += '</div>';
  	 					//todo debug display:none
	   	 				html += '<div class="jour" style="display:none">jour : ';
		 				html += ' </div>';
	 				}
				    if ( j % 2 == 0) {
						html += '</td>';
				    } else {
						html += '</td></tr>';
					}

   	 			}//ferme
                               }
				html += '</table>';
    			html += '</div>';
		}
		document.getElementById('content').innerHTML = html;
		document.getElementById('msginfo').style.display = "none";
                initColorbox();

    }
}

function getfilmParTitre(){
    hideMsgInfo();
    hideMsgNav();
    var titre = document.getElementById('champ-texte').value;
	if (titre.length == 0) {
	  //on efface le texte sinon il y a un bug sur paris ou lyon
	  document.getElementById('content').innerHTML = '';
	  return getsalles();
	}

    var xhr=null;

    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on dï¿½finit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() {get_filmxml(xhr,jour);};

    //on affiche le message d'acceuil
    document.getElementById("message").className="montre";

	var ville = getVilleSelectionnee();
	setcookie( 'ville', ville,_days);
	//var quartier_id = getQuartier();
    //var zipcodeselection = getCheckedZipCode();
	var ville= getVilleSelectionnee();
	var jour = getJourSelectione();
    //on appelle le fichier reponse.php
    //on remplace le caractère & par ||
    //TODO améliorer en passant par l'id
    titre = titre.replace(/&/g,"|||");
    xhr.open("GET", encodeURI("rfilm.php?jour="+jour+"&titre="+titre+"&ville="+ville), true);
    xhr.send(null);
    //hideCompleteDiv();
    miseajourinterface(jour);
}
function setIdFilm(id_film){
  idfilm=id_film;
}
function getfilm(id_film,jour)
{
	hideMsgInfo();
        hideMsgNav();
	activeProximite(false);
    var xhr=null;
    idfilm = id_film;
    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on dï¿½finit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() {get_filmxml(xhr,jour);};

    //on affiche le message d'acceuil
    document.getElementById("message").className="montre";

	var ville = getVilleSelectionnee();
	setcookie( 'ville', ville,_days);
    //id_film est null si on change de jour sans avoir de selection
	xhr.open("GET", encodeURI("rfilm.php?jour="+jour+"&id_film="+id_film+"&ville="+ville), true);
    xhr.send(null);
    miseajourinterface(jour);
}

function get_filmxml(xhr,jour)
{
    if (xhr.readyState==4 && xhr.status == 200)
    {
        montre_pub("pub1", false);
        montre_pub("pub2", true);
        ville = getVilleSelectionnee();
    	document.getElementById("message").className="cache";
    	var docXML= xhr.responseXML;
    	var items = docXML.getElementsByTagName("salle");
		var html     = ''; /* Prï¿½sentation HTML de la liste */
		if (items.length == 0) {
			//si la recher n'est pas vide c'est qu'il n'y a pas de programmation
//			if (document.getElementById('champ-texte').value.length > 0) {
			 document.getElementById('msginfo').innerHTML = _selectionautretitre;
//			}
			html = "";
			document.getElementById('content').innerHTML = html;
			document.getElementById('msginfo').style.display = "block";
			return 0;
		}
		// Si il y a un element on affiche le titre
		if (items.length > 0) {
			//on stocke idFilm pour pouvoir changer de jour sur le même film
			idfilm = items[0].getElementsByTagName("titre")[0].getAttribute("id");
			//On affiche le retour selection pour en selection par titre que pour les ville autre que paris et lyon
                        var msg = '<a href="horaires-cinema-'+items[0].getElementsByTagName("ville")[0].firstChild.nodeValue +'.html">&lt;&lt;Retour '+items[0].getElementsByTagName("lnom")[0].firstChild.nodeValue+'</a>';

                        document.getElementById('msgnav').innerHTML = msg;

                        html +='<div class="dfimg">';
                        var titre_film =  items[0].getElementsByTagName("titre")[0].firstChild.nodeValue;
                        //if ( $row['m_image'] != null ) {
                        if (items[0].getElementsByTagName("mimg")[0].firstChild != null) {
                            html += '<img width="120" height="160" src="'+items[0].getElementsByTagName("mimg")[0].firstChild.nodeValue+'" alt="'+titre_film+'" title="'+titre_film+'" />';
                        } else {
                            html += '<img width="120" height="160" src="'+items[0].getElementsByTagName("mimg")[0].firstChild.nodeValue+'" alt="'+titre_film+'" title="'+titre_film+'" />';
                        }

                        html += '</div>';
                        html += '<div id="dftxt">';

                        html += '<h1 class="film">' + titre_film;
                        html += '<a class="ff puff" id="ff'+idfilm+'" title="Fiche du film : '+items[0].getElementsByTagName("titre")[0].firstChild.nodeValue+'" href="fiche_film.php?id_film='+idfilm+'" >(+détail)</a>';
                        html += '</h1>';
                        html += '<div id="dfd">';
                        if (items[0].getElementsByTagName("genres")[0].firstChild != null) {
                            html += 'Genre : ' + items[0].getElementsByTagName("genres")[0].firstChild.nodeValue+'<br/>';
                        }
                        if (items[0].getElementsByTagName("duree")[0].firstChild != null) {
                            html += 'Durée : ' + items[0].getElementsByTagName("duree")[0].firstChild.nodeValue+'<br/>';
                        }
                        html += '</div>';
                        html += '</div>';

                        html += '<div class="clr"></div>';

			  //fin detail film
			html += '<div class="dspf" style="display:none">';
                        if (items[0].getElementsByTagName("add")[0].firstChild != null) {
                            html += items[0].getElementsByTagName("add")[0].firstChild.nodeValue;
                        }
			html += '<br/>';
			html += items[0].getElementsByTagName("cp")[0].firstChild.nodeValue;
			html += ' '+items[0].getElementsByTagName("lnom")[0].firstChild.nodeValue;
			html += '</div>';
		}

		var lvilleprec = '';
		var idxville = 0;
		for(i = 0; i < items.length; i++) { /* POUR CHAQUE item */
			//On affiche que le jour demandé
			var lville = items[i].getElementsByTagName("ville")[0].firstChild.nodeValue;
			var nom_long = items[i].getElementsByTagName("lnom")[0].firstChild.nodeValue;
			// affichage des lignes de sépration pour les villes autres que paris et lyon
                        //if ((lville != lvilleprec) && !((lville == 'paris') || (lville == 'lyon')) ) {
			if (lville != lvilleprec) {
				lvilleprec = lville;
				idxville++;
				  html += '<div name="element" rel='+idxville+' class="separation_ville" >'+nom_long+'</div>';
				  html += '<br/>';
			}
			
    		html += '<div class="element">';
    		var salle = items[i].firstChild.nodeValue;
			var id_salle = items[i].getAttribute("id");
   			var titres = items[i].getElementsByTagName("titre")
                        var snom = items[i].getElementsByTagName("snom")[0].firstChild.nodeValue;
			html += '<div class="titre">';
                                html += '<a href="salle/'+ville+'/'+id_salle+'-'+snom+'.html" title="'+salle+'" alt="'+salle+'">';
                                html += salle;
                                html += '</a>';
                                //Avant première
                                if (items[0].getElementsByTagName("ap")[0].firstChild.nodeValue == "1") {
                                    html += '<span class="ap">AP</span>';
                                }
                                html += '</div>';

	    			html += items[i].getElementsByTagName("add")[0].firstChild.nodeValue+' - ';
	    			html += items[i].getElementsByTagName("lnom")[0].firstChild.nodeValue+' - ';
	    			html += items[i].getElementsByTagName("cp")[0].firstChild.nodeValue+' - ';
	    			var lmapgoogle = items[i].getElementsByTagName("lmapgoogle")[0].firstChild.nodeValue;
                                html += '<a class="pg"  title="Plan du cinéma : '+salle+'" href="'+lmapgoogle+'&amp;output=embed">Plan google</a>';
					//on affiche tous les vovf
					//for (k = 0; k < titres[0].getElementsByTagName("jour")[0].getElementsByTagName("heure").length ; k++) {
					for (k = 0; k < titres.length ; k++) {
			 			html += '<div class="sfh"><span class="vovf">';
						html += titres[k].getElementsByTagName("jour")[0].getElementsByTagName("heure")[0].getAttribute("vovf");
  						html += '</span>: '
						html += titres[k].getElementsByTagName("jour")[0].getElementsByTagName("heure")[0].firstChild.nodeValue;
						html += '</div>'
  	 				//	//TODO debug display:none
	   	 				html += '<div class="jour" style="display:none">jour : ';
		 				html += ' </div>';
	 				}
                        html += '</div>';

		}
		document.getElementById('content').innerHTML = html;
		document.getElementById('msginfo').style.display = "none";
                initColorbox();
    }
}

function getQuartier(){
  var m='';
        if (document.districtform != null) {
        var allLinks = document.districtform.getElementsByTagName("a");
        for (var i=0; i < allLinks.length; i++) {
            if (allLinks[i].className == "courant") {
			 m = allLinks[i].getAttribute("rel");
			}
        }
        }
  return m;
}

function deselectZipCode (){
  //on desactive les zipcode
  var inputs = document.zipform.getElementsByTagName("input");
	for(i=0 ; i<inputs.length ; i++){
  		if(inputs[i].type=="checkbox" && inputs[i].checked==true){
	  		inputs[i].checked = false;
		}
  }
  deletecookie('zipcode');
}

function selectZipCode (){
  //on active les zipcode (utile pour lyon)
  var inputs = document.zipform.getElementsByTagName("input");
	for(i=0 ; i<inputs.length ; i++){
  		if(inputs[i].type=="checkbox" && inputs[i].checked==false){
	  		inputs[i].checked = true;
		}
  }
}

function deselectQuartier(){
	  //on desactive le quartier selectionnÃ©
	  var allLinks = document.districtform.getElementsByTagName("a");
	  	for (var i=0; i < allLinks.length; i++) {
	          allLinks[i].className = "";
		  }
    deletecookie('quartier');
}

function getCheckedZipCode() {
  var m ='';
  try { //TODO on on utilise try catch mais le mieux serait de tester l'existance de cette form
  var inputs = document.zipform.getElementsByTagName("input");
	for(i=0 ; i<inputs.length ; i++){
  		if(inputs[i].type=="checkbox" && inputs[i].checked==true){
	  		m += inputs[i].value+',';
		}
  }
  } catch (error) {
    m = '';
  }
  // on supprime la derniÃ¨re virgule
  // todo vÃ©rifer que c'est une virgule
  if (m.length > 1) {m = m.substring(0,m.length-1);}
  return m;
}

function getVilleSelectionnee() {
  return $("div#town a.courant").attr('rel')
  //return $("div#townSelected  a:first-child").attr('rel');
}

function getJourSelectione(){
//todo par default le jour en cours plus que lundi
  var m ='lundi';
  var inputs = document.getElementsByName("jour");
	for(i=0 ; i<inputs.length ; i++){
  		if(inputs[i].className == "courant"){
  		  m = (inputs[i].getAttribute("title"));
		}
 }
  return m;
}

String.prototype.trim = function()
{
return this.replace(/(?:^\s+|\s+$)/g, "");
}

function setcookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function effaceuncinecookies(){
	deletecookie('ville');
	deletecookie('zipcode');
	deletecookie('quartier');
}

function deletecookie(name, path, domain ){
        path = '/';
	if ( getcookie( name ) ) document.cookie = name + "=" +
		( ( path ) ? ";path=" + path : "") +
		( ( domain ) ? ";domain=" + domain : "" ) +
		";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

/*
* Ref :http://techpatterns.com/downloads/javascript_cookies.php
*
*/
function getcookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
		( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

//todo ces deux fonctions peuvent ï¿½tre regroupï¿½ en une
function montre_quartier()
{
  _tabselected = "quartier";
  document.getElementById('msgnav').innerHTML = '';
  montre_pub("pub1", false);
  montre_pub("pub2", false);
  document.getElementById("quartier").className="montre2";
  document.getElementById("codepostal").className="cache2";
  document.getElementById("recherchetitre").className="cache2";
  //on mets a jour le courant
  document.getElementsByName("zone")[0].className="courant";
  document.getElementsByName("zone")[1].className="";
  document.getElementsByName("zone")[2].className="";
  //on desactive les zipcode
  deselectZipCode();
  var ville = getVilleSelectionnee();
  if (ville == 'paris') {
    deselectQuartier();
  }
  //on vide la liste de recherche
  document.getElementById('content').innerHTML = "";
  //on affiche un message d'aide
  document.getElementById('msginfo').style.display = "block";
  montre_pub("pub1", false);
  document.getElementById('msginfo').innerHTML = _selectionquartier;
}

function montre_codepostale(){
  _tabselected = "codepostale";
  document.getElementById('msgnav').innerHTML = '';
  montre_pub("pub1", false);
  montre_pub("pub2", false);
  var ville = getVilleSelectionnee();
  if (ville == 'paris') {
	  document.getElementById("quartier").className="cache2";
	  document.getElementById("codepostal").className="montre2";
	  document.getElementById("recherchetitre").className="cache2";
	  //on mets a jour le courant
	  document.getElementsByName("zone")[0].className="";
	  document.getElementsByName("zone")[1].className="courant";
	  document.getElementsByName("zone")[2].className="";
	  //on desactive le quartier selectionnÃ©
	  deselectQuartier();
          deselectZipCode();
  }
  if (ville == 'lyon') {
	  document.getElementById("codepostal").className="montre2";
	  document.getElementById("recherchetitre").className="cache2";
	  //on mets a jour le courant
	  document.getElementsByName("zone")[0].className="courant";
	  document.getElementsByName("zone")[1].className="";
          deselectZipCode();

  }
  //on vide la liste de recherche
  document.getElementById('content').innerHTML = "";
  //on affiche un message d'aide
  document.getElementById('msginfo').style.display = "block";
  document.getElementById('msginfo').innerHTML = _selectionarrondissement;
}

function effacecachefilm(){
  idfilm = null;
  document.getElementById('champ-texte').value='';
}

function montre_titre(){
  _tabselected = "titre";
  document.getElementById('msgnav').innerHTML = '';
  effacecachefilm();
  var ville = getVilleSelectionnee();
  if (ville == 'paris') {
        montre_pub("pub1", false);
        document.getElementById("quartier").className="cache2";
	  document.getElementById("codepostal").className="cache2";
	  document.getElementById("recherchetitre").className="montre2";
	  //on mets a jour le courant
  	document.getElementsByName("zone")[0].className="";
  	document.getElementsByName("zone")[1].className="";
  	document.getElementsByName("zone")[2].className="courant";
  	deselectQuartier();
  	deselectZipCode();
  }
  if (ville == 'lyon') {
        montre_pub("pub1", false);
        document.getElementById("codepostal").className="cache2";
	  document.getElementById("recherchetitre").className="montre2";
	  //on mets a jour le courant
  	document.getElementsByName("zone")[0].className="";
    document.getElementsByName("zone")[1].className="courant";
    deselectZipCode();
  }
  if ((ville != 'lyon') && (ville != 'paris')) {
	  document.getElementById("recherchetitre").className="montre2";
	  //on mets a jour le courant
      document.getElementsByName("zone")[0].className="courant";
  }
  //on vide la liste de recherche
  document.getElementById('content').innerHTML = "";
    //on affiche un message d'aide
  document.getElementById('msginfo').style.display = "block";
  document.getElementById('msginfo').innerHTML = _selectiontitre;

  donner_focus('champ-texte');

}

//cette fonction est utilisé dans les pages film et salle
//l'affichage du titre ne marche pas
function montre_titre2(titre){
    _tabselected = "titre";
    effacecachefilm();
    var ville = getVilleSelectionnee();
    if (ville == 'paris') {
        montre_pub("pub1", false);
        document.getElementById("quartier").className="cache2";
        document.getElementById("codepostal").className="cache2";
        document.getElementById("recherchetitre").className="montre2";
        //on mets a jour le courant
        document.getElementsByName("zone")[0].className="";
        document.getElementsByName("zone")[1].className="";
        document.getElementsByName("zone")[2].className="courant";
        deselectQuartier();
        deselectZipCode();
    }
    if (ville == 'lyon') {
        montre_pub("pub1", false);
        document.getElementById("codepostal").className="cache2";
        document.getElementById("recherchetitre").className="montre2";
        //on mets a jour le courant
        document.getElementsByName("zone")[0].className="";
        document.getElementsByName("zone")[1].className="courant";
        deselectZipCode();
    }
    if ((ville != 'lyon') && (ville != 'paris')) {
        document.getElementById("recherchetitre").className="montre2";
        //on mets a jour le courant
        document.getElementsByName("zone")[0].className="courant";
    }
    //on vide la liste de recherche
    //on affiche un message d'aide
    document.getElementById('msginfo').style.display = "none";
    document.getElementById('msginfo').innerHTML = "";

    if (titre != null && titre.length > 0) {
       document.getElementById('champ-texte').innerHTML = "titre";
    }
    donner_focus('champ-texte');

}

function montre_pub(nom,affiche) {
    var elt = document.getElementById(nom.toString());
    if (elt != null) {
        if (affiche ) {
            elt.style.display = "block";
        } else {
            elt.style.display = "none";
        }
    }
}
function hideMsgInfo(){
    if (ville != 'paris' && ville != 'lyon' ) {
	document.getElementById('msginfo').style.display = "none";
    } else {
        showMsgInfo();
    }
//	document.getElementById('msgnav').innerHTML = '';
}

function hideMsgNav(){
    document.getElementById('msgnav').innerHTML = '';
}

function miseajourinterface(jour){
  //mise a jour du jour selectionnÃ©.
  var joursem = new Array ("mercredi","jeudi", "vendredi","samedi","dimanche","lundi","mardi");
  var inputs = document.getElementsByName("jour");
	for(i=0 ; i<inputs.length ; i++){
		if (joursem[i] == jour) {
	  		inputs[i].className= "courant";
		} else {
	  		inputs[i].className= "";
		}
  }
}

function showMsgInfo(){
  //mise à jour du message d'information on fonction de l'onglet
    getTabSelected();
    if (_tabselected == "titre") {
        document.getElementById('msginfo').innerHTML = _selectiontitre;
        if (document.getElementById('champ-texte').value.length == 0){
            document.getElementById('msginfo').style.display = "block";
            montre_pub("pub1", false);
        } else {
            document.getElementById('msginfo').style.display = "none";
            montre_pub("pub1", true);
        }
    }
    if (_tabselected == "codepostale") {
  	document.getElementById('msginfo').innerHTML = _selectionarrondissement;
  	if (getCheckedZipCode().length == 0){
           document.getElementById('msginfo').style.display = "block";
           montre_pub("pub1", false);

        } else {
           document.getElementById('msginfo').style.display = "none";
            montre_pub("pub1", true);
        }
    }
    if (_tabselected == "quartier") {
	document.getElementById('msginfo').innerHTML = _selectionquartier;
  	if (getQuartier().length == 0){
           document.getElementById('msginfo').style.display = "block";
          montre_pub("pub1", false);

        } else {
           document.getElementById('msginfo').style.display = "none";
            montre_pub("pub1", true);
        }
    }
}

function AjoutSelectionA(link) {
        var allLinks = document.districtform.getElementsByTagName("a");
        for (var i=0; i < allLinks.length; i++) {
            allLinks[i].className = "";
        }
        link.className = "courant";
}

function getTabSelected(){
 var allzones = document.getElementsByName("zone");
 for (var i=0; i < allzones.length; i++){
	if (allzones[i].className == "courant") {
	  _tabselected = allzones[i].getAttribute("rel");
	}
 }
}

function trouveCtx (){
  //on initialise les variables
  ville = null;
  zipcode = null;
  quartier = null;
  //trouver la ville
  ville = getVilleSelectionnee();
  //si on est sur parie ou lyon regarder si on est sur quartier
  if (ville == 'paris') {
    // si on est sur quartier on recherce celui selectionÃ©
    if (document.getElementsByName("zone")[0].className == "courant") {
      var allLinks = document.districtform.getElementsByTagName("a");
       for (var i=0; i < allLinks.length; i++) {
          if (allLinks[i].className == "courant") {
            quartier = allLinks[i].getAttribute("rel");
          };
        }
    } else {//on est sur du zipcode
        zipcode = getCheckedZipCode();
    }
  }
  if (ville == 'lyon') {
    zipcode = getCheckedZipCode();
  }

  if ((ville != 'paris') && (ville != 'lyon')) {
  }
}

function dsp(loc){
			if(document.getElementById) {
		    	var foc=loc.firstChild;
				foc = loc.firstChild.innerHTML ? loc.firstChild : loc.firstChild.nextSibling;
		     	//foc.innerHTML = (foc.innerHTML.indexOf("nav-arrow.png") != -1) ? '<img src="img/nav-arrow-down.png">' : '<img src="img/nav-arrow.png">';
		     	foc=loc.parentNode.nextSibling.style ? loc.parentNode.nextSibling : loc.parentNode.nextSibling.nextSibling;
		      	foc.style.display = foc.style.display == 'block' ? 'none' :'block';
			}
}

function donner_focus(chp)
{
    document.getElementById(chp).focus();
}


//  Gestion des bookmarks
function CreateBookmarkLink() {
	title = _favorisTitre
	url = _favorisURL;
   if (window.sidebar) {
	   // Mozilla Firefox Bookmark
   		window.sidebar.addPanel(title, url,"");
   	} else if( window.external ) { // IE Favorite
   			window.external.AddFavorite( url, title);
   			}	else if(window.opera && window.print) {
   				// Opera Hotlist
   				return true;
   					}
}
// fin de gestion des bookmark

// Gestion des cinémas de proximités
function getProximite(){
 var items = document.getElementsByName("proximite");
 for (var i=0; i < items.length; i++){
	if(items[i].type=="radio" && items[i].checked==true){
 		return items[i].value;
	}
 }
}

//active les radio de la gestion de la proximite
function activeProximite(value){
 var items = document.getElementsByName("proximite");
 for (var i=0; i < items.length; i++){
	if(items[i].type=="radio" ){
 		items[i].disabled = !value;
	}
 }
}


function filtreproximite(idx) {
  switch (idx)
  {
    //ville seule
    case 1:montreville();
            break;
	//environs uniquement
    case 2:montreenvirons();
            break;
    //ville + environ		
    case 3:montretout();
            break;
  }
}

//doit ton passer par le name ?
function montreville() {
 showprincelt(false) 
 var allcinemas = document.getElementsByName("element");
 for (var i=0; i < allcinemas.length; i++){
	if (allcinemas[i].getAttribute("rel") != "1") {
	  allcinemas[i].style.display = "none";
	} else {
	  allcinemas[i].style.display = "block";
	}
 }
  document.getElementById('pub1').style.marginTop = "50px";
}//fin montreville

function montreenvirons() {
 showprincelt(false) 
 var allcinemas = document.getElementsByName("element");
 for (var i=0; i < allcinemas.length; i++){
	if (allcinemas[i].getAttribute("rel") == "1") {
	  allcinemas[i].style.display = "none";
	} else {
	  allcinemas[i].style.display = "block";
	}
 }
 document.getElementById('pub1').style.marginTop = "60px";
}//fin montreenvirons

function montretout() {
 showprincelt(true) 
 var allcinemas = document.getElementsByName("element");
  for (var i=0; i < allcinemas.length; i++){
	allcinemas[i].style.display = "block";
  }
  document.getElementById('pub1').style.marginTop = "60px";
}//fin montretout

function showprincelt(valeur) {
 var allcinemas = document.getElementsByName("princelt");
 for (var i=0; i < allcinemas.length; i++){
   if (valeur) {
	allcinemas[i].style.display = "block";
   } else {
	allcinemas[i].style.display = "none";
   }
 }
}
// fin de gestion des cinéma de proximités

/*Fonction a appeler
 *  - au chargement de la page
 *  - modification de l'arbre dom
 **/
function initColorbox(){
    $(".puff").colorbox({
        transition:"none",
        width:"500",
        initialWidth:"500",
        height:"700",
        initialHeight:"700",
        opacity:0.70,
        iframe:true
    });
    $(".pg").colorbox({
        transition:"none",
        width:"800",
        initialWidth:"800",
        height:"700",
        initialHeight:"700",
        opacity:0.70,
        iframe:true
    });
}
