// JavaScript Document
function matchRegexp(reg, val) {
	var re = new RegExp(reg);
	if (val.match(re)) {
		return true;
	} else {
		return false;
	}
}


//pour connaitre la position d'un élément
jQuery.fn.extend({
	findPos : function() {
		obj = $(this).get(0);
		var curleft = obj.offsetLeft || 0;
		var curtop = obj.offsetTop || 0;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
		return {x:curleft,y:curtop};
	}
});


/*
* Selects an option by value
*
* @name     selectOptions
* @author   Mathias Bank (http://www.mathias-bank.de)
* @param    value specifies, which options should be selected
* @example  jQuery("#myselect").selectOptions("val1");
*
*/
jQuery.fn.selectOptions = function(value) {
	
	this.each(
	function()	{
		if(this.nodeName.toLowerCase() != "select") return;

		// get number of options
		var optionsLength = this.options.length;

		if(value)
		{
			for(var i = 0; i<optionsLength; i++) {
				if (this.options[i].value == value) {
					this.options[i].selected = true;
				};
			}
		}

		else
		{
			
			this.options[0].selected = true;
			
		}
	}
	)
	
	return this;
}

	function verif(email) { // vérif validité email par REGEXP
				var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
				return (reg.exec(email)!=null)
	}
	//Charge la partie news letter evec les traitements
	function load_news_letter()
	{
		$('.newsletterinput').hide();
		//on controle le mail au fur et à mesure de son entrée
		$('input#mail').keyup(function(){
			if(verif($(this).val())) $('.newsletterinput').show();
			else $('.newsletterinput').hide();
		});
		$('form#newsletter_form').submit(function(){
			if(verif($('input#mail').val()))
			{
				$.ajax({
					type: "POST",
					url: '/proxy.php',
					data: {what: 'newsletter', 
						   mail: $('input#mail').val(),
						   demande:$("input[@type=radio][@checked][@name=demande]").val()
						   },
					success: function(msg){
						
						//vider le champ mail
						$('input#mail').val("");
						function GB_position() {
							var pos = $('#newsletters').findPos();
							var de = document.documentElement;
							var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
							var h = self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
	
							$("#GB_window").css({width:GB_WIDTH+"px",height:GB_HEIGHT+"px",
												left: ((w - GB_WIDTH)/2)+"px", top: pos.y });
							$("#GB_frame").css("height",GB_HEIGHT - 32 +"px");
						}
	
						var GB_HEIGHT = 200;
						var GB_WIDTH = 400;
						$(document.body)
						.append("<div id='GB_overlay'></div><div id='GB_window'></div>");
						GB_position();
						$("#GB_window")
						//.append("<iframe id='GB_frame' src='"+url+"'></iframe>")
						.append(msg)
						.fadeIn("slow", function(){
							setTimeout(function(){
								
								$("#GB_window,#GB_overlay")
											.hide() 	//cache le div 
											.remove();	//détruit le code généré
							},4000);
						});
					}
				});
			}
		});
	}


