$(function(){
	jQuery.fn.exists = function(){ return jQuery(this).length > 0; }
	jQuery.fn.isValidEmail = function(){
		return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]*\.)+[a-z]{2,6}$/i).test(jQuery(this).val());
	}

	// Opening external links
	$('a[rel*=external]').attr('target','_blank');

	// search
	var cache = {},
		lastXhr;
	$("#search_text").autocomplete({
		minLength: 2,
		source: function( request, response ) {
			var term = request.term;
			if ( term in cache ) {
				response( cache[ term ] );
				return;
			}

			lastXhr = $.getJSON( "/search.php", request, function( data, status, xhr ) {
				cache[ term ] = data;
				if ( xhr === lastXhr ) {
					response( data );
				}
			});
		}
	});

	// custom selects
	if ($('.selects_wrap').exists()) {
		$('.selects_wrap').jqTransform({imgPath:'images'});
	}

	$('.spec_content .next p:last-child').css('padding-bottom','0px');

	if ($('.widget_size ul li').length > 1) {
		$('.widget_size ul li:even').addClass('alt');
	}

	// buttons hover effect
	$('.button, .button2, .button3').hover(function(){
		$(this).addClass('hover');
	}, function(){
		$(this).removeClass('hover');
	});


	// main menu
	var serach_but_w = $('#main_nav .search .submit').width() + 15;
	$('#main_nav .search').css('padding-right', serach_but_w);


	$('#main_nav ul li').has('ul').addClass('sub');
	$('#main_nav li.sub > a span, #main_nav .lv2 li a.active span').wrapInner('<em />');

	$('#main_nav ul > li.sub').each(function(){
		if($(this).hasClass('open')) {
			$(this).find('ul.lv2').show()
		}
	})


	// menu margins
	if ($('#main_nav ul > li').hasClass('open')) {
		$('#main_nav').removeClass('min')
	} else {
		$('#main_nav').addClass('min')
	}

	$('#main_nav ul li.sub > a').not('#main_nav ul li.sub ul li a').each(function(){
		$(this).click(function(){
			$('#main_nav ul li.sub > ul.lv2').slideUp('fast');
			$('#main_nav ul li.sub > a').removeClass('active')
			$('#main_nav ul li.sub > a').parent().removeClass('open')
			if($(this).parent().find('.lv2').is(':hidden') == true) {
				$(this).addClass('active').parent().addClass('open').find('.lv2').slideDown('fast')
			} else{
				$(this).removeClass('active').parent().removeClass('open').find('.lv2').slideUp('fast')
			}
			return false;
		})
	})

	$('#main_nav ul.lv2 > li.sub').each(function(){
		$(this).hover(function(){
			if($(this).find('.lv3').is(':hidden') == true) {
				$(this).find('.lv3').show()
			} else{
				$(this).find('.lv3').hide()
			}
		})
	})

	// two lines text
	$('.lv3 li').each(function(index) {
		if ($(this).text().length > 31) {			$(this).addClass('two');
		}
	});


	$("#main_nav .lv1 li .lv2 li:contains('Вся продукция'), #main_nav .lv1 li .lv2 li:contains('All products')").addClass('float');
	$('#main_nav .lv1 li .lv2 > li.sub').hover(function(){$(this).addClass('hover')}, function(){$(this).removeClass('hover')});


	$('a[rel=fb_gallery], a[rel=fb_youtube]').hover(function(){
		$(this).find('img').fadeTo(200, 0.7);
	}, function(){
		$(this).find('img').fadeTo(200, 1);
	});

	var width_h2 = $('.home_page .row2 .widget_gurman_club h2 span').width() + 5;
	$('.home_page .row2 .widget_gurman_club h2').css('background-position',  width_h2+'px 20px');

	// box new delivery (main page)
	if ($('.home_page .row1 .widget_action .specials .date').exists()) {
		var text_date = $('.home_page .row1 .widget_action .specials .date').html();
		var text_cat  = $('.home_page .row1 .widget_action .specials .catalogue').html();

		$('.home_page .row1 .widget_action a.specials .txt, .home_page .row1 .widget_action a.specials .date').hover(function(){
			$('.home_page .row1 .widget_action a.specials').css('background-position','0 0');
			$('.home_page .row1 .widget_action .specials .date').addClass('date2').html(text_cat);
		}, function(){
			$('.home_page .row1 .widget_action a.specials').css('background-position','0 -153px');
			$('.home_page .row1 .widget_action .specials .date').removeClass('date2').html(text_date);
		});
	}
});


