﻿/*=================================================================================
 
Balderton Project v1
 
our-portfolio public js file.
Created : 08/09/2008 - cem@skyron.co.uk
 
=================================================================================*/
var filterCategory = new Array();
var filterLocation = new Array();

var init = false;

var portfolioID; var selectedYear =-1;
//var processing = false;


Array.prototype.remove=function(s){
    for(i=0;i<this.length;i++){
        if(s==this[i]) this.splice(i, 1);
    }
}

Array.prototype.exists = function(s) {
    for (i = 0; i < this.length; i++) {
        if (s == this[i]) return true;
    }
    return false;
}


var player;
var __src = '';
function playerReady(obj) {
    var id = obj['id'];
    var version = obj['version'];
    var client = obj['client'];
    //alert('the videoplayer ' + id + ' has been instantiated');
    player = document.getElementById(id);
    //alert(player.name);


    //__src = "/media/homeflash/video2.flv";
    //alert(__src);
    //player.sendEvent("LOAD", "file=/media/homeflash/video2.flv");
    //player.sendEvent("PLAY");
    
    //
    
    
};


function createPlayer(src,containerID) {
//    var flashvars = {
//        file: src,
//        autostart: "true"
//    }
//    var params = {
//        allowfullscreen: "true",
//        allowscriptaccess: "always"
//    }
//    var attributes = {
//        id: "player1",
//        name: "player1"
//    }

    
//    var s1 = new SWFObject('/media/player/player.swf', 'ply', '470', '290', '9', '#ffffff');
//    s1.addParam('allowfullscreen', 'true');
//    s1.addParam('allowscriptaccess', 'always');
//    s1.addParam('wmode', 'opaque');
//    s1.addParam('flashvars', 'file=' + src);
//    s1.write('myplayer');

    //swfobject.embedSWF("/media/player/player.swf", "video-container1", "320", "196", "9.0.115", false, flashvars, params, attributes);


    
    
    var s1 = new SWFObject('/media/player/player.swf', 'ply', '420', '263', '9', '#ffffff');
    s1.addParam('allowfullscreen', 'true');
    s1.addParam('allowscriptaccess', 'always');
    s1.addParam('wmode', 'opaque');
    s1.addParam('flashvars', 'file=/media/videos/' + src + '&image=/media/videos/' + src.replace('.flv','.png') + '&plugins=embed-1');
    //s1.addParam('flashvars', 'file=http://balderton.clients.skyron.co.uk/media/homeflash/video1.flv');
    s1.write(containerID);

    
   
}


