$(function(){
	var params = {
		changedEl: ".lineForm select, .lineForm02 select",
		visRows: 5,
		scrollArrows: true,
		checkZIndex: true
	}
	if($('.lineForm select').length > 0){
		cuSel(params);
	}
});

var select = {
	update : function(arr, def, id){
		$("#cuselFrame-"+id+" .cuselText:first").html(def);
		$("#cusel-scroll-"+id+" span:not(:first)").remove();
		$("#cusel-scroll-"+id+" span:first").html(def).addClass("cuselActive");
		$.each(arr, function(i, name){
			$("#cusel-scroll-"+id+"").append('<span val="'+i+'">'+name+'</span>');
		});
		var params = {refreshEl: "#"+id}
		cuSelRefresh(params);	
	},
	setValue : function(def, id){
		$("#cuselFrame-"+id+" .cuselText:first").html(def);
		$("#"+id).val($("#cusel-scroll-"+id+" span:contains('"+def+"')").attr("val"));
		$("#cusel-scroll-"+id+" span").removeClass("cuselActive")
		$("#cusel-scroll-"+id+" span:contains('"+def+"')").addClass("cuselActive");
	},
	cleare: function(def, id){
		$("#cusel-scroll-"+id+" span:not(:first)").remove();
		$("#cuselFrame-"+id+" .cuselText:first").html(def);	
		$("#cusel-scroll-"+id+" span:first").html(def).addClass("cuselActive");
	}
}

var hash = {
	set : function(hash){
		window.location.hash = hash; 
	},
	get : function(){
		hash = window.location.hash;
		hash = substr(1);
		return hash;
	},
	getValue : function(href){
		hash = href.substr(1);
		return hash;
	}
	
}

// Emulation target_blank
jQuery(document).ready(function(){
	    jQuery("._blank a").click(function(){
	        window.open(this.href);
	        return false;
	    });
	});	
	
// Last li bottom-menu without background
jQuery(document).ready(function(){
	    jQuery("ul.bottom-menu li:last").addClass("li-top-menu-last");
	});
	
// 01index.html - mouseover on two search-time-blocks
jQuery(document).ready(function(){
		jQuery(".search-time-place.time-place-passiv, .search-time-place.time-place-passiv *").mouseover(function() {
			jQuery(".search-time-place.time-place-passiv").addClass("time-place-passiv-hover");			
			jQuery(".search-time-place.time-place-passiv-hover").hover(
				function () {
					//...
				}, 
				function () {
					jQuery(this).removeClass("time-place-passiv-hover");
				}
			);
			jQuery(".search-time-place.time-place-passiv-hover *").hover(
				function () {
					//...
				}, 
				function () {
					jQuery(".search-time-place.time-place-passiv-hover").removeClass("time-place-passiv-hover");
				}
			);				
		});
	});
	
// 01index.html - change activ/passiv class on search-time-block
jQuery(document).ready(function(){
		jQuery('.search-time-place').bind('click', function() {
			jQuery(this).addClass("time-place-activ").removeClass("time-place-passiv").removeClass("time-place-passiv-hover").siblings(".search-time-place").removeClass("time-place-activ").addClass("time-place-passiv");
		});
	});

// 03inside.html - mouseover on car-select-box
jQuery(document).ready(function(){
	jQuery(".car-select-box").hover(function() {
		jQuery(this).find(".car-select-info.car-passiv").addClass("car-passiv-hover");			
	}, function(){
		jQuery(".car-select-info.car-passiv-hover").removeClass("car-passiv-hover");		
	});
});
	
$(function(){
	$('#carsListStep2 .car-select-box').click(function(){
		var el = $(this);
		var id = el.find('.car-select-info input:hidden:first').val();
		if(!el.find('.car-select-info').hasClass('car-activ')){
			el.find('.car-select-info').css({'position':'relative'}).append('<img class="loader" src="/media/img/ajax-loader.gif">');
			el.find('.car-select-info img').css({'position':'absolute', 'left':'83px', 'top':'47px'});
			$('#car-info').load('/book/item/'+id, {}, function(){
				$('.car-select-box .car-select-info').removeClass('car-activ').addClass('car-passiv');
				el.find('.car-select-info .loader').remove();
				el.find('.car-select-info').removeClass('car-passiv').addClass('car-activ');
				$(".car-select-info.car-passiv-hover").removeClass("car-passiv-hover");
			});
		}
		return false;
	});
	$('#carsListStep2 .car-select-box.request').unbind('click').fancybox({
		maxWidth: 700,
		maxHeight: 600,
		type: 'ajax',
		href: $('#linkStationPath').val()
	});
});	