//fonction à insérer dans les différents templates v2
//param:valeur de la destination par defaut pour la selection par defaut du moteur
function load_document(dest_par_defaut)
{
	$(document).ready(function(){
		load_news_letter();
		//charge dynamiquement le combo dest de moteur
		$.ajax({
			type: "POST",
			url: '/proxy.php',
			data: {what:'comboDest' },
			success: function(msg){
				if(msg.length>0)
				{
					if(document.all) $('#cbdest').empty().append(msg);
					else $('#cbdest').empty().append(msg).selectOptions(dest_par_defaut);
				}
	
				//charge dynamiquement le combo date lors de l'affichage de la page
				$.ajax({
					type: "POST",
					url: '/proxy.php',
					data: {what: 'comboDate',  dest: $('#cbdest').val()},
					success: function(msg){
						if(msg.length>0)
						{
							if(document.all) $('#cbdate').empty().append(msg);
							else $('#cbdate').empty().append(msg).selectOptions();
						}
					},
					error: function(msg){
						//alert('erreur 333');
						$("#cbdest").attr("disabled","true");
						$("#cbdate").attr("disabled","true");
					}
				});
	
				//si on change la dest, on recharge le combo date
				$('#cbdest').change(
					function(dest)
					{
						$.ajax({
								type: "POST",
								url: '/proxy.php',
								data: { what: 'comboDate', dest: $('#cbdest').val() },
								success: function(msg){
									if(msg.length>0)
									{
										if(document.all) $('#cbdate').empty().append(msg);
										else $('#cbdate').empty().append(msg).selectOptions();
									}
						  		},
								error: function(msg){
							//alert('erreur 33');
							$("#cbdest").attr("disabled","true");
							$("#cbdate").attr("disabled","true");
					}					
				});
			} );
				//)
			},
			error: function(msg){
				//alert('erreur de chargement du moteur');
				$("#cbdest").attr("disabled","true");
				$("#cbdate").attr("disabled","true");
			}
			
		});
	
	});
}

//fonction à insérer dans les différents templates v2
//param: valeur de la destination par defaut pour la selection par defaut du moteur
//param: compagnie
function load_document_in_comp(dest_par_defaut , comp)
{
	$(document).ready(function(){
		load_news_letter();
		//charge dynamiquement le combo dest de moteur
		$.ajax({
			type: "POST",
			url: '/proxy.php',
			data: {what:'comboDest' , comp:comp},
			success: function(msg){
				if(msg.length>0)
				{
					if(document.all) $('#cbdest').empty().append(msg);
					else $('#cbdest').empty().append(msg).selectOptions(dest_par_defaut);
				}
	
				//charge dynamiquement le combo date lors de l'affichage de la page
				$.ajax({
					type: "POST",
					url: '/proxy.php',
					data: {what: 'comboDate',  dest: $('#cbdest').val() , comp:comp},
					success: function(msg){
						if(msg.length>0)
						{
							if(document.all) $('#cbdate').empty().append(msg);
							else $('#cbdate').empty().append(msg).selectOptions();
						}
					},
					error: function(msg){
						//alert('erreur 34');
						$("#cbdest").attr("disabled","true");
						$("#cbdate").attr("disabled","true");
					}
				});
	
				//si on change la dest, on recharge le combo date
				$('#cbdest').change(
				function(dest)
				{
					$.ajax({
						type: "POST",
						url: '/proxy.php',
						data: { what: 'comboDate', dest: $('#cbdest').val() , comp:comp },
						success: function(msg){
						if(msg.length>0)
						{
							if(document.all) $('#cbdate').empty().append(msg);
							else $('#cbdate').empty().append(msg).selectOptions();
						}
						},
						error: function(msg){
							//alert('erreur 344');
							$("#cbdest").attr("disabled","true");
							$("#cbdate").attr("disabled","true");
						}
					});
				} );
			},
			error: function(msg){
				//alert('erreur de chargement du moteur');
				$("#cbdest").attr("disabled","true");
				$("#cbdate").attr("disabled","true");
			}
		});
	
	});
}
function load_document_in_luxe(dest_par_defaut)
	{
		$(document).ready(function(){
				
				//charge dynamiquement le combo dest de moteur
	$.ajax({
		type: "POST",
		url: '/proxy.php',
		data: {what:'comboDest', luxe:1},
		success: function(msg){
			if(msg.length>0)
			{
				if(document.all) $('#cbdest').empty().append(msg);
				else $('#cbdest').empty().append(msg).selectOptions(dest_par_defaut);
			}

			//charge dynamiquement le combo date lors de l'affichage de la page
			$.ajax({
				type: "POST",
				url: '/proxy.php',
				data: {what: 'comboDate',  dest: $('#cbdest').val(), luxe:1},
				success: function(msg){
					if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
				},
				error: function(msg){
					//alert('erreur sur la moteur de recherche');
					$("#cbdest").attr("disabled","true");
					$("#cbdate").attr("disabled","true");
				}
			});

			//si on change la dest, on recharge le combo date
			$('#cbdest').change(function(dest){
				$.ajax({
					type: "POST",
					url: '/proxy.php',
					data: { what: 'comboDate', dest: $('#cbdest').val(), luxe:1},
					success: function(msg){
						if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
					},
					error: function(msg){
						//alert('erreur sur la moteur de recherche: PAS DE DESTINATION');
						$("#cbdest").attr("disabled","true");
						$("#cbdate").attr("disabled","true");
					}
				});
			})
		},
		error: function(msg){
			//alert('erreur de chargement du moteur');
			$("#cbdest").attr("disabled","true");
			$("#cbdate").attr("disabled","true");
		}
								   
			});
	 });
		
	}
