$('html').addClass('js');

function save_video(){
	// get foldername
	var folder=($('#sf-new-folder').val())?$('#sf-new-folder').val():$('#sf-ex-folder').val();
	// get id
	var id=$('#save-fave').find('input#id').val();
	var url='mod/favourites.ajax.php?type=video&folder='+escape(folder)+'&id='+id+'&method=add';

	if(!folder||folder=='undefined'||folder==''){
		alert('Please enter a folder name');
		return false;
	}
	//alert(url);
	
	$.get(url);
	$('p.fave a').click();
	//alert(url);
	// change save to saved?
	return false;
}
function save_search(el){
	var x=$(el).attr('rel');
	url='mod/favourites.ajax.php?type=search&method=add&'+x;
	$.get(url);
	$(el).html('<span></span><span class="ico"></span>Search saved');
	return false;
}
function del_video(el){
	// get foldername/id
	var folderid=$(el).attr('rel');
	var url='mod/favourites.ajax.php?type=video&'+folderid+'&method=del';
	
	$.get(url);
	//alert(url);
	//window.location.reload();
	return false;
}
function del_search(sid){
	var url='mod/favourites.ajax.php?type=search&method=del&searchid='+sid;
	$.get(url);
	//alert(sid);
	return false;
}
function rmfolder(el){
	var folder=$(el).attr('rel');
	if(confirm('Are you sure you want to remove this folder?\nAny items within it will also be removed.')){
		url='mod/favourites.ajax.php?method=rmfolder&folder='+folder;
		$.get(url);
		//alert(url);
		return true;
	}else{
		return false;
	}
}


function positionNav(){
	var mainNav = $('#nav');
	var subNav = mainNav.find('li.selected ul');
	var margin = 20;
	// ACTUAL width of the subnav
	var subNavItems = subNav.find('li');
	var subNavWidth = 0;

	if (subNav.length){
		for (var i=0; i<subNavItems.length; i++){
			subNavWidth += $(subNavItems[i]).outerWidth();
		}
		subNavWidth+=margin*(i-1);
		subNav.width(subNavWidth);
		
		// If the sub nav is shorter
		if (subNavWidth < mainNav.width()){
			
			// get the selected LI
			navItems = mainNav.find('li').not('li ul li');

			var currItem = function(){
				for (var i=0; i<navItems.length; i++){
					if ($(navItems[i]).hasClass('selected')){
						return {li:$(navItems[i]), i:i};
						break;
					}
				}
			}();

			// Indent the subNav
			var posLeft = ($(currItem.li).position().left);
			currItem.i !== 0 ? posLeft+=margin : null;
			
			subNavWidth + posLeft < mainNav.width() ? subNav.css('margin-left', posLeft) : rightAlignIt();
			
		} else {
			// it's too wide
			rightAlignIt();
		}
	}
	
	function rightAlignIt(){
		subNav.addClass('right')
		// Full round on all but last
		var last = subNav.find('li:last');
		last.css('backgroundImage','none').find('a').append('<span></span>');
		if (currItem.i !== navItems.length -1){
			last.find('span').height(28)
		}	
	}
}


function loadFlowplayer(elem){
	flowplayer(
		elem,{src: "tpl/js/flowplayer-3.2.5.swf", wmode: 'transparent'},
		{
			clip:{
				autoPlay:true,
				autoBuffering:true,
				scaling:'fit'
				//stretch:'exactFit'
				//url:'../geisha/assets/video/1295522483.flv',
				//coverImage: 'geisha/assets/video/stills/1295522483.003.jpg',
			},
			screen:{
				width:460, height: 345 , top:'50%', right:0
			}, canvas:{
				background: "#000",
				backgroundGradient: "none"
			}
		}
	);
}





/*----------------------
Flowplayer
---------------------------------------*/