// change icons in body-sort-block
jQuery(document).ready(function(){
	    jQuery(".body-sort01, .body-sort03, .body-sort02").click(function(){
	        jQuery(this).toggleClass("hover01");
			return false;
	    });
	});	
	
// change icons in gear-sort-block
jQuery(document).ready(function(){
	    jQuery(".gear-sort a").click(function(){
	        jQuery(this).toggleClass("hover01").siblings().toggleClass("hover01");
			return false;
	    });
	});
	
$(function(){
	$("a.p_show_all_info").click(function(){
        $(".show_all_info").toggle();
		return false;
    });
});

$(function(){
	if($('#formFindOrder').length){
		$('#formFindOrder').validate({
			showErrors: function(){},
			submitHandler: function(form) {
				var f = $(form).serializeArray();
				$.getJSON($(form).attr('action'), f, function(data){
					$('.pop_up_box').remove();
					if(data.success){
						location.href = '/order/view/'+data.success;
					}else{
						create_popap('Допущенны ошибки','Заказа с такими параметрами не найдено');
						$('.pop_up_box').delay(5000).fadeOut();
					}
				});
				return false;
			}
		});
	}
})

function create_popap(m,t){
   var str = '<div class="pop_up_box">'+
	'<p class="p_title">'+m+':</p>'+
	'<p>'+t+'</p>'+
        '<div class="pop_up_close">'+
            '<a href="#"><img src="/media/img/pop_up_close.gif" alt=""></a>'+
        '</div>'+
    '</div>';
    $('body').append(str);
    $(window).resize(function(){
        align_centr_popap($('.pop_up_box:first'), 0);
    }).scroll(function(){
        align_centr_popap($('.pop_up_box:first'), $(document).scrollTop());
    });
    $('.pop_up_close').click(function(){
        $(this).parents('.pop_up_box:first').hide();
        return false;
    });
    align_centr_popap($('.pop_up_box:first'), $(document).scrollTop());
}

$(function(){
	jQuery.ajaxSetup({ 
  		'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript");} 
	});
	
	$('#scity').change(function(){
		$.getJSON('/ajax/station/'+$(this).val(), {}, function(data){
			select.update(data, 'Выберите станцию', 'sstation');
			select.setValue($('#cuselFrame-scity .cuselText:first').html(), 'ecity');
			select.update(data, 'Выберите станцию', 'estation');
		});
	});
	
	$('#sstation').change(function(){
		select.setValue($('#cuselFrame-sstation .cuselText:first').html(), 'estation');		
	})
	
	$('#ecity').change(function(){
		$.getJSON('/ajax/station/'+$(this).val(), {}, function(data){
			select.update(data, 'Выберите станцию', 'estation');
		});	
	});
	
	if($('#datepicker1').length){
		var dates = $("#datepicker1, #datepicker2").datepicker({
			showOn: 'button',
			buttonImage: '/media/components/datepicer_overcast/images/calendar.gif',
			buttonImageOnly: true,
			numberOfMonths: 2,
			minDate : new Date(),
			showOn: 'both',
			onSelect: function(selectedDate) {
				var option = this.id == 'datepicker1' ? 'minDate' : 'maxDate';
				instance = $( this ).data( "datepicker" );
				date = $.datepicker.parseDate(
					instance.settings.dateFormat || $.datepicker._defaults.dateFormat,
					selectedDate, instance.settings );
				dates.not(this).datepicker( "option", option, date );
			}
		});
	}	
	$('#ui-datepicker-div').hide();
});	

$(function(){
	$('.password').focus(function(){
		if($(this).val() == '??????') $(this).val('');
	}).blur(function(){
		if($(this).val() == '') $(this).val('??????');
	});
});

