//general vars
var urlQueue;
var phpQueue;
var AJAX;
var AJAX_LOADING = false;
var WINDOW_WIDTH;
var WINDOW_HEIGHT;
var MOUSE_X = 0;
var MOUSE_Y = 0;
var searchFocus = false;
var documentMouseOut = false;
var zoom = document.documentElement.clientWidth / window.innerWidth;
var menuLoaded = false;
var menuOnLoad;//evento que ejecuta al cargar el menu
var menuRolloverSpeed = 200;
var buttonListMode = 1;
var buttonListModeVisible = false;
var HISTORY = new Array();
///prelodaer vars
var preloaderId;
var preloaderCounter = 0;
var preloaderInterval;
var prelaoderLoaded = false;
var preloaderFrames = new Array();
var prelaoderTotalFrames;
var preloaderOnLoadFrames;//Evento que se ejecuta cuando termina de inicializar el preloader (inicio del site)
//bg vars
var bgMinWidth;
var bgMinHeight;
var bgCurrentLayer;
var bgFadeInSpeed;
var bgCurrentImg;
var bgHolder;
var bgStatus;
var bgLayerNum = 0;
var bgMode = 0;
var bgLoadStart = null;
var bgLoadStartArgs = null;
var bgLoadComplete = null;
var bgLoadCompleteArgs = null;
var bgFadeInComplete = null;
var bgFadeInCompleteArgs = null;
//
var firstRun = false;
//
var colorPalettes = new Array();
var currentPalette;
colorPalettes["_default"] = new Object();
colorPalettes["_default"].name = "Default";
colorPalettes["_default"].slug = "_default";
colorPalettes["_default"].background = ["#FFFFFF"];
colorPalettes["_default"].logo = ["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF"];
colorPalettes["_default"].menu = ["#FFFFFF","#FFFFFF"];
colorPalettes["_default"].search = ["#FFFFFF","#FFFFFF"];
colorPalettes["_default"].vault = ["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF"];
colorPalettes["_default"].playlist = ["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF"];
colorPalettes["_default"].highlight = ["#FFFFFF"];
colorPalettes["_default"].rectangleAndProjectName = ["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF"];
colorPalettes["_default"].icons = ["#FFFFFF","#FFFFFF"];
colorPalettes["_default"].text = ["#FFFFFF"];
colorPalettes["_default"].lines = ["#FFFFFF"];
colorPalettes["_default"].labels = ["#FFFFFF","#FFFFFF"];
colorPalettes["_default"].image = "";
//
var assetsCounter = 0;
var assetsOnLoad;
var assets = ["arrow_1.png","circle_1.png","share_icon.png","share_footer.png","download_icon.png","playlist_num.png","tooltip_shape.png","twitter_icon.png","facebook_icon.png","twitter_icon_2.png","facebook_icon_2.png","fav_icon.png","logo.png","list_icon_mode_2.png","list_icon_mode_1.png","circle_2.png","minus_icon.png","plus_icon.png","stills_icon.png"];
//
var menu = new Array();
menu["reels"] = new Object();
menu["reels"].url = "/reels";
menu["reels"].name = "Reels";
menu["reels"].php = "reels.php";
menu["reels"].php2 = "project.php";
menu["reels"].maxDepth = 2;
menu["reels"].submenu = new Array();

menu["work"] = new Object();
menu["work"].url = "/work";
menu["work"].name = "Work";
menu["work"].php = "work.php";
menu["work"].php2 = "project.php";
menu["work"].maxDepth = 3;
menu["work"].submenu = new Array();

menu["play"] = new Object();
menu["play"].url = "/play";
menu["play"].name = "Play";
menu["play"].php = "work.php";
menu["play"].php2 = "project.php";
menu["play"].maxDepth = 3;
menu["play"].submenu = new Array();

menu["about"] = new Object();
menu["about"].url = "/about/company";
menu["about"].name = "About";
menu["about"].php = "company.php";
menu["about"].submenu = new Array();
menu["about"].submenu["company"] = new Object();
menu["about"].submenu["company"].url = "/about/company";
menu["about"].submenu["company"].name = "Company";
menu["about"].submenu["company"].php = "company.php";
menu["about"].submenu["people"] = new Object();
menu["about"].submenu["people"].url = "/about/people";
menu["about"].submenu["people"].name = "People";
menu["about"].submenu["people"].php = "people.php";
menu["about"].submenu["jobs"] = new Object();
menu["about"].submenu["jobs"].url = "/about/jobs";
menu["about"].submenu["jobs"].name = "Jobs";
menu["about"].submenu["jobs"].php = "jobs.php";

menu["blog"] = new Object();
menu["blog"].url = "/blog";
menu["blog"].name = "Blog";
menu["blog"].php = "blog.php";
menu["blog"].php2 = "blog.php";
menu["blog"].maxDepth = 2;
menu["blog"].submenu = new Array();

menu["contact"] = new Object();
menu["contact"].url = "/contact";
menu["contact"].name = "Contact";
menu["contact"].php = "contact.php";
menu["contact"].submenu = new Array();

//