$(function(){
	var active;
	var params ={
		src: "tpl/js/flowplayer-3.2.7.swf",
		wmode: 'transparent'
	};
	var currPlayer;
	
	// Single player
	
	
	if($('#flowholder').length){
		if($('#flowholder').attr('rel').length){
			var img=$('#flowholder').attr('rel');
			flowplayer("flowholder", params, {
				clip:{
					autoPlay: false,
					autoBuffering: false,
					scaling:'fit'
				}, canvas:{
					//background: "#000",
					//backgroundGradient: "none"
					style:{background:'transparent url('+img+') no-repeat 50pct 50pct',backgroundGradient: "none"}
				}
			});
		}else{
			flowplayer("flowholder", params, {
				clip:{
					autoPlay: false,
					autoBuffering: true,
					scaling:'fit'
				}, canvas:{
					background: "#000",
					backgroundGradient: "none"
				}
			});
		}
	};

	if($('#slideshow .video').length){
		flowplayer(".flowholder", params, {
			clip:{
				autoPlay: true,
				scaling:'fit'
			}, canvas:{
				background: "#000",
				backgroundGradient: "none"
			}
		});
	}
	
	$('#slideshow .video a.flowholder').bind('click', function(){
		var context=$(this),
		container=context.parent(),
		domNode;
		active = true;
		container.next().slideUp();
		context.parent().find('.play, img').fadeOut(function(){
			context.find('object, embed').css('display', 'block');
			//domNode=context.get();
			//$f(0).play();
		});
		//console.log('hit')
		//context.find('im)
		return false;
	});
	/*.bind('mouseover', function(){
		$(this).next().slideUp();
	}).bind('mouseout', function(){
		if(!active){
			$(this).next().slideDown(function(){
				$(this).stop();
			});
		}
	});*/
	
	
	/*$('#container div.divider').bind('click', function(){
		console.log('unload here')
		$f().unload();
		console.log(currPlayer.find('object'))
		currPlayer.find('*')remove();
		
	});
	*/
	
	$('#slideshow .paginator li a').bind('click', function(){
		var context=$(this),
		container=$('#slideshow div.films'),
		eq=parseInt(context.text())-1,
		h=345,
		pos=container.scrollTop()/h-(eq-1),
		offimg;
		
		//console.log($('.flowholder').children())
		
		$('.flowholder').children().hide();
		
		context.parent().parent().find('li.selected').toggleClass('selected');
		context.parent().toggleClass('selected');
		
		container.find('.film .caption').hide();
		
		container.animate({
			scrollTop: h*(eq)
		}, 900, function(){
			container.find('.film .caption').slideDown();
			offimg=container.find('img:not(:visible)');
			offimg.show();
			offimg.next().show();
			
			//if($f()){
			//	$f().unload();
			//	container.find('.flowholder').children().detach();
			//	currPlayer.parent().find('.play, img').show();
			//}
		});
		return false;
	});	
});


/*----------------------
Javascript form elements
---------------------------------------*/
$(function(){

	//------ Dropdown replacements 
	var dList = $('form select.dropdown').next();
	var showList = $('#content .col-wrap ul.show-list');

	dList.each(function(){
		$(this).find('li:first').append('<ul class="off"></ul>');
	});
	

	dList.prev().each(function(i){
		var context = $(this).find('option');
		context.each(function(x){
			if($(this).is(':selected')){
				context.eq(x).parent().next().find('li.selected a:first').text(context.eq(x).text());
			}
			context.eq(x).parent().next().find('ul').append('<li><a href="#">' + context.eq(x).text() + '</a></li>');
		});
	});
	
	function revealList(){
		var context = $(this),
			sub=context.parent().find('ul:first');
		if(sub.hasClass('off')){
			sub.hide().toggleClass('off').slideDown();
		}else{
			sub.slideUp(function(){
				$(this).toggleClass('off');
			});
		}
		return false;
	}
	
	dList.find('li:first a:first').bind('click', revealList);
	showList.find('li:first a:first').bind('click', revealList);
	
	dList.find('ul li a').bind('click', function(e){
		var context=$(this);
		var select = context.parent().parent().parent().parent().prev();
		select.find('option[title="' + context.text() + '"]').attr('selected', 'selected');
		select.next().find('li:first a:first').text(context.text());
		if(select.next().hasClass('auto-click')){
			select.next().next().click();
		}
		context.parent().parent().slideUp(function(){
			$(this).addClass('off')
		});
		e.stopPropagation();
		return false;
	});	
	
	
	
});

//------ Radio replacements 
/*
$(function(){

	var radios=$('form .radiobuttons p span.radio');
	radios.each(function(){
		$(this).prev().is(':checked') ? $(this).addClass('selected') : null;
		
	});
	radios.bind('click', function(){
		var context = $(this);
		context.parent().parent().find('p span.selected').toggleClass('selected')
		context.toggleClass('selected');
		context.prev().attr('checked', 'checked')
		
	});


})
*/

$(function(){
	//---- Checkboxes and Radio buttons
	var cb=$('label.checkbox input, label.radio input'),
	cbRep=cb.parent();
	cb.each(function(){
		if($(this).is(':checked')){
			$(this).next().addClass('checked');
		}
	});
	cb.bind('change', function(e){
		var context=$(this).parent();
		e.stopPropagation();
		if(context.hasClass('radio')){
			context.parent().parent().find('label span.checked').toggleClass('checked');
		}
		context.find('span.switch').toggleClass('checked');
	});	
});