$(function(){
	$('#parkCityList a').click(function(){
		if(!$(this).hasClass('a_sellected')){
			var id = ($(this).attr('href')).substr(1);
			get_list_station(id, $(this));
		}
		return false;
	});

});

function parse_str(str){
	var pattern = new RegExp("/([^=]+)=([^&]+)/", "gi")
	return str.match(pattern);

}

$(function(){
	$('.pop_up_close').click(function(){
		$(this).parents('.pop_up_box:first').hide();
		return false;
	});
});

$(function(){
	$(window).resize(function(){
		align_centr_popap($('.pop_up_box:first'), 0);
	}).scroll(function(){
		align_centr_popap($('.pop_up_box:first'), $(document).scrollTop());
	});
	align_centr_popap($('.pop_up_box:first'), 0);
	$('.pop_up_box').delay(5000).fadeOut();
});

$(function(){
	$('#arend').change(function(){
		if($(this).attr('checked')) $('#submitBooking').removeClass('disabled').removeAttr('disabled');
		else $('#submitBooking').addClass('disabled').attr('disabled', 'disabled');
	});
});

function get_info_station(id, el){
	$('#parkStationInfo').load('/station_park/info/'+id, {}, function(){
		$('#parkStationList a').removeClass('a_sellected');
		el.addClass('a_sellected');
		$('#parkListCars').load('/station_park/cars/'+id);
	});
}

function get_list_station(id, el){
	$('#parkStationList').load('/station_park/station/'+id, {}, function(){
		$('#parkCityList a').removeClass('a_sellected');
		el.addClass('a_sellected');
		var id = ($('#parkStationList a:first').attr('href')).substr(1);
		get_info_station(id, $('#parkStationList a:first'));
	});
}

$(function(){
	$('#capchaRefrash').click(function(){
		var src = '/captcha/default?'+Math.random()*111;
		$('img.captcha:first').attr('src', src);
		return false;
	});
});

function changeOption(){
	var cars = parseInt($('#cars_price').val());
	$('#optionList input:checkbox').each(function(){
		var id = $(this).val();
		var count = 1;
		if($('#optionCount'+id).length) count = parseInt($('#optionCount'+id).val());
		var price = parseInt($('#optionPrice'+id).val());
		if(this.checked) cars += count*price;
		$('#fullCost').html(number_format(cars, 0, '', ' ')+' <span>руб.</span>');
	});
}

function number_format (number, decimals, dec_point, thousands_sep) {
    number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
    var n = !isFinite(+number) ? 0 : +number,
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
}

function align_centr_popap(obj, pos){
	var w = parseInt($(window).width());
	var h = parseInt($(window).height());
	var w1 = parseInt($(obj).width());
	var h1 = parseInt($(obj).height());
	var l = (w-w1)/2;
	var t = (h-h1)/2+pos;
	$(obj).css({top:t, left:l});
}

var map;
var infowindow;

function sitemap(lat, lng, str) {
    var latlng = new google.maps.LatLng(lat, lng);
    var myOptions = {
      zoom: 13,
      center: latlng,
      disableDefaultUI: false,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    infowindow = new google.maps.InfoWindow();
    var marker = new google.maps.Marker({
        position: latlng, 
        map: map,
        title: str
    });
    google.maps.event.addListener(marker, 'click', function(){
		infowindow.setPosition(latlng);
		infowindow.setContent(str);
		infowindow.open(map);
	});
}

function change_cars(id){
	$('#FormSend').attr('action', '/book/step1?car='+id);
	document.getElementById('FormSend').submit();
	return false;
}

$(function(){
	$('#rules').fancybox({
		type: 'ajax',
		maxWidth: 700,
		maxHeight: 600,
		afterShow: function(){
			$('.fancybox-inner').wrapInner('<div class="fancybox-conteiner" />');
		}
	});
});

$(function(){
	$('#panner-box a').fancybox({
		type: 'ajax',
		beforeShow: function(){
			$('#panner-box').cycle('pause');
		},
		afterClose: function(){
			$('#panner-box').cycle('resume');
		} 
	});
});

