var site='/laing/love/';

$(document).ready(function(){
	externalLinks();
	if(document.getElementById('exhibition-images')){
		ajaxImageChecks();
	}
	if(document.getElementById('add_captions')){
		imageCaptions();
	}
});
function ajaxImageChecks(){
	//Loop through images and add AJAX callbacks for selections.
	$('#exhibition-images input.submit').hide(0);
	var chk=$('#exhibition-images li label');
	for(var i=0;i<chk.length;i++){
		var input=chk[i].getElementsByTagName('input')[1];
		$(input).click(
			function(event){
				var tgt=event.target.parentNode.parentNode.getElementsByTagName('input')[1];
				var checked=(tgt.checked)?'1':'2';
				var id=tgt.name;
				var url=site+'tpl/js/ajax.php';
				$("#image-counter").load(url,{'m':'eximages','image':id,'sel':checked});
			});
	}
}
function imageCaptions(){
	//Show caption form for image
	var _a=$('#add_captions li a');
	for(var i=0;i<_a.length;i++){
		$(_a[i]).click(function(){
			//Collect some shizzle firzt
			var img=this.parentNode.getElementsByTagName('img')[0].src;
			var cap=$(this.parentNode.getElementsByTagName('span')[2]).text();
			var caphead=(cap)?'Edit your caption':'Add a caption';
			var id=this.parentNode.getElementsByTagName('a')[0].href.split('/');

			$("body").append('<div id="overlay"></div>');
			$("body").append('<div id="cap" rel="'+id[id.length-1]+'"> \
								<img src="'+img+'"/> \
								<h2>'+caphead+'</h2> \
								<textarea>'+cap+'</textarea> \
								<div> \
								<a href="#" class="cancel" onclick="return caption(\'cancel\')">Cancel</a> \
								<a href="#" class="save" onclick="return caption(\'save\')">Save</a> \
								</div> \
							</div>');

			$('#overlay').click(function(){
				$('#overlay').fadeOut(200,function(){
					$('#overlay').remove();
				});
				$('#cap').fadeOut(200,function(){
					$('#cap').remove();
				});
				return false; 
			});

			//alert(id[id.length-1]);

			overlay(true,'overlay');	
			showCap(true,'cap');	
			/*
			3. Change text to add or edit caption
				if caption, add caption span 
			*/
			return false;
		});
	}
}
function overlay(start,element){
	var arrayPageSize = Lightbox.getPageSize();
	var arrayPageScroll = Lightbox.getPageScroll();

	if(start){
		$('#'+element).width(arrayPageSize[0]).height(arrayPageSize[1]);
		$('#'+element).css({opacity : Lightbox.overlayOpacity}).fadeIn(Lightbox.overlaySpeed);
	}else{
		$('#'+element).fadeOut(Lightbox.overlaySpeed);
	}
}
function showCap(start,el){
	if(start){
		var arrayPageScroll = Lightbox.getPageScroll();
		var lightboxTop = arrayPageScroll[1] + (arrayPageSize[3] / 5);
		var lightboxLeft = arrayPageScroll[0];
		var left=($('#overlay').width()/2)-($('#cap').width()/2);
		$("#"+el).css({top: lightboxTop, left: left});
		$("#"+el).fadeIn(Lightbox.overlaySpeed);
	}else{
	}
}
function caption(method){
	if(method=='save'){
		var id=$('#cap').attr('rel');
		var caption=$('#cap textarea')[0].value;
		var postUrl='tpl/js/ajax.php';
		var span=$('#back'+id);


		span.load(postUrl,{'m':'excap','id':id,'caption':caption},function(){trim(span)});
		
		if(caption.length){
			var label='Edit caption';
			$('#back'+id).prev().addClass('complete');
		}else{
			var label='Add caption';
			$('#back'+id).prev().removeClass('complete');
		}
		$('#back'+id).next().text(label);
	}
	$('#overlay').fadeOut(200,function(){
		$('#overlay').remove();
	});
	$('#cap').fadeOut(200,function(){
		$('#cap').remove();
	});
	return false;
}
function trim(span){
	var text=span.text();
	if(text.length>25){
		text=text.substring(0,22)+'...';
	}
	span.prev().text(text);
}
function externalLinks(){
	/*add .ext class to external links*/
	var _a = document.body.getElementsByTagName('a');
	var _c = window.location.href.split('/')[2];

	for(var i=0;i<_a.length;i++){
		// Links
		if(_a[i].href.indexOf(_c)==-1
		   && _a[i].href.indexOf('http')==0 && _a[i].href.length>0){
			_a[i].setAttribute('target','_blank');		// target
			_a[i].className +=' ext';					// class to add icon
			if(_a[i].title.length>0){
				_a[i].title;
			}else{
				_a[i].title=_a[i].href;
			}
			_a[i].title+=' (Opens in a new window) ';	// title
		}
		// PDF files
		if(_a[i].href.indexOf('.pdf')>0 && _a[i].href.length>0){
			_a[i].setAttribute('target','_blank');		// target
			_a[i].className +=' pdf';					// class to add icon
			if(_a[i].title.length>0) _a[i].title+=' ';
			_a[i].title+='(PDF Document) ';			// title
		}
		if(_a[i].href=='#') _a[i].href='javascript:void(0);';
	}
}