function load_document_in_mini_croisiere(dest_par_defaut)
	{
		$(document).ready(function(){
		load_news_letter();		
				//charge dynamiquement le combo dest de moteur
	$.ajax({
		type: "POST",
		url: '/proxy.php',
		data: {what:'comboDest', luxe:1},
		success: function(msg){
			if(msg.length>0)
			{
				if(document.all) $('#cbdest').empty().append(msg);
				else $('#cbdest').empty().append(msg).selectOptions(dest_par_defaut);
			}

			//charge dynamiquement le combo date lors de l'affichage de la page
			$.ajax({
				type: "POST",
				url: '/proxy.php',
				data: {what: 'comboDate',  dest: $('#cbdest').val(), mini:1},
				success: function(msg){
					if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
				},
				error: function(msg){
					//alert('erreur sur la moteur de recherche');
					$("#cbdest").attr("disabled","true");
					$("#cbdate").attr("disabled","true");
				}
			});

			//si on change la dest, on recharge le combo date
			$('#cbdest').change(function(dest){
				$.ajax({
					type: "POST",
					url: '/proxy.php',
					data: { what: 'comboDate', dest: $('#cbdest').val(), mini:1},
					success: function(msg){
						if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
					},
					error: function(msg){
						//alert('erreur sur la moteur de recherche: PAS DE DESTINATION');
						$("#cbdest").attr("disabled","true");
						$("#cbdate").attr("disabled","true");
					}
				});
			})
		},
		error: function(msg){
			//alert('erreur de chargement du moteur');
			$("#cbdest").attr("disabled","true");
			$("#cbdate").attr("disabled","true");
		}
								   
			});
	 });
		
	}
	function load_document_in_fluviale_croisiere(dest_par_defaut)
	{
		
		$(document).ready(function(){
		load_news_letter();		
				//charge dynamiquement le combo dest de moteur
	$.ajax({
		type: "POST",
		url: '/proxy.php',
		data: {what:'comboDest', crType:'f'},
		success: function(msg){
			if(msg.length>0)
			{
				if(document.all) $('#cbdest').empty().append(msg);
				else $('#cbdest').empty().append(msg).selectOptions(dest_par_defaut);
			}

			//charge dynamiquement le combo date lors de l'affichage de la page
			$.ajax({
				type: "POST",
				url: '/proxy.php',
				data: {what: 'comboDate',  dest: $('#cbdest').val(), crType:'f'},
				success: function(msg){
					if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
				},
				error: function(msg){
					//alert('erreur sur la moteur de recherche');
					$("#cbdest").attr("disabled","true");
					$("#cbdate").attr("disabled","true");
				}
			});

			//si on change la dest, on recharge le combo date
			$('#cbdest').change(function(dest){
				$.ajax({
					type: "POST",
					url: '/proxy.php',
					data: { what: 'comboDate', dest: $('#cbdest').val(), crType:'f'},
					success: function(msg){
						if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
					},
					error: function(msg){
						//alert('erreur sur la moteur de recherche: PAS DE DESTINATION');
						$("#cbdest").attr("disabled","true");
						$("#cbdate").attr("disabled","true");
					}
				});
			})
		},
		error: function(msg){
			//alert('erreur de chargement du moteur');
			$("#cbdest").attr("disabled","true");
			$("#cbdate").attr("disabled","true");
		}
								   
			});
	 });
		
	
	}
	function load_document_promotion_croisiere(dest_par_defaut,comp)
	{
		
		$(document).ready(function(){
		load_news_letter();		
				//charge dynamiquement le combo dest de moteur
	$.ajax({
		type: "POST",
		url: '/proxy.php',
		data: {what:'comboDest', comp:comp, promo:1},
		success: function(msg){
			if(msg.length>0)
			{
				if(document.all) $('#cbdest').empty().append(msg);
				else $('#cbdest').empty().append(msg).selectOptions(dest_par_defaut);
			}

			//charge dynamiquement le combo date lors de l'affichage de la page
			$.ajax({
				type: "POST",
				url: '/proxy.php',
				data: {what: 'comboDate',  dest: $('#cbdest').val(), comp:comp, promo:1},
				success: function(msg){
					if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
				},
				error: function(msg){
					//alert('erreur sur la moteur de recherche');
					$("#cbdest").attr("disabled","true");
					$("#cbdate").attr("disabled","true");
				}
			});

			//si on change la dest, on recharge le combo date
			$('#cbdest').change(function(dest){
				$.ajax({
					type: "POST",
					url: '/proxy.php',
					data: { what: 'comboDate', dest: $('#cbdest').val(), comp:comp, promo:1},
					success: function(msg){
						if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
					},
					error: function(msg){
						//alert('erreur sur la moteur de recherche: PAS DE DESTINATION');
						$("#cbdest").attr("disabled","true");
						$("#cbdate").attr("disabled","true");
					}
				});
			})
		},
		error: function(msg){
			//alert('erreur de chargement du moteur');
			$("#cbdest").attr("disabled","true");
			$("#cbdate").attr("disabled","true");
		}
								   
			});
	 });
		
	
	}