/* 
*  DOM READY 
*/
$(function() {

    $('.filterExpand:contains("Collapse")').click(function() {
        // hide filter.
        $("#op-filter").slideUp(function() { $("#toogle-op-filter").slideDown(); });
    });

    $('.filterExpand:contains("Expand")').click(function() {
        // show filter.
        $("#toogle-op-filter").slideUp(function() {
            $("#op-filter").slideDown();
        });
    });

    __ajaxCallXml('/ajax/admin/functions/category.aspx?op=GetAll&locations=' + filterLocation.toString() + '&categories=' + filterCategory.toString()
        , "", __completed);

    __ajaxCallXml('/ajax/admin/functions/portfolio.aspx?op=GetAll'
        , "categories=" + filterCategory.toString() + "&locations=" + filterLocation.toString() + "&year="
        , __completedPortfolio);

    $('#ddyear').livequery('change', function() {
        selectedYear = $(this).val();
        showProgress();
        __ajaxCallXml('/ajax/admin/functions/portfolio.aspx?op=GetAll'
                , "categories=" + filterCategory.toString() + "&locations=" + filterLocation.toString() + "&year=" + selectedYear
                , __completedPortfolio);
    });

    $(".chkContainer:first :checkbox").livequery('click', function() {
        var isChecked = false;
        isChecked = $(this).is(":checked");

        if (!isChecked) {
            //var idx = getIndex($(this).attr("value").toString(), filterCategory);
            //filterCategory.pop(idx);
            filterCategory.remove($(this).attr("value").toString());
            //alert("was checked");
        }
        else {
            filterCategory.push($(this).attr("value"));
            //alert("was NOT checked");
        }

        //alert(filterCategory.toString());
        showProgress();
        __ajaxCallXml('/ajax/admin/functions/portfolio.aspx?op=GetAll'
            , "categories=" + filterCategory.toString() + "&locations=" + filterLocation.toString() + "&year=" + selectedYear
            , __completedPortfolio);

    });

    $(".chkContainer:last :checkbox").livequery('click', function() {
        var isChecked = false;
        isChecked = $(this).is(":checked");

        if (!isChecked) {
            //var idx = getIndex($(this).attr("value").toString(), filterLocation);
            //filterLocation.pop(idx);
            filterLocation.remove($(this).attr("value").toString());
            //alert("was checked");
        }
        else {
            filterLocation.push($(this).attr("value"));
            //alert("was NOT checked");
        }

        //alert(filterLocation.toString());
        showProgress();
        __ajaxCallXml('/ajax/admin/functions/portfolio.aspx?op=GetAll'
            , "categories=" + filterCategory.toString() + "&locations=" + filterLocation.toString() + "&year=" + selectedYear
            , __completedPortfolio);

        //alert(filterLocation.toString());

    });

    var selectedPortfolio = null;
    $(".portfolio img").livequery('mouseover', function(e) {
        $(this).hover({ color: '#0E93CD', color2: '#CBCBCB' });
        /*$(this).animate({
        borderTopColor: "#0E93CD"
        , borderBottomColor: "#0E93CD"
        , borderLeftColor: "#0E93CD"
        , borderRightColor: "#0E93CD"
        }
        , "slow");*/
    });

    $(".portfolio img").livequery('mouseout', function(e) {
        if ($(selectedPortfolio).attr('id') == $(this).attr('id')) { return false; }
        $(this).hover({ color: '#CBCBCB', color2: '#CBCBCB' });
    });

    var i, _currentPosition;
    _currentPosition = 0;


    $(".portfolio img").livequery('click', function(e) {

        selectedPortfolio = $(this);
        // if you dont do type conversion , you'd .. (check querystrings)
        portfolioID = parseInt($("+input", e.target).attr("value"));

        document.location = '#' + $(this).attr('id').replace('img-', '');
        $(".portfolio img").css("borderColor", "");
        $(this).css("borderColor", "#0E93CD");
        var that = $(this);





        // start animation
        $("#portfolio-holder").animate({ width: '470px' }, 400, function() {
            //$("#portfolio-details-holder").slideDown("slow");            

            // hide filter.
            //$("#op-filter").slideUp("fast", function() { $("#toogle-op-filter").slideDown("fast"); });
            //$("#toogle-op-filter").click(function() { $(this).slideUp("fast", function() { $("#op-filter").slideDown("fast"); }); });

            // call ajax page to populate data !
            //if (portfolioID > -1) {
            __ajaxCallXml('/ajax/admin/functions/portfolio.aspx?op=GetByPortfolioID&portfolioID=' + portfolioID
                    , "", __completedPortfolioDetails);
            //} else {
            //    $(".loading1").hide();
            //}


            //            var increment = 1;


            //            for (i = _currentPosition; i <= 220; i = i + increment) {
            //                window.scrollTo(1, i);
            //                _currentPosition = i;
            //            }
            //window.scrollTo(1, 220);



            return false;
        });

        $("#portfolio-details-holder").animate({ width: '470px' }, 400, function() { });

        //return false;


    });




    var url = document.location.href;
    var urls = url.split("/");
    var pf = urls[urls.length - 1].split('#');
    var _pf = urls[urls.length - 1];
    if (pf.length > 0) {
        _pf = pf[1];
    }

    if (init) { $("#img-" + _pf).livequery(function() { $(this).unbind('click'); }); return false; }
    else { init = true; }


    $("#img-" + _pf).livequery(function() {
        if (filterCategory.length == 0) {
            $(this).trigger('click');
        }
    });
});

