﻿function loadModalPopup(obj)
{
	var modal = document.getElementById('modalPopup');
	if( modal == null)
	{ modal = createModalPopup(obj); }
	
	return modal;
}

function createModalPopup(obj)
{
	var modal = $('<div class="modalPopupContainer"></div>');
	var modalBG = $('<div class="modalPopupBackground"></div>');
	var modalImgCont = $('<div class="modalImageContainer"></div>');
	var header = $('<div class="modalHeader"></div>');
	var leftArrow = $('<div class="modalLeftArrow"></div>');
	var rightArrow = $('<div class="modalRightArrow"></div>');
	var closeBtn = $('<div class="modalCloseBtn"></div>');
	
	modal.height($(document).height());
	modal.width($(document).width());
	closeBtn.appendTo(header);
	header.appendTo(modalImgCont);
	leftArrow.appendTo(modalImgCont);
	rightArrow.appendTo(modalImgCont);
	
	modalBG.css('opacity', '0.4');
	modalBG.appendTo(modal);
	modalImgCont.appendTo(modal);
	modal.hide();
	modal.prependTo('body');
	
	$(window).bind('resize', function() {
		centerModalContainer(modalImgCont);
	});
	
	closeBtn.click(function() {
		if(obj.timer != undefined && obj.timer != null)
		{ clearInterval(obj.timer); }
		$('img', modalImgCont).remove();
		modal.hide();
	});
	
	return modal;
}

function centerModalContainer(modal)
{
	var height = $(modal).height();
	var width = $(modal).width();
	
	var windowHeight = $(window).height();
	var windowWidth = $(window).width();
	//alert(height + ' ' + width + ' ' + windowHeight + ' ' + windowWidth);
	var top = (windowHeight / 2) - (height / 2);
	if(top < 0)
	{ top = 0; }
	var left = (windowWidth / 2) - (width / 2);
	if(left < 0)
	{ left = 0; }
	//alert(top + ' ' + left);
	$(modal).css('top', top).css('left', left);
}

function preloadImgs(obj)
{
	obj.img = [];
	var tmp;
	for(var i=0; i < obj.url.length; i++)
	{
		//obj.img[i] = $('<img src=' + obj.url[i] + ' />');
		tmp = new Image();
		tmp.src = obj.url[i];
		obj.img[i] = $(tmp);
	}
}

function showImg(index, obj)
{
	//alert(obj.img[index].width);
	//obj.img[index] = $(obj.img[index]);
	var modal = loadModalPopup(obj);
	var imgCont = $('.modalImageContainer', modal);
	var imgWidth = obj.img[index].attr('width');
	var imgHeight = obj.img[index].attr('height');
	/*var imgWidth = obj.img[index].width;
	var imgHeight = obj.img[index].height;*/
	/*if(imgWidth == 0)
		imgWidth = 800;
	if(imgHeight == 0)
		imgHeight = 600;*/
	//alert(imgWidth + ' - ' + imgHeight);
	modal.show();
	imgCont.height(imgHeight);
	imgCont.width(imgWidth);
	$('.modalHeader', modal).width(imgWidth).css('opacity', 0.3);
	$('.modalRightArrow', modal).css('top', (imgHeight/2) - 35 + 7).css('opacity', 0.3);
	$('.modalLeftArrow', modal).css('top', (imgHeight/2) - 35 + 7).css('opacity', 0.3);
	if(obj.img.length <= 1)
	{
		$('.modalLeftArrow', modal).hide();
		$('.modalRightArrow', modal).hide();
	}
	else
	{
		obj.counter = index;
		$('.modalLeftArrow', modal).show().click(function() {
			if(obj.navigating == true)
			{ return; }
			//obj.img[obj.counter] = $(obj.img[obj.counter]);
			obj.navigating = true;
			obj.img[obj.counter].hide('normal');
			obj.counter--;
			if(obj.counter < 0)
			{ obj.counter = obj.img.length - 1; }
			$('img', imgCont).remove();
			obj.img[obj.counter].hide();
			imgWidth = obj.img[obj.counter].attr('width');
			imgHeight = obj.img[obj.counter].attr('height');
			$('.modalHeader', modal).width(imgWidth);
			imgCont.height(imgHeight);
			imgCont.width(imgWidth);
			obj.img[obj.counter].appendTo(imgCont).show('normal');
			centerModalContainer(imgCont);
			obj.navigating = false;
		});
		$('.modalRightArrow', modal).show().click(function() {
			if(obj.navigating == true)
			{ return; }
			obj.navigating = true;
			//obj.img[obj.counter] = $(obj.img[obj.counter]);
			obj.img[obj.counter].hide('normal');
			obj.counter++;
			if(obj.counter > obj.img.length - 1)
			{ obj.counter = 0; }
			$('img', imgCont).remove();
			obj.img[obj.counter].hide();
			imgWidth = obj.img[obj.counter].attr('width');
			imgHeight = obj.img[obj.counter].attr('height');
			$('.modalHeader', modal).width(imgWidth);
			imgCont.height(imgHeight);
			imgCont.width(imgWidth);
			obj.img[obj.counter].appendTo(imgCont).show('normal');
			centerModalContainer(imgCont);
			obj.navigating = false;
		});
	}
	obj.img[index].appendTo(imgCont);
	centerModalContainer(imgCont);
	
	return modal;
}

function startSlideShow(obj)
{
	var modal = showImg(0, obj);
	obj.timer = setInterval(function() {
		$('.modalLeftArrow', modal).click();
	}, 5000);
	$('.modalLeftArrow').hide();
	$('.modalRightArrow').hide();
}