var imageID=0;
var images = [];
var images_title = [];
var images_loaded = [];
var disabled_next=false;
var disabled_prev=true;
var images_count = 4;
var big_image_width = 350;
var big_image_height = 425;
var loading_count=0;

var ARROW_NEXT=1;
var ARROW_PREV=-1;

function _$(o){return document.getElementById(o);}
function setImagesArray()
{
	var thumb = $('#ThumbnailsList');
    if(thumb)
    {
        var anchors = thumb.find("A").each(
		function(id)
        {
            images[id] = this.href;
            images_title[id] = $(this).find("IMG")[0].title;
            images_loaded[id]=0;
        }
        );
        if(lang == 'en')
        {
            count = Math.ceil(images.length/images_count)-1;
        }
    }
    disable_enable();
    $(document.createElement("SCRIPT")).attr({src:'http://www.califa.co.il/incs/jquery.scrollTo.js',type:'text/javascript'}).appendTo($('head')[0]);
}
function switchImage(_imageID)
{
	imageID = _imageID;
    $('#BigThumbnail').attr("src",images[imageID]);
    if(images_loaded[imageID]==1)
    {
    	LightBoxArrows();
    }
    else
    {
        showLoading();
		$(new Image()).attr("src",images[imageID]).bind('load',function(){LightBoxArrows();hideLoading();});
    }
}
function switchImageByPath(_path)
{
	showLoading();
    var p = new ImagePreloader([_path],function(im){$('#BigThumbnail').attr("src",im[0]);setTimeout(hideLoading,250);});
}
function setProperWidth(o,minwidth) {
        o = $('#'+o);
/*        var childNodes = o.find("*");
        var w = 0;
        var borderWidth=0;
        var margin = 100;
        for (var i = 0; i < childNodes.length; i++) {
            if(childNodes[i].nodeType!=3)
                w += childNodes[i].offsetWidth+borderWidth+margin;
        }
       if(w<minwidth)
        	w=minwidth;*/
        o.css("width","9999px");
    }
		var count=0;
var scrolling=false;

function scroll(obj,s,width)
{
	//Disable buttons
	if((disabled_prev&&s==ARROW_PREV)||(disabled_next&&s==ARROW_NEXT))
		return;
	
    var sign='';
	
	if(s==ARROW_NEXT)
    {
    	if(lang=='en')
        {
            count--;
            if(ie==8)
            	sign='-';
            else
            	sign='+';
            obj.scrollTo({left:sign+'='+width,top:0},800);
        }
        else
        {
            count++;
			if(ie==8)
            	sign='+';
            else
            	sign='-';
            obj.scrollTo({left:sign+'='+width,top:0},800);
        }
    }
    else
    {
    	if(lang=='en')
        {
            count++;
            if(ie==8)
            	sign='+';
            else
            	sign='-';
            obj.scrollTo({left:sign+'='+width,top:0},800);
        }
        else
        {
            count--;
            if(ie==8)
            	sign='-';
            else
            	sign='+';
            obj.scrollTo({left:sign+'='+width,top:0},800);
        }
    }
    disable_enable();
}

function disable_prev()
{
	$('#prev_arrow').css("background-position","bottom");
    return true;
}

function disable_next()
{
	$('#next_arrow').css("background-position","bottom");
    return true;
}

function enable_next()
{
	$('#next_arrow').css("background-position","top");
    return false;
}

function enable_prev()
{
	$('#prev_arrow').css("background-position","top");
    return false;
}

function disable_enable()
{
	//Enable Buttons
    if(lang=='en')
    {
        if(disabled_next&&count-1>=0)
            disabled_next = enable_next();
        if(disabled_prev&&(count+1)*images_count<images.length)
            disabled_prev = enable_prev();
        //Disable buttons
        if((count+1)*images_count>=images.length)
            disabled_prev = disable_prev();
        if(count-1<0)
            disabled_next = disable_next();
    }
    else
    {
    	if(ie==8)
        {
            //Disable buttons
            if((count+1)*images_count>=images.length)
                disabled_next = disable_next();
            if(count-1<0)
                disabled_prev = disable_prev();
            if(count-1>=0)
                disabled_prev = enable_prev();
            if((count+1)*images_count<images.length)
                disabled_next = enable_next();

        }
        else
        {
            if(disabled_prev&&count-1>=0)
                disabled_prev = enable_prev();
            if(disabled_next&&(count+1)*images_count<images.length)
                disabled_next = enable_next();
            //Disable buttons
            if((count+1)*images_count>=images.length)
                disabled_next = disable_next();
            if(count-1<0)
                disabled_prev = disable_prev();
        }
    }
}