function load_document_promotion(dest_par_defaut)
{
	
		
		$(document).ready(function(){
		load_news_letter();		
				//charge dynamiquement le combo dest de moteur
	$.ajax({
		type: "POST",
		url: '/proxy.php',
		data: {what:'comboDest',  promo:1},
		success: function(msg){
			if(msg.length>0)
			{
				if(document.all) $('#cbdest').empty().append(msg);
				else $('#cbdest').empty().append(msg).selectOptions(dest_par_defaut);
			}

			//charge dynamiquement le combo date lors de l'affichage de la page
			$.ajax({
				type: "POST",
				url: '/proxy.php',
				data: {what: 'comboDate',  dest: $('#cbdest').val(),  promo:1},
				success: function(msg){
					if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
				},
				error: function(msg){
					//alert('erreur sur la moteur de recherche');
					$("#cbdest").attr("disabled","true");
					$("#cbdate").attr("disabled","true");
				}
			});

			//si on change la dest, on recharge le combo date
			$('#cbdest').change(function(dest){
				$.ajax({
					type: "POST",
					url: '/proxy.php',
					data: { what: 'comboDate', dest: $('#cbdest').val(), promo:1},
					success: function(msg){
						if(msg.length>0)
					{
						if(document.all) $('#cbdate').empty().append(msg);
						else $('#cbdate').empty().append(msg).selectOptions();
					}
					},
					error: function(msg){
						//alert('erreur sur la moteur de recherche: PAS DE DESTINATION');
						$("#cbdest").attr("disabled","true");
						$("#cbdate").attr("disabled","true");
					}
				});
			})
		},
		error: function(msg){
			//alert('erreur de chargement du moteur');
			$("#cbdest").attr("disabled","true");
			$("#cbdate").attr("disabled","true");
		}
								   
			});
	 });
		
	
	
}
function recherche_rapide(dest_par_defaut)
	{
	
	$(document).ready(function(){
			
				//charge dynamiquement le combo dest de moteur
	
	$.ajax({
		type: "POST",
		url: '/recherche_rapide.php',
		data: {what:'comboDestination',promo:1},
		success: function(msg){
			if(msg.length>0)
			{
				if(document.all) $('#dest').empty().append(msg);
				else $('#dest').empty().append(msg).selectOptions(dest_par_defaut);
			}

			//charge dynamiquement le combo date lors de l'affichage de la page
			$.ajax({
				type: "POST",
				url: '/recherche_rapide.php',
				data: {what: 'comboDat',  dest: $('#dest').val(),promo:1},
				success: function(msg){
					if(msg.length>0)
					{
						if(document.all) $('#date').empty().append(msg);
						else $('#date').empty().append(msg).selectOptions();
					}
				},
				error: function(msg){
					//alert('erreur sur la moteur de recherche');
					$("#dest").attr("disabled","true");
					$("#date").attr("disabled","true");
				}
			});

			//si on change la dest, on recharge le combo date
			$('#dest').change(function(dest){
				$.ajax({
					type: "POST",
					url: '/recherche_rapide.php',
					data: { what: 'comboDat', dest: $('#dest').val(),promo:1},
					success: function(msg){
						if(msg.length>0)
					{
						if(document.all) $('#date').empty().append(msg);
						else $('#date').empty().append(msg).selectOptions();
					}
					},
					error: function(msg){
						//alert('erreur sur la moteur de recherche: PAS DE DESTINATION');
						$("#dest").attr("disabled","true");
						$("#date").attr("disabled","true");
					}
				});
			})
		},
		error: function(msg){
			//alert('erreur de chargement du moteur');
			$("#dest").attr("disabled","true");
			$("#date").attr("disabled","true");
		}
								   
			});
	 });
		
	
	}
	
