setInterval(function() {
	var currenthash = window.location.hash;
    if(currenthash != "" && currenthash != shouldbehash) {
    	var pageurl = currenthash.replace("#","");
		getNewPage(pageurl);
    }        
}, 500);



function updateNavi(pageurl){
	$("#navi .navilink").removeClass("selected");
	urlparts = pageurl.replace("/","").split("/");
	if (urlparts[0] == ""){
		$("#projectsnavi").slideUp(100);
		$("#aboutnavi").slideUp(100);
		$("#collabnavi").slideUp(100);
	} else if (urlparts[0] == "projects"){
		$("#projectsnavi").slideDown(100);
		$("#aboutnavi").slideUp(100);
		$("#collabnavi").slideUp(100);
		var caturl = "/"+urlparts[0]+"/"+urlparts[1]+"/";		
		$("#navi .navilink[href="+caturl+"]").addClass("selected");
	} else if (urlparts[0] == "collaborators"){
		$("#projectsnavi").slideUp(100);
		$("#aboutnavi").slideUp(100);
		$("#collabnavi").slideDown(100);
		$("#navi .navilink[href="+pageurl+"]:last").addClass("selected");
	} else if (urlparts[0] == "about"){
		$("#projectsnavi").slideUp(100);
		$("#aboutnavi").slideDown(100);
		$("#collabnavi").slideUp(100);
		$("#navi .navilink[href="+pageurl+"]:last").addClass("selected");
	} else if (urlparts[0] == "contact"){
		$("#projectsnavi").slideUp(100);
		$("#aboutnavi").slideUp(100);
		$("#collabnavi").slideUp(100);
		$("#navi .navilink[href="+pageurl+"]").addClass("selected");
	}
}





function resizeImg(){	
	var w = $(window).width();
	var h = $(window).height();
	if (w < 880){
		w = 880;
	}
	if (h < 650){
		h = 650;
	}
	var imageratio = imageHeight/imageWidth;
	var windowratio = h/w;
	if (windowratio > imageratio){
		newimageHeight = h;
		newimageWidth = imageWidth * (h / imageHeight);
	} else if (windowratio < imageratio){
		newimageWidth = w;
		newimageHeight = imageHeight * (w / imageWidth);
	}
	
	$(".pagewrap").css("height",h);
	$(".pagewrap").css("width",w);
	$(".bg").css("height",h);
	$(".bg").css("width",w);
	
	$(".bgimg").attr("height",newimageHeight);
	$(".bgimg").attr("width",newimageWidth);
	
	var headerwidth = (w - 80)/2;
	$("#header").css("width",headerwidth);
	
}

function changeNaviColor(navicolour){
	if (navicolour == 1){
		$("#navi a").css("color","#dedede");
		$("#subnavi a").css("color","#dedede");
		$(".bigtitle").css("color","#ffffff");
	} else {
		$("#navi a").css("color","#000000");
		$("#subnavi a").css("color","#000000");
		$(".bigtitle").css("color","#000000");
	}
}

function fadeBigTitle(){
	$(".bigtitle").delay(1000).fadeOut(400)
}


