jQuery(function($){	
	//VARS
	var $postHolder = $('#postHolder'), pFiles=[], mapVisible = false;
	
	
	//PRELOADER
	var imgList = [];
		$.extend({
			preload: function(imgArr, option) {
				var setting = $.extend({
					init: function(loaded, total) {},
					loaded: function(img, loaded, total) {},
					loaded_all: function(loaded, total) {}
				}, option);
				var total = imgArr.length;
				var loaded = 0;
				
				setting.init(0, total);
				for(var i in imgArr) {
					imgList.push($("<img />")
						.attr("src", imgArr[i])
						.load(function() {
							loaded++;
							setting.loaded(this, loaded, total);
							if(loaded == total) {
								setting.loaded_all(loaded, total);
							}
						})
					);
				}
			}
		});
	

	function preloadImages(pFiles) {
		$.preload(
			pFiles, 
			{
			init: function(loaded, total) {
				//console.log("loading...");
			},
			loaded: function(img, loaded, total) {
				//console.log(img)
			},
			loaded_all: function(loaded, total) {
				//console.log("Loaded: "+loaded+"/"+total+". ");
			}
		});
	}
		
	//find all rhs galleries, create an array of image srcs
	function previewInit() {
		galImgs = $postHolder.find(".articleRight.gallery img");
		
		for (var i=0;i<galImgs.length; i++) {  
			galImgSrc = galImgs.attr('src').split('-188x151');
			
			pFiles[i]=galImgSrc[0]+'.jpg';
		}
		preloadImages(pFiles);
	}
	
	//USER ACTIONS
	$postHolder.bind('click',function(event) {
		$targ = $(event.target);
		
		//home page mini-galleries
	/*	if ($targ.parent().hasClass('gallery')) {
			
			var $tLink = $targ.closest('img');
			tLinkSrc = $tLink.attr('src').split('-188x151');//GH: might need to dynamically work out the W & H, if the image size changes.
			tLinkSrc = tLinkSrc[0]+'.jpg';
			
			//image handler
			if (!$('img.selected').length) {
				$('#assetPanel .selected').fadeOut(200).remove();
				$('<img/>').attr('src',tLinkSrc).addClass('selected').appendTo($tLink.parent()).fadeIn(200);
			}
			else {
				$('img.selected').fadeOut(200).remove();
			}
		}*/
		
		//load more
		if ($targ.parent().attr('id') == ('loadMore') || $targ.attr('id') == "hotDog") {
			event.preventDefault();	
			//var moreLink = $targ.attr('href');
			var moreLink = $("#loadMore a").attr('href');
				
			$('#hotDog').addClass('spinDog');
			$.get(moreLink, {loaded : true}, function(data) {
				$('#loadMore').fadeOut(250).remove();
				
				datasquirt = $('#postHolder',data).html();
				$('#postHolder').append(datasquirt);
			});
		}
	});
	
	
	//Map toggle and load
	//51.527903,-0.08008
	$map = $('#map');
	$mH  = $('#mapH');
	
	function showMap() {
		//Some cleanup re: google maps default extras
		$ts = $('.terms-of-use-link').parent();
		$('#logocontrol').hide();
		$ts.hide();
			if(!mapVisible){
				$mH.animate({"height": 465}, 300,"easeOutQuad");
				mapVisible = true;
			} else{
				$mH.animate({"height": -465}, 600,"easeOutQuad");
				mapVisible = false;
			}
	}
	
	$("#mapClose, #mapLink a").click(function(e){
		e.preventDefault();
		showMap();
	});
	
	$('#target').toggle(function() {
	  alert('First handler for .toggle() called.');
	}, function() {
	  alert('Second handler for .toggle() called.');
	});
	
	//INIT
	//GH - HOMEPAGE ONLY!
	previewInit();
	
	$map.gMap({			
		markers: [{	latitude:51.527900,
							longitude:-0.08008,
							address:"12-18 Hoxton Street, London",
							html:"El Mysterioso, <br />12-18 Hoxton Street,<br />London,<br />N1 6NG",
							icon: { image: "http://www.elmysterioso.com/images/marker.png",
                                      iconsize: [50, 57],
                                      iconanchor: [21,40],
                                      infowindowanchor: [22, 2] }
						}],
		//controls: false,
		scrollwheel: false,
		zoom: 16,
		latitude: 51.527900,
		longitude: -0.08008
		
	});
		
});