$(document).ready(function() {
	// AJAX Subscribe Form
	$("#ajax_subscribe").bind("submit", function() {
		$.ajax({
			type	: "POST",
			cache	: false,
			url		: "/ajax/subscribe/",
			data	: $(this).serializeArray(),
			success	: function(data) {
				if (data == 'OK') {
					$(".widget_subscribe .form").hide();
					$(".widget_subscribe .message .server").hide();
					$(".widget_subscribe .message .success").show();
				} else {
					$(".widget_subscribe .message .success").hide();
					$(".widget_subscribe .message .server").html(data);
				}

				$(".widget_subscribe .message").show();
			}
		});

		return false;
	});

	// AJAX Feedback Form
	$("#ajax_feedback").bind("submit", function() {
		$.ajax({
			type	: "POST",
			cache	: false,
			url		: "/ajax/feedback/",
			data	: $(this).serializeArray(),
			success	: function(data) {
				if (data == 'OK') {
					$(".widget_feedback .form").hide();
					$(".widget_feedback .message .server").hide();
					$(".widget_feedback .message .success").show();
				} else {
					$(".widget_feedback .message .success").hide();
					$(".widget_feedback .message .server").html(data);
				}

				$(".widget_feedback .message").show();
			}
		});

		return false;
	});

	// FancyBox Question Modal Form
	$("#question_form").bind("submit", function() {
		var isError = false;

		if ($("#question_name").val().length < 2 || $("#question_contact").val().length < 6 || $("#question_text").val().length < 10) {
			isError = true; $("#err_question_fields").show();
		} else {
			$("#err_question_fields").hide();
		}

		if (isError) {
			$("#err_question").show();
			$.fancybox.resize();
			return false;
		} else {
			$("#err_question").hide();
			$.fancybox.resize();
		}

		$.fancybox.showActivity();

		$.ajax({
			type	: "POST",
			cache	: false,
			url		: "/ajax/question/",
			data	: $(this).serializeArray(),
			success: function(data) {
				$.fancybox(data, {
				//	'padding' : 0,
					'showCloseButton' : false,
				//	'hideOnContentClick' : true
				});
			}
		});

		return false;
	});

	// FancyBox Question Modal Form (button)
	if ($(".btn_question").exists()) {
		$(".btn_question").fancybox({
			'href'				: '#question',
			'titlePosition'		: 'inside',
			'transitionIn'		: 'fade',
			'transitionOut'		: 'fade',
			//'padding'			: 0,
			'overlayOpacity'	: 0.5,
			'overlayColor'		: '#000'
		});
	}

	// FancyBox Image Zoom
	if ($("a.fb_zoom").exists()) {
		$("a.fb_zoom").fancybox({
		//	'centerOnScroll'     : true,
			'showNavArrows'      : true,
			'hideOnContentClick' : false,
			'transitionIn'       : 'elastic',
			'transitionOut'      : 'elastic',
			'overlayOpacity'     : 0.5,
			'overlayColor'       : '#000'
		});
	}

	// FancyBox Image Gallery
	if ($("a[rel=fb_gallery]").exists()) {
		$("a[rel=fb_gallery]").fancybox({
		//	'centerOnScroll'     : true,
			'showNavArrows'      : true,
			'hideOnContentClick' : false,
			'transitionIn'       : 'elastic',
			'transitionOut'      : 'elastic',
			'overlayOpacity'     : 0.5,
			'overlayColor'       : '#000'
		});
	}

	// FancyBox YouTube Video
	if ($("a[rel=fb_youtube]").exists()) {
		$("a[rel=fb_youtube]").click(function() {
			$.fancybox({
				'padding'        : 0,
				'autoScale'      : false,
				'transitionIn'   : 'elastic',
				'transitionOut'  : 'fade',
				'title'          : this.title,
				'overlayOpacity' : 0.75,
				'overlayColor'   : '#000',
				'width'          : 640,
				'height'         : 385,
				'href'           : this.href = this.href.replace(new RegExp("watch\\?v=", "i"), 'v/') + '&autoplay=1',
				'type'           : 'swf',
				'swf'            : {'allowfullscreen':'true', 'wmode':'transparent'}
			});

			return false;
		});
	}
});


// disable contextmenu for IE
// document.oncontextmenu = new Function("return false");

