﻿var regEx_Email = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
var regEx_DDMMYYY = /^((([0][1-9]|[12][\d])|[3][01])[-\/]([0][13578]|[1][02])[-\/][1-9]\d\d\d)|((([0][1-9]|[12][\d])|[3][0])[-\/]([0][13456789]|[1][012])[-\/][1-9]\d\d\d)|(([0][1-9]|[12][\d])[-\/][0][2][-\/][1-9]\d([02468][048]|[13579][26]))|(([0][1-9]|[12][0-8])[-\/][0][2][-\/][1-9]\d\d\d)$/;
var regEx_URL = new RegExp("^(http://|https://)([a-zA-Z0-9]+\.[a-zA-Z0-9\-]+|[a-zA-Z0-9\-]+)\.[a-zA-Z\.]{2,6}(/[a-zA-Z0-9\.\?=/#%&\+-]+|/|)")
var regEx_Image = /.*(\.[Jj][Pp][Gg]|[Jj][Pp][Ee][Gg]|[Gg][Ii][Ff]|[Pp][Nn][Gg]|[Bb][Mm][Pp])$/;


$(document).ready(function () {
    /*
    $("UL#mainnav LI").hover(
    function() {
    $("UL.subnav", $(this)).show();
    },
    function() {
    $("UL.subnav", $(this)).hide();
    }
    );
    /**/
    
});

$(window).scroll(windowScroll);
//$(window).resize(windowScroll);
var scrollTimeoutId;


function windowScroll() {
    clearTimeout(scrollTimeoutId);
    scrollTimeoutId = setTimeout(checkScroll, 350);    // wait 1 seconds after they've done the scroll, then check to see where it is
}

function checkScroll() {
    clearTimeout(scrollTimeoutId);

    var win_top = $(window).scrollTop()
    var win_bottom = $(window).scrollTop() + $(window).height()

    $("DIV.project").each(function () {
        var projectId = $(this).attr("id");
        var proj_top = $(this).offset().top;
        var proj_bottom = $(this).offset().top + $(this).height();
        var s = proj_top + "," + proj_bottom
        var isOnscreen = false;
        if (proj_top > win_top && proj_top < win_bottom) {  // the top is visible
            isOnscreen = true;
        } else if (proj_bottom > win_top && proj_bottom < win_bottom) {
            isOnscreen = true;
        } else if (proj_top < win_top && proj_bottom > win_bottom) {
            isOnscreen = true;
        }
        if (isOnscreen) {
            loadProjectImages(projectId);
        }
    });
}

function doBeforeStart(a) {
    var currentItem = $(a[0]);
    var currentOverlayId = $("#"+currentItem.attr("overlayId"));
    if (currentOverlayId) {
        currentOverlayId.fadeOut();
    }
}

function doAfterEnd(a) {
    var currentItem = $(a[0]);
    var currentOverlayId = $("#" + currentItem.attr("overlayId"));
    if (currentOverlayId) {
        currentOverlayId.fadeIn();
    }
}

function initProject(projectId) {
    if ($("#" + projectId + " DIV.scrollerObj UL LI").size() > 1) {
        // append the arrows
        var arrows = $("<div class='arrows'>");
        arrows.append($('<img src="/images/arrowLeft.gif" alt="" class="arrowLeft ro disabled" />'))
        arrows.append($('<img src="/images/arrowRight.gif" alt="" class="arrowRight ro" />'))
        $("#" + projectId + " .projectimages").append(arrows);

        var aBtnGo = [];
        for (var i = 0; i < $("#" + projectId + " DIV.scrollerObj UL LI").size(); i++) {
            aBtnGo.push("#" + projectId + " .btnGo_" + i)
        }

        $("#" + projectId + " .projectimages .scrollerObj").jCarouselLite({
            btnNext: "#" + projectId + " .projectimages .arrowRight",
            btnPrev: "#" + projectId + " .projectimages .arrowLeft",
            visible: 1,
            speed: 500,
            circular: false,
            beforeStart: doBeforeStart,
            afterEnd: doAfterEnd,
            btnGo: aBtnGo
        });
        checkScroll(); 
    }
      
}

function loadProjectImages(projectId) {
    var alreadyLoaded = $("#" + projectId).attr("loaded");
    if (alreadyLoaded != 'true') {
        var IMGs = $("#" + projectId + " DIV.projectimages IMG[delayedsrc]");
        IMGs.each(function () {
            $(this).attr("src", $(this).attr("delayedsrc")).attr("delayedsrc", "");
        });
        $("#" + projectId + " .projectimages .arrows").fadeIn();
    }
    $("#" + projectId).attr("loaded","true");
}

function embedFlash(divID, swfUrl, vars) {
    var flashvars = {};
    var params = {};
    var attributes = {};

    if (vars) {
        for (var i = 0; i < vars.split(",").length; i++) {
            var thisPair = vars.split(",")[i];
            var thisPairVals = thisPair.split("=");
            flashvars[thisPairVals[0]] = thisPairVals[1];
        }
    }

    params.menu = 'false';
    params.wmode = "transparent";
    params.scale = "noscale";
    attributes.id = divID;
    swfobject.embedSWF(swfUrl, divID, '100%', '100%', '9.0.115', false, flashvars, params, attributes);
}

