/*
Noa's Ajax like gallery
Liran Oz
29-3-2008
*/
var thumbsId = 'thumbs';
var imgPreview = 'gallery_view';
var prev_arrow = 'scroll_up_arrow';
var next_arrow = 'scroll_down_arrow';
var loaded = false;

function pageLoaded()
{
	loaded = true;
}

function imageItem(_id, _thumb, _preview, _fullsize)
{
	var id = _id;
	var thumb = _thumb;
	var preview = _preview;
	var fullsize = _fullsize;
	var loadingThumb = 'images/loading.gif';

	var thumbLoaded = false;
	var thumbImage = new Image();
	var thumbTarget = null;
	var thumbLoading = null;
	var img;
	var anchor;
	var div;

	this.thumbLoad = function(target)
	{
		thumbTarget = target;
		this.thumbLoading();

		thumbImage.src = thumb;
	}

	this.thumbShow = function()
	{
		thumbLoaded = true;
		var obj = document.getElementById(thumbTarget);
		if (!obj)
			return;
		if (thumbLoading != null) {
			obj.removeChild(thumbLoading);
			thumbLoading = null;
		}

		img = document.createElement('img');
		img.setAttribute('src', thumb);
		img.setAttribute('alt', 'For bigger size click on image');

		anchor.setAttribute('href', "javascript:showImagePreview('"+preview+"', '"+fullsize+"');")

		anchor.appendChild(img);
	}

	this.thumbLoading = function()
	{
		var obj = document.getElementById(thumbTarget);
		if (!obj)
			return;

		anchor = document.createElement('a');
		anchor.className = 'image_link_new';
		div = document.createElement('div');
		div.className = 'thumb';
		div.appendChild(anchor);
		obj.appendChild(div);
		this.thumbShow();
	}

	this.getFullSize = function()
	{
		return fullsize;
	}

	this.getPreviewSize = function()
	{
		return preview;
	}

}

var display_items = 10;

function buildThumbs(gallery_page, target)
{
	var start = gallery_page * display_items;
	if (start > images.length-1) {
		start = images.length - display_items - 1;
		if (start < 0)
			start = 0;
	}

	var end = start + display_items;
	if (end > images.length)
		end = images.length;

	//hide thumbs div
	var tar = document.getElementById(target);
	if (!tar)
		return;

	tar.style.display = "none";
	//kill everything inside
	tar.innerHTML = "";


	for (var i=start; i<end; i++) {
		images[i].thumbLoad(target);
	}

	tar.style.display = "block";
	//updates arrow navigation
	var obj = document.getElementById(next_arrow);
	if (end < images.length) {
		obj.style.display = "block";
		obj.setAttribute('href', "javascript:buildThumbs('"+ parseInt(parseInt(gallery_page) + 1) + "', '"+target+"');");
	}
	else
		obj.style.display = "none";

	var obj = document.getElementById(prev_arrow);
	if (start > 0) {
		obj.style.display = "block";
		obj.setAttribute('href', "javascript:buildThumbs('"+ parseInt(parseInt(gallery_page) - 1) + "', '"+target+"');");
	}
	else
		obj.style.display = "none";


}

function showImagePreview(img_url, big_url)
{
	var tar = document.getElementById(imgPreview);
	if (!tar)
		return;
	tar.innerHTML = '';
	var img = document.createElement('img');
	img.setAttribute('src', img_url);
	img.style.border = "0px";

	if (big_url && big_url != '') {
		var objLink = parent.document.createElement('a');
		objLink.setAttribute('href', "javascript:openLightBox('"+big_url+"');");
		objLink.setAttribute('rel', 'lightbox');
		img.setAttribute('alt', 'For full size click on image');
		objLink.setAttribute('title', '');
		objLink.appendChild(img);

		tar.appendChild(objLink);
	}
	else
		tar.appendChild(img);
}


function openLightBox(big_url)
{
	if (!loaded) {
		alert('Please wait until page is loaded');
		return;
	}
	var objLink = document.createElement('a');
	objLink.setAttribute('href', big_url);
	objLink.setAttribute('rel', 'lightbox');
	objLink.setAttribute('title', '');
	Lightbox.prototype.start(objLink);
}