function next()
{
	var obj = $('#Thumbnails');
    var scrollwidth = 420/images_count;
	if(imageID+1>=images.length) //scroll to 0
    {
        if(lang=='en')
        {
        	count = Math.ceil(images.length/images_count)-1;
          	obj.scrollTo({top:0,left:'-='+scrollwidth*imageID},800);
        }
        else
        {
        	if(ie==8)
            {
                obj.scrollTo({top:0,left:'-='+scrollwidth*imageID},800);
                count=0;
            }
            else
            {
                obj.scrollTo({top:0,left:'+='+scrollwidth*imageID},800);
                count=0;
            }
        }
        switchImage(0);
    }
    else if((imageID+1)%images_count==0)
    {
    	if(lang=='en')
        {
        	obj.scrollTo({top:0,left:'+='+scrollwidth*4},800);
            count--;
        }
		else
        {
        	if(ie==8)
            {
//            alert("S");
                obj.scrollTo({top:0,left:'+='+scrollwidth*4},800);
                count++;
            }
            else
            {
                obj.scrollTo({top:0,left:'-='+scrollwidth*4},800);
                count++;
            }
        }
        imageID++;
        switchImage(imageID);
    }
    else
    {
    	imageID++;
    	switchImage(imageID);
    }
    disable_enable();
	return false;
}

function prev()
{
	var obj = $('#Thumbnails');
    var scrollwidth = 420/images_count;
    var sign;
    if(imageID-1<0)//scroll to end
    {
    	if(lang=='en')
        {
            obj.scrollTo({top:0,left:'+='+scrollwidth*(images.length-images_count)},800);
            count=0;
        }
        else
        {
        	if(ie==8)
            	sign = '+';
            else
            	sign = '-';
            obj.scrollTo({top:0,left:sign+'='+scrollwidth*(images.length-images_count)},800);
            count=images.length/images_count-1;
        }
        switchImage(images.length-1);
    }
    else if(imageID%4==0)
    {
    	if(lang=='en')
        {
            obj.scrollTo({top:0,left:'-='+scrollwidth*4},800);
            count++;
        }
        else
        {
        	if(ie==8)
            	sign = '-';
            else
            	sign = '+';
            obj.scrollTo({top:0,left:sign+'='+scrollwidth*4},800);
            count--;
        }
        imageID--;
        switchImage(imageID);
    }
    else
    {
    	imageID--;
    	switchImage(imageID);
    }

    disable_enable();    
	return false;
}

