var lb_pos = 0;
var lb_cnt = 0;
var lb_favs = null;
var lb_ra = null;
var lb_la = null;
var lb = null;
var lb_mode = false;

var pl_pos = 0;
var pl_cnt = 0;
var pl_favs = null;
var pl_ra = null;
var pl_la = null;
var pl = null;
var pl_img = [0];

var mode_arr = null;
var lb_content = null;
var lb_title = null;
var lb_small = null;
var lb_status = false;


$(document).ready(function(){
	
	
	/* lightbox toggle */
	mode_arr = $($("div#lightbox").find("a#mode").find('img'));
	lb_content = $($("div#lightbox").find(".white").find(".content"));
	lb_title = $($('div#lightbox').find('div.header').find('h3').parent());
	//console.log(lb_title);
	lb_small = $($('div#lightbox').find('div.header').find('p.small'));
	$("#mode").toggle(function(me){
		//alert('yes');
		me.preventDefault();
		showlb();
	},function(me){
		me.preventDefault();
		hidelb();
	});
	
	
	$('input#searchterm').focus(function(){
		//console.log($(this).val());
		if($(this).val() == "Enter Keyword") {
			$(this).val('');
		}
	});
	$('input#searchterm').blur(function(){
		if($(this).val() == '') {
			$(this).val('Enter Keyword');
		}
	});
	$('form.newsletter').find('input#email').focus(function(){
		if($(this).val() == "Enter your email") {
			$(this).val('');
		}	
	});
	$('form.newsletter').find('input#email').blur(function(){
		if($(this).val() == "") {
			$(this).val('Enter your email');
		}	
	});
	/* image popup window.js*/
	/*$("#preview").jqm({modal:false,trigger:false,overlay:0});
	
	$(".img > img").mouseover(function(){
		$("#preview").jqm().jqmShow();
	});
	$(".img > img").mouseout(function(){
		$("#preview").jqm().jqmHide();
	});*/


	/*image popup clue tip 
	$("div#main").find('.img').find("img").each(function(){
		$(this).cluetip({attribute:'id',width:'277px'});
	});
	*/
	
	
	
	/*favourites scrolling */
	activateFavs();
	// actions for arrows
	
	
	/*image player scrolling*/
	var ttl = 0;
	pl = $($("div#imgplayer").find(".content"));
	pl_favs = $($("div#imgplayer").find(".img"));
	pl_favs.each(function(){
		var temp = parseInt($(this).find('img').attr('width'))+5;
		//temp = (temp<265) ? 265 : temp;
		ttl += temp;
		$(this).width(temp-5);
		pl_img.push(ttl);
	});
	// how many do we have
	pl_cnt = pl_favs.length;
	pl.width(pl_img[pl_img.length-1]+1000);
	//console.log(pl_img);
	// prepare arrows
	pl_ra = $($("div#imgplayer").find("a.navnext"));
	pl_la = $($("div#imgplayer").find("a.navprev"));
	
	pl_activateArrows();
	plshowmess();
	
	
	/* login / lightbox functionality */
	activate_lbforms();
	
	

});




/********  Ligthbox functions *********/
function activate_lbforms() {
	$('div#lightbox').find('form').each(function(){
		$(this).find('p.error').each(function(){
			if ($(this).html() == '') {
				$(this).remove();
			}
		
		});
	
	
		$(this).submit(function(me){
			me.preventDefault();
			var url = $(this).attr('action');
			var vals = [];
			$(this).find('input').each(function(){
				vals.push({name: $(this).attr('name'),value:$(this).val()});
			});
			
			
			showLoader();
			hidelb();
			$.post(url,$.param(vals),function(data){
				var rdata = data;
				rdata = processData(rdata);
				updatelb(rdata);
			
			});
						
			return false;
		});
	});
	$('div#lightbox').find('a.fpw').click(function(me){
		me.preventDefault();	
		showLoader();
		hidelb();
		var url = $(this).attr('href');
		$.get(url,function(data){
			var rdata = data;
			rdata = processData(rdata);
			updatelb(rdata);			
		});
		return false;
	});
}

function updatelb(rdata) {
	lb_title.html(rdata[0]);
	lb_small.html(rdata[1]);
	lb_content.html(rdata[2]);
	activateFavs();
	activate_lbforms();
	activate_login();
	showlb();
}

