/*******************************************************
 * NouvellesAntilles.com                               *
 * Authors: F.Delaneau, JM.Kawamura, P.Jimenez         *
 * Last Uptade: 2008/04/01                             *
 *******************************************************/

// pop-up
$(document).ready( function() {
	$("a.popup").bind("click", function() {
		window.open(this.href);
		return false;
	});
});

// toggles
$(document).ready( function() {
	var div_toggle = new Array();
	$("div.toggle").each( function(i) {
		div_toggle.push($(this));
		var classe_toggle = "toggle-on";
		if ($("div.toggle")[i].className.search(/on/) != -1 || $("div.toggle")[i].className.search(/off/) != -1) {
			//La position du toggle est precisee
			if($("div.toggle")[i].className.search(/off/) != -1) {
				classe_toggle = "toggle-off";
				$("div:first", div_toggle[i]).css("display", "none");
			}
		} else {
			// default behavior
			if(i > 0 || $("div.toggle").length == 1) {
				classe_toggle = "toggle-off";
				$("div:first", div_toggle[i]).css("display", "none");
			}
		}
		$("*:first", $(this)).addClass("toggle").addClass(classe_toggle).click( function() {
			$("div:first", div_toggle[i]).slideToggle(100, function() {
				switch($("div:first", div_toggle[i]).css("display")) {
					case "none":
						$("*:first", div_toggle[i]).removeClass("toggle-on").removeClass("toggle-off").addClass("toggle-off");
						break;
					case "block":
						$("*:first", div_toggle[i]).removeClass("toggle-on").removeClass("toggle-off").addClass("toggle-on");
						break;
				}
			});
		});
	});
});

// toggles specifique TMS by JMK 2008/05/13
$(document).ready( function() {
	var div_toggleTMS = new Array();
	$("div.toggleTMS").each( function(i) {
		div_toggleTMS.push($(this));
		var classe_toggleTMS = "toggleTMS-on";
		if ($("div.toggleTMS")[i].className.search(/on/) != -1 || $("div.toggleTMS")[i].className.search(/off/) != -1) {
			//La position du toggleTMS est precisee
			if($("div.toggleTMS")[i].className.search(/off/) != -1) {
				classe_toggleTMS = "toggleTMS-off";
				$("div.toggleTMSContent", div_toggleTMS[i]).css("display", "none");
			}
		} else {
			// default behavior
			if(i > 0 || $("div.toggleTMS").length == 1) {
				classe_toggleTMS = "toggleTMS-off";
				$("div.toggleTMSContent", div_toggleTMS[i]).css("display", "none");
			}
		}
		$("*:first", $(this)).addClass("toggleTMS").addClass(classe_toggleTMS).click( function() {
			$("div.toggleTMSContent", div_toggleTMS[i]).slideToggle(100, function() {
				switch($("div.toggleTMSContent", div_toggleTMS[i]).css("display")) {
					case "none":
						$("*:first", div_toggleTMS[i]).removeClass("toggleTMS-on").removeClass("toggleTMS-off").addClass("toggleTMS-off");
						break;
					case "block":
						$("*:first", div_toggleTMS[i]).removeClass("toggleTMS-on").removeClass("toggleTMS-off").addClass("toggleTMS-on");
						break;
				}
			});
		});
	});
});


// slideshow
$(document).ready(function() {

	// translation of the thickbox CLOSE button
	if ($("#wrap.fr").length > 0){
		TB_language.closeText = "Fermer";
	}
	
	if ($("#wrap.it").length > 0){
		TB_language.closeText = "Vicino";
	}
	
	if ($("#wrap.es").length > 0){
		TB_language.closeText = "Cerrar";
	}
});

