var gNum = 0;
window.addEvent('load', function(){

	//Navigation
	var elements = document.getElement('.ssNav').getElements('li a');
	elements.each(function(element){
		element.addEvent('click', function(e){
			new Event(e).stop();
			
			initNav();
			
			var obj = $(this.rel);
			if(obj){
				this.addClass('on');
				obj.setStyle('opacity', 0);
				obj.setStyle('display', 'block');
				obj.fade('in');
			}
		})
	})

	//Images
	var i=0;
	elements = document.getElements('.visionneuse li .picture');
	elements.each(function(element){
		element.index = i;
		element.addEvent('click', function(e){
			new Event(e).stop();

			var obj = $('big-image');
			if(obj){
				var image = this.getElement('img');
				var elementDiv = document.getElement('.presentation .visu');
				if(elementDiv) elementDiv.addClass('loading')
				obj.setStyle('opacity', 0);
				obj.src = image.src.replace('mini', 'big');
				
				var objA = $('thumb1');
				if(objA){
					objA.href = image.src.replace('mini', 'gallery');
				}
				gIndexImage = this.index; 
			}
		});
		i++;
	})

	//Image
	var obj  = $('big-image');
	if(obj){
		obj.addEvent('load', function(){
			var element = document.getElement('.presentation .visu');
			if(element) element.removeClass('loading');
			this.fade('in');
		})
	}

	//Pictures
	var element = $('bt-prev');
	if(element){
		element.addEvent('click', function(e){
			new Event(e).stop();
			if(gNum>0){
				gNum--;
				showPictures(gNum);
			}
		})
	}
	element = $('bt-next');
	if(element){
		element.addEvent('click', function(e){
			new Event(e).stop();
			var elements = document.getElements('.visionneuse li .picture');
			var nb_elements = elements.length;
			if( ( ( (gNum+1)*4)<nb_elements) ){
				gNum++;
				showPictures(gNum);
			}
		})
	}

	//Send Friend
	element = $('bt_send_friend');
	if(element){
		element.addEvent('click', function(e){
			new Event(e).stop();
			showBox('/send-to-friend', {name:'box_send_friend', width:'95%', onComplete: function(){initSendFriend()}} );
		})
	}
	
	//Date
	/*new Calendar({ date_start: 'd/m/Y', date_end: 'd/m/Y' },
					 	{days: gDays, months: gMonths, pad:3});*/
	var date = new Date();
	var month = date.get('month')+1;
	var day = date.get('date');
	var year = date.get('year');
	//var blocked = '0-'+day+' 0-'+month+' 0-'+year;
	
	new Calendar({ date_start: 'd/m/Y', date_end: 'd/m/Y' }, { offset:1, /*pad:3,*/ direction:3, tweak: { x: 6, y: 0 }, months: gMonths, days: gDays, onSelect: function(){
 		checkDateReservation('date_start', 'date_end');
	}});

	//Bts 
	element = $('bt_availability');
	if(element){
		element.addEvent('click', function(e){
			$('nonDispo').setStyle('display', 'none');
			$('dispo').setStyle('display', 'none');
			
			new Event(e).stop();
 	 	 	$('nb_adults_reservation').removeClass('required');
 	 	 	if($('nb_adults_reservation').value=='' && $('nb_children_reservation').value=='')  $('nb_adults_reservation').addClass('required');
 	 	 	if(checkFields('form_reservation')){
 	 	 	 	$('loading_reservation').setStyle('display', 'block');
 	 	 	 	var form = $('form_reservation');
 	 	 	 	var query_string = form.toQueryString(); 
 	 	 	 	var vRequest = new Request ( {
 	 				url: '/apartment/check-available',
 	 				data: query_string,
 	 				method: 'post',
 	 				onSuccess: function(data){
 	 	 	 			$('loading_reservation').setStyle('display', 'none');
 	 					data = JSON.decode(data);
 	 					if(!data.success){
 	 	 					msg = data.msg;
 	 	 					if(msg=='' || data==null) $('nonDispo').setStyle('display', 'block');
 	 	 					else alert(msg);
 	 					}else{
 	 						$('dispo').setStyle('display', 'block');
 	 						$('reservation_period').set('html', data.period);
 	 						$('reservation_total').set('html', data.total);
 	 						$('reservation_nb_children').set('html', data.children);
 	 						$('reservation_nb_nights').set('html', data.nb);
 	 						$('reservation_nb_adults').set('html', data.adults);
 	 						
 	 						$('reservation_total').setStyle('display', 'block');
							$('reservation_total_promo').setStyle('display', 'none');
 	 					}
 	 				}
 	 			});
 	 			vRequest.send(); 
 	 	 	}
			
		})
	}
	
	
	var element = $('bt_contacted');
	if(element){
		element.addEvent('click', function(e){
			new Event(e).stop();
			showBox('/contact/index/apartment/'+$('apartment').value, {name:'box_contact', width:'95%', onComplete: function(){initContact()}} );
		})
	}
})

function showPictures(num){
	var nb_images = 4;
	var num_start = (num)*nb_images;
	var num_end = (num+1)*nb_images;
	var elements = document.getElements('.visionneuse li');
	var nb_elements = elements.length;
	
	elements.setStyle('display', 'none');
	for(var i=num-1;i<elements.length;i++){
		//alert(i/nb_images)
		if(i>=num_start && i<num_end){
			element = elements[i];
			if(element){
				element.setStyle('opacity', 0);
				element.setStyle('display', 'block');
				element.fade('in');
			}
		}
	}
}

function initNav(){
	var elements = new Array('descriptionBlock', 'accessBlock', 'priceBlock');
	elements.each(function(element){
		obj = $(element);
		if(obj){
			obj.setStyle('display', 'none');
		}
	})
	
	//$('description').setStyle('display', 'none');

	elements = document.getElement('.ssNav').getElements('li a');
	elements.each(function(element){
		element.removeClass('on');
	});
}

function searchPromo(){
	var code_promo = $('code_promo').value;
	if(code_promo!=''){
		$('loading_search_code').setStyle('display', '');
		$('codes_promos_apply').setStyle('display', 'none');
		
		$('reservation_total').setStyle('display', 'block');
		$('reservation_total_promo').setStyle('display', 'none');
		
		var apartment = $('apartment').value;
		var request = new Request ( {
				url: '/apartment/search-promo',
				data: 'code_promo='+code_promo+'&apartment='+apartment,
				method: 'post',
				onSuccess: function(data){
		 			$('loading_search_code').setStyle('display', 'none');
					data = JSON.decode(data);
					msg = data.msg;
					if(!data.success){
						if(msg=='' || data==null) $('nonDispo').setStyle('display', 'block');
						else alert(msg);
					}else{
						$('code_promo_apply').set('html', data.code);
						$('codes_promos_apply').setStyle('display', 'block');
						if(msg!=''){
							$('reservation_total_promo').set('html', msg);
							$('reservation_total').setStyle('display', 'none');
							$('reservation_total_promo').setStyle('display', 'block');
							
						}
					}
				}
		});
		request.send();
	}
}

var gIndexImage = 0;
function gallery(){
	var elements = $$('.highslide');
	return hs.expand(elements[gIndexImage]);
}