function showlb(which) {
	lb_content.show();
	lb_status = true;
	mode_arr.attr('src','/layout/img/lbarrow_down.gif');
	fav_status();
	lb_ra.show();
	lb_la.show();
	
}

function hidelb(which) {
	lb_content.hide();
	lb_status = false;
	mode_arr.attr('src','/layout/img/lbarrow_up.gif');
	$('div#lightbox').find('.header').find('span.red').html(' ');
	lb_ra.hide();
	lb_la.hide();
	
}


function processData(datastring) {
	var lb_t = (datastring.substring(datastring.indexOf('<h3>'),datastring.indexOf('</span></h3>')));
	var lb_s = (datastring.substring(datastring.indexOf('<p class="small fr">')+20,datastring.indexOf('</p>')));
	//console.log(lb_t);
	var lb_c = (datastring.substring(datastring.indexOf('class="content">')+16));
	lb_c = lb_c.substring(0,lb_c.lastIndexOf('</div>')+6);
	//console.log(lb_c);
	return [lb_t,lb_s,lb_c];
}


function activate_login() {
	$('div#lightbox').find('a.loginl').click(function(me){
		me.preventDefault();
		
		showLoader();
		hidelb();
		$.get('/system/login/',function(data){
			var rdata = data;
			rdata = processData(rdata);
			updatelb(rdata);
		
		});
		
		return false;
	});
	

}


function activateFavs() {
	lb_mode = $($("div#favs"));
	lb = $($("div#favs").find(".row"));
	lb_favs = $($("div#favs").find(".img"));
	// how many do we have
	lb_cnt = lb_favs.length;
	// prepare arrows
	// check if they are there....
	if ($("div#lightbox").find("a.navnext").size() == 0) {
		var displ = '';
		if (!(lb_status)) {
			displ = 'style="display:none;"';
		}
		if (lb_cnt > 0) {
			lb.width(lb_cnt*217+100+'px');
			var redspan = $($('div#lightbox').find('.header').find('span.red'));
			redspan.parent().before('<a href="#" class="nav navprev" '+displ+'><span>Previous images</span></a>');
			redspan.parent().after('<a href="#" class="nav navnext" '+displ+'><span>Next images</span></a>');
		}
	}
	
	
	lb_ra = $($("div#lightbox").find("a.navnext"));
	lb_la = $($("div#lightbox").find("a.navprev"));
	
	$('div#lightbox').find('a.lblic').remove();
	if (lb_favs.length > 0) {
		// we activate all lightbox images licencing...
		$('div#lightbox').find('a.lblo').before('<a href="/licencing/lightbox" class="lblic">Licensing for all Lightbox images</a>&nbsp;&nbsp;&nbsp;&nbsp;');
	}
	
	
	
	fav_activateArrows();
	fav_activateDelete();
	activateDownload();
	activateAddLB();
	activateLogout();
}

function fav_activateDelete() {
	lb_content.find('a.dl').click(function(me){
		me.preventDefault();
		
		
		showLoader();
		hidelb();
		$.get($(this).attr('href'),function(data){
			var rdata = data;
			rdata = processData(rdata);
			updatelb(rdata);
		
		});
		
		
		
		
		return false;
	});
}

function showLoader() {
	lb_title.html('<img src="/layout/img/loader.gif" style="margin-top:2px;float:left;" />');
}

function activateLogout() {
	$('div#lightbox').find('a.lblo').click(function(me){
		me.preventDefault();
		showLoader();
		hidelb();
		$.get('/system/logout',function(data){
			var rdata = data;
			//console.log(data);
			rdata = processData(rdata);
			updatelb(rdata);
		});
		return false;
	});
	
}

function lbactive(which) {
	showLoader();
	hidelb();
	$.get($(which).attr('href'),function(data){
		var rdata = data;
		rdata = processData(rdata);
		updatelb(rdata);
	});
}

function lbnotactive(which) {
	var redspan = $($('div#lightbox').find('.header').find('span.red'));
	showlb();
	if (confirm('You need to login to add images')) {
		//alert('ok');
		//redspan.html('');
	} else {
		//alert('cancel');
		//redspan.html('');
	}
}

function activateAddLB() {
	$('a.adlb').unbind();
	if (lb_mode.length > 0) {
	// we're logged in - we have a lightbox
	// adding is ok
		
		$('a.adlb').click(function(me){
			me.preventDefault();
			lbactive(this);
			return false;
		});
	} else {
		$('a.adlb').click(function(me){
			me.preventDefault();
			lbnotactive(this);
			return false;
		});
	
	}

}