// image clicked and we showed portfolio details!
function __completedPortfolioDetails(xml) {

    // populate case study detail
    __ajaxCallXml('/ajax/admin/functions/casestudy.aspx?op=GetByPortfolioID&portfolioID=' + portfolioID
                , "", __completedCaseStudy);


    var _html = "<input type=\"hidden\" id=\"year\" value=\"" + $(xml).find("year").text() + "\"/><div id=\"left-logo\">" +
                    "<img src=\"/media/portfolio_small/" +
                            $(xml).find("logosmall").text() + "\" style=\"padding-left:20px;padding-top:20px;padding-bottom:20px;\" alt=\"" + $(xml).find("name").text() + "\" />" + 
                            
                "</div>" +
                "<p>" + $(xml).find("teaser").text() + "<\/p>";
    $("#portfolio-details-holder .image").html(_html);
    $("#portfolio-details-holder .header p:first").html($(xml).find("name").text());    
}

function __completedCaseStudy(xml) {

    // populate media details
    __ajaxCallXml('/ajax/admin/functions/media.aspx?op=GetByPortfolioID&type=2&portfolioID=' + portfolioID
                , "", __completedMedia);

    //if ($('data',xml).find("introcopy").text() == "case study here..") {
        //$('.block:first').hide();
    //}

    var caseStudyFileLength = $('data',xml).length;
    var _html, _file;

    //alert($('data', xml).find("introcopy").text());
    if ($('data', xml).find("introcopy").text() != "case study here..") {
        _html = $(xml).find("introcopy").text();
        _file = "<div class=\"pdf\"><a href=\"" + $(xml).find("file").text() + "\">View full case study</a></div>";
        $(".block:eq(0)").show();
    } else {
        _html = "";
        _file = "";
        $(".block:eq(0)").hide();
    }

    $(".block:eq(0) p:eq(1)").html(_html);
    $(".block:eq(0) .media-holder").html(_file);
    $(".block:eq(0)").hide();
    try {
        __addDeleteCaseStudyMediaContent();
    }
    catch (e) {
        // do nothing
    }
}

function __completedMedia(xml) {

    __ajaxCallXml('/ajax/admin/functions/media.aspx?op=GetByPortfolioID&type=1&portfolioID=' + portfolioID
                , "", __completedMediaVideo);

    if ($('data', xml).length == 0) {
        $('.block:eq(1)').hide();
    } else {
        $('.block:eq(1)').show();
    }


    
    var _media = "<ul class=\"media_pictures\" id=\"media_pictures\">";
    _media += "<table style='border:solid 0;' border=0 cellpadding=\"0\" cellspacing=\"0\"><tr>";
    var columnWidth = 0;

    $("data", xml).each(function() {
        var id = $(this).attr("id");
        if (columnWidth == 4) { _media += "</tr><tr>"; columnWidth = 0; }

        _media +=
            "<td style='border:none;vertical-align:middle'><li style=\"float:left;padding-right:5px;padding-top:5px;\">" +
                "<a href=\"/media/" + $(this).find("src").text() + "\" rel=\"image\">" +
                    "<img id=\"image_" + id + "\" " +
                        "style=\"vertical-align:middle;border:solid 0;\" src=\"/media/" + $(this).find("src").text() + "?w=95\" alt=\"" + $(this).find("name").text() + "\" />" +
                    "<input id=\"image_hidden_" + id + "\" type=\"hidden\" name=\"media_" + $(this).attr("id") + "\" value=\"" + $(this).attr("id") + "\" />" +
                "</a>" +
            "</li></td>";

        if (columnWidth == 4) _media += "</tr><tr>";
        columnWidth++;
    });

    _media += "</ul></tr></table>";
    
    
    //$(".block:eq(1) p:eq(1)").html(_html);
    $(".block:eq(1) .media-holder").html(_media);


//    $.post('/video.aspx'
//                , '', function(html) {
//                    //alert(html);
//                    //$(".block:eq(1) .media-holder").append("video:" + html); 
//                    //$('#our-portfolio').html(html);
//                }
    //    );

    //var url2 = "/media/homeflash/video1.flv";
    //player.sendEvent("LOAD", url2);
    
    


}