$(document).ready(function() {

	$("div.view").each(function(i) {

		// define a unique id for each slideshow
		var linkId = "id" + i;

		// translation of the title message on the medium size picture
		var imageZoom ="Click to enlarge the picture";

		// translation of the other thickbox buttons
		if ($("#wrap.fr").length > 0){
			TB_language.nextText = "Suivante &gt;";
			TB_language.prevText = "&lt; pr&eacute;c&eacute;dente";
			TB_language.navImageText = "Image";
			TB_language.navOfText = "sur";
			imageZoom ="Cliquez sur la photo pour la voir en grand";
		}
		
		if ($("#wrap.it").length > 0){
			TB_language.nextText = "Accanto &gt;";
			TB_language.prevText = "&lt; Precedente";
			TB_language.navImageText = "Immagine";
			TB_language.navOfText = "di";
			imageZoom ="Cliccare per ampliare la foto";
		}
		
		if ($("#wrap.es").length > 0){
			TB_language.nextText = "Siguiente &gt;";
			TB_language.prevText = "&lt; Anterior";
			TB_language.navImageText = "Imagen";
			TB_language.navOfText = "de";
			imageZoom ="Click para agrandar la imagen";
		}

		// force medium photo dimensions
		$("img.big", this).width(338);
		$("img.big", this).height(230);

		// add a link with thickbox behavior to the medium image
        $("img.big:first", this).wrap("<a id=\"" + linkId + "\" class=\"link_to_big_picture \" Title=\"" + imageZoom + "\" href=\"" + $('img.big', this).attr("src").replace(/medium/, "large") + "\" ></a>"); // @CHANGED thickbox class removed.
		// @NEW add "loupe" icon
        $("a.link_to_big_picture").append("<img src=\"theme_front/theme_front_5/image/contenu/loupe.png\" class=\"loupe\" alt=\"Zoom\" Title=\"" + imageZoom + "\"/>");
		// $("a.link_to_big_picture:first", this).unbind();

        // @NEW open the thickbox
        $('#'+linkId).click(function(event){
            // stop default behaviour
            event.preventDefault();
            
            // remove click border
            this.blur();
            
            // Search for all the images
            var thumbs = $('ul.thumb li a'); // $('div.view ul.thumb li a')
            
            // Search for the link of the images which is p
            for( var i = 0; i<thumbs.length; i++ ){
                if( thumbs[i].href.search( this.href ) != -1 ){ // if( this.getAttribute('href') == thumbs[i].getAttribute('href') ){
                    TB_show(thumbs[i].title, thumbs[i].href, thumbs[i].rel); // Opening the thickbox
                    break;
                }
            }
            
        });
               
		// modifiy thumbnails onclick behavior
		$('ul.thumb li a', this).each(function() {
			$(this).click(function(event) {

				// force to ignore the default href target
				event.preventDefault();

				// set the medium photo src
				$("#"+linkId+" img.big").attr("src", $(this).attr("href"));

				// set the big photo href
				$("#"+linkId).attr("href", $(this).attr("href"));
			});
		});
	});
});
$(document).ready(function() {
    var thumbs = $('ul.thumb li');
    
    var display = 8;
    
    var previous = $('div.nav a.previous');
    var next = $('div.nav a.next');

    var thumbs = $('ul.thumb li');
    
    // initial hides
    for( var i = 0; i < thumbs.length; i++ ){
        if( i > (display - 1) ){
            $(thumbs[i]).hide();
        }
    }
    
    if( thumbs.length > display ){
    previous.click(function(event){
        event.preventDefault();
        
            for( var first = 0; first < thumbs.length; first++ )
            if( $(thumbs[first]).css('display') != "none" )
                break;
        
        if( first > ( display -1 ) ){
                for( var i = first; i < ( first + display ); i++ )
                if( thumbs[i] )
                    $(thumbs[i]).hide();
                
                for( var i = first - 1; i >= ( first - display ); i-- )
                if( thumbs[i] )
                        $(thumbs[i]).fadeIn('slow');
                
            $('span#start').text(i+2);
            $('span#end').text( first );
                
                if($('span#start').text() == 1)
                    $('div.nav a.previous').hide();
                else
                    $('div.nav a.previous').show();
                
                if($('span#end').text() == thumbs.length)
                    $('div.nav a.next').hide();
                else
                    $('div.nav a.next').show();
        }
        
    });

    next.click(function(event){
        event.preventDefault();
        
            for( var first = 0; first < thumbs.length; first++ )
            if( $(thumbs[first]).css('display') != "none" )
                break;
        
            if((thumbs.length - first) > display ){
                for(var i = first; i < (first + display); i++)
                if( thumbs[i] )
                    $(thumbs[i]).hide();
                
                for(var n = i; n < (i + display); n++)
                    if(thumbs[n])
                        $(thumbs[n]).fadeIn('slow');
                else
                    break;
            
                $('span#start').text( i + 1);
                $('span#end').text(n);
                
                if($('span#start').text() == 1)
                    $('div.nav a.previous').hide();
                else
                    $('div.nav a.previous').show();
                
                if($('span#end').text() == thumbs.length)
                    $('div.nav a.next').hide();
                else
                    $('div.nav a.next').show();
        }
    });

    var toText = 'to';
    
    if ($("#wrap.fr").length > 0)
        toText = '&agrave;';
        
    if ($("#wrap.it").length > 0)
        toText = "a";
        
    if ($("#wrap.es").length > 0)
        toText = "a";
    
    previous.after( " <strong>&nbsp;<span id=\"start\">1</span> " + toText + " <span id=\"end\">" + display + "</span>&nbsp;</strong> ");
        previous.hide();
    next.before( " <strong>&nbsp;" + thumbs.length + " </strong> ");
    }else{
        $('div.nav').css('display', 'none');
    }
});

// tabs
$.tabs = function(containerId, start) {
	var onClass = 'over';
	var id = '#' + containerId;
	var i = (typeof start == "number") ? start - 1 : 0;				// define default selected tab
	$(id + '/div').css({display:"none"});							// hide all
	$(id + '>div:eq(' + i + ')').css({display:"block"});			// show current
	$(id + '>ul>li:nth-child(' + (i+1) + ')').addClass(onClass);	// set current tab class
	$(id + '>ul>li>a').click( function() {							// on tabs click
		if (!$(this.parentNode).is('.' + onClass)) {				// if not current tab
			var re = /([_\-\w]+$)/i;								// save RegEx to get new id
			var target = $('#' + re.exec(this.href)[1]);			// save target
			if (target.size() > 0) {								// if a target exists
				$(id + '>div:visible').css({display:"none"});		// hide visible div
				target.animate({opacity:"show"}, "slow");			// show selected div's with transition
				$(id + '>ul>li').removeClass(onClass);				// clean classes
				$(this.parentNode).addClass(onClass);
			} else {												// if no target exists
				alert('No container available !');					// display an alert if selected id has no div container
			}
		}
		return false;
	});
};

$(document).ready( function() {
	// init tabs behaviours
        if(typeof($.tabs) == 'function'){
	$.tabs('container');
	$.tabs('container2');
	$.tabs('infospassagers', 2);
	$.tabs('reglements', 2);
        }
});

// print
$(document).ready( function() {
	$(".print a").click( function(i) {
		window.print();
		return false;
	});
});


// FAQ toggle
$(document).ready( function() {
	$('dl.faq dd').toggle();				// first hide all definitions
	$('dl.faq dt.on').next().toggle();		// open flagged definitions
	$('dl.faq dt').click( function() {		// onClick on the definition title
		$(this).next().slideToggle('100');	// open definition with animation
	});
});


// form buttons
$(document).ready( function() {
	try {
		parseHTMLInputs();
	}
	catch (failure) {

	}
});

