/**
 * @author Spellcaster
 */
$(document).ready(function(){
    window.setTimeout("fixFullHeight()", 150);
    breadCrumbs = new Array();
	conta = 0;
    initMenu();
    navigation();
    setAlign();
    breadMenu();
    galerias();
    screenshotPreview();
    $(".third_selection tr:odd").addClass("odd");
//	$.history.init(pageload);
	
//	$("#menua[@rel='history']").click(function(){
//		var hash = this.href;
//		hash = hash.replace(/^.*#/, '');
//		$.history.load(hash);
//		return false;
//});

})
back = "";


function pageload(hash) {
// hash doesn't contain the first # character.
if(hash) {
// restore ajax loaded state
$("#load").load(hash + ".html");
} else {
// start page
$("#load").empty();
}
}



Array.prototype.unique = function(){
    var a = [];
    var l = this.length;
    for (var i = 0; i < l; i++) {
        for (var j = i + 1; j < l; j++) {
            // If this[i] is found later in the array
            if (this[i] === this[j]) 
                j = ++i;
        }
        a.push(this[i]);
    }
    return a;
};



function navigation(){
    if ($("#navPage").length == 0) {
        var ff = jQuery.url.attr("file");
        if (!ff) {
            ff = "index.html";
        }
        $("body").append("<input type='hidden' name='navPage' id='navPage' value='" + ff + "'><input type='hidden' name='prevPage' id='prevPage' value=''><input type='hidden' name='navHis' id='navHis' value=''><input type='hidden' name='canClick' id='canClick' value='1'>");
		
		if (ff != "index.aspx") {
			if (jQuery.url.attr("path").indexOf("/en/") >= 0 || $("meta:last").attr("content") == "en")
			{
				
				$("#sub-container").append("<br /><a class='back' href='javascript:prev()'>back</a>");
			}
			if (jQuery.url.attr("path").indexOf("/es/") >= 0 || $("meta:last").attr("content") == "es")
			{
				$("#sub-container").append("<br /><a class='back' href='javascript:prev()'>volver</a>");
			}
			if (jQuery.url.attr("path").indexOf("/pt/") >= 0 || $("meta:last").attr("content") == "pt")
			{
				$("#sub-container").append("<br /><a class='back' href='javascript:prev()'>voltar</a>");
			}
		}
    }
    var mainContainer = $("#mainContent")
    var mainContainerContent = $("#mainContent > *");
    $("#menu li a, #footer a, #header a").click(function(event){
		event.preventDefault();
		if (canClick()) {
			$("#canClick").val("0");
			var thisa = $(this);
			var href = thisa.attr("href");
			if ($("#prevPage").val().length > 0) {
				href = $("#prevPage").val();
				$("#prevPage").val("");
			}

//			var hash = this.href;
//			hash = hash.replace(/^.*#/, '');
//			$.history.load(hash);
//			return false;
			
			closeMenus(this);
			mainContainer.animate({
				"opacity:": 0
			}, 600, function(){
				//			mainContainer.css("visibility","hidden");
				conta = conta + 1;
				$("#navPage").val(href);
				breadMenu(href)
//				window.location = href;
//				mainContainer.load(href + " #mainContent > *", {}, function(){
//					
//					appendNav(href);
//					$("#breadcrumbs").html("");
//					breadCrumbs = new Array();
//					galerias();
//					screenshotPreview();
//					setAlign();
//					window.setTimeout("breadMenu()", 300);
//					window.setTimeout("fixFullHeight()", 250);
//				//				mainContainer.fadeIn("fast");
//				//            	window.setTimeout("internalNav()", 300);
//				});
				
			//			mainContainer.css("visibility","visible");
			
			});
		}
	});
	
}

function canClick(){
	if($("#canClick").val() == "1")
		return true
	return false
}

function prev(){
//	var navHis = $("#navHis");
//	var navHisArr = navHis.val().split("|");
//	var back = $("#prevPage");
//	if(navHisArr.length <= 1){
//		back.val("index.html");
//	}else{
//		back.val(navHisArr[navHisArr.length -2]);
//		navHisArr.pop();
//		navHisArr.pop();
//		navHis.val(navHisArr.join("|"));
//	}
//	$("a[href*=" + back.val() + "]:first").trigger('click');
	history.go(-1);
}

function appendNav(page){
	var navHis = $("#navHis");
	navHis.val(navHis.val() + "|" + page);
}