function recherche_rapide1(dest_par_defaut,date_par_defaut)
	{
		
		$(document).ready(function(){
			
				//charge dynamiquement le combo dest de moteur
	
	$.ajax({
		type: "POST",
		url: '/recherche_rapide.php',
		data: {what:'comboDestination',promo:1,dest_par_def:dest_par_defaut,date_par_defaut:date_par_defaut},
		success: function(msg){
			if(msg.length>0)
			{
				if(document.all) $('#dest').empty().append(msg);
				else $('#dest').empty().append(msg).selectOptions(dest_par_defaut);
			}

			//charge dynamiquement le combo date lors de l'affichage de la page
			$.ajax({
				type: "POST",
				url: '/recherche_rapide.php',
				data: {what: 'comboDat',  dest: $('#dest').val(),promo:1,dest_par_def:dest_par_defaut,date_par_defaut:date_par_defaut},
				success: function(msg){
					if(msg.length>0)
					{
						if(document.all) $('#date').empty().append(msg);
						else $('#date').empty().append(msg).selectOptions(date_par_defaut);
					}
				},
				error: function(msg){
					//alert('erreur sur la moteur de recherche');
					$("#dest").attr("disabled","true");
					$("#date").attr("disabled","true");
				}
			});

			//si on change la dest, on recharge le combo date
			$('#dest').change(function(dest){
				$.ajax({
					type: "POST",
					url: '/recherche_rapide.php',
					data: { what: 'comboDat', dest: $('#dest').val(),promo:1},
					success: function(msg){
						if(msg.length>0)
					{
						if(document.all) $('#date').empty().append(msg);
						else $('#date').empty().append(msg).selectOptions();
					}
					},
					error: function(msg){
						//alert('erreur sur la moteur de recherche: PAS DE DESTINATION');
						$("#dest").attr("disabled","true");
						$("#date").attr("disabled","true");
					}
				});
			})
		},
		error: function(msg){
			//alert('erreur de chargement du moteur');
			$("#dest").attr("disabled","true");
			$("#date").attr("disabled","true");
		}
								   
			});
	 });
		
	
	}