$.address.init(function(event) {
    $('a:not(.outside)').address(function() { return $(this).attr('href').replace(location.pathname, ''); });
}).change(function(event) {
	//disparo el cambio de pagina
	if(menuLoaded){
		//si el menu está cargado cambia la página
		changePage(event.value);
	}else{
		//si el menu no está cargado queda en cola
		urlQueue = event.value;
	}
});
$(document).click(function(){
	hideVaultList();
	if($(".share_form").length > 0){
		if(!$(".share_form").hitTestPoint(MOUSE_X,MOUSE_Y) && $(".share_form").css("opacity") == 1){
			removeShareForm();
		}
	}
});
$(document).ready(function(){
	//body en alpha cero para el fade-in del inicio
	//$("body").css({backgroundColor:"#000000",opacity:1});
	$("html").css({backgroundColor:"#000000"});
	$("body").css({backgroundColor:"#000000",display:"block",opacity:1});
	$("body").append('<img src="assets/loader.gif" id="main_preloader" style="display:block;position:fixed;top:50%;left:50%;margin-top:-100px;margin-left:-100px;"/><img src="assets/loader2.gif" id="main_preloader_2" style="display:block;position:fixed;top:50%;left:50%;margin-top:40px;margin-left:-35px;"/>');
	
	$("#container").css({display:"none"});
	$("#header").css({display:"none"});
	$("#preloader").css({display:"none"});
	$("#main_preloader").load(function(){
		//defino el id y los fotogramas del preloader
		preloaderId = "preloader";
		for(var i=0;i<24;i++){
			preloaderFrames.push("./assets/p"+i+".png");
		}
		
		//defino la secuencia de eventos para arrancar el site
		preloaderOnLoadFrames = loadMenu;//primero cargo el preloader
		menuOnLoad = loadAssets;//al finalizar carga de preloader cargo el menu y paletas
		assetsOnLoad = start;//luego cargo los assets y luego arranca el site
		//inicializo el preloader y arranca la secuencia
		prelaoderInit();
		
		
		//
		$(document).mousemove(function(e){
			MOUSE_X = e.pageX;
			MOUSE_Y = e.pageY;
			//$("#output").html(("w:"+WINDOW_HEIGHT+" // y:"+MOUSE_Y));
		});
		$(document).mouseout(function(){
			documentMouseOut = true;
		});
		$(document).mouseover(function(){
			documentMouseOut = false;
		});
		$(document).scroll(function() {
			pagedEvent();
			checkHeaderBgOpacity();
		});
		//
		$(this).unbind("load");
	});
});
$(window).resize(function() {
	WINDOW_WIDTH = $(window).width();
	WINDOW_HEIGHT = $(window).height();
	resizeBg();
	var zoomNew = document.documentElement.clientWidth / window.innerWidth;
    if (zoom != zoomNew) {
        // zoom has changed
        // adjust your fixed element
        zoom = zoomNew;
		zoomChange();
    }
});
function zoomChange(){
	//
}
//---------- PRELOADER ----------
function prelaoderInit(){
	preloaderId = "#"+preloaderId.split("#").join("");
	preloaderCounter = 0;
	prelaoderTotalFrames = preloaderFrames.length;
	var html = "";
	for(var i=0;i<prelaoderTotalFrames;i++){
		html += "<img src='"+preloaderFrames[i]+"' id='p"+i+"' onload='preloaderOnloadFrame(this)' class='preloaderIcon'/>";
	}
	$(preloaderId).html(html);
}
function prelaoderVisibility(value){
	if(prelaoderLoaded){
		resetPreloader();
		if(value){
			$(preloaderId).stop(true).css({display:"block",opacity:0});
			$(preloaderId).delay(10).animate({opacity:1},10);	
			preloaderInterval = setInterval("preloaderAnimationEvent()",33);	
		}
	}
}
function resetPreloader(){
	$(preloaderId).stop(true);
	clearInterval(preloaderInterval);
	for(var i=0;i<prelaoderTotalFrames;i++){
		$(preloaderId+" #p"+i).css({display:"none"});
	}	
}
function preloaderAnimationEvent(){
	preloaderCounter++;
	var prev = preloaderCounter-1;
	if(preloaderCounter>=prelaoderTotalFrames){
		preloaderCounter = 0;
		prev=prelaoderTotalFrames-1;
	}	
	$(preloaderId+" #p"+preloaderCounter).css({display:"block"});
	$(preloaderId+" #p"+prev).css({display:"none"});
}
function preloaderOnloadFrame(target){
	preloaderCounter ++;
	if(!prelaoderLoaded && preloaderCounter >= prelaoderTotalFrames){
		preloaderCounter = 0;
		prelaoderLoaded = true;
		prelaoderVisibility(true);
		preloaderOnLoadFrames();
	}
	$(target).removeAttr("onload");
}
//---------- NAVIGATION ----------
function loadMenu(){
	$.ajax({
		//cms_status le dice al fdata.php si usa los datos publicados o preview
        url: "getMenuAndPalettes.php?cms_status="+cms_status,
        success: function(strdata) {
			var data = String(strdata).split('*');
			var workfilters = data[0].split(";");
			var playfilters = data[1].split(";");
			var palettes = data[2].split(";");
			var _vault = data[3].split(";");
			var tmp;
			var php;
			var i;
			var filter;
			//
			//work
			
			php = "work.php";
			for(i=0;i<workfilters.length;i++){
				tmp = workfilters[i].split(",");
				filter = parseFilters(tmp[0]);
				//menu["work"].submenu.push({url:"/work/"+filter,name:tmp[0],php:php});
				menu["work"].submenu[filter] = new Object();
				menu["work"].submenu[filter].name = tmp[0];
				menu["work"].submenu[filter].url = "/work/"+filter;
				menu["work"].submenu[filter].php = php;
				menu["work"].submenu[filter].template = tmp[1];
				menu["work"].submenu[filter].palette = tmp[2];
				if(i==0){
					$("#menu #work").attr("href","/work/"+filter);
					$("#menu #work").attr("rel","address:/work/"+filter);
					$("#menu #work").attr("url","/work/"+filter);
				}
			}
			//play
			php = "work.php";
			for(i=0;i<playfilters.length;i++){
				tmp = playfilters[i].split(",");
				filter = parseFilters(tmp[0]);
				//menu["play"].submenu.push({url:"/play/"+filter,name:tmp[0],php:php});
				menu["play"].submenu[filter] = new Object();
				menu["play"].submenu[filter].name = tmp[0];
				menu["play"].submenu[filter].url = "/play/"+filter;
				menu["play"].submenu[filter].php = php;
				menu["play"].submenu[filter].template = tmp[1];
				menu["play"].submenu[filter].palette = tmp[2];
				if(i==0){
					$("#menu #play").attr("href","/play/"+filter);
					$("#menu #play").attr("rel","address:/play/"+filter);
					$("#menu #play").attr("url","/play/"+filter);
				}
			}
			//
			var k;
			for(i=0;i<palettes.length;i++){
				tmp = palettes[i].split(",");
				k = tmp[1];
				colorPalettes[k] = new Object();
				colorPalettes[k].name = tmp[0].split(" ");
				colorPalettes[k].slug = tmp[1].split(" ");
				colorPalettes[k].background = tmp[2].split(" ");
				colorPalettes[k].logo = tmp[3].split(" ");
				colorPalettes[k].menu = tmp[4].split(" ");
				colorPalettes[k].search = tmp[5].split(" ");
				colorPalettes[k].vault = tmp[6].split(" ");
				colorPalettes[k].playlist = tmp[7].split(" ");
				colorPalettes[k].highlight = tmp[8].split(" ");
				colorPalettes[k].rectangleAndProjectName = tmp[9].split(" ");
				colorPalettes[k].icons = tmp[10].split(" ");
				colorPalettes[k].text = tmp[11].split(" ");
				colorPalettes[k].lines = tmp[12].split(" ");
				colorPalettes[k].labels = tmp[13].split(" ");
				colorPalettes[k].image = tmp[14].split(" ");
			}
			//
			brand = _vault[0];
			agency = _vault[1];
			network = _vault[2];
			tags = _vault[3];
			//En el arranque del site carga el menu y luego setea la seccion en la que entra
			menuLoaded = true;
			menuOnLoad();
		}
    });
}
function loadAssets(){
	var html = '<div class="assets">';
	for(var i=0;i<assets.length;i++){
		html += '<img src="assets/'+assets[i]+'" onload="loadAssetsStep2(this)"/>';
	}
	html += '</div>';
	$("body").append(html);
}
function loadAssetsStep2(target){
	assetsCounter++;
	if(assetsCounter == assets.length){
		assetsOnLoad();
	}
	$(target).removeAttr("onload");
}
function setSearchEvents(){
	$("#search").focus(function(){
		var str = String($(this).val()).split(" ").join("").toLowerCase();
		if(str == "search"){
			$(this).val("");
		}
		searchFocus = true;
	});
	$("#search").blur(function(){
		var str = String($(this).val()).split(" ").join("").toLowerCase();
		//if(str == ""){
			$(this).val("Search");
		//}
		searchFocus = false;
	});
	$(document).keyup(function(event) {//creo los eventos para el teclado
  		if(event.which == 13) {
			if(searchFocus){
			var str = $("#search").val();
			for(var i=0;i<5;i++){
				str = str.split("   ").join(" ").toLowerCase();
				str = str.split("  ").join(" ").toLowerCase();
			}
			if(str.substring(0,1) == " "){
				str = str.substring(1,str.length);
			}
			if(str.substring(str.length-1,str.length) == " "){
				str = str.substring(0,str.length-1);
			}
			if(str != "search"){
				$.address.path("/search/"+str);$("#search").blur();$("#search").val("Search");
			}
			}
			if($(".share_form").length > 0 && shareFormFocus){
				$(".share_form input").blur();
				$(".share_form #share_form_buttons #share_form_send").click();	
			}
			if(blogSearchFocus){
				blogSearch();
			}
   		}
		if(projectKeys){
			if(event.keyCode == 37 || event.keyCode == 40) {
				projectLoadPrevStill();
			}
			if(event.keyCode == 38 || event.keyCode == 39) {
				projectLoadNextStill();
			}
			if(event.keyCode == 27){
				projectHideStills();
			}
		}
	});
}
function createSubmenu(key){
	var html;
	var id;
	var url;
	var name;
	html = '<div id="sm_'+key+'" class="submenu">';
	for (var p in menu[key].submenu) {
		if(menu[key].submenu.hasOwnProperty(p)){
			id = parseFilters(menu[key].submenu[p].name);
			url = menu[key].submenu[p].url;
			name = menu[key].submenu[p].name;
			html += '<a rel="address:'+url+'" id="sm_item_'+id+'" href="'+url+'" url="'+url+'">'+name+'</a><br/>';
		}
	}
	html += '</div>';
	$("#header").append(html);
}
function createVault(){
	var html = '';
	html += '<div class="vault_button">VAULT<img src="assets/arrow_1.png" /></div>';
	html += '<div id="vault" class="dropdown"></div>';
	html += '<div id="brand" class="dropdown"></div>';
	html += '<div id="agency" class="dropdown"></div>';
	html += '<div id="network" class="dropdown"></div>';
	html += '<div id="tags" class="dropdown"></div>';
	$("#header").append(html);
	initVaultLists();
}
function start(){
	//$("html").css({background:"none"});
		$("#container").css({display:"block"});
		$("#header").css({display:"block"});
		$("#container").css({visibility:"hidden"});
		$("#header").css({visibility:"hidden"});
		$("#footer").css({visibility:"hidden"});
		//$("body").css({opacity:0});
		//$("html").css({backgroundColor:"#000000"});
		//$("body").css({backgroundColor:"#000000"});
	//
	currentPalette = colorPalettes["_default"];
	//
	initBg();
	//
	initTooltip();
	//
	//creo submenus
	createSubmenu("work");
	createSubmenu("play");
	createSubmenu("about");
	//
	createVault();
	//
	setSearchEvents();
	//
	buttonListEvents();
	//
	$("#header #headerbg").css({opacity:0.95});
	//
	$("#menu a").each(function(){
		$(this).attr("url",$(this).attr("href"));
	});
	//
	$("#menu a").mouseover(function(){
		//if(Boolean($(this).attr("href"))){
		if(!Boolean($(this).data("selected"))){
			$(this).stop(true).animate({color:currentPalette.menu[1]},150);
		}
	});
	$("#menu a").mouseout(function(){
		//if(Boolean($(this).attr("href"))){
		if(!Boolean($(this).data("selected"))){
			$(this).stop(true).animate({color:currentPalette.menu[0]},150);
		}
	});
	$(".submenu a").mouseover(function(){
		//if(Boolean($(this).attr("href"))){
		if(!Boolean($(this).data("selected"))){
			$(this).stop(true).animate({color:currentPalette.menu[1]},150);
		}
	});
	$(".submenu a").mouseout(function(){
		//if(Boolean($(this).attr("href"))){
		if(!Boolean($(this).data("selected"))){
			$(this).stop(true).animate({color:currentPalette.menu[0]},150);
		}
	});
	$("#playlistbutton").mouseover(function(){
		$(this).children("#pbrect").stop(true).animate({backgroundColor:currentPalette.playlist[2],color:currentPalette.playlist[3]},150)
	});
	$("#playlistbutton").mouseout(function(){
		$(this).children("#pbrect").stop(true).animate({backgroundColor:currentPalette.playlist[0],color:currentPalette.playlist[1]},150)
	});
	$("#playlistbutton").click(function(){
		$.address.path("/playlist");
	});
	$("#footer a").mouseover(function(){
		var id = $(this).attr("id");
		var txt;
		switch (id){
			case "facebook":
			txt = "Facebook";
			break;
			case "twitter":
			txt = "Twitter";
			break;
			case "podcast":
			txt = "Podcast";
			break;
		}
		$(this).showTooltip(txt,-5,-5);
		$(this).children("img").fadeTintIMG(currentPalette.logo[3],5);
	});
	$("#footer a").mouseout(function(){
		hideTooltip();
		$(this).children("img").fadeTintIMG(currentPalette.logo[2],5);
	});
	$("#footer #share_footer").mouseover(function(){
		$(this).showTooltip("Share",-5,-5);
		$(this).fadeTintIMG(currentPalette.logo[3],5);
	});
	$("#footer #share_footer").mouseout(function(){
		$(this).fadeTintIMG(currentPalette.logo[2],5);
		hideTooltip();
	});
	$("#footer #share_footer").click(function(){
		var target = $("#footer_form");
		var w = target.outerWidth();
		//var h = target.outerHeight();
		var c1 = currentPalette.logo[1];
		var c2 = currentPalette.logo[2];
		var c3 = currentPalette.logo[3];
		target.addShareForm(0,0,w,314,c1,c2,c3,"root","","",false,false);
		hideTooltip();
	});
	//---
	changePage(urlQueue);
}
function changeColorPalette(value,ignoreBg){
	var n = Number(value);
	if(isNaN(n)){
		if(colorPalettes[value].slug != "" && colorPalettes[value].slug != undefined){
			currentPalette = colorPalettes[value];
		}else{
			currentPalette = colorPalettes.getAssociativeArrayByIndex(1);
		}
	}else{
		if(n >= colorPalettes.length || n < 0){
			n = 1;
		}
		currentPalette = colorPalettes.getAssociativeArrayByIndex(n);
	}
	applyColorPalette(ignoreBg);
}
function applyColorPalette(ignoreBg){
	var speed = 150;
	$("#headerbg").stop(true).animate({backgroundColor:currentPalette.background[0]},speed);
	$("#menu a").each(function(){
		if(Boolean($(this).attr("href"))){
			$(this).stop(true).animate({color:Boolean($(this).data("selected")) ? currentPalette.menu[1] : currentPalette.menu[0]},speed);
		}else{
			$(this).stop(true).animate({color:currentPalette.menu[1]},speed);
		}
	});
	$(".submenu a").each(function(){
		if(Boolean($(this).attr("href"))){
			$(this).stop(true).animate({color:Boolean($(this).data("selected")) ? currentPalette.menu[1] : currentPalette.menu[0]},speed);
		}else{
			$(this).stop(true).animate({color:currentPalette.menu[1]},speed);
		}
	});
	$("#logo").fadeTintIMG(currentPalette.logo[0],5);
	//$("#logo").retintIMG(currentPalette.logo[0]);
	$("#footer").stop(true).animate({backgroundColor:currentPalette.logo[1],color:currentPalette.logo[2]},speed);
	$("#footer img").fadeTintIMG(currentPalette.logo[2],5);
	//playlist button
	$("#pbrect").stop(true).animate({opacity:1,color:currentPalette.playlist[1],backgroundColor:currentPalette.playlist[0]},speed);
	//search
	$("#search").stop(true).animate({color:currentPalette.search[1]},speed);//
	$("#searchBg").stop(true).animate({backgroundColor:currentPalette.search[0]},speed);
	$("#button_mode_2").fadeTintIMG(currentPalette.menu[0],5);
	var buttonListModeTmp = (buttonListMode == 1) ? 2 : 1;
	$("#button_mode_"+buttonListModeTmp).fadeTintIMG(currentPalette.menu[0],5);
	$("#button_mode_"+buttonListMode).fadeTintIMG(currentPalette.menu[1],5);
	//
	if(!ignoreBg){
		if(currentPalette.image == "" || currentPalette.image == undefined){
			removeBg();
			$("#bgholder").css({display:"none"});
		}else{
			changeBg(currentPalette.image);
			$("#bgholder").css({display:"block"});
		}
	}
	//
	if($(".share_form").length > 0){
		//var fromFooter = $("#footer_form").html() == "";
		//var c1 = fromFooter ?  currentPalette.logo[1] : currentPalette.rectangleAndProjectName[2];
		//var c2 = fromFooter ?  currentPalette.logo[2] : currentPalette.rectangleAndProjectName[1];
		//var c3 = fromFooter ?  currentPalette.logo[3] : currentPalette.rectangleAndProjectName[0];
		var c1 = currentPalette.rectangleAndProjectName[2];
		var c2 = currentPalette.rectangleAndProjectName[1];
		var c3 = currentPalette.rectangleAndProjectName[0];
		$(".share_form img").fadeTintIMG(c3,3);
		$(".share_form").stop(true).animate({backgroundColor:c1,color:c2},speed);
		$(".share_form input").stop(true).animate({color:c3},speed);
		$(".share_form_button").unbind("mouseover");
		$(".share_form_button").unbind("mouseout");
		$(".share_form_button").mouseover(function(){
			$(this).stop(true).animate({color:c3},150);
		});
		$(".share_form_button").mouseout(function(){
			$(this).stop(true).animate({color:c2},150);
		});
	}
	//
	tintTooltip(currentPalette.labels[0],currentPalette.labels[1]);
	//
	//vault
	$(".dropdown").css({backgroundColor:currentPalette.vault[2]});
	$(".dropdown_item").css({color:currentPalette.vault[4]});
	$(".dropdown_line").css({backgroundColor:currentPalette.vault[6]});
	if(vaultListOpen){
		$(".vault_button").css({color:currentPalette.vault[3],backgroundColor:currentPalette.vault[2]});
		$(".vault_button img").retintIMG(currentPalette.vault[3]);
		//$(this).children("img").fadeTintIMG(currentPalette.vault[3],5);
		//$(this).stop(true).animate({color:currentPalette.vault[3],backgroundColor:currentPalette.vault[2]},150);
	}else{
		$(".vault_button").css({color:currentPalette.vault[1],backgroundColor:currentPalette.vault[0]});
		$(".vault_button img").retintIMG(currentPalette.vault[1]);
	}
	if(vaultListRollover != null){
		vaultListRollover.stop(true).css({color:currentPalette.vault[5]});
	}
	if(vaultListSelected != null){
		vaultListSelected.stop(true).css({color:currentPalette.vault[5]});
	}
	//
	/*
	currentPalette.name;
	currentPalette.slug;
	currentPalette.background;
	currentPalette.logo;
	currentPalette.menu;
	currentPalette.search;
	currentPalette.vault;
	currentPalette.playlist;
	currentPalette.highlight;
	currentPalette.rectangleAndProjectName;
	currentPalette.text;
	currentPalette.lines;
	currentPalette.labels;
	currentPalette.image;
	*/
	if(firstRun){
		$("body").stop(true).animate({opacity:1,backgroundColor:currentPalette.background[0]},speed);
		$("html").css({background:"none"});
	}else{
		firstRun = true;
		$("#container").css({visibility:"visible"});
		$("#header").css({visibility:"visible"});
		$("#footer").css({visibility:"visible"});
		$("body").css({display:"block"}).delay(0).animate({opacity:1,backgroundColor:currentPalette.background[0]},speed,function(){
			$("html").css({background:"none"});	
		});
		buttonListModeVisibility(true);
		$("#main_preloader").animate({opacity:0},50,function(){
			$(this).remove();
		});
		$("#main_preloader_2").animate({opacity:0},50,function(){
			$(this).remove();
		});
	}
}
function headerlineVisibility(visible, width){
	if(visible){
		var w = isNaN(Number(width)) ? 1204 : Number(width);
		$("#headerline").stop(true).css({display:"block",width:w}).animate({opacity:1,backgroundColor:currentPalette.lines[0]},100);
	}else{
		$("#headerline").stop(true).animate({opacity:0},100,function(){
				$(this).css({display:"none"});
		});
	}
}
function setButtonListMode(num,nullFadeIn){
	buttonListMode = num;
	var buttonListModeTmp = (buttonListMode == 1) ? 2 : 1;
	var height = (buttonListMode == 1) ? workMode1Height : workMode2Height;
	$("#button_mode_"+buttonListModeTmp).css({cursor:"pointer"});
	$("#button_mode_"+buttonListModeTmp).fadeTintIMG(currentPalette.menu[0],5);
	$("#button_mode_"+buttonListMode).css({cursor:"auto"});
	$("#button_mode_"+buttonListMode).fadeTintIMG(currentPalette.menu[1],5);
	if($("#mode_1").length > 0){
		$("#mode_"+buttonListModeTmp).stop(true).css({width:"100%",height:0,overflow:"hidden"});	
		if(nullFadeIn){
			$("#mode_"+buttonListMode).stop(true).css({width:"100%",height:height,overflow:"hidden",opacity:1});
		}else{
			$("#mode_"+buttonListMode).stop(true).css({width:"100%",height:height,overflow:"hidden",opacity:0}).delay(50).animate({opacity:1},100);		
		}
	}
}
function buttonListModeVisibility(showNow){
	var pn = $.address.pathNames();
	var visibility = ((pn.length == 2 && (pn[0] == "work" || pn[0] == "play")) || (pn.length == 1 && pn[0] == "reels")) ? "visible" : "hidden";
	$(".button_mode").stop(true).css({visibility:visibility});
	if(visibility == "visible" && firstRun){
		buttonListModeVisible = true;
		if(showNow){
			$(".button_mode").stop(true).animate({opacity:1},150);
		}
	}else{
		buttonListModeVisible = false;
		$(".button_mode").css({opacity:0});
	}
}
function buttonListEvents(){
	$(".button_mode").mouseover(function(){
		if($(this).css("cursor") == "pointer"){
			var txt = $(this).attr("id") == "button_mode_1" ? "Large View" : "Small View";
			$(this).fadeTintIMG(currentPalette.menu[1],5);
			$(this).showTooltip(txt,-5,-5);
		}
	});
	$(".button_mode").mouseout(function(){
		hideTooltip();
		if($(this).css("cursor") == "pointer"){
			$(this).fadeTintIMG(currentPalette.menu[0],5);
		}
	});
	$(".button_mode").click(function(){
		if($(this).css("cursor") == "pointer"){
			hideTooltip();
			var num = Number($(this).attr("id").split("button_mode_").join(""));
			setButtonListMode(num);
			$(document).scrollTop(0);
		}
	});
}
function stopEvents(){
	//$("*").stop(true);
	hideTooltip();
	$(".playlist_title #playlist_sh_icon").css({display:"block"});
	$(".playlist_title").stop(true).css({visibility:"hidden",opactity:0});
	$(".playlist_title").children().css({visibility:"hidden"});
	buttonListMode = 1;
	removeShareForm();
	stopLoadBg();
	bgLoadComplete = null;
	bgLoadCompleteArgs = null;
	stopHomepage();
	stopCompany();
	stopWork();
	stopProject();
	stopBlog();
}
function getHistory(value){
	var n;
	var result = "";
	if(value < 0){
		n = HISTORY.length+value-1;
		if(n>=0){
			result = HISTORY[n];
		}
	}else{
		n = value;
		if(n<HISTORY.length-1){
			result = HISTORY[n];
		}
	}
	return result; 
}
function changePage(paramURL){
	stopEvents();//antes de cambiar de página borra los eventos que pueda tener activos la sección que se va a eliminar -> slideshows, etc
	hideVaultList();
	HISTORY.push(paramURL);//memorizo la url
	prelaoderVisibility(false);
	//
	var url = paramURL;
	var tmp;
	var pn = $.address.pathNames();
	var pn1;
	var menuRemoveHref = true;
	var subemnuRemoveHref = true;
	//-------------------
	var php = "page_not_found.php";
	if(url == "" || url == "/"){
		url = "homepage"
		php = "homepage.php";
	}else{
		if(pn[0].toLowerCase() == "search"){
			php = "search.php";
			url = pn[1].toLowerCase();
		}else{
			if(pn[0].toLowerCase() == "playlist"){
				if(pn.length == 2){
					if(controlPlaylistDirectURL()){
						php = "playlist.php";
					}else{
						php = "project.php";
					}
				}else{
					php = "playlist.php";
					url = playlist.toString();
				}
			}else{
				var menuItem = menu[pn[0].toLowerCase()];
				if(pn.length > 1){
					pn1 = pn[1];
					if(menuItem.maxDepth == undefined || pn.length < menuItem.maxDepth){
						php = menuItem.submenu[pn[1].toLowerCase()].php;	
					}else{
						php = menuItem.php2;
						if(pn.length == 2){
							menuRemoveHref = false;
						}else{
							subemnuRemoveHref = false;	
						}
					}
				}else{
					php = menuItem.php;
					if(menuItem.maxDepth == 3 && menuItem.submenu.length > 0){//fixed incomplete url in work or play section when filter is undefined
						php = menuItem.submenu.getAssociativeArrayByIndex(0).php;
						url = menuItem.submenu.getAssociativeArrayByIndex(0).url;
						pn[1] = menuItem.submenu.getAssociativeArrayByIndex(0).name.split(" ").join("").toLowerCase();
					}
				}
			}
		}
	}
	if(php == "" || php == undefined){
		php = "page_not_found.php";
	}
	//-------------------
	$("#menu a").each(function(){
		if(pn[0] == $(this).attr("id")){
			if(menuRemoveHref){
				$(this).removeAttr("href");
				$(this).removeAttr("rel");
			}else{
				$(this).attr("href",$(this).attr("url"));
				$(this).attr("rel","address:"+$(this).attr("url"));	
			}
			$(this).data("selected",true);
			$(this).stop(true).animate({color:currentPalette.menu[1]},150);
		}else{
			$(this).attr("href",$(this).attr("url"));
			$(this).attr("rel","address:"+$(this).attr("url"));
			$(this).data("selected",false);
			$(this).stop(true).animate({color:currentPalette.menu[0]},150);
		}
	});
	$(".submenu").each(function(){
		if($(this).attr("id") == "sm_"+pn[0]){
			$(this).stop(true).css({display:"block"}).delay(150).animate({opacity:1},150);
			$(this).children("a").each(function(){
				if("sm_item_"+pn[1] == $(this).attr("id")){
				//if("sm_item_"+pn1 == $(this).attr("id")){
					if(subemnuRemoveHref){
						$(this).removeAttr("href");
						$(this).removeAttr("rel");
					}else{
						$(this).attr("href",$(this).attr("url"));
						$(this).attr("rel","address:"+$(this).attr("url"));	
					}
					$(this).data("selected",true);
					$(this).stop(true).animate({color:currentPalette.menu[1]},150);
				}else{
					$(this).attr("href",$(this).attr("url"));
					$(this).attr("rel","address:"+$(this).attr("url"));
					$(this).data("selected",false);
					$(this).stop(true).animate({color:currentPalette.menu[0]},150);
				}
			});
		}else{
			$(this).stop(true).css({display:"none",opacity:0});
		}
	});
	if($.address.path() == "" || $.address.path() == "/"){
		$("#logo").removeAttr("href");
		$("#logo").removeAttr("rel");
	}else{
		$("#logo").attr("href","/");
		$("#logo").attr("href","address;/");
	}
	/*
	Object.keys(menu[pn[0]].submenu).length>0
	*/
	setFooterText("");
	buttonListModeVisibility();
	loadPage(url,php);
}
function setFooterText(value){
	var year = new Date().getFullYear();
	if(year > 2011){
		year = "2011-"+year;
	}
	var html = '©'+year+' We Are Royale LLC';
	$("#footer span a").unbind("mouseover");
	$("#footer span a").unbind("mouseout");
	if(value == "contact"){
		html += ' Site by <a href="http://thisisloyal.com" target="_blank">Loyal</a>';
		$("#footer span").html(html);
		$("#footer span a").css({color:currentPalette.logo[2]});
		$("#footer span a").mouseover(function(){
			$(this).css({textDecoration:"underline"});
		});
		$("#footer span a").mouseout(function(){
			$(this).css({textDecoration:"none"});
		});
	}else{
		$("#footer span").html(html);	
	}
}
function loadPage(url,php){
	//carga el php vía ajax
	if(AJAX_LOADING){
		AJAX.abort();
	}
	AJAX_LOADING = true;
	//$("#content").stop(true).animate({opacity:0},75);
	var height = $(document).height()-$("#header").height();//guardo el height del ultimo contenido
	var html = '<div style="position:absolute;width:10px;height:'+height+'px;"></div>';
	$("#content").html(html);
	prelaoderVisibility(true);
	AJAX = $.ajax({
		//cms_status le dice al fdata.php si usa los datos publicados o preview
		url: php+"?cms_status="+cms_status+"&url="+url,
		success: function(data) {
			//cuando complata la carga le pasa el contenido al div
			loadHTML(data);
			AJAX_LOADING = false;
			//prelaoderVisibility(false);
		}
	});
}
function loadHTML(data){
	$(document).scrollTop(0);
	$("#content").html(data);
	checkHeaderBgOpacity();
	if(buttonListModeVisible){
		$(".button_mode").stop(true).animate({opacity:1},150);
	}
	var pn = $.address.pathNames();
	var minHeight = ((pn[0] == "work" || pn[0] == "play") && pn.length == 2) ? 500 : 500;
	$("#content").css({minHeight:minHeight});
	//$("#content").css({opacity:0}).delay(100).animate({opacity:1},10);
}


