$(window).load(function(){
    adjustContainer();
    checkWindowHeight();
    if(location.hash != "" && location.hash.length > 1) {
        var h = location.hash.split("#");
        h = h[1];
        if(h.charAt(0) == "c"){
            h = h.split("c");
            h = h[1];
        }
        if(!isNaN(h)){
            $("#pageBoxContainer, #pageBox").slideDown(0).delay(1).slideUp(0);
            loadClient(h);
        } else {
            var elmnt = $("#pageBox").find("#container_"+h);
            if(elmnt.size() > 0){
                containerStuff();
                $("#main a").each(function() {
                    if($(this).attr("href") == "#"+h){
                        $(this).addClass("on");
                    }
                });
            }
            var ch = $("#clientes a:eq(0)").attr("href").split("#c");
            ch = ch[1];
            loadClient(ch);
        }
		
    } else {
        $("#pageBoxContainer, #pageBox").slideDown(0).delay(1).slideUp(0);
        var ch = $("#clientes a:eq(0)").attr("href").split("#c");
        ch = ch[1];
        loadClient(ch);
    }
	
    $(".c").each(function() {
        var h = $(this).height();
        if(h > 380){
            h = 380;
        }
        $(this).css("height",h);
        apply_jScrollPane();
    });
	
});

$(document).ready(function(){
	
    checkWindowHeight();
	
    $(window).resize(function(){
        var slide_cur_left = $("#slide").css("left");
        slide_cur_left = slide_cur_left.split("px");
        slide_cur_left = slide_cur_left[0];

        adjustContainer();
        sliderUpAndRunning();

        var sslideWidth = 0;
        $("#slide").children().each(function() {
            sslideWidth += $(this).width();
        });
        var par1 = $(window).width() - sslideWidth;
        var par2 = slide_cur_left;
		
        if(par1 > par2){
            $("#slide").css("left",$(window).width() - sslideWidth);
        }

        checkWindowHeight();
		
    });
	
	
    var wMenu = $("#mainMenuContainer").width();
    $("#pageBox").width(wMenu);
		
    $("#socialMedia div:last").addClass("last");

    $('#clientes').dock({
        zoomFactor:1.5,
        zoomWidth:83
    });
		
    $("header h1 a, .socialBTN a, div.anythingSlider .forward a, div.anythingSlider .back a").css({
        "opacity" : 0
    });//hide elements for smooth fade transitions
		
    $("header h1 a, .socialBTN a, div.anythingSlider .forward a, div.anythingSlider .back a").hover(
        function(){
            $(this).stop().animate({
                "opacity" : 1
            }, 250);
        },
        function(){
            $(this).stop().animate({
                "opacity" : 0
            }, 150);
        }
        );
    setClientMenuEvents();

    $("#pageBox .close").click(function(){
        containerStuff();
        setTimeout('$("#main a").removeClass("on")',600);
        setTimeout('$("#pageBox, #pageBox div:visible").hide();',600);
    });

    $("#main a").click(function(){
        if($("#pageBox").is(':animated') == false){
            setTimeout('containerStuff()',125);
            $("#main a").removeClass("on");
            $(this).addClass("on");
        }
    });

    //alert($(window).width());
    //mouse followers
    $("body").append('<div id="mouseL"></div><div id="mouseR"></div>');

    //sliderUpAndRunning();

    $(".fancy").fancybox({
        'transitionIn'	: 'elastic',
        'transitionOut'	: 'elastic',
        'opacity'       : true,
        'speedIn'       : 500,
        'speedOut'      : 400,
        'overlayColor'  : "#000",
        'overlayOpacity': 0.2,
        'type'			: 'iframe',
        'padding' 		: 6,
        'scrolling' 	: 'no'
    });


    $("#clientes a").click(function(){
        var id = $(this).attr("href");
        id = id.split("c");
        id = id[1];
        clearInterval(window.preloaderTimer);
        $('#preloader').show();
        window.preloaderTimer = setInterval('preloader()',50);
        loadClient(id);
    });

});
function setClientMenuEvents() {
    if(!$.browser.msie && $.browser.version!="6.0"){
        $("#clientes a").css({
            "opacity" : 0.3
        });
        $("#clientes a").hover(
            function(){
                $(this).stop().animate({
                    "opacity" : 1
                }, 250);
            },
            function(){
                $(this).stop().animate({
                    "opacity" : 0.3
                }, 0);
            }
            );
    }
}
function unsetClientMenuEvents() {
    if(!$.browser.msie && $.browser.version!="6.0"){
        $("#clientes a").css({
            "opacity" : 0.3
        });
        $("#clientes a").hover(function(){
            $(this).stop()
        },function(){
            $(this).stop()
        });
    }
}
window.isLoading = false;
function loadClient(id){
    if (window.isLoading) {
        return;
    }
    window.isLoading = true;
    unsetClientMenuEvents();
    $.get('cliente.php?c='+id, function(data){
        //$('#pcontainer').remove();
        var pcontainer = $('<div></div>').attr('id','pcontainer').hide().html(data);
        $('#pcontainer ul').css('width','9999px;');

        $('#ccliente_goes_here').append(pcontainer);
        $('#pcontainer img').imgpreload( function() {
            window.isLoading = false;
            $('#preloader').css("opacity",1).stop().fadeOut(500,function(){
                clearInterval(window.preloaderTimer);
                $('#ccliente').css("opacity",1).stop().fadeOut(600);
                $('#pcontainer').css("opacity",1).stop().fadeIn(700,function() {
                    setClientMenuEvents();
                    $('#ccliente').remove();
                    $('#pcontainer').attr('id','ccliente');
                    adjustContainer();
                    sliderUpAndRunning();//RESTARTER
                });
            });
        });
    });
}