function closeMenus(context){
	var cont = $(context);
	var mLis = $("#menu > li");
	var hhref = $(context).attr("href");
//	$("#menu ul.visible").contents().find("a[href="+$(context).attr("href")+"]")
//    $("#menu li a.selected").each(function(){
//		if($(this).parent().contents().find()){
//			$(this).removeClass("selected");
//		}
//	});
	cont.parent().parent().contents().find("a.selected").removeClass("selected");
	mLis.each(function(){
		if($(this).find("a[href="+ hhref +"]").length <= 0){
			$(this).find("a.selected").removeClass("selected");
		}
	})
//	if(cont.parent().parent().parent().parent().contents().find("a[href="+hhref +"]").length <= 0 || cont.parent().parent().parent().parent().attr("id") == "menu"|| cont.parent().parent().parent().parent().parent().parent().attr("id") == "menu")
//		cont.parent().parent().parent().parent().contents().find("a.selected").removeClass("selected");
//	cont.addClass("selected");
    $("#menu li span.open").attr("class", "close");
    $("#menu li ul.visible").each(function(){
//		alert($(this).contents().find("a[href=" + hhref + "]").length + " -- " +  $(this).parent().contents().find("ul.visible").siblings("a[href=" + hhref + "]").length);
		if ($(this).contents().find("a[href=" + hhref + "]").length <= 0 && 
//			$(this).parent().contents().find("ul.visible").siblings("a[href=" + hhref + "]").length <= 0 &&
			$(this).siblings("a[href=" + hhref + "]").length <= 0) {
//				$(this).parent().contents().find("a.selected").removeClass("selected");
				$(this).slideUp("slow", function(){
					$(this).attr("class", "hidden");
					$(this).attr("style", "")
				})
		}
//		else {
//			var aLI = $(this).parent().parent().contents();
//			var cLI = cont.parent().parent().contents();
//			if(cLI.find("a[href="+ hhref +"]").length > 0 )
//				aLI.find("a.selected").removeClass("selected");
//		}
    });
}

function fixFullHeight(){

    $(".boxed.imgs").each(function(){
        var tths = $(this);
        var bimgs = tths.children("img");
        var extra = 0;
        var ww = 0;
        var higher = 0;
        var acumulado = 0;
        if (tths.hasClass("leg") || tths.hasClass("legs")) {
            extra = 35;
        }
        
        var htot = 0;
        if (bimgs.length > 1) {
            bimgs.each(function(){
				var tt = $(this);
				if (tt.attr("width")){
					ww = ww + tt.attr("width");
				}else{
	                ww = ww + tt.width();
				}
				
				if (tt.attr("height")){
					var hhh = tt.attr("height");
				}else{
	                var hhh = $(this).height();
				}
				
                if (higher <= hhh) {
                    higher = hhh;
                }
                acumulado = acumulado + hhh;
                if (ww >= 521) {
                    htot = htot + acumulado + 22 + extra;
                    ww = 0;
                }
            })
            if (htot < higher) {
                htot = higher + 22 + extra;
            }
        }
        else {
			if (bimgs.attr("height")) {
				htot = bimgs.attr("height") + 15 + extra;
			}else{
				htot = bimgs.height() + 15 + extra;
			}
			
        }
        $(this).height(htot + "px");
    })
    
    var bim = $(".boxed.full img:first").height();
    var pim = $(".boxed.full p").height();
    $(".boxed.elastic img").each(function(){
        var tt = $(this);
        var hh = tt.height();
        tt.parent().parent().height(hh + "px");
    });
    if (pim > bim) {
        hhe = pim + 25;
    }
    else {
        hhe = bim;
    }
    if (hhe != null) {
        $(".boxed.full").height(hhe + "px");
        $(".boxed").height(hhe + "px");
    }
    if ($.browser.msie) {
        var obs = (".boxed object, .boxed embed");
    }
    else {
        var obs = (".boxed object");
    }
    $(obs).each(function(){
    
        var tt = $(this);
        var hh = tt.height();
        tt.parent().height(hh + "px");
    });
    
    var boxes = $(".boxed.small .small");
    var s1 = boxes.eq(0).height();
    var s2 = boxes.eq(1).height();
    
    if (s1 > s2) {
        boxes.eq(1).height(s1 + "px");
    }
    else {
        boxes.eq(0).height(s2 + "px");
    }
	$(".boxed.small").attr("style","");
}

function galerias(){
    $(".galeria a").lightBox();
}

function setAlign(){
    $(".second_selection div div").vAlign();
}

function oc(a){
    var o = {};
    for (var i = 0; i < a.length; i++) {
        o[a[i]] = '';
    }
    return o;
}

function initMenu(){
    $("#menu li span").click(function(){
        //$($(this) + "~ ul").show();
        var status = $(this).siblings("ul").attr("class");
        
        if (status == "hidden") {
//			$(this).siblings("ul").attr({class:"vidible", style: ""});
			$(this).siblings("ul").slideDown("slow", function(){
				$(this).attr("class", "visible");
				$(this).attr("style", "");
			})
			//            $(this).siblings("ul").attr("class", "visible");
			$(this).attr("class", "open");
		}
		else {
			$(this).siblings("ul").slideUp("slow", function(){
				$(this).attr("class", "hidden");
				$(this).attr("style", "");
			});
//			$(this).siblings("ul").attr({class:"hidden", style: ""});
			$(this).attr("class", "close");
		}
    })
    
    $("#menu li a").hover(function(){
        $(this).addClass("hover");
    }, function(){
        $(this).removeClass("hover")
    })
}

