

var $j = jQuery.noConflict();

var menu_is_hidden = false, fx_easing = "easeOutBack", loading = false, mouseScrolled = false, animatelogo = false;

function initOneTimeJs() {
	$j("#menubtn").bind("mouseenter", function() { animateMenuInOut(); });
	$j("#menu > li").hover(
		function () {
			//mouse hover		
			var submenu = $j(this).find(".sub-menu");
			if (submenu.length > 0) {
				submenu.find("li").each(function(index) {
					$j(this).css({"opacity" : 0}).stop().delay(index*150+150).animate({"opacity" : 1}, 500);
				});
			}
		}, 
		function () {
			//mouse out
		}
	);
	
	$j("#header").bind("mouseleave", function() {
		if (menu_is_hidden == false) {
			animateMenuInOut();
		}
	});
	
	hideShowMenuBtn();
	
	
	$j(window).scroll(function () { 
		hideShowMenuBtn();
		//mouseScrolled = true;
    });
    
    $j("html").delegate("body", "mousemove", function(e) {
    	if ($j("#thumbsWrapper").length > 0) {
	    	var wh = $j(window).height(), mouseY = e.pageY, delta = wh - e.pageY, thumbtoppos = parseInt($j("#thumbsWrapper").css("top").replace(/[^\d\.]/g, ''));
	    	if (delta <= 100 && delta > 0 && $j(window).scrollTop() < 30 && thumbtoppos == 0) {
	    		$j("#thumbsWrapper").stop().animate({"top" : -80}, 300);
	    		$j("#ss_controls").stop().animate({"top" : -100}, 300);
	    	} else if (delta > 100 || delta < 0) {
	    		$j("#thumbsWrapper").stop().animate({"top" : 0}, 300);
	    		$j("#ss_controls").stop().animate({"top" : -20}, 300);
	    	}
    	}
    });
    
    /**** SWF ADDRESS PART ****/	
    function handleChange(event) {
    	//console.log("handle change");
		if (event.path != "/" && event.path != "respond" && event.path != "s" && event.path != "comment" && event.path != "/"+sitepath) {
			if (SWFAddress.getQueryString() != undefined) {
				var path = event.path + "?" + SWFAddress.getQueryString();
			} else {
				var path = event.path;
			}
			var pathToLoad = path.slice(1);
			loadContent(sitepath + "" + pathToLoad);
		} else if (event.path == "/" && firstload != true && SWFAddress.getQueryString() == undefined) {
			loadContent(sitepath);
		} else if (event.path == "/" && firstload != true && SWFAddress.getQueryString() != undefined) {
			loadContent(sitepath+"?"+SWFAddress.getQueryString());
		} else {
			//console.log("firstload");
			firstload = false;
			backgroundSS();
		}
		$j("#menu_padding").css({"height" : $j(document).height()});
	}
	SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
    /**************************/
    if (blockrc == 'true') {
		$j(this).bind("contextmenu", function(e) {
			e.preventDefault();
		});
	}
}
function loadContent(menu_item) {
		$j(".small_slideshow").each(function(){
			$j(this).cycle('destroy');
		});
		var urlToLoad = menu_item;
		
		loading = true;
		loading_sign();
		$j.ajax({
			type: "POST",
			url: urlToLoad,
			data: "ajax=true",

			success: function(msg) {
				var classes_to_check = '.current-menu-ancestor, .current-menu-parent, .current-menu-item, .current_page_item',
					classes_to_add = 'current-menu-item',
					classes_to_remove = 'current-menu-ancestor current-menu-parent current-menu-item current_page_item';
					
				if ($j("#menu a[href$="+menu_item+"]").parent().parent().parent().attr("id") == "menu") {
					$j(classes_to_check).removeClass(classes_to_remove);
					$j("#menu a[href$="+menu_item+"]").parent().parent().addClass(classes_to_add);
					
				}
				if ($j("#menu a[href$="+menu_item+"]").parent().parent().parent().parent().attr("id") == "menu") {
					$j(classes_to_check).removeClass(classes_to_remove);
					
					$j("#menu a[href$="+menu_item+"]").parent().parent().parent().addClass(classes_to_add);
				}
				if ($j("#menu a[href$="+menu_item+"]").parent().parent().parent().parent().parent().attr("id") == "menu") {
					$j(classes_to_check).removeClass(classes_to_remove);
					$j("#menu a[href$="+menu_item+"]").parent().parent().addClass(classes_to_add);
					$j("#menu a[href$="+menu_item+"]").parent().parent().parent().parent().addClass("current-menu-ancestor");
				}

				if (homepage == "true") {
					homepage = "false";
				}
				$j("#content").html(msg);
				th_hack_new = $j("#thumbsContainer").html();
				
				addBodyClass();
				initCommonJsSweetness();
				firstload = false;
				initJsSweetness();
				delayInitScroll();
				loading = false;
				loading_sign();
				if ($j("body").hasClass("single_blog_post")) {
					clearTimeout(timer);
					busy = false;
				}
			}
		});
	}
	
	
    function addBodyClass() {
		if (isset("bodyextraclass")) {
			var textlength = bodyextraclass.length - 1;
			$j("body").attr("class", bodyextraclass.slice(7, textlength));
		}
	}
	
	function isset(varname) {
		if (typeof(window[varname]) != "undefined") return true;
		else return false;
	}
	function initJsSweetness() {
		portfolioTapeBehaviour();
		if (firstload == false) {
			backgroundSS();
		}
		
		thumbsScroll();
		ajaxLinks();
	}