function parseHTMLInputs() {
		var button = /button|reset|submit/i;
		var inputs = document.getElementsByTagName('input');
		var l = inputs.length-1;
		//var l = $("input").length-1;

		for(var input, type, i=l ; i>=0 ; i--) {
			input = inputs.item(i);
			if(input && button.test(input.type)) {
				type = button.exec(input.type)[0];
				replaceHTMLInput(input, type);
			}
		}
	}

function replaceHTMLInput(input, type) {
	var form = input.form;
	var link = document.createElement('a');
	var span = document.createElement('span');
	span.appendChild(document.createTextNode(input.value));
	link.appendChild(span);
	link.setAttribute('href', '#');
	input.parentNode.replaceChild(link, input);

	switch(type) {
		case 'submit':
			link.onclick = function() { if(!form.onsubmit || form.onsubmit()) form.submit(); }
			break;
		case 'reset':
			link.onclick = function() { form.reset(); }
			break;
		case 'button':
			link.onclick = function() { if(!form.onsubmit || form.onsubmit()) form.submit(); }
			break;
	}
}


/* --------------------------------------------------------------------------------------
	IE 6 specific bypasses
----------------------------------------------------------------------------------------- */
// hover everything
$(document).ready( function() {
	if ($.browser.msie) {
		$(".hover").addClass("hover-off").hover(
			function()
			{
				$(this).removeClass("hover-off").addClass("hover-on");
			},
			function()
			{
				$(this).removeClass("hover-on").addClass("hover-off");
			}
		);
	}
});

// add emty strong element to the description title
$(document).ready(function() {
	if ($.browser.msie) {
		$('div.detail h3 a').append("<strong></strong>");
	}
});

// add non breakable space at the footers end to prevent a weired text ghost
$(document).ready(function() {
	if ($.browser.msie) {
		$('div#footer p.legal').append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
	};
});

$(document).ready(function() {
	if ($.browser.msie) {
		$('dl.faq dt:first').before("<dt>&nbsp;</dt>");
	};
});

/* --------------------------------------------------------------------------------------
	init Thickbox
	WARNING : MUST REMAIN THE LAST ELEMENT CALLED ONCE THE DOM MODIFICATIONS ARE DONE.
----------------------------------------------------------------------------------------- */
$(document).ready( TB_init );

/**
* Ajout SQLI
*/

function numericStrictlyPositive(obj) {
	var StrValidChars = "0123456789.,";
	var StrString;
	var StrChar;

	StrString = obj.value;

	if (StrString != '' && StrString != 0) {
		for (i = 0 ; i < StrString.length ; i++) {
		      StrChar = StrString.charAt(i);
		      if (StrValidChars.indexOf(StrChar) == -1){
		               return false;
		      }
		}
	}
	else {
		return false;
	}
	return true;
}

// Fonction AJAX
function createXMLHttpRequest() {
   try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
   try { return new XMLHttpRequest(); } catch(e) {}
   alert("XMLHttpRequest n'est pas supporté, mettez à jour votre navigateur, merci.");
   return null;
}

function setAndExecute(divId,innerHTML){
	var div = document.getElementById(divId);
        if(div != null) {
	div.innerHTML = innerHTML;
	var x = div.getElementsByTagName("script");
	for(var i=0;i<x.length;i++)   {
		eval(x[i].text);
	}
}
}

function miseAJourCalendrier(mois,annee,encart,sit_id) {
	var xhr_object = createXMLHttpRequest();

	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=agenda_evenement&action=get_calendrier&mois='+mois+'&annee='+annee+'&encart='+encart+'&sit_id='+sit_id, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
			setAndExecute('encartCalendrier',xhr_object.responseText);
		}
	}
	xhr_object.send(null);
}

function miseAJourCategories(compId, sit_id) {
	var xhr_object = createXMLHttpRequest();

	var themeId = document.getElementById("agenda_theme_id").value;

	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=agenda_evenement&action=get_categorie&theme_id='+themeId+'&comp_id='+compId+'&sit_id='+sit_id, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 ) {
			document.getElementById('combo_categorie').innerHTML = xhr_object.responseText;
		}
	}
	xhr_object.send(null);
}

function miseAJourEncartAgenda(compId,type) {
	var xhr_object = createXMLHttpRequest();

	var date_debut = '';
	var date_fin = '';
	var ile_destination = '';

	if ( document.getElementById("datedepart") ) {
		date_debut = document.getElementById("datedepart").value;
	}
	if ( document.getElementById("dateretour") ) {
		date_fin = document.getElementById("dateretour").value;
	}
	if ( document.getElementById("destination_id") ) {
		ile_destination = document.getElementById("destination_id").value;
	}

	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=agenda_evenement&action=get_encart_agenda_selection_compte&date_debut='+date_debut+'&date_fin='+date_fin+'&ile_destination='+ile_destination+'&comp_id='+compId+'&type='+type, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
			setAndExecute('encartTransverseCalendrier',xhr_object.responseText);
		}
	}
	xhr_object.send(null);
}

function miseAJourEncartPayer2FoisSansFrais() {
	
	if ( document.getElementById("encartPayer2FoisSansFrais") ) {
	
		var xhr_object = createXMLHttpRequest();
		
		var package_online = '';
	
		if ( document.getElementById("package_online") ) {
			package_online = document.getElementById("package_online").value;
		}
	
		// On ouvre la requete vers la page desirée
		xhr_object.open("GET", '/service/ajax/index.php?component=voyage_voyage&action=get_encart_payer_2_fois_sans_frais&package_online='+package_online, true);
		xhr_object.onreadystatechange = function(){
			if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
				setAndExecute('encartPayer2FoisSansFrais',xhr_object.responseText);
			}
		}
		xhr_object.send(null);
	}
}

