var $j = jQuery.noConflict();
//var listEvent = [];
/* INIT SHADOWBOX */

var shadowBoxConfig 			= {};
shadowBoxConfig.troubleElements = ['select', 'canvas'];
Shadowbox.init(shadowBoxConfig);

$j(document).ready(function() {
	
	// deleteDefaultValueOnFocus
	$j('.deleteDefaultValueOnFocus').deleteDefaultValueOnFocus();
	
	// MENU PRINCIPAL
	$j('ul.sf-menu').superfish({ 
    	delay:       600,                           
    	animation:   {opacity:'show',height:'show',width:'show'},
		speed:       'fast',
		autoArrows:  false,
		dropShadows: false
    });
	
	// INIT ROLLOVER
	$j('img.rollover').rollOver();
	
	// INIT CYCLE BANNER HOME
	if($j('.box_banner_home').length > 0){
		$j('.box_banner_home').cycle({
			fx: 		'fade',
			timeout: 	8000,
			speed: 		800
		});
	}
	
	// AGENDA
	if($j('.datepicker').length){
		var currentDate 		=  new Date();
		var dateToSet			=  currentDate;
		
		$j('.datepicker').datepicker(getDatePickerOption(currentDate));
		
	}
	
	 // CYCLE ON box_galerie_fiche
	if($j('.box_galerie_slider').length > 0){
		for(var i=1 ; i <= nb_slider_box ;  i++){
			if($j('#box_galerie_slider_' + i ).length > 0){
				console.log('box_galerie_slider_' + i);
				$j('#box_galerie_slider_' + i ).cycle({
					fx:     'scrollHorz',
					timeout: 0,
					next:   '#box_galerie_slider_btn_next_' + i, 
					prev:   '#box_galerie_slider_btn_previous_' + i
				});
			}
		}
	}
	
	 // Champs d'erreur de formulaire
	$j('.feild_std_error').keypress(function(){
		$j(this).removeClass('feild_std_error');
	});
	$j('.feild_std_error[type="radio"]').click(function(){
		$j('#' + $j(this).attr('name') + '_error').css('display', 'none');
	});
	
	 // Init Gmap col right
	if($j('#canvasGmapColRight').length>0){
		initGmap();
	}
	
	// Formulaire reservation hébergement
	if($j('#search').length > 0){
		
		$j('#type').live('change', function(){
			$j('#box_type').val($j('#type').val());
			setFieldHosting();
			setPriceRange();
		});
		
		$j('#nb_pers').live('change', function(){
			$j('#box_nb_pers').val($j('#nb_pers').val());
		});
		$j('#box_nb_pers').live('change', function(){
			$j('#nb_pers').val($j('#box_nb_pers').val());
		});
		
		$j('#date_sejour_arrivee').live('change', function(){
			$j('#box_date_sejour_arrivee').val($j('#date_sejour_arrivee').val());
		});
		$j('#box_date_sejour_arrivee').live('change', function(){
			$j('#date_sejour_arrivee').val($j('#box_date_sejour_arrivee').val());
		});
		
		$j('#price_range').live('change', function(){
			$j('#box_price_range').val($j('#price_range').val());
		});
		$j('#box_price_range').live('change', function(){
			$j('#price_range').val($j('#box_price_range').val());
		});
		
		$j('#nb_nuit').live('change', function(){
			$j('#box_nb_nuit').val($j('#nb_nuit').val());
			setPriceRange();
		});
		$j('#box_nb_nuit').live('change', function(){
			$j('#nb_nuit').val($j('#box_nb_nuit').val());
			setPriceRange();
		});
		
		
	}
	
	// Box reservation header
	if($j('.box_reservation_header').length > 0){
		$j('.box_reservation_header .box_form_reservation_header').hide();
		$j('.box_form_type_hebergement').hide();
		
		$j('.box_reservation_header .box_reservation_titre').live('click', function(){
			if($j('.box_reservation_header .box_form_reservation_header').is(':visible')){
				$j('.box_reservation_header .box_form_reservation_header').hide();
			}else{
				$j('.box_reservation_header .box_form_reservation_header').show();
			}
		});
		
		$j('#reservation_hebergement').live('click', function(){
			if($j('.box_form_type_hebergement').is(':visible')){
				$j('.box_form_type_hebergement').hide();
			}else{
				$j('.box_form_type_hebergement').show();
			}
		});
		
		$j('input[name="box_date_sejour_arrivee"]').datepicker({
			showOn: "both",
			buttonImage: "/images/picto_calendrier.png",
			buttonImageOnly: true,
			dateFormat: 'dd/mm/yy'
		});
		
		$j('#box_type').live('change', function(){
			if($j('#type').length > 0){
				$j('#type').val($j('#box_type').val());
			}
			setFieldHosting();
			setPriceRange();
			
		});
	}
	
	// INSCRIPTION Newsletter
	$j('#newsletter_dialog').hide();
	$j('#newsletter_input').live('click',function(){
		$j.post(
			"/newsletter/add",
			{
				newsletter_email:  $j('#newsletter_email').val()
			},
			function(data){
				$j('#newsletter_email').val('Votre email ici...');
				if(data.success == 1){	
					$j('#newsletter_dialog').html('<div style="width:100%;text-align:center"><br /><strong>Votre demande a été prise en compte</strong></div>');
				}else{
					$j('#newsletter_dialog').html('<div style="width:100%;text-align:center"><br /><strong>Veuillez saisir un email valide</strong></div>');
				}
				$j('#newsletter_dialog').dialog({
					title: 'Inscription Newsletter',
					buttons: {
						OK: function() {
							$j(this).dialog('close');
						}
					}
				});	
			},
			'json'
		);
	});
	
	setFieldHosting();
});

