// *** mdlSpoil ***
var mdlSpoilInit = function()
{
	$('.mdlSpoil h2 a').click(
		function()
		{
			var spoil = $(this).closest('.mdlSpoil');
			var fxCompleteHandler = function(){ spoil.toggleClass('prmSpoilOpen'); };
			spoil.find('.body').slideToggle('fast', fxCompleteHandler);
			return false;
		});
};


// *** mdlSelector ***
var mdlSelectorInit = function()
{
	var mark = $('.mdlSelector select[name="mark"]');
	var model = $('.mdlSelector select[name="model"]');
	var year = $('.mdlSelector select[name="year"]');
	var modelDef = '<option value="">Выберите модель</option>';
	var yearDef = '<option value="">Выберите год</option>';
	
	var markChangeHandler = function()
	{
		var v = $(this).val();
		if(v)
		{
			year.html(yearDef).attr('disabled', 1);
			$.post('/modules/mdlSelector.html?act=models', {'mark': v},
				function(data)
				{
					model.html(modelDef+data).attr('disabled', 0);
				});
		}
		else
		{
			model.html(modelDef).attr('disabled', 1);
			year.html(yearDef).attr('disabled', 1);
		}
	};
	
	var modelChangeHandler = function()
	{
		var v = $(this).val();
		if(v)
		{
			$.post('/modules/mdlSelector.html?act=years', {'mark': mark.val(), 'model': v},
				function(data)
				{
					year.html(yearDef+data).attr('disabled', 0);
				});
		}
		else year.html(yearDef).attr('disabled', 1);
	}
	
	mark.change(markChangeHandler);
	model.change(modelChangeHandler);
	
	// article
	var article = $('.mdlSelector input[name="article"]');
	var articleDef = 'Искать по коду';
	var articleFocusHandler = function(e){ if(this.value==articleDef) this.value = ''; };
	var articleBlurHandler = function(e){ if(this.value=='') this.value = articleDef; };
	article.focus(articleFocusHandler);
	article.blur(articleBlurHandler);
	article.blur();
	
	// submit
	var mdlSelectorSubmitHandler = function(e)
	{
		if(this.article.value==articleDef) this.article.value='';
		var addParams = $('.mdlSelector .addParams');
		if(addParams.css('display')=='none') addParams.remove();
	};
	$('.mdlSelector form').submit(mdlSelectorSubmitHandler);
};


// *** mdlCartOrder ***
var mdlCartOrderInit = function()
{
	var itog = $('.mdlCartOrder .itog');
	var startVal = parseFloat(itog.html());
	var deliveryClickHandler = function(){ itog.html(startVal + parseFloat($(this).attr('rel'))); };
	$('.mdlCartOrder input:radio').click(deliveryClickHandler);
};


// *** mdlTabs ***
var mdlTabsInit = function()
{
	var mdlTabsClickHandler = function()
	{
		$('.mdlTabs span').removeClass('act');
		$(this).find('span').addClass('act');
		$('.prmTabsCntAct').slideToggle().removeClass('prmTabsCntAct');
		$('#'+this.id+'_cnt').slideToggle().addClass('prmTabsCntAct');
		return false;
	};
	
	$('.mdlTabs a').click(mdlTabsClickHandler);
};


// *** darkbox ***
var darkbox_cb = function()
{
	var link = $(this);		
	if(!$('div.darkbox-frame').length) {					
		darkbox = $('<div class="darkbox-frame"><div class="darkbox-shadow"></div><div class="darkbox-canvas"><div class="darkbox-button"></div></div></div>').appendTo('body');
	}
	var frame = darkbox.clone().appendTo('body').addClass('darkbox-frame-on');
	var shadow = frame.find('div.darkbox-shadow').animate({opacity:0.6},300);
	var canvas = frame.find('div.darkbox-canvas');
	var button = frame.find('div.darkbox-button');
	var image = $('<img src="'+ link.attr('href') +'" alt="'+ link.attr('title') +'"/>');

	image.appendTo(canvas);
	var protect = $('<img class="protect" src="/public/images/blank.gif" alt=""/>');
	protect.appendTo(canvas);
	image.load(function(){

		var imageWidth = image.width();
		protect.width(imageWidth);
		var imageHeight = image.height();
		protect.height(imageHeight);
		protect.css('marginTop', '-'+imageHeight+'px');
		var frameWidth = frame.width()-40;
		var frameHeight = frame.height()-40;

		if(imageWidth > frameWidth) {
			imageWidth = frameWidth;
			image.width(imageWidth);
			protect.width(imageWidth);
			while(image.height() > frameHeight) {
				image.width(imageWidth);
				protect.width(imageWidth);
				imageWidth--;
			}

			imageHeight = image.height();
		}

		if(imageHeight > frameHeight) {
			imageHeight = frameHeight;
			image.height(imageHeight);
			protect.height(imageHeight);
			protect.css('marginTop', '-'+imageHeight+'px');
			while(image.width() > frameWidth) {
				image.height(imageHeight);
				protect.height(imageHeight);
				protect.css('marginTop', '-'+imageHeight+'px');
				imageHeight--;
			}

			imageWidth = image.width();
		}

		canvas.addClass('darkbox-canvas-load').animate({
			width:imageWidth,
			marginLeft:-imageWidth/2,
			height:imageHeight,
			marginTop:-imageHeight/2
		},500,function() {
			canvas.addClass('darkbox-canvas-done');
			button.addClass('darkbox-button-on');
			button.addClass(navigator.platform.toLowerCase().indexOf('mac')+1?'darkbox-button-left':'darkbox-button-right');

			image.animate({opacity:1},500,function() {
				shadow.click(closer);
				button.click(closer);
			});
		});
	});

	var closer = function() {
		canvas.remove();
		shadow.animate({opacity:0},300,function() {
			frame.remove();
		});
	}

	$(document).keydown(function(e) {
		if(e.which==27) closer();
	});

	return false;
};


// add to cart
var addToCart = function(elem)
{
	var p = $(elem).parent().append('Добавление...');
	
	$.post(elem.href, false, function(data){ p.html(data); });
	return false;
};


// *** init ***
$(function()
{
	mdlSpoilInit();
	mdlSelectorInit();
	mdlCartOrderInit();
	mdlTabsInit();
	$('a.darkbox').click(darkbox_cb);
	$("a[rel='addPhoto']").colorbox({transition:"fade"});
});

swfobject.embedSWF('/public/flash/swfIndex.swf', 'swfIndex', '695', '95', '9.0.0', '/public/flash/expressInstall.swf', false, {wmode: 'opaque'});