function sliderUpAndRunning(){
    $('#descriptionBox .arrow').toggle(function() {
        $("#descriptionBox").stop().animate({
            'left' : '-345'
        }, 200);
        $("#descriptionBox .close").removeClass("close").addClass("open").attr("title","Abrir");
    }, function() {
        $("#descriptionBox").stop().animate({
            'left' : '0'
        }, 200);
        $("#descriptionBox .open").removeClass("open").addClass("close").attr("title","Ler descrição");
    });
	
    window.lastXposition = 0;
    $(document).mousemove(function(e){
        window.lastXposition = e.pageX;
    });

    $("#slide").mousedown(function(e){
        $(".videoMover").css('width','100%').css('height','100%');
        $(this).css("cursor","url(pics/hand_press.cur),url(pics/hand_press.cur),default");
		
        $(this).mousemove(function(e){
            if(e.pageX > $(window).width()-65){
                $("#mouseR").hide();
            } else{
                if($.browser.msie){
                    $("#mouseR").show().css("left",e.pageX+20);
                    $("#mouseL").show().css("left",e.pageX-35);
                }
                else{
                    $("#mouseR").fadeIn(250).css("left",e.pageX+20);
                    $("#mouseL").fadeIn(250).css("left",e.pageX-35);
                }
            }
            $("#mouseL, #mouseR").css("top",e.pageY);

            if(window.lastXposition > e.pageX){
                $("#mouseL").addClass("mouseL_on");
                $("#mouseR").removeClass("mouseR_on");
            }
            else if(window.lastXposition < e.pageX){
                $("#mouseR").addClass("mouseR_on");
                $("#mouseL").removeClass("mouseL_on");
            }
            else{
                $("#mouseL").removeClass("mouseL_on");
                $("#mouseR").removeClass("mouseR_on");
            }
        });
		
    });
    $("#slide").mouseup(function(e){
        $(this).css("cursor","url(pics/hand.cur),url(pics/hand.cur),default");
        $(".videoMover").css('width','55px').css('height','55px');
        if($.browser.msie){
            $("#mouseL, #mouseR").hide();
        }
        else{
            $("#mouseL, #mouseR").fadeOut(150);
        }
        $(this).unbind('mousemove');
    });
	
    $("#slide").mouseleave(function(e){
        $("#mouseL, #mouseR").css("left",-30).css("top",0).hide();
    });
	
    $("#descriptionBox, #pageBox").mouseenter(function(){
        $("#mouseL, #mouseR").hide();
    });
    $("#descriptionBox, #pageBox").mouseleave(function(){
        $("#slide").mousemove(function(e){
            $("#mouseL, #mouseR").show();
        });
    });
	
    $(".videoContainer, .flashContainer").mouseenter(function(){
        if($.browser.msie){
            $(this).find(".videoMover").show();
        }
        else{
            $(this).find(".videoMover").css("opacity",1).stop().fadeIn(250);
        }
    });
    $(".videoContainer, .flashContainer").mouseleave(function(){
        if($.browser.msie){
            $(this).find(".videoMover").hide();
        }
        else{
            $(this).find(".videoMover").css("opacity",1).stop().fadeOut(250)
        }
    });
}

function adjustContainer(){
    var slideWidth = 0;
    $("#slide").children().each(function() {
        slideWidth += $(this).width();
    });
    $("#slide").width(slideWidth);
    $("#slide").children(":last").addClass("last");
    var slideContainment = $("body").width() - $("#slide").width();
    if(slideContainment > 0){
        slideContainment = 0;
    }
    $("#slide").draggable({
        axis: 'x',
        containment:[slideContainment,0,0,0],
        appendTo:'#container'
    });
}