thumbsScroll = function() {
	var $tContainer = $j('#thumbsContainer');
	thumbsDim($tContainer);
	makeScrollable($j('#thumbsWrapper'), $tContainer, 100);
}
/*function thumbsScroll() {
	var $tContainer = $j('#thumbsContainer');
	thumbsDim($tContainer);
	makeScrollable($j('#thumbsWrapper'), $tContainer, 100);
}*/

function ajaxLinks() {
	$j("a:not([href*="+sitepath+"])").not("[href^=#]").addClass("external").attr({ target: "_blank" });
	
	$j("a").not(".post-edit-link, .external, .prettyPhoto, .ss_link").click(function(event) {
		event.preventDefault();
		//mouseScrolled = false;
		if ($j(this).parent().hasClass("gallery-icon")) {
			return;
		}
		if (
			$j(this).parent().parent().hasClass("current-menu-item") == false 
			&& loading == false
			&& $j(this).attr("href") != "#" 
			&& $j(this).attr("href") != "#nextslide" 
			&& $j(this).attr("href") != "#tooltip"
		) {
			if ($j(this).attr("href") != sitepath) {
				var loadurl = $j(this).attr("href").replace(sitepath, "");
				SWFAddress.setValue(loadurl);
			}
			else {
				SWFAddress.setValue("/");
			}
			//
			if (menu_is_hidden == false) {
				animateMenuInOut();
			}
		} else if ($j(this).parent().parent().hasClass("current-menu-item") == true) {
			var pos = $j("#content").position();
			$j("html, body").animate({scrollTop : pos.top+1}, 2500, fx_easing);
		}
	});
}

function loading_sign() {
	var loading_sign = $j("#loading");
	if (loading) {
		var top = $j(window).scrollTop() + $j(window).height()/2, left = $j(window).width()/2;//parseInt($j(window).scrollTop())
		loading_sign.css({"top" : top, "left" : left}).fadeIn();
		$j("body").bind("mousemove", function(e) {
			var top = e.pageY + 10, left = e.pageX + 10;
			loading_sign.css({"top" : top, "left" : left});
		});
	} else {
		loading_sign.fadeOut(500, function() { $j("body").unbind("mousemove"); });
	}
}