var arrow;
var title;
var over = false;
var obj;
var _obj;
var tmr;
var loaded=false;
function LightBoxArrows()
{
   	$('#BigThumbnail').attr("src",images[imageID]);
    images_loaded[imageID]=1;
	obj = $('#BigThumbnail');
    _obj = _$('BigThumbnail');
	var width = obj.width;
	var height = obj.height;
	if(!loaded)
	{
		var css = $(document.createElement("link")).attr({href:"http://www.califa.co.il/incs/lightboxarrow.css",rel:"stylesheet",type:"text/css"}).appendTo("head")[0];
		
//		title = $(document.createElement("DIV")).attr("id","lbt_css").appendTo($(document.body));
		
		arrow = $(document.createElement("DIV")).attr("id","lba_css").text('<a href="#" onclick="next();return false;">Text</a>').appendTo($(document.body));
        
		arrow.bind("mouseover",function(e)
		{
			clearTimeout(tmr);
		});
		arrow.bind("mouseout",function(e)
		{
			tmr = setTimeout(function()
						{
							hideArrows(e);
						},50);
		});
/*		arrow.children()[0].bind("mouseover",function(e)
		{
			showArrows(e);
		});*/
		obj.bind("mouseover",function(e)
		{
			clearTimeout(tmr);
			showArrows(e);
		});
		obj.bind("mousemove",function(e)
		{
			showArrows(e);
		});
		obj.bind("mouseout",function(e)
		{
			tmr = setTimeout(function()
						{
							hideArrows(e);
						},50);
		});
	}
	else
    {
		arrow.css("visibility","hidden");
    }
	if(!loaded)
		loaded = true;
//	title.text(images_title[imageID]);
}
function showArrows(e)
{
	e = e || window.event;
	if(!document.all)
		e.stopPropagation();
	else
		e.cancleBubble = true;
	var xWidht,xHeight;
   	xWidth = e.clientX - findPos(_obj)[0];
	xHeight = e.clientY - findPos(_obj)[1];
    var next_lang,prev_lang;

	arrow.css({"display":"block"});
//    title.css({"display":"block","width":obj.width() + "px","left":findPos(_obj)[0]+3 + "px","top":findPos(_obj)[1] +2 + "px"});
    if(lang == 'en')
   	{
    	next_lang = 'Next';
        prev_lang = 'Prev';
    }
    else
    {
    	next_lang = $('#hebrew_next').text();
        prev_lang = $('#hebrew_prev').text();
    }
	if(xWidth<_obj.width/2)
	{
		//Previous
        if($.browser.msie&&$.browser.version==8.0)
			arrow.css({"top":findPos(_obj)[1] + obj.height()/2 - arrow.height() + "px","left":(findPos(_obj)[0]) + "px"});
        else
			arrow.css({"top":findPos(_obj)[1] + obj.height()/2 - arrow.height() + "px","left":findPos(_obj)[0] + 2 + "px"});
		if(lang == 'en')
        	arrow.empty().append($(document.createElement("a")).attr("href","#").click(prev).text(prev_lang));
        else
        	arrow.empty().append($(document.createElement("a")).attr("href","#").click(next).text(next_lang));
		arrow.css("visibility","visible");
		arrow.attr("class",'lba_arrow_prev');
	}
	else
	{
		//Next
        if($.browser.msie&&$.browser.version==8.0)
			arrow.css({"top":findPos(_obj)[1] + obj.height()/2 - arrow.height() + "px","left":(findPos(_obj)[0] + obj.width() - arrow.width()-9) + "px"});
        else        
			arrow.css({"top":findPos(_obj)[1] + obj.height()/2 - arrow.height() + "px","left":findPos(_obj)[0] + obj.width() - arrow.width()-7 + "px"});
		if(lang != 'en')
        	arrow.empty().append($(document.createElement("a")).attr("href","#").click(prev).text(prev_lang));
        else
        	arrow.empty().append($(document.createElement("a")).attr("href","#").click(next).text(next_lang));
		arrow.css("visibility","visible");
		arrow.attr("class",'lba_arrow_next');
	}
}
function findPos(obj)
{
	var curleft = curtop = 0;
	if (obj.offsetParent)
	{
        do
        {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
    }
    return [curleft,curtop];
}
function hideArrows(e,obj)
{
	e = e || window.event;
	arrow.css("visibility","hidden");
//    title.css("display","none");
}

function showLoading()
{
	var obj = $('#BigThumbnail');
    var _obj = document.getElementById("BigThumbnail");
    var xleft = findPos(_obj)[0];
    var xtop = findPos(_obj)[1]+big_image_height/2 - 50 + "px";
    var xloading = $('#loadinggif');
    
    if(!xloading.length>0)
    {
        xloading = $(new Image()).attr({id:'loadinggif',src:'http://www.califa.co.il/images/animation.gif'}).css({'width':'100px','height':'100px','position':'absolute','top':xtop,'left':(xleft+big_image_width/2 - 50)+'px'});
    	$(document.body).append(xloading);
    }
    xloading.css("display","block");
}
function hideLoading()
{
	if($('#loadinggif').css("display")=="block")
		$('#loadinggif').css("display","none");
    else
    	setTimeout(hideLoading,250);
}