function selVis(itt, href){
    var itt = $(itt);
    itt.addClass("selected");
    if (itt.attr("href") && breadCrumbs[breadCrumbs.length - 1] != "<a href='" + itt.attr("href") + "'>" + itt.text() + "</a>") {
        breadCrumbs[breadCrumbs.length] = ("<a href='" + itt.attr("href") + "'>" + itt.text() + "</a>");
    }
	if(href){
		preOpen(itt);
	}else{
		itt.siblings("ul").attr({"class":"visible", style: ""});
		$(this).attr("class","visible");
		$(this).attr("style", "");
	}

    itt.siblings("span").attr("class", "open");
    
}

function preOpen(itt){
	itt.siblings("ul").slideDown("slow", function(){
		$(this).attr("class","visible");
		$(this).attr("style", "");
	})
}

function breadMenu(href){
	//alert(href);
    var sPage = $("#navPage").val();
    var mainLIs = ['quattor', 'clientes', 'sociedade', 'investidores', 'equipe'];
    var menuItem = $("#menu a[href*=" + sPage + "]");
    var ref = $("#menu a[href*=" + $("#refer").val() + "]");
    
    if (ref.length <= 0) {
        ref = $("#menu a[href*=" + $(".refer").val() + "]");
        
    }
    
    var ref2 = $("#line");
    
    if (ref2.length <= 0) {
        ref2 = $(".line");
    }
    if (menuItem.length > 0 || ref.length > 0) {
        if (ref.length > 0) {
            iMenu = ref;
            text = $("#mainContent h1:first");
            text2 = $("#mainContent h2:first");
            if (ref2.length > 0) {
                if (text2.length > 0) {
                    breadCrumbs[0] = ("<a href='" + sPage + "'>" + text2.text() + "</a>");
                    breadCrumbs[1] = ("<a href='javascript:history.go(-1)'>" + ref2.val() + "</a>");
                }
                else {
                    breadCrumbs[0] = ("<a href='javascript:history.go(-1)'>" + ref2.val() + "</a>");
                }
            }
            else {
                if (!$("#nobread")) {
                    breadCrumbs[0] = ("<a href='" + sPage + "'>" + text.text() + "</a>");
                }
            }
        }
        else {
            iMenu = menuItem;
        }
        iMenuTag = "a";
        while (iMenuTag.toUpperCase() != "DIV") {
        
            var cla = iMenu.attr("class");
            
            if (iMenu.hasClass("hidden")) {
//                iMenu.addClass("visible");
				iMenu.attr("class","visible");
            }
            
            if (iMenuTag.toUpperCase() == "A") {
                selVis(iMenu, href);
            }
            
            if (iMenuTag.toUpperCase() == "LI") {
                selVis(iMenu.children("a"), href);
                if (cla in oc(mainLIs)) {
                    breadCrumbs[breadCrumbs.length] = iMenu.children("h5").text();
                    iMenu.attr("class", cla);
                }
            }
            
            iMenu = iMenu.parent();
            iMenuTag = iMenu.get(0).tagName;
        }
       
    }
    else {
        menuItem = $("#footer a[href=" + sPage + "]");
        breadCrumbs[breadCrumbs.length] = ("<a href='" + menuItem.attr("href") + "'>" + menuItem.text() + "</a>");
    }
    if (jQuery.url.attr("path").indexOf("/en/") >= 0 || $("meta:last").attr("content") == "en")
    {
    breadCrumbs[breadCrumbs.length] = "<img src='/quattorweb/images/breadcrumbs_icon.gif' /><a href='/quattorweb/en/index.aspx'>Home</a>";
    }
    else if(jQuery.url.attr("path").indexOf("/pt/") >= 0 || $("meta:last").attr("content") == "pt")
    {
        breadCrumbs[breadCrumbs.length] = "<img src='/quattorweb/images/breadcrumbs_icon.gif' /><a href='/quattorweb/pt/index.aspx'>Home</a>";
    }
	else if(jQuery.url.attr("path").indexOf("/es/") >= 0 || $("meta:last").attr("content") == "es")
    {
        breadCrumbs[breadCrumbs.length] = "<img src='/quattorweb/images/breadcrumbs_icon.gif' /><a href='/quattorweb/es/index.aspx'>Home</a>";
    }
    if(href){
		window.setTimeout("changePage('"+href+"')", 1300);
	}else{
		attachBreadCrumbs(breadCrumbs);
	}
	$("#canClick").val("1");
}

function changePage(href){
	window.location = href;	
}

function attachBreadCrumbs(breads){
    breads = breads.unique();
    breads.reverse();
    $("#breadcrumbs").html(breads.join(" - "));
    $("#breadcrumbs a:last").addClass("selected");
}

this.screenshotPreview = function(){
    xOffset = 20;
    yOffset = 30;
    $("a.screenshot").hover(function(e){
        this.t = this.title;
        this.title = "";
        var c = (this.t != "") ? "<br/>" + this.t : "";
        $("body").append("<p id='screenshot'><img src='" + this.rel + "' alt='url preview' />" + c + "</p>");
        $("#screenshot").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX + yOffset) + "px").fadeIn("fast");
    }, function(){
        this.title = this.t;
        $("#screenshot").remove();
    });
    $("a.screenshot").mousemove(function(e){
        $("#screenshot").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX + yOffset) + "px");
    });
};