function hideShowMenuBtn() {
	
	if ($j("#header").length == 1 && $j("body").hasClass("single_blog_post") == false) {		
		if ($j.browser.mozilla && $j.client.os == "Windows") {
			var height = parseInt($j("#header").outerHeight()) - parseInt($j("#header #menu").css("margin-top").replace(/[^\d\.]/g, '')) - 20;
		} else {
			var height = parseInt($j("#header").css("bottom").replace(/[^\d\.]/g, '')) + parseInt($j("#header").outerHeight()) - parseInt($j("#header #menu").position().top) - parseInt($j("#header #menu").css("margin-top").replace(/[^\d\.]/g, '')) - 20;
		}
		
		var scrollTop = $j(window).scrollTop();
		if (scrollTop < height) {
			//$j("#menubtn").fadeOut("slow");
			$j("#logotype").css({"opacity" : 1});
			animatelogo = false;
		} else {
			//$j("#menubtn").fadeIn("slow");
			animatelogo = true;
		}
	}
	positionMenu();
}

function positionMenu() {
	//console.log($j.browser);
	if ($j.browser.mozilla && $j.client.os == "Windows") {//Windows
		var header = $j("#header"), topval = $j(window).scrollTop() + $j(window).height() - 100 - header.outerHeight();
		//header.css({"position" : "absolute", "top" : topval, "bottom" : "auto"});
		header.css({"position" : "absolute", "bottom" : "auto"});
		header.stop().delay(500).animate({"top" : topval}, 5);
	}
}
function animateMenuInOut() {
	var menu_holder = $j("#header"), menu_padding = $j("#menu_padding"), menu_container = menu_holder.find("#menu");
//	console.log(animatelogo);
	if (menu_is_hidden) {
		menu_holder.addClass("menuontop").css({"z-index" : 8});
		
		menu_container.css({"opacity" : 0, "display" : "block"});
		menu_container.stop().delay(500).animate({"opacity" : 1});
		if (animatelogo) { menu_holder.find("#logotype").stop().css({"opacity" : 0}).animate({"opacity" : 1}); }
		
		menu_holder.find("#menu li, #menu li a").css({"opacity" : 1, "cursor" : "pointer"});
		
		menu_is_hidden = false;
		
		var hh = $j(document).height();
		menu_padding.css({"height" : hh, "z-index" : 7, "opacity" : 0, "display" : "block"});
		menu_padding.stop().animate({"opacity" : 0.8});
	} else {
		menu_is_hidden = true;
		
		menu_container.stop().animate({"opacity" : 0});
		if (animatelogo) { menu_holder.find("#logotype").stop().animate({"opacity" : 0}); }
		menu_padding.stop().delay(500).animate({"opacity" : 0}, function() { hideMenu(menu_holder, menu_padding); });
	}
}

function hideMenu(menu_holder, menu_padding) {
	//menu_holder.removeClass("menuontop").css({"z-index" : 3, "opacity" : 1});
	menu_holder.removeClass("menuontop").css({"z-index" : 3});
	menu_holder.find("#menu li, #menu li a").css({"opacity" : 0, "cursor" : "default"});
	//menu_holder.find("#menu").css({"display" : "none"});
	
	menu_padding.css({"z-index" : 3, "opacity" : 0, "display" : "none"});
	if (animatelogo) { menu_holder.find("#logotype").stop().css({"opacity" : 1}); }
}



function showMenu() {
	var el_delay = 200, global_delay = 500, fx_speed = 1500;
	//$j("#logotype").css({"opacity" : 0, "position" : "relative", "top" : -50}).delay(500).animate({"opacity" : 1, "top" : 0}, fx_speed/2);
	
	$j("#menu > li").each(function(index) {
		var thisel = $j(this), padleft = parseInt(thisel.find("span a").css("margin-left"));
		thisel.find("span a").css({"margin-left" : -500}).delay(el_delay*index+global_delay).animate({"margin-left" : padleft}, fx_speed, fx_easing);
		thisel.css({"opacity" : 0}).delay(el_delay*index+global_delay).animate({"opacity" : 1}, fx_speed, function() { menuAnimationEnd(index); });
	});
}
function menuAnimationEnd(index) {
	var first_level_li = $j("#menu > li").length, sibling = 1;
	if (first_level_li < 2) sibling = 0;
	if (parseInt(first_level_li-sibling) == index) {
		initial_bg_fade = true;
		//
		delayInitScroll();
		animateMenuInOut();
	}
}

var initScrollTimer;
function delayInitScroll() {
	clearTimeout(initScrollTimer); initScrollTimer = setTimeout( "initScroll()", 500); //1200
}

