

/*****************************
/* algemene functies
/****************************/

jQuery.fn.rollahover = function() 
	{   
		$(this).each(function(i){
			var oimg = $($(this).html());
			var h=oimg.height()/2;
			var w=oimg.width();
			var alt=oimg.attr("alt");
			var src=oimg.attr("src");
			$(this).height(h);
			$(this).width(w);
			$(this).css("background-image","url("+src+")");
			$(this).css("overflow-x","hidden");
			$(this).css("display","block");
			$(this).css("text-indent","-999em");
			$(this).html(alt);
			$(this).attr("title",alt);
			$(this).hover(function(){
				$(this).css("background-position","left bottom");
			},function(){
				$(this).css("background-position","left top");
			})
			return this;     
		});
		return this;
	} 
	
function processZoomImages(path){

	$("a[class^=zoomImage]").each(
		function(i){
			var obj=$(this);
			var thumbsizeArr,thumbwidth,thumbheight,urlParts,server,relpath,query			
			if(obj.attr("rel").indexOf("x")>1){
				thumbsize = obj.attr("rel");
				thumbsizeArr = thumbsize.split("x");
			}else{
				thumbsize = obj.attr("class").split("_")[1];
				thumbsizeArr = thumbsize.split("x");
			}
			var thumbwidth = thumbsizeArr[0];
			var thumbheight = thumbsizeArr[1];
			var urlParts = /^(https?:\/\/.+?)?(\/.+?)(\?.*?)?$/.exec(obj.attr("href")); 
			var server = urlParts[1]; // maybe be '' depending on the browser 
			var relpath = urlParts[2]; 
			var query = urlParts[3]; 
			$.ajax({
				  url: path,
				  data : {
				  	  file : relpath,
					  width : thumbwidth,
					  height : thumbheight
				  },
				  success: function(data) {
					obj.html("<img src='"  + data.thumb + "' alt='' />");
				  },
				  dataType:"json"
			});
			obj.fancybox({
				'transitionIn'	:	'elastic',
				'transitionOut'	:	'elastic',
				'speedIn'		:	200, 
				'speedOut'		:	200, 
				'overlayShow'	:	false
			});
		}
	)
}


/*****************************
/* algemene functies
/****************************/

function parseEmail(){
	$(".email").map(function(){
		$(this).html($(this).html().replace("[a]","@"));
		$(this).html($(this).html().replace("[p]","."));
		$(this).html("<a href=\"mail"+"to:" + $(this).html() + "\">" + $(this).html() + "</a>");	
		$(this).removeClass("email");
	});
}

function galleryLoading(startstop){
	if(startstop){
		$("#gallery").html("");
		$("#prevBtn").remove();
		$("#nextBtn").remove();
		$("#gallery").css("background","url(/templates/"+websiteTemplate+"/img/ajax-loader.gif) no-repeat scroll center center");
	}else{
		$("#gallery").css("background","none");
	}
}

/*****************************
/* SWFADDRESS
/****************************/