function miseAJourEncartNaEnregistreBagages() {
	
	if ( document.getElementById("encartNaEnregistreBagages") ) {
	
		var xhr_object = createXMLHttpRequest();
		
		var activation_bagages_plus = '';
	
		if ( document.getElementById("activation_bagages_plus") ) {
			activation_bagages_plus = document.getElementById("activation_bagages_plus").value;
		}
	
		// On ouvre la requete vers la page desirée
		xhr_object.open("GET", '/service/ajax/index.php?component=portlet_info&action=get_encart_na_enregistre_bagages&activation_bagages_plus='+activation_bagages_plus, true);
		xhr_object.onreadystatechange = function(){
			if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
				setAndExecute('encartNaEnregistreBagages',xhr_object.responseText);
			}
		}
		xhr_object.send(null);
	}
}

function miseAJourFicheVoyage() {
	var xhr_object = createXMLHttpRequest();

	var id_devis = $("select#id_devis option:selected").val();
	
	if ( $("small#flagAPartirDe").val() != null ) {
		var flag_apartirde = 1;
	}
	else {
		var flag_apartirde = 0;
	}
	
	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=voyage_voyage&action=get_infos_package&id_devis='+id_devis+'&flag_apartirde='+flag_apartirde, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
			setAndExecute('encartInfosPackage',xhr_object.responseText);
		}
	}
	xhr_object.send(null);
}

// Mise en session des dates pour la Vente en Ligne de loisirs
function setDateEnSession(prestationId, dateLib) {
	var xhr_object = createXMLHttpRequest();
	
	var dateLoisir = $("#"+dateLib+"_"+prestationId).val();
	
	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=selection&action=set_date_session_loisir&prestation_id='+prestationId+'&date='+dateLoisir+'&date_lib='+dateLib, true);
	xhr_object.send(null);
}


// Gestion de la Vente en Ligne de loisirs
function calculPrixLoisir(prestationId,typePax) {
	var xhr_object = createXMLHttpRequest();
	
	var nbPax = $("#"+typePax+"_"+prestationId).val();
	
	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=selection&action=get_tarif_loisir&prestation_id='+prestationId+'&type_pax='+typePax+'&nb_pax='+nbPax, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
			// Récupération des tarifs unitaires et total
			InfosTarifsReponse = xhr_object.responseText;
			var reg=new RegExp("[|]+", "g");
			var infosTarifs = InfosTarifsReponse.split(reg);
			var prixParTypePax = Math.round( parseFloat(infosTarifs[0])*100 )/100;
			var prixTotalTypePax = Math.round( parseFloat(infosTarifs[1])*100 )/100;
						
			// MAJ du prix pour le type de pax passé en paramètre
			var prixTypePax= Math.round( parseFloat(prixTotalTypePax)*100 )/100;
			if ( isNaN(prixTypePax) ) prixTypePax=0;
			$("#prix_"+typePax+"_"+prestationId).val( prixTypePax );
			$("#lib_prix_"+typePax+"_"+prestationId).html( nbPax + 'x' + prixParTypePax + ' \u20AC = <strong>' + prixTypePax + ' \u20AC</strong>');
			
			// MAJ du prix total de la prestation
			var prix_adulte_prestation = $("#prix_adulte_"+prestationId).val();
			if ( prix_adulte_prestation=='' || prix_adulte_prestation==null ) prix_adulte_prestation=0;
			else prix_adulte_prestation = Math.round( parseFloat(prix_adulte_prestation)*100)/100;
			
			var prix_enfant_prestation = $("#prix_enfant_"+prestationId).val();
			if ( prix_enfant_prestation=='' || prix_enfant_prestation==null ) prix_enfant_prestation=0;
			else prix_enfant_prestation = Math.round( parseFloat(prix_enfant_prestation)*100)/100;
			
			var prix_bebe_prestation = $("#prix_bebe_"+prestationId).val();
			if ( prix_bebe_prestation=='' || prix_bebe_prestation==null ) prix_bebe_prestation=0;
			else prix_bebe_prestation = Math.round( parseFloat(prix_bebe_prestation)*100)/100;
			
			var prix_total_prestation = Math.round(	( prix_adulte_prestation + prix_enfant_prestation + prix_bebe_prestation )*100 )/100;
			
			$("#prix_total_"+prestationId).val( prix_total_prestation );
			$("#lib_prix_total_"+prestationId).html( prix_total_prestation + ' \u20AC TTC');
			
			// MAJ du prix total du panier
			var prixTotal=0;
			var listPrestationId = $("#list_prestation_id").val();
			var reg=new RegExp("[,]+", "g");
			var list = listPrestationId.split(reg);
			for (var i=0; i<list.length; i++) {
				prixTotal = prixTotal + Math.round(	parseFloat($("#prix_total_"+list[i]).val())*100 )/100;
			}
			
			$("#prix_total").val( prixTotal );
			$("#lib_prix_total").html( prixTotal + ' \u20AC TTC');
		}
	}
	xhr_object.send(null);
}