function __completedMediaVideo(xml) {

    // populate representative details
    __ajaxCallXml('/ajax/admin/functions/team.aspx?op=GetByPortfolioID&portfolioID=' + portfolioID
                , "", __completedRepresentative);


    //alert($('data',xml).length);
    var _video = '<div id=\"video-container\" style="padding:10px 0;">';
    var _videoSrc = '';
    $('data', xml).each(function(i) {
        _videoSrc = $(this).find('src').text();
        _video += _videoSrc;

        __src = _videoSrc;

        var videoID = $(this).attr('id');
        var src = $(this).find("src").text();

        $('.block:eq(1) .media-holder').append('<div title="' + src + '" style="text-align:center;border:solid 0;width:95%;padding:10px 0;" id="preview_' + videoID + '"></div>');
        //alert(_videoSrc);
        createPlayer(_videoSrc, 'preview_' + videoID);


        //player.sendEvent("LOAD", _videoSrc);
    });

    if ($('data', xml).length == 0) {
        //$('.block:eq(1)').hide();
    } else {
        $('.block:eq(1)').show();
    }
    
    _video += "</div>";

    //alert();

    if ($('data', xml).length == 0) { $('.block:eq(1) .media-holder-video').hide(); }
    else { $('.block:eq(1) .media-holder-video').show(); }
    
    
    
    
    //$('.block:eq(1) .media-holder-video').hide();
    

//    if ($('data', xml).length == 0) {
//        $('.block:eq(1)').hide();
//    } else {
//        $('.block:eq(1)').show();
//    }


    try {
        __addDeleteMediaContent();
    }
    catch (e) {
        // do nothing
    }
}

function __completedRepresentative(xml) {

    // populate representative details
    __ajaxCallXml('/ajax/admin/functions/news.aspx?op=GetByPortfolioID&portfolioID=' + portfolioID
                , "", __completedRelatedNews);

    if ($('data', xml).length == 0) {
        $('.block:eq(2)').hide();
    } else {
        $('.block:eq(2)').show();
    }


    var _media = "<ul class=\"representatives\">";

    $("data", xml).each(function() {
        var name = $(this).find("name").text();
        var id = $(this).attr("id");
        var lastName = $(this).find("lastname").text();
        _media +=
            "<li>" +
                "<a href=\"/our-team/#" + $(this).find("picture").text().replace(".jpg", "") + "\">" +
                    "<img id=\"rep-" + id + "\" src=\"/media/team/" + $(this).find("picture").text() + "?w=95\" alt=\"" + name + "\" />" +
                    "<p class=\"textHeader\">" + name + " " + lastName + "</p>" +
                "</a>" +
            "</li>";
    })

    _media += "</ul>";

    //$(".block:eq(1) p:eq(1)").html(_html);
    $(".block:eq(2) .media-holder").html(_media);

    try {
        __addRepresentativeFeatures();
    }
    catch (e) {
        // do nothing
    }

}

function __completedRelatedNews(xml) {    
    var _news = "<ul class=\"news-events\">";
    var item_count = $("data", xml).length;
    
    $("data", xml).each(function() {
    _news +=
            "<li style=\"width:420px;float:left;padding-right:30px;margin-bottom:15px;\">" +
                "<a style=\"float:left;width:100%;margin-bottom:5px;\" href=\"/news-events/" + $(this).find("url").text()  + "/\">" +
                   $(this).find("name").text() +
                "</a>" +
                "<span style=\"float:left;\">" + $(this).find("cleancopy").text().substring(0, 150) + "...</span>" + 
            "</li>";
    })

    _news += "</ul>";

    //$(".block:eq(1) p:eq(1)").html(_html);
    if (item_count == 0) $(".block:eq(3)").hide();
    else { $(".block:eq(3)").show();  }
    $(".block:eq(3) .media-holder").html(_news);
}