//---- paged here

function pagedEvent(){
	if($.address.pathNames()[0] == "work" && $.address.pathNames().length == 2 && !detectMobile()){
		if($(window).scrollTop() >= $(document).height() - $(window).height()){
			workNextPage();
		}
	}
	if($.address.pathNames()[0] == "blog" && ($.address.pathNames().length == 1 || $.address.pathNames()[1] == "search")){
		var offsetIpad = detectMobile() ? 4 : 0;
		if($(window).scrollTop() >= $(document).height() - $(window).height() - offsetIpad){
			blogNextPage();
		}
	}
}

//----

function checkHeaderBgOpacity(){
	var opacity = 0;
	//if($("#bgholder").css("display") == "block"){
		if($(document).scrollTop() > 0){
			opacity = 0.93;
		}
	//}
	$("#header #headerbg").css({opacity:opacity});
};

//----------VAULT-------------
var vaultListOpen = false;
var vaultListSelected = null;
var vaultListRollover = null;
var vaultListsH = 0;
var brand = "nike adidas coca-cola pepsi ford samsung sony";
var agency = "BBDO_-_NY Deutsch_-_NY Draft _FCB Droga_5 Goodby_Silverstein_&_Partners Hauser_Group Hill_Holliday Innocean JWT_NY Leo_Burnett_–_London Martin_Agency M&C_Saatchi_-_Sydney McCann_-_LA_&_SF McGarry_Bowen Momentum_WW Partners_&_Napier Publicis Saatchi TBWA/Chiat_Day";
var network = "qwe asd test lorem ipsum";
var tags = "promo test asd blabla live_action commercial video music-video other";
var vault = "brand agency network tags";
function convertStrToTags(str,caseSensitive,type){
	var data;
	var result;
	var hit;
	var i;
	var j;
	if(!caseSensitive){
		if(type == "uppercase"){
			str = str.toUpperCase();
		}else{
			str = str.toLowerCase();
		}
	}
	str = str.split(",").join(" ");
	for(i=0;i<10;i++){
		str = str.split("     ").join(" ");
		str = str.split("    ").join(" ");
		str = str.split("   ").join(" ");
		str = str.split("  ").join(" ");
	}
	if(str.substring(0,1) == " "){
		str = str.substring(1,str.length);
	}
	if(str.substring(str.length-1,str.length) == " "){
		str = str.substring(0,str.length-1);
	}
	data = str.split(" ");
	result = new Array();
	for(i=0;i<data.length;i++){
		hit = false;
		for(j=0;j<result.length;j++){
			if(data[i] == result[j]){
				hit = true;
			}
		}
		if(!hit){
			result.push(data[i]);
		}
	}
	result = result.sort();
	return result;
}
function createDropList(target,tagsdata,evt,selection){
	var data = convertStrToTags(tagsdata,false,"lowercase");//convertStrToTags(str:String,caseSensitive:Boolean;type:String);
	var h = 0;
	var html = "";
	for(var i=0;i<data.length;i++){
		html += "<div class='dropdown_item' selected='0'>"+tagToText(data[i])+"</div><div class='dropdown_line'></div>";
		h += 18;//item height
	}
	$(target).html(html);
	$(target).data("h",h);
	$(target).children(".dropdown_item").mouseover(function(){
		vaultListRollover = $(this);
		if($(this).attr("selected") != "1"){
			$(this).stop(true).animate({color:currentPalette.vault[5]},150);
		}
	});
	$(target).children(".dropdown_item").mouseout(function(){
		vaultListRollover = null;
		if($(this).attr("selected") != "1"){
			$(this).stop(true).animate({color:currentPalette.vault[4]},150);
		}
	});
	if(selection){
		$(target).children(".dropdown_item").click(function(e){
			if($(this).attr("selected") != "1"){
				vaultListSelected = $(this);
				evt(textToTag($(this).html()));
				$(this).mouseover();
				$(this).attr("selected","1");
				$(this).css({cursor:"auto"});
				e.stopPropagation();
			}
		});
	}else{
		$(target).children(".dropdown_item").click(function(e){
			evt(textToTag($(this).html()));
			$(this).mouseout();
			e.stopPropagation();
		});
	}
	$(target).click(function(e){
		e.stopPropagation();
	});
}
function tagToText(str){
	str = str.split("_").join(" ");
	return str;
}
function textToTag(str){
	str = str.split(" ").join("_");
	str = str.split("/").join("_");
	str = str.split("&amp;").join("");
	str = str.split("-").join("");
	str = str.split("__").join("_");
	return str.toLowerCase();
}
function vaultURL(tagstr){
	hideVaultList();
	var tag = tagstr.toLowerCase().split(" ").join("_");
	$.address.path("/search/"+tag);
	//alert("domain/#/search/"+tag);
}
function showVaultDropdown(){
	vaultListOpen = true;
	$(".vault_button img").flipIMG(false,true);
	$(".vault_button").attr("selected","1");
	$("#vault .dropdown_item").css({display:"none"});
	$("#vault .dropdown_line").css({display:"none"});
	var h = $("#vault").data("h");
	$("#vault").stop(true).css({display:"block",height:1,opacity:0}).animate({height:h,opacity:1},150,function(){
		$(this).children(".dropdown_item").stop(true).css({display:"block",opacity:0}).animate({opacity:1},100);
		$(this).children(".dropdown_line").stop(true).css({display:"block",opacity:0}).animate({opacity:1},100);
	});
}
function showVaultList(target){
	$(".dropdown").stop(true).css({display:"none"});
	$("#vault").stop(true).css({display:"block",opacity:1});
	var h = $("#"+target).data("h");
	$("#"+target+" .dropdown_item").css({display:"none"});
	$("#"+target+" .dropdown_line").css({display:"none"});
	var time = h/24*15;
	if(time < 150){
		time = 150;
	}
	$("#"+target).stop(true).css({display:"block",height:vaultListsH,opacity:(vaultListsH>0 ? 1 : 0)}).animate({height:h,opacity:1},time,function(){
		$(this).children(".dropdown_item").stop(true).css({display:"block",opacity:0}).animate({opacity:1},100);
		$(this).children(".dropdown_line").stop(true).css({display:"block",opacity:0}).animate({opacity:1},100);
	});
	vaultListsH = h;
	$("#vault .dropdown_item").attr("selected","0");
	$("#vault .dropdown_item").mouseout();
	$("#vault .dropdown_item").css({cursor:"pointer"});
}
function hideVaultList(){
	if(vaultListOpen){
		vaultListsH = 0;
		$(".vault_button").attr("selected","0");
		$(".vault_button").mouseout();
		$(".vault_button img").flipIMG(false,false);
		$(".vault_button img").fadeTintIMG(currentPalette.vault[1],3);
		$(".dropdown").stop(true).animate({opacity:0},100,function(){
			$(this).css({display:"none"});
		});
		$("#vault .dropdown_item").attr("selected","0");
		$("#vault .dropdown_item").mouseout();
		$("#vault .dropdown_item").css({cursor:"pointer"});
		vaultListOpen = false;
		vaultListSelected = null;
		vaultListRollover = null;
	}
}
function initVaultLists(){
	$(".vault_button").disableSelection();
	$(".dropdown").disableSelection();
	createDropList('#vault',vault,showVaultList,true);
	$("#vault").css({width:$("#vault").width()-5});
	createDropList('#brand',brand,vaultURL,false);
	createDropList('#agency',agency,vaultURL,false);
	createDropList('#network',network,vaultURL,false);
	createDropList('#tags',tags,vaultURL,false);
	$(".dropdown").css({backgroundColor:currentPalette.vault[1]});
	$(".dropdown_item").css({color:currentPalette.vault[4]});
	$(".dropdown_line").css({backgroundColor:currentPalette.vault[6]});
	//$(".vault_button img").retintIMG(currentPalette.vault[1]);
	$(".vault_button").css({color:currentPalette.vault[1],backgroundColor:currentPalette.vault[0]});
	$(".vault_button").mouseover(function(){
		if($(this).attr("selected") != "1"){
			$(this).children("img").fadeTintIMG(currentPalette.vault[3],5);
			$(this).stop(true).animate({color:currentPalette.vault[3],backgroundColor:currentPalette.vault[2]},150);
		}
	});
	$(".vault_button").mouseout(function(){
		if($(this).attr("selected") != "1"){
			$(this).children("img").fadeTintIMG(currentPalette.vault[1],5);
			$(this).stop(true).animate({color:currentPalette.vault[1],backgroundColor:currentPalette.vault[0]},150);
		}
	});
	$(".vault_button").click(function(e){
		if($(this).attr("selected") != "1"){
			$(this).mouseover();
			showVaultDropdown();
		}else{
			hideVaultList();
		}
		e.stopPropagation();
	});
}
//----------VAULT-------------
//---TOOLTIP---
/*
Required scripts:
jquery-1.4.4.min.js
jquery-ui.min.js
jq-img-color-fx-1.0.js
jq-no-sel.js

Funtions:
showTooltip(target,text,offsetLeft,offsetTop,[flipH,flipV]);
$(traget).showTooltip(text,offsetLeft,offsetTop,[flipH,flipV]);
showTooltipEvent(text,left,top,[flipH,flipV]);
hideTooltip();
*/
var tooltip;
var tooltipCornerRadius;
var tooltipBgColor;
var tooltipBgOpacity;
var tooltipShape;
var tooltipMaginShape;
var tooltipMaginTextLeft;
var tooltipMaginTextRight;
var tooltipMaginTextTop;
var tooltipMaginTextBottom;
var tooltipMaxWidthText;
var tooltipMinWidthText;
var tooltipFontColor;
var tooltipFontSize;
var tooltipFontFamily;
var tooltipLineHeight;
var toolTipSpace;
var tooltipFadeinSpeed;
function initTooltip(){
	tooltip = $("#tooltip");
	tooltipCornerRadius = 4;
	tooltipBgColor = "#000000";
	tooltipBgOpacity = 1;
	tooltipShape = "assets/tooltip_shape.png";
	tooltipMaginShape = 15;
	toolTipSpace = 10;
	tooltipFadeinSpeed = 300;
	tooltipMaginTextLeft = 9;
	tooltipMaginTextRight = 9;
	tooltipMaginTextTop = 5;
	tooltipMaginTextBottom = 5;
	tooltipMaxWidthText = 250;
	tooltipMinWidthText = 50;
	tooltipFontColor = "#FFFFFF";
	tooltipFontSize = 10;
	tooltipLineHeight = 12;
	tooltipFontFamily = "Arial,Helvetica,sans-serif";
	//
	tooltip.html('<div id="tooltipBg"><img id="tooltipShape" src="'+tooltipShape+'" onload="tintIMG(this,\''+tooltipBgColor+'\')"/></div><div id="tooltipText"></div>');
	tooltip.children('#tooltipBg').css("-moz-border-radius",tooltipCornerRadius+"px").css("border-radius",tooltipCornerRadius+"px").css("-webkit-border-radius",tooltipCornerRadius+"px");
	tooltip.children('#tooltipBg').css({opacity:tooltipBgOpacity,position:"absolute",backgroundColor:tooltipBgColor,width:100,height:50});
	tooltip.children('#tooltipBg').children('#tooltipShape').css({position:"absolute",bottom:-9,left:tooltipMaginShape});
	tooltip.children('#tooltipText').css({position:"absolute",top:tooltipMaginTextTop,left:tooltipMaginTextLeft,color:tooltipFontColor,fontSize:tooltipFontSize,minWidth:tooltipMinWidthText,maxWidth:tooltipMaxWidthText});
	tooltip.children('#tooltipText').css("font-family",tooltipFontFamily).css("line-height",tooltipLineHeight+"px");
	tooltip.css({position:"fixed",width:"auto",top:-100,left:0,visibility:"hidden"}).disableSelection();
}
function flipTooltip(h,v){
	var _h = Boolean(h) ? -1 : 1;
	var _v = Boolean(v) ? -1 : 1;
	if(_h != 0){
		$(this).css("filter","FlipH");
	}
	if(_v != 0){
		$(this).css("filter","FlipV");
	}
	tooltip.children('#tooltipBg').css("-o-transform","scale("+_h+","+_v+")").css("transform","scale("+_h+","+_v+")").css("-moz-transform","scale("+_h+","+_v+")").css("-webkit-transform","scale("+_h+","+_v+")");
	tooltip.attr("fliptooltip",_h+","+_v);	
	if(Boolean(h)){
		var left = tooltip.position().left+tooltipMaginShape;
		tooltip.css({left:left});
	}
	if(Boolean(v)){
		var top = tooltip.position().top+tooltip.children('#tooltipBg').height()+toolTipSpace*2;
		tooltip.css({top:top});
	}
}
function showTooltipEvent(text,left,top,flip){
	tooltip.stop(true).css({width:tooltipMaxWidthText});
	tooltip.children('#tooltipText').html(text);
	var w = tooltip.children('#tooltipText').width()+tooltipMaginTextLeft+tooltipMaginTextRight;
	tooltip.stop(true).css({width:w});
	tooltip.children('#tooltipBg').css({height:tooltip.children('#tooltipText').height()+tooltipMaginTextTop+tooltipMaginTextBottom})
	var h = tooltip.children('#tooltipBg').height();
	var f = (flip == undefined || flip == null) ? [false,false] : [flip[0],flip[1]];
	tooltip.css({top:top-h-toolTipSpace,left:left,visibility:"visible",opacity:0});
	tooltip.children("#tooltipBg").css({width:w});
	flipTooltip(f[0],f[1]);
	tooltip.animate({opacity:1},tooltipFadeinSpeed)
	//$("#tooltipBg").css({width:w,height:h,top:-(h+10)});
	//$("#tooltip").children("#shape").css({top:-11,left:20});
}
function hideTooltip(){
	tooltip.stop(true).css({visibility:"hidden"});
}
function tintTooltip(c1,c2){
	tooltip.children("#tooltipBg").css({backgroundColor:c1});
	tooltip.children('#tooltipBg').children('#tooltipShape').retintIMG(c1);
	tooltip.children("#tooltipText").css({color:c2});
}
function showTooltip(target,text,offsetLeft,offsetTop,flip){
	$(target).showTooltip(text,offsetLeft,offsetTop,flip);
}
jQuery.fn.showTooltip = function(text,offsetLeft,offsetTop,flip){
	var f = (flip == undefined || flip == null) ? [false,false] : [flip[0],flip[1]];
	var v = -$(document).scrollTop()-(f[1] ? $(document).scrollTop() : 0);
	var h = -$(document).scrollLeft()-(f[0] ? $(document).scrollLeft() : 0);
	var ot = isNaN(Number(offsetTop)) ? 0 : Number(offsetTop); 
	var ol = isNaN(Number(offsetLeft)) ? 0 : Number(offsetLeft); 
	var top = $(this).offset().top+ot+v;
	var left = $(this).offset().left+ol+h;
	showTooltipEvent(text,left,top,flip);
}
//---TOOLTIP---
//---------- GLOBAL ----------
function cssToHexa(val){
	var value = val;
	value = value.split("rgb(").join("");
	value = value.split(")").join("");
	value = value.split(" ").join("");
	var rgb = value.split(",");
	var result = "#"+Number(rgb[0]).toString(16)+Number(rgb[1]).toString(16)+Number(rgb[2]).toString(16);
	return result;
}
function parseColorHexa(str){
	var hexa = str.split("#").join("");
	if(hexa.length > 6){
		hexa = hexa.substring(0,6);
	}
	hexa = hexa.toUpperCase();
	var hexaChars = ["A","B","C","D","E","F","0","1","2","3","4","5","6","7","8","9"];
	var hit;
	var result = "#";
	var totalChars = hexa.length
	if(totalChars<6){
		for(var i=(6-totalChars);i<6;i++){
			hexa += "0";
		}
	}
	for(var i=0;i<6;i++){
		hit = false;
		for(var j=0;j<hexaChars.length;j++){
			if(hexa.substring(i,(i+1)) == hexaChars[j]){
				result += hexa.substring(i,(i+1));
				hit = true;
				break;
			}
		}
		if(!hit){
			result += "0";
		}
	}
	return result;
}
function controlHexa(str){
	var hexa = String(str).toUpperCase().split("#").join("");
	var result = true;
	var hexaChars = ["A","B","C","D","E","F","0","1","2","3","4","5","6","7","8","9"];
	if(hexa.length == 6){
		for(var i=0;i<6;i++){
			hit = false;
			for(var j=0;j<hexaChars.length;j++){
				if(hexa.substring(i,(i+1)) == hexaChars[j]){
					hit = true;
					break;
				}
			}
			if(!hit){
				result = false;
				break;
			}
		}
	}else{
		result = false;
	}
	return result;
}
//BACKGROUND FUNCTIONS -->
function initBg(){
	//bg settings
	bgMinWidth = 1280;
	bgMinHeight = 768;
	bgFadeInSpeed = 300;
	bgHolder = $("#bgholder");
	//
	bgHolder.css({position:"fixed",top:0,left:0});
}
function changeBg(imgSrc, modeBg){
	bgMode = 0;
	if(modeBg == 1 || modeBg == "width"){
		bgMode = 1;
	}
	if(modeBg == 2 || modeBg == "height"){
		bgMode = 2;
	}
	//if(bgCurrentImg != imgSrc){
	if(bgStatus == "loading" && $("#bgLayer"+bgLayerNum).length > 0){
		$("#bgLayer"+bgLayerNum).unbind("load");
		$("#bgLayer"+bgLayerNum).remove();
	}
	if(bgStatus == "loaded" && $("#bgLayer"+bgLayerNum).length > 0){
		$("#bgLayer"+bgLayerNum).stop(true);
	}
	bgEventHandler("start");
	bgStatus = "loading";
	bgLayerNum ++;
	bgHolder.append("<img id='bgLayer"+bgLayerNum+"' src='"+imgSrc+"' />");
	$("#bgLayer"+bgLayerNum).css({position:"absolute",top:0,left:0,opacity:0});
	$("#bgLayer"+bgLayerNum).disableSelection();
	$("#bgLayer"+bgLayerNum).load(function(){
		bgCurrentImg = imgSrc;
		onLoadBg(this);
	});
	//}
}
function stopLoadBg(){
	if(bgStatus == "loading"){
		$("#bgLayer"+bgLayerNum).unbind("load");
		$("#bgLayer"+bgLayerNum).remove();
		bgStatus = "stop";
	}
}
function removeBg(){
	if(bgStatus == "loading"){
		$("#bgLayer"+bgLayerNum).unbind("load");
	}
	cleanBg();
	$("#bgLayer"+bgLayerNum).remove();
	bgStatus = "stop";
}
function onLoadBg(target){
	bgStatus = "loaded";
	bgCurrentLayer = $(target);
	resizeBg();
	bgEventHandler("complete");
	$(target).stop(true).animate({opacity:1},bgFadeInSpeed,function(){
		cleanBg();
		bgStatus = "finished";
		bgEventHandler("fadein");
	});
	$(target).unbind("load");	
}
function cleanBg(){
	var ini = bgLayerNum-5;
	if(ini < 0){
		ini = 0;
	}
	for(var i=ini;i<bgLayerNum;i++){
		if($("#bgLayer"+i).length > 0){
			$("#bgLayer"+i).stop(true);
			$("#bgLayer"+i).remove();
		}
	}
}
function bgEventHandler(Event){
	switch (Event){
	case "start":
		if(bgLoadStart != null){
			if(bgLoadStartArgs != null){
				bgLoadStart.apply(this,bgLoadStartArgs);	
			}else{
				bgLoadStart();		
			}
		}
	break;
	case "complete":
		if(bgLoadComplete != null){
			if(bgLoadCompleteArgs != null){
				bgLoadComplete.apply(this,bgLoadCompleteArgs);	
			}else{
				bgLoadComplete();		
			}	
		}
	break;
	case "fadein":
		if(bgFadeInComplete != null){
			if(bgFadeInCompleteArgs != null){
				bgFadeInComplete.apply(this,bgFadeInCompleteArgs);	
			}else{
				bgFadeInComplete();		
			}	
		}	
	break;
	}
}
function resizeBg(){
	var width = ($(window).width()>bgMinWidth) ? $(window).width() : bgMinWidth;
	var height = ($(window).height()>bgMinHeight) ? $(window).height() : bgMinHeight;
	var ipad = detectMobile();
	
	/*
	if($(window).width()>$(window).height()){
			if(width < 1250){
				width = 1100;
			}

			if(height < 1100){
				height = 1100;
			}
			
		}else{
			
		}
	*/
	if(ipad){
		width = 1250;
	}
	if(bgMode < 2){
		bgCurrentLayer.css({width:width,height:"auto"});
		if(bgCurrentLayer.height()<height && bgMode == 0){
			if(ipad){
				height = 830;
			}
			bgCurrentLayer.css({width:"auto",height:height});
		}
	}else{
		bgCurrentLayer.css({width:"auto",height:height});
	}
}
//---------- GLOBAL FUNCTIONS ----------
jQuery.fn.hitTestPoint = function(mx,my){
	var y = $(this).offset().top;
	var x = $(this).offset().left;
	var w = x+$(this).width();
	var h = y+$(this).height();
	return Boolean(mx>=x && mx<=w && my>=y && my<=h);	
}
function hitTestPoint(target,mx,my){
	$(target).hitTestPoint(mx,my);
};
function hitTestObject(target1,target2){
	var y = target2.offset().top;
	var x = target2.offset().left;
	var w = target2.width();
	var h = target2.height();
	var hit1 = target1.hitTestPoint(x,y);
	var hit2 = target1.hitTestPoint(x+w,y);
	var hit3 = target1.hitTestPoint(x+w,y+h);
	var hit4 = target1.hitTestPoint(x,y+h);
	return Boolean(hit1 || hit2 || hit3 || hit4);
};
function capitalizeText(str){
	return str.substring(0,1).toUpperCase()+str.substring(1,str.length);
}
function parseFilters(str){
	return String(str.split(" ").join("_")).toLowerCase();
}
function detectMobile(){
    return Boolean(
        (navigator.platform.indexOf("iPhone") != -1) ||
        (navigator.platform.indexOf("iPod") != -1) ||
		(navigator.platform.indexOf("iPad") != -1) ||
        (navigator.platform.indexOf("iPod") != -1) ||
		(navigator.platform.indexOf("android") != -1) ||
        (navigator.platform.indexOf("blackberry") != -1) ||
		(navigator.platform.indexOf("symbian") != -1) ||
		(navigator.platform.indexOf("series60") != -1) ||
        (navigator.platform.indexOf("windows ce") != -1)

    );
}
function getSocialNetworkLinks(){
	var base = "http://"+window.location.host;
	var path = $.address.path();
	var facebook = base+path;
	var twitter = base+path;
	//'http://twitter.com/share?url=http%3A%2F%2Fdev.twitter.com%2Fpages%2Ftweet-button'
	var html = '<a target="_blank" href="http://www.facebook.com/sharer.php?u='+facebook+'">Facebook</a> / <a target="_blank" href="http://twitter.com/share?url='+facebook+'">Twitter</a>';
	return html;
}
function ahrefControlLinks(target){
	var id = target.attr("id");
	var linkType;
	$('#'+id+' a').each(function(idx, item) {  
		linkType = item.href.split(window.location.host);
		if(linkType.length == 1){
			item.target = "_blank";
		}else{
			var tmp = String(item.href).split("http://www.facebook.com/sharer.php");
			var tmp2 = String(item.href).split("http://twitter.com/share");
			var tmp3 = String(item.href).split("mailto");
			if(tmp.length < 2 && tmp2.length < 2 && tmp3.length < 2){
				item.href = item.href.split(window.location.host).join(window.location.host+"/#");
				item.href = item.href.split("/#/#/").join("/#/");
				//item.rel = "address:"+linkType[1];
			}
		}
	});
}
Array.prototype.getAssociativeArrayByIndex = function(index){
	var n = -1;
	for (var p in this) {
		n++;
		if(n == index){
			if(this.hasOwnProperty(p)){
				return this[p];
				break;
			};
		}
	}
}