function handleChange(event) {

	switch(SWFAddress.getPathNames()[0]){
		case "home":
			break;
		case "slideshow":
			galleryLoading(true);
			var	folder=SWFAddress.getPathNames()[1];
			$.ajax({
				  url: "/templates/"+websiteTemplate+"/includes/getImagesInFolderJson.asp",
				  data : {
				  	  folder:folder
				  },
				  success: function(data) {
				  	var j=0;
					$("#gallery").html("<ul id='slider'></ul>");
					for(i=0;i<data.images.length;i++){
						$("#slider").append("<li><a rel='slideshow' class='zoomImage_644x430' href='/write/images/slideshows/"+folder+"/"+data.images[i]+"' rel='foto'>"+data.images[i]+"</a></li>");
					}
					processZoomImages(zoomImageCreator);
					$("#gallery").easySlider({
						prevId: 'prevBtn',
						prevText: 'Vorige',
						nextId: 'nextBtn',	
						nextText: 'Volgende',
						controlsShow: true,
						controlsBefore: '',
						controlsAfter: '',	
						controlsFade: true,
						firstId: 'firstBtn',
						firstText: 'First',
						firstShow: false,
						lastId: 'lastBtn',	
						lastText: 'Last',
						lastShow: false,				
						vertical: false,
						speed: 800,
						auto: true,
						pause: 2000,
						continuous: false					
					});
					$("#prevBtn").position({of:$("#gallery"),my:"left center",at:"left center",offset:"30 0",collision:"none"});			
					$("#nextBtn").position({of:$("#gallery"),my:"right center",at:"right center",offset:"-30 0",collision:"none"});			
					galleryLoading(false);
				},
				dataType:"json"
			});		

			break;
		case "slideshowgridlink":
			galleryLoading(true);
			var	folder=SWFAddress.getPathNames()[1];
			$.ajax({
				  url: "/templates/"+websiteTemplate+"/includes/getImagesInFolderJson.asp",
				  data : {
				  	  folder:folder
				  },
				  success: function(data) {
				  	var j=0;
					$("#gallery").html("<ul id='slider'></ul>");
					var slideshowId = "images" + j;
					$("#slider").append("<li id='"+slideshowId+"'></li>");
					for(i=0;i<data.images.length;i++){
						$("#"+slideshowId).append("<a rel='"+data.images[i].replace('.jpg','')+"' class='linkImage' href='javascript:void(0);'><img src='/write/images/slideshows/"+folder+"/"+data.images[i]+"' /></a>");
						if((i+1)!=data.images.length)
							if(((i+1)%12)==0){
								j++;
								slideshowId = "images" + j;
								$("#slider").append("<li id='"+slideshowId+"'></li>");
							}
					}
					$(".linkImage").click(function(){
						SWFAddress.setValue("/slideshowgrid/" + $(this).attr("rel") + "/");
						SWFAddress.setTitle(pageTitle + " - " + $(this).attr("rel"));
					})
					$("#gallery").easySlider({
						prevId: 'prevBtn',
						prevText: 'Vorige',
						nextId: 'nextBtn',	
						nextText: 'Volgende',
						controlsShow: true,
						controlsBefore: '',
						controlsAfter: '',	
						controlsFade: true,
						firstId: 'firstBtn',
						firstText: 'First',
						firstShow: false,
						lastId: 'lastBtn',	
						lastText: 'Last',
						lastShow: false,				
						vertical: false,
						speed: 800,
						auto: false,
						pause: 2000,
						continuous: false					
					});
					$("#prevBtn").position({of:$("#gallery"),my:"left center",at:"left center",offset:"30 0",collision:"none"});			
					$("#nextBtn").position({of:$("#gallery"),my:"right center",at:"right center",offset:"-30 0",collision:"none"});		
					galleryLoading(false);		
				},
				dataType:"json"
			});				
		
			break;				
		case "slideshowgrid":
			galleryLoading(true);
			var	folder=SWFAddress.getPathNames()[1];
			$.ajax({
				  url: "/templates/"+websiteTemplate+"/includes/getImagesInFolderJson.asp",
				  data : {
				  	  folder:folder
				  },
				  success: function(data) {
				  	var j=0;
					$("#gallery").html("<ul id='slider'></ul>");
					var slideshowId = "images" + j;
					$("#slider").append("<li id='"+slideshowId+"'></li>");
					for(i=0;i<data.images.length;i++){
						$("#"+slideshowId).append("<a rel='slideshow' class='zoomImage_140x140' href='/write/images/slideshows/"+folder+"/"+data.images[i]+"' rel='foto'>"+data.images[i]+"</a>");
						if((i+1)!=data.images.length)
							if(((i+1)%12)==0){
								j++;
								slideshowId = "images" + j;
								$("#slider").append("<li id='"+slideshowId+"'></li>");
							}
					}
					
					processZoomImages(zoomImageCreator);
					$("#gallery").easySlider({
						prevId: 'prevBtn',
						prevText: 'Vorige',
						nextId: 'nextBtn',	
						nextText: 'Volgende',
						controlsShow: true,
						controlsBefore: '',
						controlsAfter: '',	
						controlsFade: true,
						firstId: 'firstBtn',
						firstText: 'First',
						firstShow: false,
						lastId: 'lastBtn',	
						lastText: 'Last',
						lastShow: false,				
						vertical: false,
						speed: 800,
						auto: false,
						pause: 2000,
						continuous: false					
					});
					$("#prevBtn").position({of:$("#gallery"),my:"left center",at:"left center",offset:"30 0",collision:"none"});			
					$("#nextBtn").position({of:$("#gallery"),my:"right center",at:"right center",offset:"-30 0",collision:"none"});		
					galleryLoading(false);		
				},
				dataType:"json"
			});				
		
			break;			
			
		default:

		
	}

}
function centerWebsite(){
	$("#container").position({of:$(window),my:"center center",at:"center center",offset:"0 -60",collision:"none"});	
}
$(function(){
	SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
	processZoomImages(zoomImageCreator);
	$(".rollover").rollahover();	
	parseEmail();
});
$(window).load(function(){
	centerWebsite();
});		
$(window).resize(function(){
	centerWebsite();
});		