$(function(){
	$('#reset').bind('click', function(){
		var form = $(this).parent().parent().parent();
		form.find('input[type="text"]').val('');
		form.find('ul.dropdown').each(function(){
			$(this).find('ul li:first a').click();
		});
		//form.find('label.radio:not(:first) span.checked').removeClass('checked');
		form.find('label.radio:first input').click()//.next().addClass('checked');
		form.find('input.checkbox:checked').click()//.next().removeClass('checked');
		return false;
	});
});

/*----------------------
Cycle images
---------------------------------------*/

// Todo
// Animation function needs to have a variable duration

//------ Mini hepworth function
/*
$(function(){
	var intval=0, cycle=$('#content .js-cycle li .image-area .cycleThis'), h, m;
	cycle.bind('mouseover', function(){
		var context = $(this);
		h = 106;
		m = context.find('img').length;
		context.stop();
		if (intval===0){
			intval = window.setInterval(function(){
				var pos = context.scrollTop()/h;
				context.scrollTop((context.scrollTop()+2));
				if (context.scrollTop() >= h*(m-1)){
					context.scrollTop(context.scrollTop()-h*(m-1));
				}				
			}, 20);
		}
	}).bind('mouseout', function(){
		var context = $(this),
		pos = Math.ceil(context.scrollTop()/h);
		halt();
		context.animate({
			scrollTop: h*pos
		}, 900, 'linear');
	});
	function halt(){
		clearInterval(intval);
		intval = 0;
	}
});
*/

/*------------
Timeline
------------------------*/
$(function(){
	var lis=$('#timeline li'),
	ul=lis.parent(),
	len=lis.length,
	container=ul.parent(),
	w=140+20;
	
	lis.each(function(i){
		//Dump first 5 at end
		if(i<5){
			$(this).find('a').unbind();
			$(this).clone().appendTo(ul);
		}
		//return (i>4);
	});
	
		
		lis.live('mouseenter', function(){
			$(this).find('.overlay').fadeOut();
		}).live('mouseleave', function(){
			$(this).find('.overlay').fadeIn();
		});
		
		
	
	$('#timeline div.slides ul').width((len+5)*w);
	
	
	$('#timeline p.next a').bind('click', function(){
		if(container.scrollLeft()<w*(len)){
			goRight();
		}else{
			container.scrollLeft(0);
			goRight();
		}
		
		function goRight(){
			container.animate({
				scrollLeft: container.scrollLeft()+w
			});
		}
		
		return false;
	});
	
	$('#timeline p.prev a').bind('click', function(){
		container.animate({
			scrollLeft: container.scrollLeft()-w
		});
		return false;
	});	
	
});


/*------------
Misc
------------------------*/
$(function(){

	/*------ Save fave shadowbox */

	$('#save-search').bind('click', function(){
		var html='<div id="save-pop"><h2>Save this search</h2><p class="close"><a href="#" onclick="Shadowbox.close(); return false;" title="close">Close</a></p><form action="#"><fieldset><div><label for="f-save-search-name">Name your search</label><input id="f-save-search-name" class="text" type="text" name="name" /></div><div class="round-submit"><input class="submit ir" type="submit" name="submit" value="Save" /></div></fieldset></form>'; 
		
		Shadowbox.open({
			content:html,
			player:"html",
			overlayColor:"#FFF",
			height: 200
		});
		return false;
	});
		
	

	/*------ Film detail reveals */
	$('p.reveal a, span.reveal a').bind('click', function(){
		var context=$(this),
		target=context.parent().next(),
		newText=context.attr('rel');

		context.parent().is('span') ? target=context.parent().parent().next().next() : null;	
		
		//console.log(target)
		
		
		function doSwap(){
			if(newText.length > 0){
				context.attr('rel', context.text());
				context.html('<span></span>' + newText)
				context.attr('title', newText);
			}
		}
		
		if(target.hasClass('off')){
			doSwap();
			target.hide().removeClass('off');
			target.slideDown();
		}else{
			doSwap();
			target.slideUp(function(){
				target.addClass('off');
			});
		}
		return false;
	});
	
	
	
	$('#f-search-period').next().find('li ul li a').click(function(){
		$('#f-search-fromyear, #f-search-toyear').val('');
	});
	
	
});

/*-------------
Tiny labels 
------------------------*/
$(function(){
	var label = $('form label.tiny');
	label.each(function(){
		var lbl=$(this), def=lbl.next();
		lbl.next().bind('focus', function(){
			var txt=$(this);
			txt.val() === lbl.text() ? txt.val('') : null;
		});
		lbl.next().bind('blur', function(){
			var txt=$(this); 
			txt.val() === lbl.text() || txt.val() === '' ? txt.val(lbl.text()) : null;
		});
		def.val() === lbl.text() || def.val() === '' ? def.val(lbl.text()) : null;
	});
});

