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};
};