//set layout
function layOut(){
	var lp=$("#maincont").position();
	var sbl=(lp.left-40)+'px';
	$("#socialbox").css('left',sbl);
}
$(document).ready(function(){
	//global vars
	var xdone=false;
	var biostring="";
	var mailstring="";
	var newsstring="";
	var gigstring="";
	var vidstring="";
	var hotstring="";
	var imgurllist=new Array();
	var imgobjlist=new Array();
	var imgpos=0;
	var ght=1;
	var lon=$("#contbox");
	var pact="none";
	var anim=true;
	var imgmode=false;
	var tstate=true;
	
	$("div.herehare").scPlayer({
		links:[{url: "http://soundcloud.com/wearedaytona/sets/sampler-11", title: "Daytona Sampler"}],
		autoPlay:true
	});
	
	layOut();
	$(window).resize(function() {
		layOut();
	});
	
	//request data
	$.ajaxSetup({cache: false});
	var jqxhr = $.get("content/content.xml", function(xml) {
		
		//preload Images
		function preLoad() {
			var i = 0;
			imageObj = new Image();
			var images = new Array();
			images[0]="libr/sc-custom/img/daytona_ap_pause.png";
			images[1]="libr/sc-custom/img/daytona_ap_pause_on.png";
			images[2]="libr/sc-custom/img/daytona_ap_play.png";
			images[3]="libr/sc-custom/img/daytona_ap_play_on.png";
			images[4]="chrome/img/daytona_img_gal_left.png";
			images[5]="chrome/img/daytona_img_gal_right.png";
			for(i=0; i<images.length; i++){
				imageObj.src=images[i];
			}
		} 
		preLoad();
		
		//get gallery Img list and preload images
		if($(xml).find('gallery')){
			var d=0;
			var fin=$(xml).find('gimg').length;
			$(xml).find('gimg').each(function(){
				imgurllist[d]=$(this).attr('iurl');
				if((d+1)==fin){
					for(i=0; i<imgurllist.length; i++) {
						imgobjlist[i]=$("<img />");
						imgobjlist[i].attr("src", imgurllist[i]);
						var idval="gal_img_"+i;
						imgobjlist[i].attr("id", idval);
						imgobjlist[i].load(function(){
							if($(this).attr("id")=='gal_img_0' && $(xml).find('layout').attr("bgtype")=="gal"){
								//set first img as site bg
								$("#galh1").html(imgobjlist[0]);
							}
						});
					}
				}
				d++;
			});
		}
		//create hotnews
		$('#alerts').html($(xml).find('hotnews').text());
		
		// populate news highlight
		$('#newss').html($(xml).find('headline').first().text());
		
		//populate gighighlight
		var giglist="";
		$(xml).find('gig').each(function(){
			giglist+=$(this).attr('date')+' - ';
			giglist+=$(this).find('venue').find('name').text()+' @ ';
			giglist+=$(this).attr('time')+'<br/>';
		});
		$('#gigss').html(giglist);
		
		//create biog
		biostring=$(xml).find('biog').text();
		
		//create email
		mailstring=$(xml).find('email').text();
		
		//create videos
		vidstring=$(xml).find('video').text();
		
		//create full news box
		$(xml).find('item').each(function(){
			newsstring+='<div class="htxt">'+$(this).find('title').text()+'</div>';
			newsstring+='<p>'+$(this).find('headline').text()+'</p>';
			var nb=$(this).find('detail').text().split("|");
			for(d=0;d<nb.length;d++){
				newsstring+='<p>'+nb[d]+'</p>';
			}
			newsstring+='<div class="bhr"><em>Published on '+$(this).attr('date')+'</em></div><br/><br/>';
		});
		
		//create full gig box
		$(xml).find('gig').each(function(){
			gigstring+='<div class="htxt">'+$(this).attr('date');
			gigstring+=' - '+$(this).find('name').text()+' @ ';
			gigstring+=$(this).attr('time')+'</div><p>';
			var nb=$(this).find('address').text().split("|");
			for(d=0;d<nb.length;d++){
				gigstring+=nb[d]+' ';
			}
			gigstring+='<br/>Ticket price: &pound;'+$(this).attr('price')+' - ';
			nb=$(this).find('info').text().split("|");
			for(d=0;d<nb.length;d++){
				gigstring+=nb[d]+'<br/>';
			}
			gigstring+='</p><br/>';
		});
	})
	.error(function() { alert("XML error"); })
	.complete(function() {
		xdone=true;
		animIn();
	});
	
	//link hovers
	$("a").mouseover(function () {
		$(this).css("color","#ffffcc");
	});
	$("a").mouseout(function () {
		if($(this).hasClass('tlinkr')||$(this).hasClass('htxtma')){
			$(this).css("color","#000000");
		}else{
			$(this).css("color","#cc6600");
		}
	});
	
	//intro load in
	function animIn(){
		$("#imgholder").fadeIn(1000,function(){
			$("#bio").fadeIn(200, function(){
				$("#news").fadeIn(200, function(){
					$("#gigs").fadeIn(200, function(){
						$("#video").fadeIn(200, function(){
							$("#images").fadeIn(200, function(){
								$("#footer").fadeIn(200, function(){
									$("#socialbox").fadeIn(200, function(){
										$("#contbox").fadeTo(800,0.8,"swing", function(){
											anim=false;
										});
									});
								});
							});
						});
					});
				});
			});
		});
	}
	
	//init links
	$("#bio").click(function(event){
		oPage($("#bio"),biostring,"bio");
		event.preventDefault();
	});
	$("#news").click(function(event){
		oPage($("#news"),newsstring,"news");
		event.preventDefault();
	});
	$("#gigs").click(function(event){
		oPage($("#gigs"),gigstring,"gigs");
		event.preventDefault();
	});
	$("#video").click(function(event){
		oPage($("#video"),vidstring,"video");
		event.preventDefault();
	});
	$("#email").click(function(event){
		oPage($("#email"),mailstring,"email");
		event.preventDefault();
	});
	$("#images").click(function(event){
		entGalMode($("#images"));
		event.preventDefault();
	});
	$("#xpb").click(function(event){
		xpbox();
		event.preventDefault();
	});
	$("#xlog").click(function(event){
		xpbox();
		event.preventDefault();
	});
	$("#gnavl").click(function(event){
		swapGalImg('left');
		event.preventDefault();
	});
	$("#gnavr").click(function(event){
		swapGalImg('right');
		event.preventDefault();
	});
	$("#ttb").click(function(event){
		toggleTracklist();
		event.preventDefault();
	});
	
	//close tracklisting
	function toggleTracklist(){
		if(!anim){
			anim=true;
			if(tstate){
				$(".sc-trackslist").fadeOut(200,'swing',function(){
					$("#trackbox").css('top','162px');
					anim=false;
					tstate=false;
				});
			}else{
				$("#trackbox").css('top','0px');
				$(".sc-trackslist").fadeIn(200,'swing',function(){
					anim=false;
					tstate=true;
				});
			}
		}
	}
	
	//returnlink
	function retLink(r,p){
		var ltarg;
		var lstring;
		switch(r){
			case "bio":
				ltarg=$("#bio");
				lstring=biostring;
				break;
			case "news":
				ltarg=$("#news");
				lstring=newsstring;
				break;
			case "gigs":
				ltarg=$("#gigs");
				lstring=gigstring;
				break;
			case "video":
				ltarg=$("#video");
				lstring=vidstring;
				break;
			case "images":
				ltarg=$("#images");
				lstring=imgstring;
				break;
			case "email":
				ltarg=$("#email");
				lstring=mailstring;
				break;
		}
		ltarg.css("color","#cc6600");
		ltarg.mouseout(function () {
			ltarg.css("color","#cc6600");
		});
		ltarg.unbind('click');
		ltarg.click(function(event){
			oPage(ltarg,lstring,r);
			event.preventDefault();
		});
		pact=p;
	}
	
	//open pagebox
	function oPage(targ,tstring,pstring){
		if(!anim){	
			anim=true;
			if(!imgmode){
				targ.unbind('click');
				if(pact!="none"){
					retLink(pact,pstring);
				}else{
					pact=pstring;
				}
				lon.fadeOut(200,"swing",function(){
					oBox(targ,tstring,pstring);
				});
			}else{
				exGalMode(oBox,targ,tstring,pstring);
			}
		}
	}
	
	function oBox(targ,tstring,pstring){
		$("#boxcont").html(tstring);
		if(pstring=="bio"){
			$("#accordion").accordion();
		}
		$("#pagebox").fadeTo(200,0.8,"swing",function(){
			if(pstring=="email"){
				// email form
				$("#mailform").validate({
					submitHandler: function(form) {
						doMail();
					}
				});
			}
			if(pstring=="bio"){
				$("#accordion").accordion("resize");
			}
			targ.css("color","#ffffcc");
			targ.mouseout(function () {
				$(this).css("color","#ffffcc");
			});
			targ.click(function(event){
				xpbox();
				event.preventDefault();
			});
			lon=$('#pagebox');
			anim=false;
		});
	}
	
	//close pagebox
	function xpbox(){
		if(!anim&&pact!='none'){
			anim=true;
			lon.fadeOut(200,"swing",function(){
				$("#contbox").fadeTo(200,0.8,"swing",function(){
					retLink(pact,"none");
					lon=$("#contbox");
					anim=false;
				});
			});
		}
	}
	
	//change gallery image
	function swapGalImg(way){
		if(!anim){
			anim=true;
			var end = imgobjlist.length-1;
			var nextno;
			if(way=='right'){
				if(imgpos==end){
					nextno=0;
				}else{
					nextno=imgpos+1;
				}
			}else{
				if(imgpos==0){
					nextno=end;
				}else{
					nextno=imgpos-1;
				}
			}
			var intarg;
			var outtarg;
			var ioid;
			if(ght==1){
				intarg=$("#galh2");
				outtarg=$("#galh1");
				ioid=2;
			}else{
				intarg=$("#galh1");
				outtarg=$("#galh2");
				ioid=1;
			}
			intarg.css("z-index","50");
			outtarg.css("z-index","49");
			intarg.html(imgobjlist[nextno]);
			intarg.fadeIn(400,"swing",function(){
				outtarg.css("display","none");
				imgpos=nextno;
				ght=ioid;
				anim=false;
			});
		}
	}
	
	//enter FS mode
	function entGalMode(targ){
		if(!anim){	
			anim=true;
			imgmode=true;
			targ.unbind('click');
			$("#xlog").unbind('click');
			if(pact!="none"){
				retLink(pact,"none");
			}
			lon.fadeOut(200,"swing",function(){
				targ.css("color","#ffffcc");
				targ.mouseout(function () {
					$(this).css("color","#ffffcc");
				});
				targ.click(function(event){
					exGalMode();
					event.preventDefault();
				});
				$("#xlog").click(function(event){
					exGalMode();
					event.preventDefault();
				});
				lon=false;
				$("#gnav").fadeTo(200,0.8,"swing",function(){
					anim=false;
					swapGalImg('right');
				});
			});
		}
	}
	
	//exit FS mode
	function exGalMode(func,pt,ps,pp){
		if(func){
			targ=$("#images");
			targ.unbind('click');
			targ.css("color","#cc6600");
			targ.mouseout(function () {
				$(this).css("color","#cc6600");
			});
			targ.click(function(event){
				entGalMode($("#images"));
				event.preventDefault();
			});
			imgmode=false;
			pact=pp;
			$("#gnav").fadeOut(200,"swing");
			func(pt,ps,pp);
		}else{
			if(!anim){
				anim=true;
				$("#contbox").fadeTo(200,0.8,"swing",function(){
					if(imgmode==true){
						$("#gnav").fadeOut(200,"swing");
						targ=$("#images");
						targ.unbind('click');
						targ.css("color","#cc6600");
						targ.mouseout(function () {
							$(this).css("color","#cc6600");
						});
						targ.click(function(event){
							entGalMode($("#images"));
							event.preventDefault();
						});
						imgmode=false;
					}
					anim=false;
					lon=$("#contbox");
				});
			}
		}
		$("#xlog").unbind('click');
		$("#xlog").click(function(event){
			xpbox();
			event.preventDefault();
		});
	}
	
	//process email form
	function doMail(){
		$("#mres").html('');
		$.post("libr/ms.php", { fem: $("#ffrom").val(), fme: $("#fmessage").val() },function(data) {
			var res = $(data).find('result').attr('res');
			if(res=='pass'){
				$("#mres").html('eMail has been sent, thank you');
				$("#ffrom").val('');
				$("#fmessage").val('')
			}else{
				alert("Mail send error: "+$(data).find('result').attr('type'));
			}
		}).error(function() { alert("XML load error"); });
	}
	
});