// Gestion des Assurances TMS
$(document).ready(function() {
	
	var temp = 0;
	
	$("input.tms").click(function () {
		
		  temp++;
		  var input_PaxTMS = new Array();
		  var getstr = "demande_id=" + $("input#demande_id").val() + "&";
		  getstr += "TMS_idTypeVoyage=" + $("input#TMS_idTypeVoyage").val() + "&";
		  if ( $("input#TMS_SouscriptionTardive").val() == 1) {
		  	getstr += "TMS_SouscriptionTardive=" + $("input#TMS_SouscriptionTardive").val() + "&";
		  }
		  
		  $("input.tms").each( function(i) {
			input_PaxTMS.push($(this));
			if ($("input.tms")[i].checked) {
				getstr += $("input.tms")[i].name + "=" + $("input.tms")[i].value + "&";
			} else {
				getstr += $("input.tms")[i].name + "=0&";
			}
		  });
		  
		  var xhr_object = createXMLHttpRequest();
		  
		  $("#multirisques").html( maj_en_cours_txt );
    	  $("input#TMS_MR").val( '' );
    	  $("input#TMS_MR_ID_DEVIS").val( '' );
		  $("#avant_sejour").html( maj_en_cours_txt );
    	  $("input#TMS_AV").val( '' );
    	  $("input#TMS_AV_ID_DEVIS").val( '' );
		  $("input#montant").val( maj_en_cours_txt );
		  $("span.prix_sejour").text( maj_en_cours_txt );
		  $('input#montant').attr("readonly","true");
		
                  if ( $("input:checkbox.tms[@checked]").length == 0 ) {
			$("div#msgErreurPax").show("slow");
			temp = 0;
		  
			  $("#multirisques").html( maj_impossible_txt );
	    	  $("input#TMS_MR").val( '' );
	    	  $("input#TMS_MR_ID_DEVIS").val( '' );
			  $("#avant_sejour").html( maj_impossible_txt );
	    	  $("input#TMS_AV").val( '' );
	    	  $("input#TMS_AV_ID_DEVIS").val( '' );
			  $("input#montant").val( maj_impossible_txt );
			  $("span.prix_sejour").text( maj_impossible_txt );
			  $('input#montant').attr("readonly","true");
		  }
		  else {
			$("div#msgErreurPax").slideUp();

			  // On ouvre la requete vers la page desirée
			  xhr_object.open("GET", '/service/ajax/index.php?component=compte&action=get_tarifs_assurance_tms&'+getstr, true);
			  xhr_object.onreadystatechange = function(){
			  if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
					  if ( temp == 1 ) {
				  var docXML = xhr_object.responseXML;
				  var multirisquesPass = false;
				  $(docXML).find("assurance").each(function() { 
				    var assurance = $(this);
				    if (multirisquesPass == false) {
						$("#multirisques").html( assurance.attr("prime") +' &euro;' );
				    	$("input#TMS_MR").val( assurance.attr("prime") );
				    	$("input#TMS_MR_ID_DEVIS").val( assurance.attr("idDevis") );
				    	multirisquesPass = true;
				    }
				    else {
						$("#avant_sejour").html( assurance.attr("prime") +' &euro;' );
				    	$("input#TMS_AV").val( assurance.attr("prime") );
				    	$("input#TMS_AV_ID_DEVIS").val( assurance.attr("idDevis") );
				    }
				  });
				  
				  if ( $("input[@type=radio][@name=TMS][@checked]").attr("id") == 'TMS_NO' ) {
                                        prixSejour = parseFloat( $("input#montant_acompte_ss_ass").val() ) - parseFloat( $("input#montant_acompte_total").val() );
					prixSejour = Math.round(prixSejour*100)/100;
                                        if ( prixSejour < 0 ) prixSejour = 0;
                                        prixSejourMin = '0';
				  }
				  else {
                                        prixSejour = parseFloat( $("input[@type=radio][@name=TMS][@checked]").val() ) + parseFloat( $("input#montant_acompte_ss_ass").val() ) - parseFloat( $("input#montant_acompte_total").val() );
					prixSejour = Math.round(prixSejour*100)/100;
				  	prixSejourMin = parseFloat( $("input[@type=radio][@name=TMS][@checked]").val() ) + parseFloat( $("input#montant_acompte_ss_ass_reference").val() - parseFloat( $("input#montant_acompte_total_reference").val() ) );
					prixSejourMin = Math.round(prixSejourMin*100)/100;
				  }
				  $("span.prix_sejour").text( prixSejourMin + ' \u20AC' );
				  $("input#montant").val( prixSejour );
	    		  $('input#montant').removeAttr("readonly"); 
					  	  if ( temp > 0 ) temp--;
					  }
					  else {
					  	if ( temp > 0 ) temp--;
					  }
			  }
		  }
		  xhr_object.send(null);
		  }
	});
	
        $("input:radio#TMS_MR").click(function () {

                prixSejour = parseFloat( $("input:radio#TMS_MR").val() ) + parseFloat( $("input#montant_acompte_ss_ass").val() ) - parseFloat( $("input#montant_acompte_total").val() );
		prixSejour = Math.round(prixSejour*100)/100;
                prixSejourMin = parseFloat( $("input:radio#TMS_MR").val() ) + parseFloat( $("input#montant_acompte_ss_ass_reference").val() ) - parseFloat( $("input#montant_acompte_total_reference").val() );
		prixSejourMin = Math.round(prixSejourMin*100)/100;
		if ( prixSejour < 0 ) prixSejour = 0;
		if ( isNaN(prixSejour) ) {
			prixSejour = recalcul_txt;
			$("span.prix_sejour").text( prixSejour );
		}
		else {
			$("span.prix_sejour").text( prixSejourMin + ' \u20AC' );
		}
		$("input#montant").val( prixSejour );
		$("input#TMS_Type_Assurance").val( $("input[@type=radio][@name=TMS][@checked]").attr("id") );
		$("label#cgvTms").show("slow");
		
	});
	
        $("input:radio#TMS_AV").click(function () {

                prixSejour = parseFloat( $("input:radio#TMS_AV").val() ) + parseFloat( $("input#montant_acompte_ss_ass").val() ) - parseFloat( $("input#montant_acompte_total").val() );
		prixSejour = Math.round(prixSejour*100)/100;
                prixSejourMin = parseFloat( $("input:radio#TMS_AV").val() ) + parseFloat( $("input#montant_acompte_ss_ass_reference").val() ) - parseFloat( $("input#montant_acompte_total_reference").val() );
		prixSejourMin = Math.round(prixSejourMin*100)/100;
		if ( prixSejour < 0 ) prixSejour = 0;
		if ( isNaN(prixSejour) ) {
			prixSejour = recalcul_txt;
			$("span.prix_sejour").text( prixSejour );
		}
		else {
			$("span.prix_sejour").text( prixSejourMin + ' \u20AC' );
		}
		$("input#montant").val( prixSejour );
		$("input#TMS_Type_Assurance").val( $("input[@type=radio][@name=TMS][@checked]").attr("id") );
		$("label#cgvTms").show("slow");
	});
	
        $("input:radio#TMS_NO").click(function () {
		prixSejour = parseFloat( $("input#montant_acompte_ss_ass").val() ) - parseFloat( $("input#montant_acompte_total").val() );
		prixSejour = Math.round(prixSejour*100)/100;
		if ( prixSejour < 0 ) prixSejour = 0;
		$("span.prix_sejour").text( '0 \u20AC' );
		$("input#montant").val( prixSejour );
		$("input#TMS_Type_Assurance").val( $("input[@type=radio][@name=TMS][@checked]").attr("id") );
		$("label#cgvTms").slideUp();
		
	});
	
	if ( $("input[@type=radio][@name=TMS][@checked]").attr("id") == 'TMS_MR' ) {
                prixSejour = parseFloat( $("input:radio#TMS_MR").val() ) + parseFloat( $("input#montant_acompte_ss_ass").val() ) - parseFloat( $("input#montant_acompte_total").val() );
		prixSejour = Math.round(prixSejour*100)/100;
                prixSejourMin = parseFloat( $("input:radio#TMS_MR").val() ) + parseFloat( $("input#montant_acompte_ss_ass_reference").val() ) - parseFloat( $("input#montant_acompte_total_reference").val() );
		prixSejourMin = Math.round(prixSejourMin*100)/100;
		if ( prixSejour < 0 ) prixSejour = 0;
		if ( prixSejourMin < 0 ) prixSejourMin = 0;
		$("span.prix_sejour").text( prixSejourMin + ' \u20AC' );
		$("input#montant").val( prixSejour );
		$("input#TMS_Type_Assurance").val( $("input[@type=radio][@name=TMS][@checked]").attr("id") );
		$("label#cgvTms").show("slow");
	}
	
	if ( $("input[@type=radio][@name=TMS][@checked]").attr("id") == 'TMS_AV' ) {
                prixSejour = parseFloat( $("input:radio#TMS_AV").val() ) + parseFloat( $("input#montant_acompte_ss_ass").val() ) - parseFloat( $("input#montant_acompte_total").val() );
		prixSejour = Math.round(prixSejour*100)/100;
                prixSejourMin = parseFloat( $("input:radio#TMS_AV").val() ) + parseFloat( $("input#montant_acompte_ss_ass_reference").val() ) - parseFloat( $("input#montant_acompte_total_reference").val() );
		prixSejourMin = Math.round(prixSejourMin*100)/100;
		if ( prixSejour < 0 ) prixSejour = 0;
		if ( prixSejourMin < 0 ) prixSejourMin = 0;
		$("span.prix_sejour").text( prixSejourMin + ' \u20AC' );
		$("input#montant").val( prixSejour );
		$("input#TMS_Type_Assurance").val( $("input[@type=radio][@name=TMS][@checked]").attr("id") );
		$("label#cgvTms").show("slow");
	}
	
	if ( $("input[@type=radio][@name=TMS][@checked]").attr("id") == 'TMS_NO' ) {
		prixSejour = parseFloat( $("input#montant_acompte_ss_ass").val() ) - parseFloat( $("input#montant_acompte_total").val() );
		prixSejour = Math.round(prixSejour*100)/100;
		if ( prixSejour < 0 ) prixSejour = 0;
		$("span.prix_sejour").text( '0 \u20AC' );
		$("input#montant").val( prixSejour );
		$("input#TMS_Type_Assurance").val( $("input[@type=radio][@name=TMS][@checked]").attr("id") );
		$("label#cgvTms").slideUp();
	}

});