function getNewPage(pageurl){
	var oldpage = $(".pagewrap");
	$.ajax({
		cache: false,
		type: "GET",
		dataType: "html",
		url: "/php/newpage.php",
		data: "pageurl="+pageurl,
		success: function(resultdata) {
			var parts = resultdata.split("|*|");		
			oldpage.after("<div class='newpage'><div>");
			newpage = $(".newpage");
			newpage.html(parts[0]).css('left',oldpage.outerWidth());
			newpage.removeClass("newpage").addClass("pagewrap");
			$(".subnaviwrap").html(parts[1]);
			var navicolour = parts[2];
			imageWidth = parts[3];
			imageHeight = parts[4];
			var pageurlfornavi = parts[5];
			if ($('.newimg').length == 0){
				resizeImg();
				newpage.animate({
		    		left: 0
		    	},800,function(){
		    		fadeBigTitle();
		    	});	
		    			
				oldpage.animate({
		     		 left: parseInt(oldpage.css('left'),10) == 0 ?
						-oldpage.outerWidth() : 0
		    	},800,function(){
		    		oldpage.remove();
		    	});

			} else {
				$('.newimg')
			     .load(
			          function(){
			               resizeImg();
			               newpage.animate({
					    		left: 0
					    	},800,function(){
					    		fadeBigTitle();
					    	});	
							oldpage.animate({
					     		 left: parseInt(oldpage.css('left'),10) == 0 ?
									-oldpage.outerWidth() : 0
					    	},800,function(){
					    		oldpage.remove();
					    	});
					    	$(".newimg").removeClass("newimg");
			          }
			     );
		     }
		     $("#subscribeform p.sublinks").show(0);
			$(".box").easydrag();
			$(".box").setHandler('handle');
			updateNavi(pageurlfornavi);
	    	changeNaviColor(navicolour);
		}
	});
	window.location.hash = "#"+pageurl;
	shouldbehash = "#"+pageurl;
}



function getVideo(pageurl){
	var oldpage = $(".pagewrap");
	$.ajax({
		cache: false,
		type: "GET",
		dataType: "html",
		url: "/php/getvideo.php",
		data: "pageurl="+pageurl,
		success: function(resultdata) {
			var parts = resultdata.split("|*|");		
			oldpage.after("<div class='newpage'><div>");
			newpage = $(".newpage");
			newpage.html(parts[0]).css('left',oldpage.outerWidth());
			newpage.removeClass("newpage").addClass("pagewrap");
			$(".subnaviwrap").html(parts[1]);
			var navicolour = parts[2];
			imageWidth = parts[3];
			imageHeight = parts[4];
			var pageurlfornavi = parts[5];
			resizeImg();
			newpage.animate({
	    		left: 0
	    	},800,function(){
	    		fadeBigTitle();
	    	});	
	    			
			oldpage.animate({
	     		 left: parseInt(oldpage.css('left'),10) == 0 ?
					-oldpage.outerWidth() : 0
	    	},800,function(){
	    		oldpage.remove();
	    	});
			
			$(".box").easydrag();
			$(".box").setHandler('handle');
			updateNavi(pageurlfornavi);
	    	changeNaviColor(navicolour);
		}
	});
	window.location.hash = "#"+pageurl;
	shouldbehash = "#"+pageurl;
}



