	var filesadded="";//list of files already added
	 
	  function checkloadjscssfile(filename, filetype)
	  {
		   if (filesadded.indexOf("["+filename+"]")==-1)
		   {
		    loadjscssfile(filename, filetype);
		    filesadded+="["+filename+"]"; //List of files added in the form "[filename1],[filename2],etc"
		   }
	  }
	  	  
	  function loadjscssfile(filename, filetype)
	  {
	    if (filetype=="js")
	    { //if filename is a external JavaScript file
	      var fileref=document.createElement('script');
	      fileref.setAttribute("type","text/javascript");
	      fileref.setAttribute("src", filename);
	    }
	    else if (filetype=="css")
	    { //if filename is an external CSS file
	      var fileref=document.createElement("link");
	      fileref.setAttribute("rel", "stylesheet");
	      fileref.setAttribute("type", "text/css");
	      fileref.setAttribute("href", filename);
	    }
	    if (typeof fileref!="undefined")
	    	document.getElementsByTagName("head")[0].appendChild(fileref);
	  }
	  	  
	function reservation(pElement) 
	{
	    if (document.getElementById("bloc_" + pElement).style.display == "none") {
	        document.getElementById("bloc_" + pElement).style.display = "block";
	        document.getElementById(pElement).className = "selected";
	    } else {
	        document.getElementById("bloc_" + pElement).style.display = "none";
	        document.getElementById(pElement).className = "";
	    }
	}
	
	function boutique(pPage,pRef) 
	{   
	   lienDeco();
	   var uriCourant = document.location.pathname;
	   if(uriCourant.indexOf('rubrique') == -1)
	   {
         $('colonne2').update();
	   }
	   var url = root_url+'/billetterie/auth/'+pPage;
	   if(pRef!=undefined)
		   url = url+'/'+pRef;   
	  /* new Ajax.Updater('colonne3',url, {
		   evalScripts: true, 
		   method: 'get'
	   });	*/
	   load(url);
	}
	
	function log_operator(request)
	{
		if(request.responseText!='Ok')
			$('errorAjax').update(request.responseText);
		else
			window.location.href = root_url+'/frontend/open_lgbox/choice'; 
	}
	
		
	function doLogin(request)
	{
		
		if(request.responseText=='redirect1')
			load(root_url+'/billetterie/info/ANO0009');
		else if(request.responseText=='redirect2')
			load(root_url+'/billetterie/info/ANO0010');
		else if(request.responseText=='redirect3')
			load(root_url+'/billetterie/info/ANO0011');
		else if(request.responseText!='Ok')
			$('errorAjax').update(request.responseText);
		else
		{
			var url = root_url+'/billetterie/'+$F('redir_page');
			if($F('ref_spc')!=null)
				url = url+'/'+$F('ref_spc');
			/*new Ajax.Updater('colonne3',url, {
				evalScripts: true, 
				method: 'get'
			});*/load(url);
		}
	}
	
	function go2payment(request)
	{
		if(request.responseText=='cb')
			load(root_url+'/billetterie/paiement');
		else if(request.responseText=='ch')
			load(root_url+'/billetterie/paiement/cheque');
		else
			$('errorAjax').update(request.responseText);
	}
	
	function go2cart(request)
	{
		if(request.responseText!='Ok')
		{
			var errors_el = document.getElementsByClassName('error');
			for(i=0;i<errors_el.length;i++)
			{
				errors_el[i].update();
				errors_el[i].setStyle({ color: 'red' });
			}

			var errors = JSON.parse(request.responseText);
			var nblig = $F('nblig');
			for(i = 0;i<nblig;i++)
			{
				var j = 0;
				while($('msg_lig_'+i+'_'+j)!=undefined)
				{
					var name = i+'_'+j;
					if(errors[name] != undefined)
						$('msg_lig_'+i+'_'+j).update(errors[name]);
					j++;
				}
			}
			if(errors.lb_message!=undefined)
			{
				if(errors.lb_message == "redirect")
					load(root_url+'/billetterie/info/ANO0002');
				else
					$('trouble').update(errors.lb_message);
			}
		}
		else
		{
			load(root_url+'/billetterie/panier');
		}
	}
	
	function decoOpe()
	{
		SetCookie('oper_logged','',0,'/');
		window.location.href = root_url;
	}
	
	function lienDeco() 
	{
	    document.getElementById('deco').style.display = "block";
	}
	
	function geolocalisation(pIdTitre, pIdCorps, pIdLieu) 
	{
	           
	    var boutiqueStr = '<iframe name="iframeMap" src="'+root_url+'/frontend/map_frame/'+ pIdLieu +'/'+ pIdTitre +'/'+ pIdCorps +'" width="641" height="430" frameborder="0">';
	   
	    boutiqueStr += '<p>';
	    boutiqueStr += 'Votre navigateur ne peut malheureusement pas afficher de cadre incorporé :';
	    boutiqueStr += 'Vous pouvez appeler la page incorporée par ce lien : <a href="'+root_url+'/frontend/map_frame/">Géolocalisation</a>';
	    boutiqueStr += '</p>';
	    boutiqueStr += '</iframe>';
	     
	                                                                                                                                                              
	    document.getElementById('googleMap').innerHTML = "<div id='fermer'><a id='fermerGoogleMap' href='javascript:document.getElementById(\"googleMap\").innerHTML=\"\";void(0);'>Chargement...</a></div>";
	    document.getElementById('googleMap').innerHTML += boutiqueStr;   
	   
	}


    function getCookieVal (offset) 
    {
      var endstr = document.cookie.indexOf (";", offset);
      if (endstr == -1)
        endstr = document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr));
    }

    function GetCookie (name) 
    {
      var arg = name + "=";
      var alen = arg.length;
      var clen = document.cookie.length;
      var i = 0;
      while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
          return getCookieVal (j);
    	i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break; 
      }
        return null;
    }

    function SetCookie (name,value,expires,path,domain,secure) 
    {
      document.cookie = name + "=" + escape (value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
    }

    function DeleteCookie (name,path,domain) 
    {
      if (GetCookie(name)) {
        document.cookie = name + "=" +
          ((path) ? "; path=" + path : "") +
          ((domain) ? "; domain=" + domain : "") +
          "; expires=Thu, 01-Jan-70 00:00:01 GMT";
      }
    }  
    
    function recalcul(places,participation,mnt_lr)
	{	
		var rec = 0;
		var total = 0;
		if($("recommande"))
		{
			if ($("recommande").checked == true)
			{
				$("mnt_rec").style.display="";
				rec = mnt_lr;
			}
			else
			{
				$("mnt_rec").style.display="none";
				rec =0;
			}
		}	
		total = places + participation + rec;
		$("mnt_total").update("<strong>" + total.toFixed(2) + " &euro;</strong>");
	}
    
	function valider_panier(mandatory_mail,bilexp)
	{
			var email = $("input_email").value;
			var emailconf = $("input_email_confirmation").value;
			var lr = 0;
						
			if($('recommande') && $('recommande').checked)
				lr = 1;
			if(mandatory_mail)
			{
		        if((email.indexOf("@",0)==-1) || (email.indexOf(".",0)==-1))
					$("msg_mail").update("<b>Adresse mail incorrecte</b>");
				else
				{
					if(email == emailconf)
						load(root_url+'/billetterie/conditions/'+lr+'/'+ bilexp +'/'+email);
					else
						$("msg_mail").update("Les deux adresses sont différentes. Veuillez confirmer votre adresse");
				}
			}
			else
			{
				if(email != "" | emailconf != "")
				{
					if((email.indexOf("@",0)==-1) || (email.indexOf(".",0)==-1))
						$("msg_mail").update("<b>Adresse mail incorrecte</b>");
					else
					{
						if(email == emailconf)
							load(root_url+'/billetterie/conditions/'+lr+'/'+ bilexp +'/'+email);
						else
							$("msg_mail").update("Les deux adresses sont différentes. Veuillez confirmer votre adresse");
					}
				}
				else
					load(root_url+'/billetterie/conditions/'+lr+'/'+ bilexp);
			}
	}
	
	function valider_conditions(payment_choice)
	{
  		if ($('cb_conditions').checked)
  		{
  			if(payment_choice == false)
				load(root_url+'/billetterie/paiement');
			else
			{
			  load(root_url+'/billetterie/setPaiementMode');
			}
  		}
  		else
  		{
  			$('message').update('<strong>Vous devez accepter les conditions générales de vente pour valider votre commande</strong>');
  		}
	}
	
	function confirmer()
	{
		if (confirm("Le contenu de votre panier sera effacé")) 
		{ 
			/*new Ajax.Updater('colonne3',root_url+'/billetterie/compte/clear_panier', { 
				method: 'get'
			});*/ load(root_url+'/billetterie/compte/clear_panier');
		}
	}
	
	function load(page)
	{
		 new Ajax.Updater('colonne3', page, { method: 'get', evalScripts: true,onSuccess: function ()
			 								  {
			 									var pageTracker = _gat._getTracker("UA-1831048-23");
			 									pageTracker._trackPageview(page);
			 								  } }); 
		 /*var tab = page.split("/");var hash = "";
		 for(var i = 0;i<tab.length;i++)
		 {
			 if(i>5)
				hash=hash+"/"+tab[i]; 
		 }
		 console.log(tab);*/
		// dhtmlHistory.add(page); return false;
	}
	
	function goToLogin(chnl)
	{
		window.location = root_url+'/frontend/index/3/'+chnl;
	}
	
	function disconnect(referer)
	{
		if(confirm("Attention, la déconnexion entraîne la suppression du panier courant."))
		{
			if(referer.indexOf('/frontend/index',0) != -1)
				referer="/frontend/index";
			window.location = root_url + referer + "/deconnexion";
		}
	}