//function test() {
//    var idx = getIndex("1", filterCategory);
//    window.status = filterCategory.toString();
//    //alert(idx);
//}

function getIndex(value, arr) {
    var arr_length = arr.length;
    var i = 0;
    for (i == 0; i < arr_length; i++) {
        if (value == arr[i].toString()) {
            return i;
        }
    }
    return -1;
}

function __completed(xml) {
    populate(xml,0);        
    __ajaxCallXml('/ajax/admin/functions/location.aspx?op=GetAll'
        , "", __completed2);
}

function __completed2(xml) {
    populate(xml,1);
}

var yearsPopulated = false; var __noresultAdded = false;
function __completedPortfolio(xml) {
    var __html = ""; var _years = "";
    var years = new Array();


    //alert($('data',xml).length)
    var __length = parseInt($('data', xml).length);
    if (__length == 0) {
        if (!__noresultAdded) {
            $('#portfolio-holder').before('<p id=\"noresult\" style=\"float:left;position:relative;padding:10px 20px;margin-top:10px;background:white;width:940px;\">No search results, widen search</p>');
            __noresultAdded = true;
        }
    } else { $('#noresult').remove();__noresultAdded = false; }
    
    $("data", xml).each(function(i) {
        __html += "<div class=\"portfolio\">" +
        //"<a href=\"#1\">" +
                        "<img id=\"img-" + $(this).find("name2").text() + "\" " +
                            "src=\"/media/portfolio/" + $(this).find("logo").text() + "\" " +
                            "alt=\"" + $(this).find("name").text() + "\" " +
                            "style=\"width:128px;height:69px;\"/>" +
        //"</a>" +
                    "<input type=\"hidden\" name=\"" + $(this).attr("id") + "\" value=\"" + $(this).attr("id") + "\" />" +
                  "</div>";

        //_years += "<option val='" + $(this).find("year").text() + "'>" + $(this).find("year").text() + "</option>";
        var __year = parseInt($(this).find("year").text());
        if ($.inArray(__year,years) == -1) {
            years.push(__year);
        }

    });



    if (yearsPopulated==false) {
        years.sort().reverse(); // sort descending     
        $(years).each(function(i, n) {        
            _years += "<option val='" + n + "'>" + n + "</option>";
        });
        $('#ddyear option:first').after(_years);
        yearsPopulated = true;
    }
    
    $("#portfolio-holder").html(__html);

    try {
        __addNewPortfolioFeature();
    }
    catch (e) {
        // do nothing
    }
}

function populate(xml,j) {
    var __html = "<ul>";
    $("rss", xml).find("data").each(function(i) {
        __html += "<li style=\"float:left;width:127px;padding-bottom:3px;\">" +
                        "<input type=\"checkbox\" id=\"" + j + "-" + i + "\" value=\"" + $(this).attr("id") + "\" />" +
                "<label for=\"" + j + "-" + i + "\" >" + $(this).find("name").text() + "</label></li>";
    })
    __html += "</ul>";

    $(".chkContainer:eq(" + j + ")").html(__html);
}

function __resetFilter(n) {
    $(":checkbox[id^='" + n + "']:checked").attr("checked", "");
    
    // re populate arrays
    if (n == 0) { filterCategory = new Array(); } else { filterLocation = new Array(); }
    
    // re populate data.
    __ajaxCallXml('/ajax/admin/functions/portfolio.aspx?op=GetAll'
            , "categories=" + filterCategory.toString() + "&locations=" + filterLocation.toString() + "&year="
            , __completedPortfolio);
            
}

function populatePortfolios() {
    
}


function showProgress() {
    $('#portfolio-holder').html('<div class="loading1"></div>');
}