function initScroll() {
	if (mouseScrolled == false) {//&& $j("html").scrollTop() > 50
		var scroll_speed = 500, urlstring = SWFAddress.getValue(); //2500
		if (urlstring.indexOf("#respond") != -1) {
			var pos = $j("#respond").position();
			$j("html, body").animate({scrollTop : pos.top+1}, scroll_speed, fx_easing);
		}
		else if (urlstring.indexOf("#comments") != -1) {
			var pos = $j("#comments").position();
			$j("html, body").animate({scrollTop : pos.top+1}, scroll_speed, fx_easing);
		}
		else if ($j("body").hasClass("single-wpbportfolio") == true) {
			if ($j(window).scrollTop() > 20) {
				$j("html, body").animate({scrollTop : 0}, scroll_speed, fx_easing);
			}
		}
		else if (homepage == "false") {
			var pos = $j("#content").position();
			if ($j(window).scrollTop() != pos.top) {
				$j("html, body").animate({scrollTop : pos.top+1}, scroll_speed, fx_easing);
			}
		} else if (homepage == "true") {
			homepage = "false";
			var pos = parseInt($j("#content").position().top*0.35);
			$j("html, body").delay(500).animate({scrollTop : pos}, scroll_speed).delay(500).animate({scrollTop : 0}, scroll_speed);
		}
	} else {
		mouseScrolled = false;
	}
}

/*** Background change ***/
var fading_time = 1500, slides_delay = 15000, cur_bg = -1, busy = false, initial_bg_fade = false, initial_timer, timer;
function backgroundSS() {
	if (th_hack != th_hack_new) {
		th_hack_new = th_hack;
		cur_bg = -1;
	}
	clearTimeout(timer);
	loadBackgroundImage();
	bgThumbnailsBehaviour();
}

function fadeInThumbnails() {
	$j("#thumbsContainer a img").each(function(index) {
		$j(this).css({"opacity" : 0}).delay(parseInt(200*index)).animate({"opacity" : 0.4});
	});
	
}

function bgThumbnailsBehaviour() {
	$j("#thumbsContainer a").hover(
		function () {
			//mouse hover
			$j(this).find("img").not(".active").stop().animate({"opacity" : 1});
		}, 
		function () {
			//mouse out
			$j(this).find("img").not(".active").stop().animate({"opacity" : 0.4});
		}
	);
	
	$j("#thumbsContainer a").click(function(e) {
		e.preventDefault();
		if (cur_bg != $j(this).index()) {
			$j("html, body").animate({scrollTop : 0}, 500);
			
			$j(".active").stop().animate({"opacity" : 0.4}).removeClass("active");
			
			cur_bg = parseInt($j(this).index() - 1);
			clearTimeout(timer);
			loadBackgroundImage();
		}
	});
	
	$j("#th_next").click(function() {
		clearTimeout(timer);
		loadBackgroundImage();
	});
	$j("#th_prev").click(function() {
		clearTimeout(timer);
		//cur_bg -= 2;
		loadBackgroundImage("prev");
	});
}

function loadBackgroundImage(direction) {
	if (!busy) {
		$j("#thumbsContainer a:eq("+cur_bg+") img").removeClass("active").animate({"opacity" : 0.4});
		busy = true;
		if (direction == "prev") {
			cur_bg--;
		} else {
			cur_bg++;
		}
		var total_bg = $j("#thumbsContainer a").length;
		if (cur_bg >= total_bg) { cur_bg = 0; }
		else if (cur_bg == -1) { cur_bg = total_bg - 1; }
		
		bckimg = new Image();
		bckimg.src = $j("#thumbsContainer a:eq("+cur_bg+")").attr("href");
		// For IE:
		if ($j.browser.msie) {
			function testImg(){
				if (bckimg.complete != null && bckimg.complete == true) {
					changeBackground();
					return;
				}
				setTimeout(testImg, 300);
			}
			setTimeout(testImg, 300);    
		}
		else bckimg.onload = changeBackground;
		
		bckimgnew = new Image();
		bckimgnew.src = $j("#thumbsContainer a:eq("+parseInt(cur_bg+1)+")").attr("href");
	} else {
		clearTimeout(timer); timer = setTimeout( "loadBackgroundImage()", 500);
	}
}