$(document).ready(function () {
	resizeImg();
	$(window).resize(function(){
		resizeImg();
	});

	$(".box").easydrag();
	$(".box").setHandler('handle');
	
	$(".plus").live('click', function(){
		var self = $(this);
		self.parent().find(".copy").slideUp(100);
		self.parent().find(".copylong").slideDown(100);
		self.parent().find(".minus").show(0);
		self.hide(0);
	});
	$(".minus").live('click', function(){
		var self = $(this);
		self.parent().find(".copy").slideDown(100);
		self.parent().find(".copylong").slideUp(100);
		self.parent().find(".plus").show(0);
		self.hide(0);
	});
	$(".readmore").live('click', function(){
		var self = $(this);
		self.parent().parent().parent().find(".copy").slideUp(100);
		self.parent().parent().parent().find(".copylong").slideDown(100);
		self.parent().parent().parent().find(".minus").show(0);
		self.parent().parent().parent().find(".plus").hide(0);
		return false;
	});	
	
	
	$("#projectslink").click(function(){
		$("#projectsnavi").slideDown(100);
		return false;
	});	

	
	$(".navilink").live('click', function(){
		var thislink = $(this);
		var pageurl = thislink.attr("href");
		getNewPage(pageurl);
		return false;
	});
	$(".videolink").live('click', function(){
		var thislink = $(this);
		var pageurl = thislink.attr("href");
		getVideo(pageurl);
		return false;
	});
	
	
	
	$(".imgnavi").live('click', function(){
		var thislink = $(this);
		var thisimg = parseInt(thislink.parent().find(".imgcounter").html());
		var totimgs = parseInt(thislink.parent().find(".totimgs").html());
		if (thislink.hasClass("prev")){
			var imgkey = thisimg - 1;
			if (imgkey < 1){
				imgkey = totimgs;
			}
		} else if (thislink.hasClass("next")){
			var imgkey = thisimg + 1;
			if (imgkey > totimgs){
				imgkey = 1;
			}
		}
		var imgdata = thislink.parent().parent().find(".imgdata").val();
		var oldimg = $(".imgwrap");
			
		$.ajax({
			cache: false,
			type: "GET",
			dataType: "html",
			url: "/php/newimg.php",
			data: "key="+imgkey+"&imgdata="+imgdata,
			success: function(resultdata) {
				var parts = resultdata.split("|*|");
				oldimg.after("<div class='newimgwrap'><div>");
				newimg = $(".newimgwrap");
				
				newimg.html(parts[0]).css('left',oldimg.outerWidth());
				newimg.removeClass("newimgwrap").addClass("imgwrap");
				$(".caption").html(parts[1]);
				var navicolour = parts[2];
				var bgcolour = parts[3];
				if (bgcolour != ""){
					newimg.css("background-color",bgcolour);
				}
				$(".imgcounter").html(imgkey);
				if ($('.newimg').length == 0){
					resizeImg();
					newimg.animate({
			    		left: 0
			    	},800);	
			    			
					oldimg.animate({
			     		 left: parseInt(oldimg.css('left'),10) == 0 ?
							-oldimg.outerWidth() : 0
			    	},800,function(){
			    		oldimg.remove();
			    	});
				} else {
					$('.newimg')
				     .load(
				          function(){
				               resizeImg();
				               newimg.animate({
						    		left: 0
						    	},800);	
						    			
								oldimg.animate({
						     		 left: parseInt(oldimg.css('left'),10) == 0 ?
										-oldimg.outerWidth() : 0
						    	},800,function(){
						    		oldimg.remove();
						    	});
						    	$(".newimg").removeClass("newimg");
				          }
				     );
			     }
			     changeNaviColor(navicolour);
			}
		});
		return false;
	});
	fadeBigTitle();
	
	$("#subscribeform p.sublinks").show(0);
	$(".subinput").live('focus', function(){
		if ($("input.subinput").val() == "Enter email address here"){
			$("input.subinput").val("");
		}
	});
	$(".subinput").live('blur', function(){
		if ($("input.subinput").val() == ""){
			$("input.subinput").val("Enter email address here");
		}
	});
	$(".subscribe").live('click', function(){
		var email = $("input.subinput").val();
		if (email == "" || email == "Enter email address here"){
			$("input.subinput").before("<p class='result red'>Please enter a valid email address below</p>");
		} else {
			//submit
			$("p.result").remove();
			$.ajax({
				cache: false,
				type: "GET",
				dataType: "html",
				url: "/php/subscribe.php",
				data: "mode=true&email="+email+"&what=subscribe",
				success: function(resultdata) {
					var parts = resultdata.split("|*|");
					if (parts[0] == 0){
						//error
						$("input.subinput").before("<p class='result red'>"+parts[1]+"</p>");
					} else {
						$("input.subinput").before("<p class='result'>"+parts[1]+"</p>");
					}
				}	
			});
		}
		return false;
	});
	$(".unsubscribe").live('click', function(){
		var email = $("input.subinput").val();
		if (email == "" || email == "Enter email address here"){
			$("input.subinput").before("<p class='result red'>Please enter a valid email address below</p>");
		} else {
			//submit
			$("p.result").remove();
			$.ajax({
				cache: false,
				type: "GET",
				dataType: "html",
				url: "/php/subscribe.php",
				data: "mode=true&email="+email+"&what=unsubscribe",
				success: function(resultdata) {
					var parts = resultdata.split("|*|");
					if (parts[0] == 0){
						//error
						$("input.subinput").before("<p class='result red'>"+parts[1]+"</p>");
					} else {
						$("input.subinput").before("<p class='result'>"+parts[1]+"</p>");
					}
				}	
			});
		}
		return false;
	});	
});