function preloader(){
    if($.browser.msie){
        $("#preloader").css("background","url(pics/loader.gif) 50% 50% no-repeat #4d4d4d");
    }
    else{
        var currPos = $("#preloader").css("background-position");
        if(!currPos){
            currPos = "0px";
        }
        else{
            currPos = currPos.split(" ");
            var l = currPos[0];
            var t = currPos[1];
            t = t.split("px");
            t[0] = t[0].replace("-","");
            t[0] = parseInt(t[0]);
            if(t[0] == 440){
                t[0] = 0;
                t = "0px";
            }
            else{
                t = (parseInt(t[0])+40)+"px";
            }
            currPos = l+" -"+t;
        }
        $("#preloader").css("background-position",currPos);
    }
}

function containerStuff(){
    var hsh = location.hash;
    hsh = hsh.split("#");
    hsh = hsh[1];
	

		
    if("container_"+hsh == $("#pageBoxContainer .c:visible").attr("id")){
			
        if($.browser.msie){
            $("#pageBox, #pageBoxContainer, #pageBoxContainer .c:visible").slideUp(900);
        }
        else{
            $("#pageBox, #pageBoxContainer, #pageBoxContainer .c:visible").slideUp(900,"easeInOutBack");
        }
        $("#main a").removeClass("on");
        return false;
    }
		
    if($("#pageBox").is(":visible") == false){
        $("#pageBoxContainer, #pageBox #container_"+hsh+", #pageBox #container_"+hsh+" div").show();
        if($.browser.msie){
            $("#pageBoxContainer, #pageBox").slideDown(600);
        }
        else{
            $("#pageBoxContainer, #pageBox").slideDown(200,"jswing");
        }
        setTimeout(function(){
            apply_jScrollPane();
        },210);
    }
    else{
        if($.browser.msie){
            $("#pageBox, #pageBoxContainer, #pageBoxContainer .c:visible").slideUp(900);
        }
        else{
            $("#pageBox, #pageBoxContainer, #pageBoxContainer .c:visible").slideUp(900,"easeInOutBack");
        }
        setTimeout(function(){
            $("#pageBox #container_"+hsh).show();
            if($.browser.msie){
                $("#pageBoxContainer, #pageBox").slideDown(600);
            }
            else{
                $("#pageBoxContainer, #pageBox").slideDown(200,"jswing");
            }
        }, 910);
        setTimeout(function(){
            apply_jScrollPane();
        },920);
    }
		
    $("#pageBox #container_"+hsh+" .jspContainer, #pageBox #container_"+hsh+" .jspPane").show();
		
		
	
}


function clickclear(thisfield, defaulttext){
    if(thisfield.value == defaulttext){
        thisfield.value = "";
    }
}
function clickrecall(thisfield, defaulttext){
    if(thisfield.value == ""){
        thisfield.value = defaulttext;
    }
}

function showError(element,topDistance){
    if(topDistance == undefined || topDistance == ""){
        topDistance = 0;
    }
    $(element).prepend('<span class="error">!</span>');
    $(".error").css('top',topDistance);
}

function mailing(){
	
    $(".error").remove();
	
    var nome = $("#nome").val();
    var email = $("#email").val();
	
    if(nome == "" || nome == "nome"){
        showError("#mailingForm",0);
        return;
    }
    if(email == "" || email == "e-mail" || !isValidEmailAddress(email)){
        showError("#mailingForm",27);
        return;
    }
	
    $.post("system/ajax/mailing.php", {
        nome:nome,
        email:email
    },
    function(data){
        $("#mailingForm .txt, #mailingForm .btnSubmit").remove();
        if(data == 1){
            $("#mailingForm").prepend('<span class="message">Mensagem enviada com sucesso!</span>');
        }
        else if(data == 2){
            $("#mailingForm").prepend('<span class="message">O seu email já se encontra registado!</span>');
        }
        else{
            $("#mailingForm").prepend('<span class="message">Erro ao enviar mensagem.</span>');
            return;
        }
    });

}

function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
};


function apply_jScrollPane(){
    $(".c").jScrollPane({
        verticalDragMinHeight: 7,
        verticalDragMaxHeight: 7
    });
    $(".jspHorizontalBar").remove();
}


function checkWindowHeight(){
    var wHeight = $(window).height();
	
    if(wHeight <= 604){
        $('#master').addClass("masterClean");
    }
    else{
        if ($('#master').hasClass("masterClean")){
            $('#master').removeClass("masterClean");
        }
    }
}