function changeBackground() {
	if (initial_bg_fade) {
		var bg1 = $j("#bg1"), bg2 = $j("#bg2");
		
		if (bg1.css('display') == 'none') {
			bg1.css({'z-index' : 2, "opacity" : 0, "display" : "block"});
			bg2.css({'z-index' : 1});
			bg1.attr('src', $j("#thumbsContainer a:eq("+cur_bg+")").attr("href"));
			bg1.stop().animate({"opacity" : 1}, fading_time, function() { hidePreviousBg(2); });
		} else {
			bg2.css({'z-index' : 2, "opacity" : 0, "display" : "block"});
			bg1.css({'z-index' : 1});
			bg2.attr('src', $j("#thumbsContainer a:eq("+cur_bg+")").attr("href"));
			bg2.stop().animate({"opacity" : 1}, fading_time, function() { hidePreviousBg(1); });
		}
		busy = false;
		$j("#thumbsContainer a:eq("+cur_bg+") img").addClass("active").animate({"opacity" : 1});
		if ($j("#thumbsContainer a img").length > 1) {
			timer = setTimeout("loadBackgroundImage()", slides_delay+fading_time);
		}
	} else {
		clearTimeout(initial_timer); initial_timer = setTimeout( "changeBackground()", 500);
	}
}

function hidePreviousBg(cur_bg) {
	$j("#bg"+cur_bg).fadeOut(0).css({"opacity" : 0});
}
/******* end background change ****/

//Get our elements for faster access and set overlay width
function makeScrollable($wrapper, $container, contPadding, repeatElements){
	if (repeatElements == null){
		repeatElements = 'img';
	}
    //Get menu width
    var divWidth = $wrapper.width();

    //Remove scrollbars
    $wrapper.css({
        overflow: 'hidden'
    });

    //Find last image container
    var lastLi = $container.find(repeatElements+':last');
    $wrapper.scrollLeft(0);
    
    //When user move mouse over menu
    $wrapper.unbind('mousemove').bind('mousemove',function(e){

        //As images are loaded ul width increases,
        //so we recalculate it each time
        //var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + contPadding;
        var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth();
		var left = (e.pageX - $wrapper.offset().left) * (ulWidth-divWidth) / divWidth;
        $wrapper.scrollLeft(left);
    });
}
function thumbsDim($elem, repeatElements){
    if (repeatElements == null){
		repeatElements = 'img';
	}
    var finalW = 0;
    $elem.find(repeatElements).each(function(i){
        var $img 		= $j(this);
        finalW+=$img.width()+5;
    //plus 5 -> 4 margins + 1 to avoid rounded calculations
    });
    $elem.css('width',finalW+'px').css('visibility','visible');
}

