jQuery.noConflict();


jQuery(document).ready(function(){
	jQuery('#menu-top>li:last').addClass('last');
	jQuery('#menu-top > li').each(function(){

	});
	jQuery('#menu-top > li').hover(
		function() {showMenu(this);}
		,
		function() {hideMenu(this);}
	);

	jQuery('#srch-btn').click(function(){
		if (jQuery('#srch-input').val()=='') {return false;}
	});

	jQuery('.srch-btn').click(function(){
		if (jQuery('.srch-input').val()=='') {return false;}
	});

	jQuery("#subscr-btn").get(0).disabled = false;
	jQuery("#subscribe_alert a.close").click(function(){
		jQuery("#subscribe_alert").animate({
			opacity: 0,
			marginTop: -20
		}, function(){
			jQuery("#subscribe_alert").css({
				display: 'none'
			});
		});
	});
	jQuery("#subscr-btn").click(function(){
		var btn = jQuery("#subscr-btn");
		btn.get(0).disabled = true;
		if(
			!/^[a-zA-Z0-9][a-zA-Z0-9\.\-_]+\@[a-zA-Z0-9\-\.]{2,}\.[a-zA-Z]{2,4}/.test(jQuery("#subscr-input").val())
		)
		{
			subscribe_alert('Error', 'Please, double check your email, it is incorrect');
			btn.get(0).disabled = false;
			return false;
		}
		jQuery.ajax({
			type: 'post',
			url: '/subscribe/a.php',
			dataType: 'json',
			cache: false,
			data: {
				e: jQuery("#subscr-input").val()
			},
			success: function(data, textStatus, jqXHR) {
				var btn = jQuery("#subscr-btn");
				if(data && data.success)
				{
					btn.get(0).disabled = false;
					subscribe_alert('Thank you', 'Thank you for subscription');
					jQuery("#subscr-input").val('');
				}
				else if(data && data.success == false)
				{
					subscribe_alert('Error', data.error);
					btn.get(0).disabled = false;
					jQuery("#subscr-input").focus();
				}
				else
				{
					subscribe_alert('Error', 'Sorry, undefined error has occured, please try again later');
					btn.get(0).disabled = false;
					jQuery("#subscr-input").focus();
				}
			}
		});
	});

/*
		jQuery("#subscr-input").css({
			border: '1px solid red'
		});
		setTimeout
*/
});

function subscribe_alert(header, text)
{
	jQuery("#subscribe_alert").css({
		display: 'block',
		opacity: 0,
		marginTop: 0
	});
	jQuery("#subscribe_alert .cont b").html(header);
	jQuery("#subscribe_alert .cont p").html(text);
	jQuery("#subscribe_alert").animate({
		opacity: 1,
		marginTop: -85
	});
}

function showMenu(sel)
{
		var a = jQuery(sel).find('a')[0];
		jQuery(a).css({
			backgroundColor: '#40AEF5',
		    color: '#FFFFFF'
		});
		var childeUl = jQuery(sel).children('ul');
		if(childeUl.is('ul'))
		{
			if(childeUl.is(':animated')) childeUl.stop();
			childeUl.css('display','block');

			childeUl.animate({opacity: 1}, 'fast', function(){
				 if(jQuery.browser.msie) {
					this.style.removeAttribute('filter');
				 }
			});
			/*var contPosition = jQuery('#menu-top').position();
			var contWidth = jQuery('#menu-top').outerWidth();
			var elementWidth = childeUl.outerWidth();
			var elementPosition = childeUl.position();
			//alert(contWidth+contPosition.left);
			if(elementPosition.left+elementWidth>contWidth+contPosition.left)
			{
				var elementLiWidth = jQuery(sel).outerWidth();
				childeUl.css({'left': elementPosition.left-(elementWidth-elementLiWidth)});
			}*/
			var itemPos = jQuery(sel).position();
			childeUl.css({'left': itemPos.left - 1});
		}
}
function hideMenu(sel)
{
		var a = jQuery(sel).find('a')[0];
		jQuery(a).css({
			backgroundColor: 'transparent',
		    color: jQuery(a).hasClass('active') ? '#40AEF5' : '#F47D31'
		});
		var childeUl = jQuery(sel).children('ul');
		if(childeUl.is('ul'))
		{
			if(childeUl.is(':animated')) childeUl.stop();
			childeUl.animate({opacity: 0}, 'fast', '', function(){
				childeUl.css('display','none');
			});
		}
}