// Gestion des onglets du moteur de Recherche en HomePage 25/07/08
function ongletshp (b) {
	document.getElementById('rechercheVoyage').style.display = (b!=1? 'none':'block');
	document.getElementById('rechercheHotel').style.display = (b!=2? 'none':'block');
	document.getElementById('rechercheAvion').style.display = (b!=3? 'none':'block');
	document.getElementById('rechercheVoiture').style.display = (b!=4? 'none':'block');
	var label = document.getElementById('mainLabel');
	if(b==1) label.innerHTML = document.getElementById('labelVoyage').value;
	if(b==2) label.innerHTML = document.getElementById('labelHotel').value;
	if(b==3) label.innerHTML = document.getElementById('labelVol').value;
	if(b==4) label.innerHTML = document.getElementById('labelVoiture').value;
}

// Gestion de l'offre selectionnee dans le resultat de recherche de Dispos 30/07/08

function choix_rangees_cocher(id_cocher, id_rangee){
	window.setTimeout("colorer_rangee('"+id_cocher+"','"+id_rangee+"')",300); //la temporisation est nécessaire parce que le gestionnaire d'événement est déclenché avant que la case à cocher ne soit commutée...
	return true;
}
function colorer_rangee(id_cocher, id_rangee){
	document.getElementById(id_rangee).className = ((document.getElementById(id_cocher).checked) ? "choisi" : "pas_coche");
}
function rangee_choix_option(id_cocher, id_rangee,count){
	window.setTimeout("colorer_rang_option('"+id_cocher+"','"+id_rangee+"','" + count + "')",300); //la temporisation est nécessaire parce que le gestionnaire d'événement est déclenché avant que la case à cocher ne soit commutée...
	return true;
}
function colorer_rang_option(idcheckcommon, idrowcommon, count){
	for (i = 1; i <= count; i++){
		id_rangee = "" + idrowcommon + i;;
		id_cocher = "" + idcheckcommon + i;
		document.getElementById(id_rangee).className = ((document.getElementById(id_cocher).checked) ? "choisi" : "pas_coche");
	}
}