function portfolioTapeBehaviour() {
	$j('.portfolio_tape').each(function() {
		var total_elements, total_width, this_portfolio_tape, x_shift, this_portfolio_tape_holder, right_boundry;
		
		this_portfolio_tape_holder = $j(this);
		this_portfolio_tape = $j(this).find('ul:first');
		total_elements = $j(this).find('ul li').length;
		
		
		var new_w = $j(window).width() - 180;
		this_portfolio_tape_holder.width(new_w);
		
		total_width = 0;
		/*$j(this).find('ul li').each(function(){
			total_width += $j(this).outerWidth() + parseInt($j(this).css("margin-right").replace("px", ""));
			console.log(parseInt($j(this).css("margin-right").replace("px", "")));
		});
		var thistape = $j(this);
		imagesLoaded();
		*/
		var thistape = $j(this), imgs_loaded = 0;
		$j(this).find('ul li img').each(function(index){
			$j(this).bind("load", function() {
				imgs_loaded++;
				total_width += $j(this).parent().outerWidth() + parseInt(thistape.find("ul li:eq("+index+")").css("margin-right").replace("px", ""));
				if (imgs_loaded == thistape.find('ul li img').length) {
					imagesLoaded();
				}
			});
		});
		
		
		function imagesLoaded() {
			if (total_width > thistape.width() && total_elements > 1) {
				this_portfolio_tape.find('li:first').addClass('current');
				thistape
				.css({"padding-bottom" : 30})
				.prepend('<a class="portfolio_tape_prev_slide" href="#" title="">&nbsp;</a> <a class="portfolio_tape_next_slide" href="#" title="">&nbsp;</a>');
				
				//next button
				thistape.find('.portfolio_tape_next_slide').click(function() {
					x_shift = 0;
					offset = this_portfolio_tape.find('li.current').position();
					x_shift = offset.left + this_portfolio_tape.find('li.current').outerWidth() + parseInt(this_portfolio_tape.find('li.current').css("margin-right").replace("px", ""));
					
					right_boundry = total_width - this_portfolio_tape_holder.outerWidth() - parseInt(this_portfolio_tape.find('li.current').css("margin-right").replace("px", ""));
	
					if (x_shift < right_boundry ) {
						this_portfolio_tape.animate({"left" : -x_shift});
						
						this_portfolio_tape.find('li.current').removeClass('current').next().addClass('current');
					} else {
						if (this_portfolio_tape.find('li:last').hasClass('current')) {
							this_portfolio_tape.find('li.current').removeClass('current');
							this_portfolio_tape.find('li:first').addClass('current');
							
							this_portfolio_tape.animate({"left" : 0});
						} else {
							this_portfolio_tape.find('li.current').removeClass('current');
							this_portfolio_tape.find('li:last').addClass('current');
							
							this_portfolio_tape.animate({"left" : -right_boundry});
						}
						
					}
					return false;
				});
				
				//previous button
				thistape.find('.portfolio_tape_prev_slide').click(function() {
					x_shift = 0;
					offset = this_portfolio_tape.find('li.current').position();
					right_boundry = total_width - this_portfolio_tape_holder.outerWidth() - parseInt(this_portfolio_tape.find('li.current').css("margin-right").replace("px", ""));
					
					if (offset.left == 0) {
						//if first slide is active
						this_portfolio_tape.animate({"left" : -right_boundry});
						this_portfolio_tape.find('li.current').removeClass('current');
						this_portfolio_tape.find('li:last').addClass('current');
					} else {
						if (parseInt(this_portfolio_tape.css("left").replace("px", "")) == -right_boundry) {
							//if last slide is active
							var ii = total_elements;
							while (ii > 0) {
								//cycle throw slides backwards
								ii--;
								offset = this_portfolio_tape.find('li:eq('+ii+')').position();
								x_shift = offset.left - this_portfolio_tape.find('li:eq('+ii+')').outerWidth() - parseInt(this_portfolio_tape.find('li:eq('+ii+')').css("margin-right").replace("px", ""));
								if (x_shift < right_boundry) {
									//exit while loop
									this_portfolio_tape.find('li.current').removeClass('current');
									this_portfolio_tape.find('li:eq('+parseInt(ii-1)+')').addClass('current');
									break;
								}
							}
						} else {
							x_shift = offset.left - this_portfolio_tape.find('li.current').outerWidth() - parseInt(this_portfolio_tape.find('li.current').css("margin-right").replace("px", ""));
							this_portfolio_tape.find('li.current').removeClass('current').prev().addClass('current');
						}
						this_portfolio_tape.animate({"left" : -x_shift});
					}
					return false;
				});
			}
		}
	});
}



/**** Player ***/
var currenttrackspan = "NULL";
var currentPlaylistTrack = 0;
var sitePlayer = true;
var nativeplayer = false;
var player_volume = 70;
//var ios = "false";

if (ios == "true") {
	nativeplayer = true;
	player_volume = 100;
} else {
	nativeplayer = false;
}

function playTrack(t, title, caption) {
	$j("#jquery_jplayer").jPlayer("setFile", t).jPlayer("play");
	$j('#global_playstop').addClass("playing");
	setTrackTitle(title, caption);
	return false;
}

function setTrackTitle(title, caption) {
	$j("#tracktitle").fadeOut(700, function() { $j(this).fadeIn().html(title); });
	$j("#trackcaption").fadeOut(700, function() { $j(this).fadeIn().html(caption); });
}

