﻿/**
 * Scripts for pacific congress
 * @author twitter.com/fliptheweb
 */
$(document).ready(function() {
	/**
	 * Carousel on main page
	 */
	$(".slider").each(function(){		
		$(this).find(".slider-box ul").jcarousel({
			buttonNextHTML: null,
			buttonPrevHTML: null,
			scroll: 1,
			auto:5,	
			wrap: 'circular',
			animation: '100',
			initCallback: mycarousel_initCallback
		});
		function mycarousel_initCallback(carousel)
		{		    
		    // Pause autoscrolling if the user moves with the cursor over the clip.
		    carousel.clip.hover(function() {
		        carousel.stopAuto();
		    }, function() {
		        carousel.startAuto();
		    });
		};

	});	
	/**
	 * Carousel on hotel page
	 */
	$(".js-carousel").each(function(){
		var $carouselPrev = $(this).find(".js-carousel-prev");
		var $carouselNext = $(this).find(".js-carousel-next");
		$(this).find("ul").jcarousel({
			buttonNextHTML: null,
			buttonPrevHTML: null,
			scroll: 3,
			initCallback: carousel_initCallback
			//wrap: 'circular'
		});
		function carousel_initCallback(carousel){
			$carouselPrev.bind("click", function(){
				carousel.prev();
				return false;
			});
			$carouselNext.bind("click", function(){
				carousel.next();
				return false;
			});
		};
		//set fancybox
		$(this).find(".js-zoom").bind("click", function(){
			var $this = $(this);
			$.fancybox({
				'titlePosition'  : 'inside',
 				'title' : $this.attr("title"),
				'href' : $this.attr("href")
			});
			return false;
		});
	});	
	/**
	 * Map
	 */
	$("div.landscape").each(function(){
		var $map = $(this);
		$map.find("a").bind("mouseover", function(){
			$map.find("div."+$(this).attr("class")).fadeIn(300);
		});
		$map.find("a").bind("mouseout", function(){
			$map.find("div."+$(this).attr("class")).fadeOut(300);
		});
		$map.find("a").bind("click", function(){
			return false;
		});
	});
	
	/**
	 * Forgot pass
	 */
	$("a.forgot-pass").bind("click", function(){
		$("div.forgot-popup").slideToggle(100);
		return false;		
	});
	
	/**
	 * Slides
	 */
	$("a.js-slide-h").bind("click", function(){
		var $this = $(this);
		$this.parent().next(".js-slide-div").slideToggle("200");
		return false;
	});
	$(".js-slide-hotels h2 a.link-dashed").bind("click", function(){
		var $this = $(this);
		$this.parent().next(".js-slide-hotel").slideToggle("300");
		return false;
	});
	
	var $hotelForm = $(".js-hotels-form");
	$hotelForm.find(".extform input[name='f_number_of_people']").each(function(){
		var $this = $(this);
		if($this.attr("checked")==true && $this.attr("value")==1){
			$("table.table-order_hotels td.table-order-2").show();
			$("table.table-order_hotels td.table-order-3").hide();
		}
		if($this.attr("checked")==true && $this.attr("value")==2){
			$("table.table-order_hotels td.table-order-3").show();
			$("table.table-order_hotels td.table-order-2").hide();
		}
	});
	
	$hotelForm.find(".extform input[name='f_number_of_people']").bind("click", function(){
		var $this = $(this);
		if($this.attr("checked")==true && $this.attr("value")==1){
			$("table.table-order_hotels td.table-order-2").show();
			$("table.table-order_hotels td.table-order-3").hide();
		}
		if($this.attr("checked")==true && $this.attr("value")==2){
			$("table.table-order_hotels td.table-order-3").show();
			$("table.table-order_hotels td.table-order-2").hide();
		}
		changeTotalPrice();
	});
	$hotelForm.find("label.form-date-short input, .table-order_hotels input[name='f_room_types']").bind("keyup click", function(){
		changeTotalPrice();
	});
	
	function changeTotalPrice(){
		var $day1 = parseInt($hotelForm.find("input[name='f_start_booking']").val());
		var $day2 = parseInt($hotelForm.find("input[name='f_end_booking']").val());
		if($day1!=undefined && $day2!=undefined){
			var $days = parseInt($day2-$day1);
			$hotelForm.find("table.table-order_hotels input[name='f_room_types']:checked").each(function(){
				var $this = $(this);
				var $price = parseInt($this.parent().parent().parent().children("td.table-order-2").text());
				if($hotelForm.find(".extform input[name='f_number_of_people']:checked").val()==2){
					$price = parseInt($this.parent().parent().parent().children("td.table-order-3").text());
				}				
				var $total = $this.parent().parent().parent().parent().parent().parent().children(".hotel-total");
				//console.log($this.parent().parent().parent().parent().parent().parent().children(".hotel-total"))
				if(!isNaN($price)){
					$total.find("span").text(($price*$days)+parseInt(0.15*$price*$days)+" р.");
				}
			});
		};
	};
	
	var $transportForm = $(".js-transport-form");
	$transportForm.find("input[name='f_transfer'], input[name='f_route'], input[name='f_transport_transfer']").bind("click", function(){
		$transportForm.find(".table-order_cars-1 tbody td.table-order-3").html("");
		if($transportForm.find("input[name='f_transfer']:checked").val()==1){
			var $transfer = $transportForm.find("input[name='f_transport_transfer']:checked");
			var $price = parseInt($transfer.parent().parent().next().text());
			var $total = $transfer.parent().parent().next().next();
			if($transportForm.find("input[name='f_route']:checked").val()==2){				
				$total.html($price*2+" <i>р.</i>");
			}
			else{
				$total.html($price+" <i>р.</i>");
			}
		}
	});
	$transportForm.find("input[name='f_individual_use'], input[name='f_transport_individual'], input[name^='f_transport_transfer'], input[name^='f_number_days'], input[name^='f_hours_day']").bind("click keyup", function(){
		$transportForm.find(".table-order_cars-2 tbody td.table-order-5").html("");
		if ($transportForm.find("input[name='f_individual_use']:checked").val() == 1) {
			var $transport = $transportForm.find("input[name='f_transport_individual']:checked");
			var $price = parseInt($transport.parent().parent().next().text());
			var $hours = parseInt($transportForm.find("input[name='f_hours_day_"+$transport.val()+"']").val());
			var $days = parseInt($transportForm.find("input[name='f_number_days_"+$transport.val()+"']").val());
			var $total = $transport.parent().parent().next().next().next().next();
			if($hours!=undefined && $days!=undefined && $price!=undefined){
				if(!isNaN(parseInt($price*$hours*$days))){
					$total.html(parseInt($price*$hours*$days)+" <i>р.</i>");
				}
				
			}			
		}		
	});
	
	/**
	 * Grayscale on main
	 */
	/*var prevImg = "";
	$(".l-footer").find("dl ul a").hover(
		function(){
			prevImg = $(this).find("img").attr("src");
			$(this).find("img").attr("src", prevImg.replace("_greyscale",""));
		},
		function(){
			$(this).find("img").attr("src", prevImg);
		}
	)*/
	$(".l-footer").find("dl ul a").hover(
		function(){
			$(this).find("img:last").css("display", "inline");
			$(this).find("img:first").css("display", "none");
		},
		function(){
			$(this).find("img:last").css("display", "none");
			$(this).find("img:first").css("display", "inline");
		}
	)
	
});