var main_page_slider = false;
var main_page_slider_scroll = false;
var main_page_slider_scroll_timer;
jQuery(document).ready(function(){

	var $product_lister = jQuery("#product-slider-container");
	$product_lister.bind("mouseenter", function(){
		if(main_page_slider_scroll) return;
		main_page_slider_scroll_timer = setTimeout(function(){
			main_page_slider_scroll = true;
			main_page_slider_scroll_timer = false;
		}, 500);
	});
	$product_lister.bind("mouseleave", function(){
		if(main_page_slider_scroll_timer === false)
		{
			main_page_slider_scroll = false;
		}
		else
		{
			clearTimeout(main_page_slider_scroll_timer);
			main_page_slider_scroll = false;
		}
	});
	$product_lister.mousewheel(function(e, d){
		if(main_page_slider_scroll)
		{
			if(d > 0) jQuery('#product-slider-next').click();
			else jQuery('#product-slider-prev').click();
			e.stopPropagation();
			return false;
		}
	});


	jQuery('#product-slider-next').click(function(){
		if(!main_page_slider)
		{
			if(jQuery(this).parent().attr('id') == 'product-slider-side') on_page = 1;
			else on_page = 3;
			main_page_slider_init(on_page);
		}
		if(main_page_slider.animation) return false;
		main_page_slider.animation = true;
		var next_step = 1;
		if(main_page_slider.curr_step == (main_page_slider.steps.length - 1))
		{
			jQuery('#product-slider-container ul').css({
				marginLeft: '-' + main_page_slider.steps[0] + 'px'
			});
			next_step = 1;
		}
		else next_step = main_page_slider.curr_step + 1;

		main_page_slider.curr_step = next_step;

		jQuery('#product-slider-container ul').animate({marginLeft: '-' + main_page_slider.steps[next_step] + 'px'}, 600, function(){
			main_page_slider.animation = false;
		});
		return false;
	});

	jQuery('#product-slider-prev').click(function(){
		if(!main_page_slider)
		{
			if(jQuery(this).parent().attr('id') == 'product-slider-side') on_page = 1;
			else on_page = 3;
			main_page_slider_init(on_page);
		}
		if(main_page_slider.animation) return false;
		main_page_slider.animation = true;
		if(main_page_slider.curr_step == 0)
		{
			jQuery('#product-slider-container ul').css({
				marginLeft: '-' + main_page_slider.steps[main_page_slider.steps.length - 1] + 'px'
			});
			next_step = main_page_slider.steps.length - 2;
		}
		else next_step = main_page_slider.curr_step - 1;

		main_page_slider.curr_step = next_step;

		jQuery('#product-slider-container ul').animate({marginLeft: '-' + main_page_slider.steps[next_step] + 'px'}, 600, function(){
			main_page_slider.animation = false;
		});
		return false;
	});

	jQuery('#uv-index-btn-in-content').click(function(){
		UV.get(jQuery(this), jQuery("#uv-index-input-in-content").val());
	});
});

function main_page_slider_init(on_page)
{
	var $lis = jQuery('#product-slider-container ul li');
	var cloned = false;
	var lilength = $lis.length;
	if(lilength > on_page + 1)
	{
		cloned = true;
		for(var i = 0; i < on_page + (lilength % on_page); i++)
		{
			jQuery($lis[i]).clone().appendTo(jQuery('#product-slider-container ul'));
		}
	}

	$lis = jQuery('#product-slider-container ul li');

	var page, pages = Math.ceil($lis.length / on_page);
	var steps = [0], offset = 0;
	var to = $lis.length;
	for(var i = 0; i < to; i++)
	{
		page = Math.ceil( (i + 1) / on_page );
		if(page == pages) break;
		if(!steps[page]) steps[page] = 0;
		offset += $lis.outerWidth();
		steps[page] = offset;
	}

/*
	if(cloned)
	{
		cloned = steps[steps.length - 1];
		delete steps[steps.length - 1]
	}
*/

	main_page_slider = {
		curr_step: 0,
		steps: steps,
		animation: false,
		cloned: cloned
	};

}


