﻿function loadNewLink(link) {
    window.open(link);
    return false;
}
function addNoScroll() {
    $("#portfolio-caps-container").addClass("no-scroll");
}
function initPortfolioSlider() {
    sliderList = $("#portfolio-caps");
    containerWidth = sliderList.width();
    sliderTimer = containerWidth * 4;
    sliderContainer = $("#portfolio-caps-container");
    baseWidth = sliderContainer.width();
}
function initContactEmailForm() {
    var boxLineHeight = '18px';
    var winHeight = $(window).height();
    var boxLineHeight = Math.max(18, winHeight / 43);
    boxLineHeight = Math.min(24, boxLineHeight);
    if (boxLineHeight > 20) {
        $("#contact-email-form textarea").each(function () {
            $(this).attr("rows", 6);
        });
        $("#contact-email-form h2").css({ marginBottom: '1em' });
    }
    boxLineHeight += "px";
    $("#contact-email-form").removeClass("invisible").css({ left: '382px', opacity: 0, width: '0px', lineHeight : boxLineHeight }).slideUp(0);
}
function hideContactForm() {
    $("#contact-email-form").stop(true, true);
    $("#contact-email-form").animate({
        left: '382px',
        opacity: 0,
        width: '0'
    }, 1000, function () {
        $("#contact-email-form").stop(true, true);
    });
    $("#contact-email-form").slideUp({ queue: false, duration: 1000 });
    contactFormHidden = true;
    return false;
}
function showContactForm() {
    $("#contact-email-form").stop(true, false);
    if (contactFormHidden) {
        $("#contact-email-form").animate({
            left: '-86px',
            opacity: 1,
            width: '468px'
        }, 1000, function () {
            $("#contact-email-form").stop(true, true);
        });
        $("#contact-email-form").slideDown({ queue: false, duration: 2200 });
        contactFormHidden = false;
        return false;
    } else {
        hideContactForm();
    }
}
function calcTop(divId, direction, distance) {
    var offsetTop = eval($(divId).offset().top);
    if (direction == "up") {
        offsetTop -= eval(distance);
    } else {
        offsetTop += eval(distance);
    }
    return offsetTop;
}
function removePx(inputTerm) {
    inputTerm = inputTerm.replace(/px/gi, "");
    if (inputTerm.indexOf("0 ") > -1) { inputTerm = inputTerm.replace("0 ", ""); }
    inputTerm = eval(inputTerm);
    return inputTerm;
}
function setCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function deleteCookie(name) {
    setCookie(name,"",-1);
}
function hidePortfolio(sliderDuration) {
    $("#portfolio-slider-outer").slideUp(sliderDuration);
    $("#show-portfolio-outer").animate({ top: "8px" }, sliderDuration);
    var midOffsetTop = calcTop("#top-middle-outer-container", "up", portGap);
    $("#top-middle-outer-container").animate({ top: midOffsetTop + "px"}, sliderDuration);
    var menuOffsetTop = calcTop("#top-menu-container", "up", portGap);
    $("#top-menu-container").animate({ top: menuOffsetTop + "px" }, sliderDuration);
    var topContentMargin = removePx($("#content-outer-container").css("marginTop"));
    $("#content-outer-container").animate({ marginTop: topContentMargin - portGap + "px" }, sliderDuration);
    var bgPosStripe = removePx($("#top-container").css("backgroundPosition"));
    bgPosStripe = " 0 " + eval (bgPosStripe - portGap) + "px";
    $("#top-container").css("backgroundPosition", bgPosStripe).delay(sliderDuration).css("height", $("#top-container").height() - portGap);
    var bgPos = removePx($("body").css("backgroundPosition"));
    bgPos = "0 " + eval(bgPos - portGap) + "px";
    $("body").css("backgroundPosition", bgPos);
    setCookie('portfolio', 'hidden');
    return false;
}
function showPortfolio() {
    $(".ui-slider-handle").css("left", "0");
    $("#portfolio-slider-outer").slideDown(400);
    $("#show-portfolio-outer").animate({ top: "96px" }, 400);
    var midOffsetTop = calcTop("#top-middle-outer-container", "down", portGap);
    $("#top-middle-outer-container").animate({ top: midOffsetTop + "px" }, 400);
    var menuOffsetTop = calcTop("#top-menu-container", "down", portGap);
    $("#top-menu-container").animate({ top: menuOffsetTop + "px" }, 400);
    var topContentMargin = removePx($("#content-outer-container").css("marginTop"));
    $("#content-outer-container").animate({ marginTop: topContentMargin + portGap + "px" }, 400);
    var bgPosStripe = removePx($("#top-container").css("backgroundPosition"));
    bgPosStripe = " 0 " + eval(bgPosStripe + portGap) + "px";
    $("#top-container").css("backgroundPosition", bgPosStripe).delay(400).css("height", $("#top-container").height() + portGap);
    var bgPos = removePx($("body").css("backgroundPosition"));
    bgPos = "0 " + eval(bgPos + portGap) + "px";
    $("body").css("backgroundPosition", bgPos);
    deleteCookie('portfolio');
    return false;
}
function initialize() {
    $("#show-portfolio-outer").removeClass("invisible");
    showPortfolioHeight = $("#show-portfolio-outer").height();
    portGap = eval ($("#portfolio-slider-outer").height() - showPortfolioHeight - 8);
    $("#portfolio-slider-bar").slider({animate: true, change: handleSliderChange, slide: handleSliderSlide});
    var portCookieCheck = getCookie('portfolio');
    if (portCookieCheck == 'hidden') { hidePortfolio(0); }
}
function handleSliderChange(e, ui) {
    var maxScroll = containerWidth - baseWidth;
    $("#portfolio-caps-container").animate({ scrollLeft: ui.value * (maxScroll / 100)}, 1000);
}

function handleSliderSlide(e, ui) {
    var maxScroll = containerWidth -baseWidth;
    $("#portfolio-caps-container").attr({ scrollLeft: ui.value * (maxScroll / 100) });
}
var photoContainer, leftLink, rightLink, sliderContainer, containerWidth, sliderList;
var showPortfolioHeight = 0;
var portGap = 0;
var farRight = false, farLeft = false;
var contactFormHidden = true;
var baseWidth = 448;
var sliderTimer = 3000;
var maxHeight = 0;
$(document).ready(initialize);