function colorer_radios(radio_name) {
	var radios = document.getElementsByName(radio_name);
	for(i=0;i<radios.length;i++) {
		radios[i].parentNode.parentNode.className = ((radios[i].checked) ? "choisi" : "pas_coche");
	}
}

$(document).ready(function() {
	colorer_radios('devis_choisi');
});

function miseDemande(field_name, table_name, assoc_name, pid, lang) {
	var xhr_object = createXMLHttpRequest();
	
	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=acces_pro&action=ajax_info_type&table_name='+table_name+'&field_name='+field_name+'&assoc_name='+assoc_name+'&pid='+pid+'&lang='+lang, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 ) {
			document.getElementById('type_container').innerHTML = xhr_object.responseText;
		}
	}
	xhr_object.send(null);
}
function misePeriodicite(period_id) {
	var n = document.getElementById("agenda_evenement_period_num_dans_mois");
	var njemes = document.getElementById("agenda_evenement_period_compte_dans_mois");
	switch (period_id){
		case 1:
			n.disabled = false;
			njemes.disabled = true;
			for (i=0; i<7; i++) document.getElementById("agenda_evenement_period_jour"+i).disabled = true;
			document.getElementById('n_container').innerHTML = '<em>*</em>';
			document.getElementById('njemes_container').innerHTML = '';
			document.getElementById('jour_container').innerHTML = '';	
			break;
		case 2:
			n.disabled = true;
			njemes.disabled = false;
			for (i=0; i<7; i++) document.getElementById("agenda_evenement_period_jour"+i).disabled = false;
			document.getElementById('n_container').innerHTML = '';
			document.getElementById('njemes_container').innerHTML = '<em>*</em>';
			document.getElementById('jour_container').innerHTML = '<em>*</em>';
			break;
		case 3:
			n.disabled = true;
			njemes.disabled = true;
			for (i=0; i<7; i++) document.getElementById("agenda_evenement_period_jour"+i).disabled = false;
			document.getElementById('n_container').innerHTML = '';
			document.getElementById('njemes_container').innerHTML = '';
			document.getElementById('jour_container').innerHTML = '<em>*</em>';
			break;
		default:
			n.disabled = true;
			njemes.disabled = true;
			for (i=0; i<7; i++) document.getElementById("agenda_evenement_period_jour"+i).disabled = true;
			document.getElementById('n_container').innerHTML = '';
			document.getElementById('njemes_container').innerHTML = '';
			document.getElementById('jour_container').innerHTML = '';
			break;
	}
}

function miseAJourCommunes(communeId, lang, sit_id) {
	var xhr_object = createXMLHttpRequest();

	var ileId = document.getElementById("ile_dest_hotel").value;

	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=recherche&action=ajax_communes&ile_id='+ileId+'&lang='+lang+'&sit_id='+sit_id, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 ) {
			document.getElementById('commune_container').innerHTML = xhr_object.responseText;
		}
	}
	xhr_object.send(null);
}

function miseAJourIles(zoneId, lang) {
	
	var xhr_object = createXMLHttpRequest();

	zoneId = document.getElementById("zone_id").value;

	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=guide_article&action=ajax_iles&zone_id='+zoneId+'&lang='+lang, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 ) {
			document.getElementById('ile_container').innerHTML = xhr_object.responseText;
		}
	}
	xhr_object.send(null);
}

function miseAJourRegion(ileId, lang) {
	
	var xhr_object = createXMLHttpRequest();
	
	ileId = document.getElementById("ile_id").value;

	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=guide_article&action=ajax_region&ile_id='+ileId+'&lang='+lang, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 ) {
			document.getElementById('region_container').innerHTML = xhr_object.responseText;
		}
	}
	xhr_object.send(null);
}

function miseAJourCommune(regionId, lang) {
	
	var xhr_object = createXMLHttpRequest();

	regionId = document.getElementById("region_id").value;

	// On ouvre la requete vers la page desirée
	xhr_object.open("GET", '/service/ajax/index.php?component=guide_article&action=ajax_commune&region_id='+regionId+'&lang='+lang, true);
	xhr_object.onreadystatechange = function(){
		if ( xhr_object.readyState == 4 ) {
			document.getElementById('commune_container').innerHTML = xhr_object.responseText;
		}
	}
	xhr_object.send(null);
}

function disp_confirm()
{
var r=confirm("Do you want to add photos/videos to your article?");
if (r==true)
  {
  //document.write("You pressed OK!");
  }
else
  {
  //document.write("You pressed Cancel!");
  }
}

function containsDropDown(dd, val) {
    for ( var i = 0; i < dd.options.length; i++ ) {
        if ( dd.options[i].value == val ) {
            return 1;
        }
    }
    return 0;
}

function setAirportDropDownValue(dd, val) {
    for ( var i = 0; i < dd.options.length; i++ ) {
        if ( dd.options[i].value == val ) {
			dd.options[i].selected = true;
			return;
        }
    }
}

