$(function() {
	$('a.darkbox').click(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);
		image.load(function(){

			var imageWidth = image.width();
			var imageHeight = image.height();
			var frameWidth = frame.width()-40;
			var frameHeight = frame.height()-40;

			if(imageWidth > frameWidth) {
				imageWidth = frameWidth;
				image.width(imageWidth);					
				while(image.height() > frameHeight) {
					image.width(imageWidth);
					imageWidth--;
				}

				imageHeight = image.height();
			}

			if(imageHeight > frameHeight) {
				imageHeight = frameHeight;
				image.height(imageHeight);						
				while(image.width() > frameWidth) {
					image.height(imageHeight);
					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;
	});
});

$(function()
{
	swfobject.embedSWF('/public/flash/flash.swf', 'swfTop', '342', '287', '8.0.0', '/public/flash/expressInstall.swf', false, {wmode: 'opaque'});
	$('.prev').click(niPrev);
	$('.next').click(niNext);
	$('.mdlCatalog .item .img img[name]').each(
		function()
		{
			var obj=this;
			var img=new Image(); img.src=this.name;
			$(this.parentNode).find('.ramka').hover(
				function(){ obj.back=obj.src; obj.src=obj.name; },
				function(){ obj.src=obj.back; });
		});
	$('a[rel="jsWin"]').click(function(){ loadModel(this); return false; });
});

var showMsg=function(str)
{
	return $('<div class="content"><p style="text-align: center; padding: 50px 10px 0px 10px;">'+str+'</p></div>')
		.dialog({ width: 170, show: 'puff', modal: true, close: function(){ $(this).remove(); $('.ui-effects-wrapper').remove(); } });
};

var loadBuket=function(elem, url, w, h)
{
	var ldr=showMsg('Загрузка...');
	var win=$('<div></div>');
	$.post(elem.href, false,
			function(data){
				ldr.remove();
				win.html(data);
				win.dialog({ width: 495, modal: true, show: 'clip', hide: 'clip', close: function(){ $(this).remove();  $('.ui-effects-wrapper').remove(); } })
				swfobject.embedSWF(url, 'swfBuket', w, h, '8.0.0', '/public/flash/expressInstall.swf', false, {wmode: 'opaque'});
			});
	return false;
};

var loadModel=function(elem)
{
	var ldr=showMsg('Загрузка...');
	var win=$('<div></div>');
	$.post(elem.href, false,
			function(data){
				ldr.remove();
				win.html(data);
				win.dialog({ width: 495, modal: true, show: 'clip', hide: 'clip', close: function(){ $(this).remove();  $('.ui-effects-wrapper').remove(); } })
			});
	return false;
};

var setPhoto=function(src, elem)
{
	$('.ui-dialog .big img').attr('src', src);
	$('.ui-dialog .photos .ramka').remove();
	$(elem.parentNode).append('<div class="ramka"></div>');
};

var addToCart=function(pId)
{
	var add=showMsg('Добавление...');
	$.post('/cart/?act=add&template=82&pId='+pId, false,
		function(){ add.remove(); showMsg('Товар добавлен в корзину!<br/><a href="/cart/">Перейти к оформлению&gt;&gt;</a>'); });
	return false;
};

var niPrev=function(e)
{
	e.preventDefault();
	var row=this.id.substr(4, 1);
	var belt=$('.mdlCatalog .belt .i'+row);
	var cur=belt.scrollLeft();
	var w=belt.find('.item').outerWidth();
	if(belt.get(0).cur==undefined) belt.get(0).cur=cur;
	if(belt.get(0).cur-w >= 0) belt.get(0).cur-=w;
	belt.stop();
	belt.animate({scrollLeft: belt.get(0).cur}, 500);
};

var niNext=function(e)
{
	e.preventDefault();
	var row=this.id.substr(4, 1);
	var belt=$('.mdlCatalog .belt .i'+row);
	var cur=belt.scrollLeft();
	var w=belt.find('.item').outerWidth();
	if(belt.get(0).cur==undefined) belt.get(0).cur=cur;
	if(belt.get(0).cur <= belt.get(0).scrollWidth - belt.width()) belt.get(0).cur+=w;
	belt.stop();
	belt.animate({scrollLeft: belt.get(0).cur}, 500);
};

var niZoomIn=function()
{
	$('.ui-dialog .big img').css({'width' : 'auto'});
	
	$('.ui-dialog .big .ramka').draggable({ appendTo: $('.ui-dialog .big'),
		start: function(evt, ui)
		{
			var cleft=parseInt($('.ui-dialog .big img').css('left'));
			var ctop=parseInt($('.ui-dialog .big img').css('top'));
			this.initPos={left: cleft, top: ctop};
		},
		drag: function(evt, ui)
		{
			var cleft = this.initPos.left + ui.position.left;
			var ctop = this.initPos.top + ui.position.top;
			$('.ui-dialog .big img').css({position: 'relative', left: cleft+'px', top: ctop+'px'});
			ui.position.left=0; ui.position.top=0;
		} });
};

var niZoomOut=function()
{
	$('.ui-dialog .big img').css({width : '287px', left: '4px', top: '3px'});
	$('.ui-dialog .big .ramka').draggable('destroy');
};