function setFieldHosting(){
	if($j('#search').length > 0){
		if($j('#type').val() != 'rent' && $j('#type').val() != 'host'){
			$j('#nb_pers').val('');
			$j('#nb_pers').attr('disabled', true);
		}else{
			$j('#nb_pers').attr('disabled', false);
		}
		
		$j('#box_type').val($j('#type').val());
		$j('#box_nb_pers').val($j('#nb_pers').val());
		$j('#box_date_sejour_arrivee').val($j('#date_sejour_arrivee').val());
		$j('#box_price_range').val($j('#price_range').val());
		$j('#box_nb_nuit').val($j('#nb_nuit').val());		
	}
	
	if($j('#box_type').val() != 'rent' && $j('#box_type').val() != 'host'){
		$j('#box_nb_pers').val('');
		$j('#box_nb_pers_container').hide();
	}else{
		$j('#box_nb_pers_container').show();
		if($j('#type').length > 0){
			$j('#nb_pers').attr('disabled', false);
		}
	}
	
};

function setPriceRange(){
	var type	= $j('#box_type').val();
	var nbNuit	= $j('#box_nb_nuit').val();
	
	var change = 0;
	
	if($j('#previous_type').val() != type){
		change = 1;
	}
	
	if(type == 'camping' && ((nbNuit < 7 && $j('#previous_nb_nuit').val() >= 7) || (nbNuit >= 7 && $j('#previous_nb_nuit').val() < 7)  )){
		change = 1
	}
	if(change){
		
		$j('#price_range').val('');
		$j('#box_price_range').val('');
		
		$j.post(
			"/hosting/set-price-range",
			{
				type: type,
				nbNuit: nbNuit
			},
			function(data){
				if(data.success){
					$j('#previous_type').val(type);
					$j('#previous_nb_nuit').val(nbNuit);
					
					if($j('#div_price_range').length > 0){
						$j('#div_price_range').html(data.div_price_range);
					}
					$j('#div_box_price_range').html(data.div_box_price_range);
				}
				
			},
			'json'
		);
	}
}


function initGmap(){
	
	var myOptions = {
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			maxZoom: 16
		};
		var map = new google.maps.Map(document.getElementById('canvasGmapColRight'), myOptions);
		
		/* Creating a bound zone */
		map.bounds = new google.maps.LatLngBounds ();
		
		/**
		 * Creating points
		 */
		if(gmapJsonMarker)
		{
			/**
			 * Ajout des points fournis
			 */
			for(var i=0;i<gmapJsonMarker.listMarker.length;i++){
				var latlng = new google.maps.LatLng(gmapJsonMarker.listMarker[i].latitude, gmapJsonMarker.listMarker[i].longitude);
				var marker = new google.maps.Marker({
					position: latlng,
					map: map,
					title: gmapJsonMarker.listMarker[i].title,
					url: gmapJsonMarker.listMarker[i].url,
					latitude: gmapJsonMarker.listMarker[i].latitude,
					longitude: gmapJsonMarker.listMarker[i].longitude,
					openBlank: gmapJsonMarker.listMarker[i].openBlank
				});	
				
				google.maps.event.addListener(marker, 'click', function() {
					if(this.url){
						if(!this.openBlank){
							document.location.href = this.url;
						}else{
							window.open(this.url);
						}
					}
				});
				
				map.bounds.extend(marker.position);
			}
		}
		map.fitBounds(map.bounds);
}

function doDatePickerAction(dateText){
	
	var i = 0;
	var found = false;
	while (i < listEvent.length && !found){
		var event = listEvent[i];
		if(event.eventdate  == dateText){
			document.location.href= event.link;
			found = true;
		}
		i++;
	}
}

function getDatePickerOption(date){
	var datepickerOption	=  {
			defaultDate: 	date,
			dateFormat: 	'yy-mm-dd',
			minDate: 		new Date(2010, 1 - 1, 1),
			beforeShowDay: 	function (date)
			{
				for(var i = 0 ; i < listEvent.length ; i++){
					var event = listEvent[i];
					
					var day = date.getDate();
					if(day < 10){
						day = '0' + day;
					}
					
					var month = date.getMonth() + 1;
					if(month < 10){
						month = '0' + month;
					}
					
					var strDate = date.getFullYear() + '-' + month + '-' + day;
					
					if (strDate == event.eventdate ){
			            //[disable/enable, class for styling appearance, tool tip]
			            return [true,"ui-state-highlight",event.name];
			        }
					//ui-state-default ui-state-highlight ui-state-active ui-state-hover
			     }
			     return [true, ""];//enable all other days	
             },
			onSelect: function(dateText, inst)
			{
				doDatePickerAction(dateText);
			},
			onChangeMonthYear: function(year, month, inst)
			{
				var dateToSet = new Date(year, month - 1, 1);
				$j('.datepicker').datepicker( 'destroy' );
				$j('.datepicker').datepicker(getDatePickerOption(dateToSet));
				$j('.datepicker').datepicker( 'refresh' );
			}
		};
	return datepickerOption;
}

function openGmap(syndicationId){
	
	Shadowbox.open({
		player:     'iframe',
		content:    '/hosting/gmap?syndication_id=' + syndicationId,
		width:      640,
		height:     480
	});
}