function deleteAirportDropDownValue(dd, val) {
	if(val == '') return;
    for ( var i = 0; i < dd.options.length; i++ ) {
        if ( dd.options[i].value == val ) {
			dd.remove(i);
			return;
        }
    }
}

function findDropDownInside(element) {
	var children = element.childNodes;
	var result;
	for(i=0;i<children.length;i++) {
		if(children[i].options != undefined){
			result = children[i];
			break;
		}
	}
	return result;
}

function miseAJourAeroports(aeroportSel, updateListId) {
	// finding dropdown to update
	var updateList = document.getElementById(updateListId);
	// getting its container
	var updateListContainer = updateList.parentNode;
	
	// saving properties to restore later
	var className = updateList.className;
	var id = updateList.id;
	var name = updateList.name;
	var onchange = updateList.onchange;
	var val = updateList.value;
	
	// getting new content containers
	var antillaises = document.getElementById('liste_antillaises');
	var tous = document.getElementById('liste_tous');

	// changing dropdown according to current selection
	if(containsDropDown(findDropDownInside(antillaises), aeroportSel)) {
		updateListContainer.innerHTML = tous.innerHTML;
	} else {
		updateListContainer.innerHTML = antillaises.innerHTML;
	}
	
	// finding new dropdown in changed container
	var newdropdown = findDropDownInside(updateListContainer);
	// restoring properties
	newdropdown.name = name;
	newdropdown.id =id;
	newdropdown.className = className;
	newdropdown.onchange = onchange;
	
	// deleting selected destination
	deleteAirportDropDownValue(newdropdown, aeroportSel);
	// restoring selection
	setAirportDropDownValue(newdropdown, val);
}

// GMap coordinates filters
function coorFilter(event){
	var keysAllowed = [109,110,190,8,9,13,35,36,37,39,46,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105];
	var key = event.which;
	var proccess = false;
	
	for(var x=0; x < keysAllowed.length; x++){
		if(key == keysAllowed[x]){
			proccess = true;
			break;
		}
	}
	
	if(proccess){
		if(key == 110 || key == 190 || key == 109){
			if(key == 110 || key == 190){
				var points = this.value.match(/(\.)/g);
		        if(points && points.length == 1){
		            //return false;
		        	proccess = false;
		        }
			}
			if(key == 109){
				if(this.value[0] != '-'){
					var points = this.value.match(/(\-)/g);
			        if(points && points.length == 1){
			            //return false;
			        	proccess = false;
			        }
				}else{
					return false;
				}
			}
		}else{
			if(key != 8 && key != 9 && key != 13 && key != 35 && key != 36 && key != 37 && key != 39 && key != 46){
				var matches = /\.([0-9]+)/.exec(this.value);
			    if(matches && matches.length == 2){
			        if(matches[1].length >= _maxLimit){
			            //return false;
			        	proccess = false;
			        }
			    }
			}
		}
	}
	return proccess;
}

var _maxLimit = 6;
$(document).ready(function(){
    if($('#GMLat').length == 1 && $('#GMLon').length == 1){
        // Latitude input
        $('#GMLat').keydown(coorFilter);
        $('#GMLon').keydown(coorFilter);
    }
});

function GeoLocation(elem){
    this.holder = elem;
    this.lat = 0.0;
    this.lng = 0.0;
    this.zoom = 20;
    this.markerTitle = '';
}
GeoLocation.prototype.setDefault = function(lat, lng, zoom){
    this.defLat = parseFloat(lat);
    this.defLng = parseFloat(lng);
    this.defZoom = parseInt(zoom);
}
GeoLocation.prototype.buildMap = function(){
    if(this.timeOut){
        clearTimeout(this.timeOut);
    }
    
    this.map = new GMap2(this.holder);
    this.map.removeMapType(G_NORMAL_MAP);
    this.map.removeMapType(G_SATELLITE_MAP);
    this.map.addMapType(G_PHYSICAL_MAP);
    this.map.disableDoubleClickZoom();
    this.map.enableScrollWheelZoom();
    this.map.addControl(new GMapTypeControl());
    this.map.addControl(new GSmallMapControl());
    
    if(this.lat && this.lng){
        this.map.setCenter(new GLatLng(this.lat, this.lng), this.zoom);
        this.createMarker();
    }else{
                this.map.setCenter(new GLatLng(this.defLat, this.defLng), this.defZoom);
    }
    
    GEvent.bind(this.map,"click", this, function(overlay, latlng){
        if(latlng){
            this.lat = latlng.lat();
            this.lng = latlng.lng();
            this.zoom = this.map.getZoom();
            this.createMarker();
            this.onComplete();
        }
    });
    GEvent.bind(this.map,"zoomend", this, function(oldLevel, newLevel){
        this.zoom = newLevel;
        this.onComplete();
    });
}
GeoLocation.prototype.createMarker = function(){
    if(this.marker){
        this.map.removeOverlay(this.marker);
    }
    
    this.marker = new GMarker(new GLatLng(this.lat, this.lng), {draggable: true});
    
    GEvent.bind(this.marker, "dragstart", this, function(){
        this.map.closeInfoWindow();
    });
    GEvent.bind(this.marker, "click", this, function(){
        this.marker.openInfoWindowHtml(this.markerTitle);
    });
    GEvent.bind(this.marker, "dragend", this, function(latlng){
        this.lat = latlng.lat();
        this.lng = latlng.lng();
        this.zoom = this.map.getZoom();
        this.marker.openInfoWindowHtml(this.markerTitle);
        this.onComplete();
    });
    
    this.map.addOverlay(this.marker);
    this.marker.openInfoWindowHtml(this.markerTitle);
}
GeoLocation.prototype.onComplete = function(){};