function playListNext() {
	if (currenttrackspan == "NULL") {
		currentPlaylistTrack++;
		if (currentPlaylistTrack == sitePlaylist.length) {
			currentPlaylistTrack = 0;
		}
		playTrack(sitePlaylist[currentPlaylistTrack], sitePlaylistTitle[currentPlaylistTrack], sitePlaylistCaptions[currentPlaylistTrack]);
	}
}
function playListPrevious() {
	if (currenttrackspan == "NULL") {
		currentPlaylistTrack--;
		if (currentPlaylistTrack == -1) {
			currentPlaylistTrack = sitePlaylist.length;
		}
		playTrack(sitePlaylist[currentPlaylistTrack], sitePlaylistTitle[currentPlaylistTrack], sitePlaylistCaptions[currentPlaylistTrack]);
	}
}


var th_hack = '', th_hack_new = '';
jQuery(document).ready(function($j) {
	th_hack = $j("#thumbsContainer").html();
	//
	initOneTimeJs();
	initJsSweetness();
	showMenu();
	
	$j(window).bind('resize', thumbsScroll);
	
});

(function() {
	
	var BrowserDetect = {
		init: function () {
			this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
			this.version = this.searchVersion(navigator.userAgent)
				|| this.searchVersion(navigator.appVersion)
				|| "an unknown version";
			this.OS = this.searchString(this.dataOS) || "an unknown OS";
		},
		searchString: function (data) {
			for (var i=0;i<data.length;i++)	{
				var dataString = data[i].string;
				var dataProp = data[i].prop;
				this.versionSearchString = data[i].versionSearch || data[i].identity;
				if (dataString) {
					if (dataString.indexOf(data[i].subString) != -1)
						return data[i].identity;
				}
				else if (dataProp)
					return data[i].identity;
			}
		},
		searchVersion: function (dataString) {
			var index = dataString.indexOf(this.versionSearchString);
			if (index == -1) return;
			return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
		},
		dataBrowser: [
			{
				string: navigator.userAgent,
				subString: "Chrome",
				identity: "Chrome"
			},
			{ 	string: navigator.userAgent,
				subString: "OmniWeb",
				versionSearch: "OmniWeb/",
				identity: "OmniWeb"
			},
			{
				string: navigator.vendor,
				subString: "Apple",
				identity: "Safari",
				versionSearch: "Version"
			},
			{
				prop: window.opera,
				identity: "Opera"
			},
			{
				string: navigator.vendor,
				subString: "iCab",
				identity: "iCab"
			},
			{
				string: navigator.vendor,
				subString: "KDE",
				identity: "Konqueror"
			},
			{
				string: navigator.userAgent,
				subString: "Firefox",
				identity: "Firefox"
			},
			{
				string: navigator.vendor,
				subString: "Camino",
				identity: "Camino"
			},
			{		// for newer Netscapes (6+)
				string: navigator.userAgent,
				subString: "Netscape",
				identity: "Netscape"
			},
			{
				string: navigator.userAgent,
				subString: "MSIE",
				identity: "Explorer",
				versionSearch: "MSIE"
			},
			{
				string: navigator.userAgent,
				subString: "Gecko",
				identity: "Mozilla",
				versionSearch: "rv"
			},
			{ 		// for older Netscapes (4-)
				string: navigator.userAgent,
				subString: "Mozilla",
				identity: "Netscape",
				versionSearch: "Mozilla"
			}
		],
		dataOS : [
			{
				string: navigator.platform,
				subString: "Win",
				identity: "Windows"
			},
			{
				string: navigator.platform,
				subString: "Mac",
				identity: "Mac"
			},
			{
				string: navigator.userAgent,
				subString: "iPhone",
				identity: "iPhone/iPod"
		    },
			{
				string: navigator.platform,
				subString: "Linux",
				identity: "Linux"
			}
		]
	
	};
	
	BrowserDetect.init();
	
	window.$j.client = { os : BrowserDetect.OS, browser : BrowserDetect.browser };
	
})();