var UV = {
	cache: {},
	get: function ($button, state) {
		$button.get(0).disabled = true;
		if(!/^[0-9]{5,7}$/.test(state))
		{
			UV.error('Incorrect zip code', $button);
			return false;
		}
		var scope = {
			button: $button,
			state: state
		};
		jQuery.ajax({
			url: '/a/',
			context: scope,
			type: 'post',
			data: {state: state},
			cache: true,
			dataType: 'json',
			success: UV.success,
			error: function(jqXHR, textStatus, errorThrown){
				UV.error(textStatus, this.button);
			}
		});
	},
	success: function (result) {
		if(result.success)
		{
			var UVInd = result.data.dayList[0].index;
			UV.cache[this.state] = UVInd;
			var dt = new Date(parseInt(result.data.dayList[0].dateTime));
			jQuery('#uv-index-result-image').attr('src', '/images/uv-index-' + UVInd + '.jpg');
			this.button.get(0).disabled = false;
			UV.setDate(dt);
		}
		else
		{
			UV.error(result.error_code, this.button);
		}
	},
	error: function(error, button) {
		var error_msg, error_code, error_function = function(){};
		if(/^[\-0-9]{2,}$/.test(error))
		{
			error_code = error * 1;
			switch(error_code)
			{
				case -1:
				case -2:
					error_msg = 'Please double check your state zip code';
					error_function = function(){
						jQuery('#uv-index-input-in-content').focus();
					};
				break;
				default:
					error_msg = 'Service is currently unavailable, please try again later';
					error_function = function(){};
				break;
			}
		}
		else
		{
			error_msg = error;
		}
		alert(error_msg);
		button.get(0).disabled = false;
		error_function();
	},
	weekdays: [
		'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
	],
	months: [
		'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'
	],
	setDate: function (dt) {
		jQuery('#uv-index-result-date').html('<span>Date:</span> ' + UV.weekdays[dt.getDay()] + ' , ' + UV.months[dt.getMonth()] + ' ' + dt.getDate() + ', ' + dt.getFullYear());
	},
	submitter: function () {
		if (jQuery('#uv-index-input').val() <= 0 || !/^[0-9]{5,7}$/.test(jQuery('#uv-index-input').val()))
		{
			alert('Incorrect zip code');
			jQuery('#uv-index-input').focus();
			return false;
		}
	}

};

var Al_Service_Info = {
	dont: 0,
	current: false,
	services: [],
	services_j: []
};

jQuery(function(){

	Al_Service_Info.services = jQuery("div.faq div.faq-cont");
	Al_Service_Info.services_j = [];
	for(var i = 0, to = Al_Service_Info.services.size(); i < to; i++)
	{
		Al_Service_Info.services_j.push(jQuery(Al_Service_Info.services.get(i)));
		jQuery(Al_Service_Info.services.get(i)).attr('num', i);
	}


	jQuery('div.faq div.faq-cont').css({display: 'none'});
	jQuery('div.faq div.faq-head').click(function(){
		if(Al_Service_Info.dont > 0) return false;
		t = jQuery(this);

		var current = t.next().attr('num');

		if(Al_Service_Info.current !== false)
		{
			closeFAQ(
				jQuery(Al_Service_Info.services.get(Al_Service_Info.current))
			);
		}
		if(Al_Service_Info.current === false || Al_Service_Info.current != current)
		{
			openFAQ(
				jQuery(Al_Service_Info.services.get(current))
			);
			Al_Service_Info.current = current;
		}
		else Al_Service_Info.current = false;

		return false;
	})
});

function closeFAQ($div)
{
	var $sc = $div;//.next();
	serv_height = $sc.height();
	serv_time = serv_height * 2.4;
	Al_Service_Info.dont++;

	t = $div.prev();

	$sc.slideUp(serv_time, (function(t){
		return function()
		{
			Al_Service_Info.dont--;
			t.removeClass('active');
		}
	})(t));
	//alert(serv_height);
}

function openFAQ($div)
{
	var $sc = $div;//.next();
	$sc.css({display: 'block'});
	serv_height = $sc.height();
	$sc.css({display: 'none'});

	serv_time = serv_height * 2.4;
	Al_Service_Info.dont++;

	t = $div.prev();

	$sc.css({display:'block', height: 0}).animate({height:serv_height}, serv_time, (function(t){
		return function()
		{
			Al_Service_Info.dont--;
			t.addClass('active');
		}
	})(t));

	//alert(serv_height);
}
