/*
 * В идеале при клике по ссылке для большой фотографии, нужно стараться поместить фото над ссылкой
 * чтобы не загораживать соседние ссылки (верхние правда полюбому будут скрыты)
 * 
 * Несколько интесных вариантов:
 * №1. фотку помещаем сверху. Когда мышка наезжает на фотку и под ней что нибудь есть -> фотка исчезает. При двойном клике по ссылке(это надо как то обозначить), фотка намертво встает там
 * №2. фотку помещаем сверху. Когда мышка попадает на фотку, она убегает вверх.
 * 
 * Пожалуй №2 на данный момент лучшие вариант 
 * */

preview = {
	'add_to_width':65
};
preview.open =  function(e, obj, url) {
	//$('#preview_window').remove();
	
	if(!preview.create_window) {
		//создаем окошко
		$('body').append('<div id="preview_window" style="position:absolute; display:none"><div style="text-align:left; font-size:12px; margin-bottom:5px;color:#eee"><a href="javascript:void(0)" onClick="preview.close()" style="color:white;"><b>Закрыть</b></a> (не обязательно)</div><div id="for_image"></div></div>');
		$('#preview_window').css({margin:'0px', padding:'5px 7px 7px 7px', background:'#263d60', display:'block'});
		preview.create_window = true;
	}
	
	preview.obj_to_click = obj;
	
	$('#preview_window').find('#for_image').html();
	
	resize.start_control($('#preview_window'));
	
	$('#preview_window').bind('change_size', function() {
		preview.move();
		$('#preview_window').unbind('change_size');
	});
	
	resize.stop_check_obj = obj;
	
	param = "$('#preview_window')";
	
	//запускаем загрузку картинки
	$('#preview_window').find('#for_image').html('<img style="color:yellow" src="'+url+'" alt="Загрузка...">');
	
	preview.move();
}

preview.move = function() {
	var obj = preview.obj_to_click;
	
	 //var e = e || window.event;
	 //var x = e.clientX + $(window).scrollLeft();
	 //var y = e.clientY + $(window).scrollTop() + 30;
	
	 var x = $(obj).position().left;
	 var y = $(obj).position().top + this.add_to_width;
	 
	 //ширина картинки
	 var width = $('#preview_window').width();
	 //width += this.add_to_width;
	 
	 //центрируем окно
	 x = x - width/2 + $(obj).width()/2;
	 
	 //смещаем если вышло за пределы браузера (создало горизонтальную прокрутку)
	 ugol_right = x + width;
	 ugol_left = x;
	 
	 //если вышло за правую сторону
	 //даже прокрутку учитываем!!!
	 if(ugol_right > $(window).width() + $(window).scrollLeft()) {
	 	//console.log()
	 	
	 	x = x - (ugol_right - ($(window).width() + $(window).scrollLeft())) - 30;
	 	//console.log('вышло за правую сторону', x);
	 }
	 else if(ugol_left < 0) {
	 	x += ugol_left*(-1);
	 	//console.log('вышло за левую сторону');
	 }
	 
	 //запускаем анимацию
	 $('#preview_window').animate({left:x, top:y}, 400);
	 
	 //$('#preview_window').css({left: x + 'px', top: y+'px'});
}

preview.close = function() {
	preview.create_window = false;
	$('#preview_window').remove();
}

resize = {};
//начало слежение за объектом
resize.start_control = function(jobj) {
	var width = jobj.width();
	var height = jobj.height();
	
	jobj.attr({resize_do_width:width, resize_do_height:height});
	
	jobj.everyTime(10, function() {
		resize.check_change($(this));
	});
}

//проверяет, изменился ли размер
resize.check_change = function(jobj) {
	
	//если изменился
	if(jobj.attr('resize_do_width') != jobj.width() || jobj.attr('resize_do_height') != jobj.height()) {
		
		//проверяем чтобы размер был большим, долго объяснять почему :)
		if(jobj.width() < 110) return false;
		
		resize.stop_check(jobj);
	}
}

resize.stop_check = function(jobj) {
	jobj.stopTime();
	jobj.trigger('change_size');
	console.log('Останавливаем проверку размера');
}


$(document).ready(function() {
	if(window.nizhe_ie7) return true;
	
	$('A[@preview=1]').each(function() {
		
		var href = $(this).attr('href');
		var href_old = href;
		href = href.replace(/(\d)$/, '$1b.jpg');
		
		$(this).attr('href', 'javascript:void(0)');
		$(this).attr('url', href);
		$(this).attr('target', '');
		
		$(this).bind('click', function(e) {
			preview.open(e, this, $(this).attr('url'));
		});
		
	});
	//onClick='preview.open(event, \"/i/buket/7b.jpg\")' 
});


function random(min,max) {
	var range = max - min;
	var n = Math.floor(Math.random()*range) + min;
	return n;
}