/**
 * @author freethan@gmail.com
 */

//Hook on document ready events

$(document).ready(function(){
	Site.Init();
});

var Site={
	ThumbSelector:"#thumbContainer div.rowImage a.thumb",
	VideoThumbSelector:"#thumbContainer div.row a.thumb , div.bottom a.thumb",
	ImgViewSelector:"#imgView img",
	VideoViewSelector:"#vimeoPlayer",
	ImgThumbIdPrefix:"thumb_",
	VideoThumbPrefix:"thumb_",
	ImgFilePrefix:"images/image",
	ImgFilePostfix:"_big.jpg",
	ImgPrevBtnSelector:"#prevImg",
	ImgNextBtnSelector:"#nextImg",
	ImgThumbsArray:null,
	CurImgIndex:0,
	Init:function(){
		//hook click on thumbs
		//load img on view
		$(Site.UI.GetThumbs()).each(function(i){
			$(this).bind('click',function(e){
				e.preventDefault();
				Site.UI.LoadImg($(this),$(Site.ImgViewSelector),i);
				return false;
			});
		});
		//hook click on video thumbs
		//load embed code for flash player
		$(Site.UI.GetVideoThumbs()).each(function(){
			$(this).bind('click',function(e){
				e.preventDefault();
				//$(this).find("img").css({"border":"2px solid #ff0000"});
				Site.UI.LoadVimeoVideo($(this),$(Site.VideoViewSelector));
				return false;
			});
		});
		//setup array of thumbs
		Site.ImgThumbsArray=$(Site.ThumbSelector);
		//hook clicks on prev / next btns
		$(Site.ImgPrevBtnSelector + "," + Site.ImgNextBtnSelector).each(function(){
			$(this).bind('click',function(e){
				e.preventDefault();
				var idx=0;
				switch($(this).attr("id")){
					case $(Site.ImgPrevBtnSelector).attr("id") :
						idx=(Site.CurImgIndex==0) ? ($(Site.ImgThumbsArray).length-1) : (Site.CurImgIndex - 1) ;
						Site.UI.LoadImg($(Site.ImgThumbsArray)[idx],$(Site.ImgViewSelector),idx);
						break;
					case $(Site.ImgNextBtnSelector).attr("id") :
						idx=(Site.CurImgIndex==($(Site.ImgThumbsArray).length-1)) ? 0 : (Site.CurImgIndex + 1) ;
						Site.UI.LoadImg($(Site.ImgThumbsArray)[idx],$(Site.ImgViewSelector),idx);
						break;					
				}
				return false;
			});
		});
	},
	UI:{
		GetThumbs:function(){
			return $(Site.ThumbSelector);
		},
		GetVideoThumbs:function(){
			return $(Site.VideoThumbSelector);
		},
		LoadImg:function(triggerLmnt,targetLmnt,imgIndex){
			Site.CurImgIndex=imgIndex; //mark current image
			$(targetLmnt).hide('slow');
			var imgID=$(triggerLmnt).attr("id").replace(Site.ImgThumbIdPrefix,"");
			$(targetLmnt).attr("src",Site.ImgFilePrefix + imgID + Site.ImgFilePostfix);
			$(targetLmnt).show('slow');
			$(".imgLegend").html($(triggerLmnt).children("img").attr("alt"));
		},
		LoadVimeoVideo:function(triggerLmnt,targetLmnt){
			var vidID=$(triggerLmnt).attr("id");
			var movieUrl="http://vimeo.com/moogaloop.swf?clip_id=##CLIP_ID##&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1".replace("##CLIP_ID##",vidID);
			//use flashObject to write the new embed code
			var vimeoPlayer = new FlashObject(movieUrl, "vimeoPlayer", '638', '359', '8', '');
			vimeoPlayer.write($(targetLmnt).attr("id"));
			//change href for a link (download video link)
			$("a.dnlVid").attr("href",$(triggerLmnt).attr("href"));
		}
	}
};