var elements = new Array();



$(document).ready(function(){





/*	$(".catalog-prew a").bind("click", function(){

		open($(this));

		return false;

	});*/





	var i = 0, y = -1;

/*	$(".catalog-prew").each(function() {

		elements[i] = $(this).children();	

		i++;

	});*/

	

	

	

	for (i = 0; i < $("a").length; i++){

		$el = $("a").eq(i);

		if ($el.children("img").length != 0){

			var str = $el.attr("href");

			var hrefIMG_jpg = str.indexOf('.jpg');

			var hrefIMG_gif = str.indexOf('.gif');

			if ((hrefIMG_jpg > 0) || (hrefIMG_gif) > 0) {

				y++;

				elements[y] = $el;

				$el.bind("click", function(){

					open($(this));

					return false;

				});

			}

		}

	}

	

});



function nextprev ($el) {



		var i;

		if (elements.length == 1) return {prev: 'none', next: 'none'};

		for (i = 0; i < elements.length; i++ ) {

			if 	($el.attr("href") == elements[i].attr("href")){

				if (i == 0) return {prev:'none', next: elements[i+1]};

				if (i == elements.length-1) return {prev: elements[i-1], next:'none'};

				return {prev: elements[i-1], next: elements[i+1]};

			}

		}

}



function open($el) {



	var np = nextprev($el);

	$prev = np['prev'];

	$next = np['next'];

	

	var code, width, width_img, height, height_img, rejim, simv = 0, simvol = 0;



	if ($("div.backgroundDiv").length == 0) _build();

	else _show(100, 100, 0);			

	

	imgPreloader = new Image();

	imgPreloader.src = $el.attr("href");

	imgPreloader.onload = function(){

		code = '<div class="margin"><div id="left"><a class="prev" href="#"><img src="img/prettyPhoto/left.gif"/></a></div><div id="right"><a class="next" href="#"><img id="right" src="img/prettyPhoto/right.gif"/></a></div><div class="clear"><div class="head">&nbsp;</div><a href="#" class="close"><img style="border: medium none ; float: right; margin-top: -1px;" src="img/prettyPhoto/btnClose.gif"/></a></div><img src="' + $el.attr("href") + '" id="main_img"/></div>';

		width = imgPreloader.width + 20;

		height_img = imgPreloader.height;

		height = imgPreloader.height + 40;

		$("#info").html(code);	

		window.setTimeout( function(){

			_show(width, height, 1);

			naves(width - 20, height_img, $next, $prev);

		}, 1000);

	}



	return false;

};





function _show(width, height, rejim){



	var pos = _getCenterPos(width, height);

	

	if (!rejim) $("div.contentHolder #info").css("display", "none");

	else $("div.contentHolder .loaderIcon").css("display", "none");



	$('div.contentHolder').animate({

				'width': width,

				'height': height,

				'top': pos['top'],

				'left': pos['left']

			}, "normal", function(){

				if (rejim) $("div.contentHolder #info").fadeIn("normal");

				else $("div.contentHolder .loaderIcon").fadeIn("normal");

			});

	

	if (height > $(document).height()) $('div.backgroundDiv').css('height', height + 30);	

}







function naves(width, height, next, prev){

	$('a.close').bind('click', function(){ close(); return false; });

	

	if (($prev == 'none') || ($prev == 'undefined')){

		$('div#left a').css("display", "none");

		$('div#left').css("height", height);

	}

	else $('div#left').css("height", height).mouseover (function(){ $('a.prev img').css("display", "inline");}).mouseout (function(){ $('a.prev img').css("display", "none");});



	if (($next == 'none') || ($next == 'undefined')){

		$('div#right a').css("display", "none");

		$('div#right').css("height", height);

	}

	else $('div#right').css("height", height).mouseover (function(){ $('a.next img').css("display", "inline");}).mouseout (function(){ $('a.next img').css("display", "none");});

	

	$('a.prev').children().css("margin-top", height/2 - $('a.prev').children().height()/2);

	$('a.next').children().css("margin-top", height/2 - $('a.prev').children().height()/2);

	

	$('a.prev').bind('click', function(){

		open($prev);

		return false;

	});

	

	$('a.next').bind('click', function(){

		open($next);

		return false;

	});



}





function _build(){



	if($.browser.msie && $.browser.version == 6){

		$('select').css('visibility','hidden');

	};



	backgroundDiv = "<div class='backgroundDiv'></div>";

	$('body').append(backgroundDiv);

	$('div.backgroundDiv').css('height',$(document).height());		

	contentHolder = '<div class="contentHolder"><div class="loaderIcon"></div><div id="info"></div></div>';

		

	$('body').append(contentHolder);



	$('.contentHolder').css({'opacity': 0});



	var pos = _getCenterPos($("div.contentHolder").width(), $("div.contentHolder").height());

	

	$('div.backgroundDiv').css('opacity',0).fadeTo('normal', 0.7, function(){

		$('div.contentHolder').css('opacity',0).fadeTo('normal', 1);

		$('div.contentHolder').css({left: pos['left'], top: pos['top']});	

	});





	window.setTimeout( function(){

		$('div.backgroundDiv').bind('click',function(){

			close();

		});

	}, 1000);



};

	

function close(){

	$('div.contentHolder, div.backgroundDiv').fadeOut('normal', function(){

			$('div.backgroundDiv').remove();

			$('div.contentHolder').remove();

			$("select").css("visibility", "visible");

	});

	

};

		

function _getCenterPos(w, h){

	

		var scrollPos = _getScroll();

			

		if($.browser.opera) {

			windowHeight = window.innerHeight;

			windowWidth = window.innerWidth;

		}else{

			windowHeight = $(window).height();

			windowWidth = $(window).width();

		};

			

		projectedTop = (windowHeight/2) + scrollPos['scrollTop'] - h/2;

		if (projectedTop < 0) projectedTop = 25;

		projectedLeft = (windowWidth/2) + scrollPos['scrollLeft'] - w/2;

		

		return {top: projectedTop, left: projectedLeft};

};



$(window).resize(function(){ if($(".contentHolder").size() > 0) _reshow() });

$(window).scroll(function(){ if ($("div.contentHolder").height() < $(window).height()) _reshow(); });



$(document).keyup(function(e){

	switch(e.keyCode){

		case 27:

			close();

			break;

	};

});



function _reshow() {

	

	var pos = _getCenterPos($("div.contentHolder").width(), $("div.contentHolder").height());

	$("div.contentHolder").css("top", pos['top']).css("left", pos['left']);

	

}



function _getScroll(){

	scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;

	scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;

	return {scrollTop:scrollTop,scrollLeft:scrollLeft};

};