function activateDownload() {
	if (lb_mode.length > 0) {
	// we're logged in - we have a lightbox
	// nowloads are ok
		$('a.dll').unbind();
	} else {
		$('a.dll').click(function(me){
			me.preventDefault();
			var redspan = $($('div#lightbox').find('.header').find('span.red'));
			showlb();
			if (confirm('You need to login to download images')) {
				//alert('ok');
				//redspan.html('');
			} else {
				//alert('cancel');
				//redspan.html('');
			}
			return false;
		});
		
	}
}

function pl_activateArrows() {
	if (pl_cnt - pl_pos > 1) {
		// we need to show the right arrow ... .check condition  !!!!
		
	
		pl_ra.addClass("navnexta");	
		pl_ra.unbind();
		pl_ra.click(function(){
			plmove(1);
			return false;
		});
	} else {
		pl_ra.unbind();
		pl_ra.removeClass("navnexta");	
	}

	if (pl_pos > 0) {
		pl_la.addClass("navpreva");
		pl_la.unbind();
		pl_la.click(function(me){
			me.preventDefault();
			plmove(-1);
			return false;
		});
	} else {
		pl_la.unbind();
		pl_la.removeClass("navpreva");
	}
		

}

function plmove(dir) {
	pl_pos += dir;
	var npos = 72-(pl_img[pl_pos]); // width of the image
	//console.log(pl_pos);
	//console.log(pl_img);
	//console.log(npos);
	var temp_mess = $($("div#imgplayer").find("div.curr"));
	temp_mess.each(function(){
		$(this).html('&nbsp;');
	});
	pl_ra.unbind();
	pl_la.unbind();
	pl.animate({marginLeft:npos},'slow','easeout',function(){
		pl_activateArrows();
		pl.css("margin-left",npos+"px");
		
		plshowmess();
		
	});
	
	/// solution for clickable links is hide text completely and copy active text in extra div in nav level
	/// when moving is finished
	
	
}


function plshowmess() {
	var temp_mess = $($("div#imgplayer").find("div.curr"));
	temp_mess.each(function(){
		var temp_html = '<div>';
		temp_html += pl_favs.eq(pl_pos).find('div').html()+'</div><ul>';
		temp_html += pl_favs.eq(pl_pos).find('ul').html()+'</ul>';
		$(this).html(temp_html);
		if (lb_mode.length > 0) {
			$(this).find('a.adlb').click(function(me){
				me.preventDefault();
				lbactive(this);
				return false;
			});
		} else {
			$(this).find('a.adlb').click(function(me){
				me.preventDefault();
				lbnotactive(this);
				return false;
			});
			$(this).find('a.dll').click(function(me){
				me.preventDefault();
				var redspan = $($('div#lightbox').find('.header').find('span.red'));
				showlb();
				if (confirm('You need to login to download images')) {
				} else {
				}
				return false;
			});
		}
	});

}


function fav_activateArrows() {

	
	
	if (lb_cnt - lb_pos > 4) {
		// we need to show the right arrow.... check condition again !!!!
		
		lb_ra.addClass("navnexta");	
		lb_ra.unbind();
		lb_ra.click(function(){
			lbmove(1);
			return false;
		});
	} else {
		lb_ra.unbind();
		lb_ra.removeClass("navnexta");	
	}

	if (lb_pos > 0) {
		lb_la.addClass("navpreva");
		lb_la.unbind();
		lb_la.click(function(me){
			me.preventDefault();
			lbmove(-1);
			return false;
		});
	} else {
		lb_la.unbind();
		lb_la.removeClass("navpreva");
	}
	fav_status();
}

function fav_status() {
	var redspan = $($('div#lightbox').find('.header').find('span.red'));
	var rc = lb_pos+4;
	if (rc > lb_cnt) {
		rc = lb_cnt;
	}
	if (lb_cnt > 0 && lb_status) {
		redspan.html('showing '+(lb_pos+1)+' - '+(rc)+' of '+lb_cnt+' images');
	}
}

function lbmove(dir) {
	lb_pos += dir;
	var npos = -(lb_pos * 217);
	
	lb_ra.unbind();
	lb_la.unbind();
	lb.animate({marginLeft:npos},'slow','easeout',function(){
		fav_activateArrows();
		lb.css("margin-left",npos+"px");
	});
}

