//************************************************************************************************************************************
// ADD NOFOLLOW TO EXTERNAL LINKS :- the following function (document.ready) will be called each time the page is loaded
//************************************************************************************************************************************

jQuery(function() {
    jQuery('a[href^=http://]').attr('rel', 'nofollow');
});


//************************************************************************************************************************************
// PEOPLE PAGE
//************************************************************************************************************************************

jQuery(function() {

    jQuery('#profiles li').click(function() {

        $li = jQuery(this);

        $li.hide();

        if ($li.hasClass('collapse')) {

            //CLear any prev expanded items
            jQuery('#profiles li.expand-1').removeClass('expand-1').addClass('collapse');
            jQuery('#profiles li.expand-2').removeClass('expand-2').addClass('collapse');
            jQuery('#profiles li.expand-3').removeClass('expand-3').addClass('collapse');
            jQuery('#profiles li.expand-4').removeClass('expand-4').addClass('collapse');

            $li.removeClass('collapse');

            if (jQuery('#profiles li:nth-child(4n-3)').index($li) !== -1) {
                $li.addClass('expand-1');
            }
            if (jQuery('#profiles li:nth-child(4n-2)').index($li) !== -1) {
                $li.prev().insertAfter($li);
                $li.addClass('expand-2');
            }
            if (jQuery('#profiles li:nth-child(4n-1)').index($li) !== -1) {
                $li.addClass('expand-3');
            }
            if (jQuery('#profiles li:nth-child(4n)').index($li) !== -1) {
                $li.prev().insertAfter($li);
                $li.addClass('expand-4');
            }

            // height of 1 panel including margin = 160
            h = $li.height();
            h = Math.max(Math.ceil(h / 160) * 160, 320);
            h = h - 20;
            $li.height(h);

        }
        else {

            $li = jQuery(this);
            //$li.removeClass('*');
            $li.removeClass('expand-1');
            $li.removeClass('expand-2');
            $li.removeClass('expand-3');
            $li.removeClass('expand-4');
            $li.addClass('collapse');
        }

        $li.show(1500);

    });
});



//************************************************************************************************************************************
// MAGIC LINE 
//************************************************************************************************************************************
jQuery(function() {

    var $el, leftPos, newWidth,
        $mainNav = jQuery('#nav'),
        pageOffset = $mainNav.offset().left;


    // Fixing the offset if the window changes size    
    jQuery(window).resize(function() {
        pageOffset = $mainNav.offset().left;
    });

    /*
    NAV MAGIC LINE
    */
    $mainNav.append('<li id="magic-line"></li>');

    var $magicLine = jQuery('#magic-line');

    $magicLine
        .width(jQuery('#navbar ul li a.active').width())
        .css('left', jQuery('#navbar ul li a.active').offset().left - pageOffset)
        .data('origLeft', $magicLine.offset().left - pageOffset)
        .data('origWidth', $magicLine.width());

    jQuery('#navbar ul li').hover(function() {
        $el = jQuery(this);
        leftPos = $el.offset().left - pageOffset;
        newWidth = $el.width(); //.parent().width();

        $magicLine.stop().animate({
            left: leftPos,
            width: newWidth
        });
    }, function() {
        $magicLine.stop().animate({
            left: $magicLine.data('origLeft'),
            width: $magicLine.data('origWidth')
        });
    });

});
//*****************************************************************************************************************************



//    jQuery(function() {

//        //-------------------------------------------------------------------------------------------------------------------------

//        //Remove the the active state underline while hovering on the ul
//        jQuery('#navbar ul ').hover(function() {
//            jQuery('#navbar ul li a.active').animate({
//                borderBottomColor: '#c0c0c0'
//            }, 'slow');
//        },
//        function() {
//            jQuery('#navbar ul li a.active').animate({
//                borderBottomColor: '#260859'
//            }, 'slow');
//        });

//        //-------------------------------------------------------------------------------------------------------------------------

//        //Add the hover state underline to the a tag
//        jQuery('#navbar ul li a').hover(function() {
//            //jQuery(this).addClass('hover');
//            //jQuery('#navbar ul li a').switchClass('hover', '', 300); //.removeClass('hover');
//            //jQuery(this).switchClass('', 'hover', 300);

//            jQuery(this).animate({
//                borderBottomColor: '#260859'
//            }, 'slow');


//        },
//        function() {
//            //jQuery(this).removeClass('hover'); //jQuery(this).css('border-bottom', '2px solid #c0c0c0');
//            //jQuery('#navbar ul li a').switchClass('hover', '', 300); //.removeClass('hover');
//            jQuery(this).animate({
//                borderBottomColor: '#c0c0c0'
//            }, 'slow');
//        });

//        //-------------------------------------------------------------------------------------------------------------------------


//    });




//*****************************************************************************************************************************

function initOverLabels() {

    if (!document.getElementById) return;

    var labels, id, field;

    // Set focus and blur handlers to hide and show 
    // LABELs with 'overlabel' class names.
    labels = document.getElementsByTagName('label');
    for (var i = 0; i < labels.length; i++) {

        if (labels[i].className == 'overlabel') {

            // Skip labels that do not have a named association
            // with another field.
            id = labels[i].htmlFor || labels[i].getAttribute('for');
            if (!id || !(field = document.getElementById(id))) {
                continue;
            }

            // Change the applied class to hover the label 
            // over the form field.
            labels[i].className = 'overlabel-apply';

            // Hide any fields having an initial value.
            if (field.value !== '') {
                hideLabel(field.getAttribute('id'), true);
            }

            // Set handlers to show and hide labels.
            field.onfocus = function() {
                hideLabel(this.getAttribute('id'), true);
            };
            field.onblur = function() {
                if (this.value === '') {
                    hideLabel(this.getAttribute('id'), false);
                }
            };

            // Handle clicks to LABEL elements (for Safari).
            labels[i].onclick = function() {
                var id, field;
                id = this.getAttribute('for');
                if (id && (field = document.getElementById(id))) {
                    field.focus();
                }
            };

        }
    }
};

function hideLabel(field_id, hide) {

    var field_for;
    var labels = document.getElementsByTagName('label');
    for (var i = 0; i < labels.length; i++) {
        field_for = labels[i].htmlFor || labels[i].getAttribute('for');
        if (field_for == field_id) {
            labels[i].style.display = (hide) ? 'none' : 'block';
            return true;
        }
    }
};

window.onload = function() {
  flickr();
    setTimeout(initOverLabels, 50);
    addLinkTarget();
};

//Run on load to add target to all links
function addLinkTarget() {
    var url = document.URL.split('//'); // split at protocol
    var arrUrl = (url[1] ? url[1] : url[0]).split('/');
    var host = arrUrl[0];

    var links = document.getElementsByTagName('a');
    var length = links.length;
    for (i = 0; i < length; i++) {
        if (!links[i].href.match(/^javascript/i) && !links[i].href.match(host)) {
            links[i].target = '_blank';
        }
    }
}


function flickr() {
    jQuery.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=47348573@N07&lang=en-us&format=json&jsoncallback=?", function(data) {
        jQuery.each(data.items, function(i, item) {
            if (i == 2) {
                jQuery("<img/>").attr("src", item.media.m.replace(/_m.jpg$/, "_s.jpg")).appendTo("#flickr").wrap("<a class='last' href='" + item.link + "'></a>");
            } else {
            jQuery("<img/>").attr("src", item.media.m.replace(/_m.jpg$/, "_s.jpg")).appendTo("#flickr").wrap("<a href='" + item.link + "'></a>");
            }
            if (i == 2) return false;
        });
    });
}

function ie() {
    if ($.browser.msie && $.browser.version < 8) {
        jQuery("#home #panels ul li:nth-child(2n)").addClass("no_padding");
    }
};
﻿/**
* SWFObject v1.4.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
*
* SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
* http://www.opensource.org/licenses/mit-license.php
*
* **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for
*   legal reasons.
*/
if (typeof deconcept == "undefined") { var deconcept = new Object(); }
if (typeof deconcept.util == "undefined") { deconcept.util = new Object(); }
if (typeof deconcept.SWFObjectUtil == "undefined") { deconcept.SWFObjectUtil = new Object(); }
deconcept.SWFObject = function(_1, id, w, h, _5, c, _7, _8, _9, _a, _b) {
    if (!document.getElementById) { return; }
    this.DETECT_KEY = _b ? _b : "detectflash";
    this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
    this.params = new Object();
    this.variables = new Object();
    this.attributes = new Array();
    if (_1) { this.setAttribute("swf", _1); }
    if (id) { this.setAttribute("id", id); }
    if (w) { this.setAttribute("width", w); }
    if (h) { this.setAttribute("height", h); }
    if (_5) { this.setAttribute("version", new deconcept.PlayerVersion(_5.toString().split("."))); }
    this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();
    if (c) { this.addParam("bgcolor", c); }
    var q = _8 ? _8 : "high";
    this.addParam("quality", q);
    this.setAttribute("useExpressInstall", _7);
    this.setAttribute("doExpressInstall", false);
    var _d = (_9) ? _9 : window.location;
    this.setAttribute("xiRedirectUrl", _d);
    this.setAttribute("redirectUrl", "");
    if (_a) { this.setAttribute("redirectUrl", _a); } 
};
deconcept.SWFObject.prototype = { setAttribute: function(_e, _f) {
    this.attributes[_e] = _f;
}, getAttribute: function(_10) {
    return this.attributes[_10];
}, addParam: function(_11, _12) {
    this.params[_11] = _12;
}, getParams: function() {
    return this.params;
}, addVariable: function(_13, _14) {
    this.variables[_13] = _14;
}, getVariable: function(_15) {
    return this.variables[_15];
}, getVariables: function() {
    return this.variables;
}, getVariablePairs: function() {
    var _16 = new Array();
    var key;
    var _18 = this.getVariables();
    for (key in _18) { _16.push(key + "=" + _18[key]); }
    return _16;
}, getSWFHTML: function() {
    var _19 = "";
    if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {
        if (this.getAttribute("doExpressInstall")) {
            this.addVariable("MMplayerType", "PlugIn");
        }
        _19 = "<embed type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute("swf") + "\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\"";
        _19 += " id=\"" + this.getAttribute("id") + "\" name=\"" + this.getAttribute("id") + "\" ";
        var _1a = this.getParams();
        for (var key in _1a) { _19 += [key] + "=\"" + _1a[key] + "\" "; }
        var _1c = this.getVariablePairs().join("&");
        if (_1c.length > 0) { _19 += "flashvars=\"" + _1c + "\""; } _19 += "/>";
    } else {
        if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "ActiveX"); }
        _19 = "<object id=\"" + this.getAttribute("id") + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\">";
        _19 += "<param name=\"movie\" value=\"" + this.getAttribute("swf") + "\" />";
        var _1d = this.getParams();
        for (var key in _1d) { _19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />"; }
        var _1f = this.getVariablePairs().join("&");
        if (_1f.length > 0) { _19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />"; } _19 += "</object>";
    }
    return _19;
}, write: function(_20) {
    if (this.getAttribute("useExpressInstall")) {
        var _21 = new deconcept.PlayerVersion([6, 0, 65]);
        if (this.installedVer.versionIsValid(_21) && !this.installedVer.versionIsValid(this.getAttribute("version"))) {
            this.setAttribute("doExpressInstall", true);
            this.addVariable("MMredirectURL", escape(this.getAttribute("xiRedirectUrl")));
            document.title = document.title.slice(0, 47) + " - Flash Player Installation";
            this.addVariable("MMdoctitle", document.title);
        } 
    }
    if (this.skipDetect || this.getAttribute("doExpressInstall") || this.installedVer.versionIsValid(this.getAttribute("version"))) {
        var n = (typeof _20 == "string") ? document.getElementById(_20) : _20;
        n.innerHTML = this.getSWFHTML(); return true;
    } else { if (this.getAttribute("redirectUrl") != "") { document.location.replace(this.getAttribute("redirectUrl")); } }
    return false;
} 
};
deconcept.SWFObjectUtil.getPlayerVersion = function() {
    var _23 = new deconcept.PlayerVersion([0, 0, 0]);
    if (navigator.plugins && navigator.mimeTypes.length) {
        var x = navigator.plugins["Shockwave Flash"];
        if (x && x.description) { _23 = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".")); }
    } else {
        try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); }
        catch (e) {
            try {
                var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
                _23 = new deconcept.PlayerVersion([6, 0, 21]); axo.AllowScriptAccess = "always";
            }
            catch (e) { if (_23.major == 6) { return _23; } } try { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); }
            catch (e) { } 
        } if (axo != null) { _23 = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(",")); } 
    }
    return _23;
};
deconcept.PlayerVersion = function(_27) {
    this.major = _27[0] != null ? parseInt(_27[0]) : 0;
    this.minor = _27[1] != null ? parseInt(_27[1]) : 0;
    this.rev = _27[2] != null ? parseInt(_27[2]) : 0;
};
deconcept.PlayerVersion.prototype.versionIsValid = function(fv) {
    if (this.major < fv.major) { return false; }
    if (this.major > fv.major) { return true; }
    if (this.minor < fv.minor) { return false; }
    if (this.minor > fv.minor) { return true; }
    if (this.rev < fv.rev) {
        return false;
    } return true;
};
deconcept.util = { getRequestParameter: function(_29) {
    var q = document.location.search || document.location.hash;
    if (q) {
        var _2b = q.substring(1).split("&");
        for (var i = 0; i < _2b.length; i++) {
            if (_2b[i].substring(0, _2b[i].indexOf("=")) == _29) {
                return _2b[i].substring((_2b[i].indexOf("=") + 1));
            } 
        } 
    }
    return "";
} 
};
deconcept.SWFObjectUtil.cleanupSWFs = function() {
    if (window.opera || !document.all) { return; }
    var _2d = document.getElementsByTagName("OBJECT");
    for (var i = 0; i < _2d.length; i++) {
        _2d[i].style.display = "none"; for (var x in _2d[i]) {
            if (typeof _2d[i][x] == "function") { _2d[i][x] = function() { }; } 
        } 
    } 
};
deconcept.SWFObjectUtil.prepUnload = function() {
    __flash_unloadHandler = function() { };
    __flash_savedUnloadHandler = function() { };
    if (typeof window.onunload == "function") {
        var _30 = window.onunload;
        window.onunload = function() {
            deconcept.SWFObjectUtil.cleanupSWFs(); _30();
        };
    } else { window.onunload = deconcept.SWFObjectUtil.cleanupSWFs; } 
};
if (typeof window.onbeforeunload == "function") {
    var oldBeforeUnload = window.onbeforeunload;
    window.onbeforeunload = function() {
        deconcept.SWFObjectUtil.prepUnload();
        oldBeforeUnload();
    };
} else { window.onbeforeunload = deconcept.SWFObjectUtil.prepUnload; }
if (Array.prototype.push == null) {
    Array.prototype.push = function(_31) {
        this[this.length] = _31;
        return this.length;
    };
}
var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject;
var SWFObject = deconcept.SWFObject;
;
﻿var collapseClass = "AspNet-TreeView-Collapse";
var expandClass = "AspNet-TreeView-Expand";
var showClass = "AspNet-TreeView-Show";
var hideClass = "AspNet-TreeView-Hide";

function IsExpanded__AspNetTreeView(element) {
    return (HasClass__CssFriendlyAdapters(element, collapseClass));
}

function TogglePlusMinus__AspNetTreeView(element, showPlus) {
    if (HasAnyClass__CssFriendlyAdapters(element)) {
        var showPlusLocal = IsExpanded__AspNetTreeView(element);
        if ((typeof (showPlus) != "undefined") && (showPlus != null)) {
            showPlusLocal = showPlus;
        }
        var oldClass = showPlusLocal ? collapseClass : expandClass;
        var newClass = showPlusLocal ? expandClass : collapseClass;
        SwapClass__CssFriendlyAdapters(element, oldClass, newClass);
    }
}

function ToggleChildrenDisplay__AspNetTreeView(element, collapse) {
    if ((element != null) && (element.parentNode != null) && (element.parentNode.getElementsByTagName != null)) {
        var childrenToHide = element.parentNode.getElementsByTagName("ul");
        var oldClass = collapse ? showClass : hideClass;
        var newClass = collapse ? hideClass : showClass;
        for (var i = 0; i < childrenToHide.length; i++) {
            if ((childrenToHide[i].parentNode != null) && (childrenToHide[i].parentNode == element.parentNode)) {
                SwapOrAddClass__CssFriendlyAdapters(childrenToHide[i], oldClass, newClass);
            }
        }
    }
}

function ExpandCollapse__AspNetTreeView(sourceElement) {
    if (HasAnyClass__CssFriendlyAdapters(sourceElement)) {
        var expanded = IsExpanded__AspNetTreeView(sourceElement);
        TogglePlusMinus__AspNetTreeView(sourceElement, expanded);
        ToggleChildrenDisplay__AspNetTreeView(sourceElement, expanded);
    }
}

function GetViewState__AspNetTreeView(id) {
    var retStr = "";
    if ((typeof (id) != "undefined") && (id != null) && (document.getElementById(id) != null)) {
        var topUL = document.getElementById(id);
        retStr = ComposeViewState__AspNetTreeView(topUL, "");
    }
    return retStr;
}

function ComposeViewState__AspNetTreeView(element, state) {
    var child = element.firstChild;
    var bConsiderChildren = true;

    //  The following line must be changed if you alter the TreeView adapters generation of
    //  markup such that the first child within the LI no longer is the expand/collapse <span>.
    if ((element.tagName == "LI") && (child != null)) {
        var expandCollapseSPAN = null;
        var currentChild = child;
        while (currentChild != null) {
            if ((currentChild.tagName == "SPAN") &&
                (currentChild.className != null) &&
                ((currentChild.className.indexOf(collapseClass) > -1) ||
                 (currentChild.className.indexOf(expandClass) > -1))) {
                expandCollapseSPAN = currentChild;
                break;
            }
            currentChild = currentChild.nextSibling;
        }

        if (expandCollapseSPAN != null) {
            if (expandCollapseSPAN.className.indexOf(collapseClass) > -1) {
                //  If the "collapse" class is currently being used then the "collapse" icon is, presumably, being shown.
                //  In other words, the node itself is actually expanded at the present moment (which is why you now
                //  have the option of collapsing it.  So we mark it as an "expanded" node for purposes of the view state
                //  we are now accumulating.
                state += "e";
            }
            else if (expandCollapseSPAN.className.indexOf(expandClass) > -1) {
                //  This part of the tree is collapsed so we don't need to consider its children.
                bConsiderChildren = false;
                state += "n";
            }
        }
    }

    if (bConsiderChildren && (child != null)) {
        state = ComposeViewState__AspNetTreeView(child, state);
    }

    if (element.nextSibling != null) {
        state = ComposeViewState__AspNetTreeView(element.nextSibling, state);
    }

    return state;
}
;
﻿function CanHaveClass__CssFriendlyAdapters(element) {
    return ((element != null) && (element.className != null));
}

function HasAnyClass__CssFriendlyAdapters(element) {
    return (CanHaveClass__CssFriendlyAdapters(element) && (element.className.length > 0));
}

function HasClass__CssFriendlyAdapters(element, specificClass) {
    return (HasAnyClass__CssFriendlyAdapters(element) && (element.className.indexOf(specificClass) > -1));
}

function AddClass__CssFriendlyAdapters(element, classToAdd) {
    if (HasAnyClass__CssFriendlyAdapters(element)) {
        if (!HasClass__CssFriendlyAdapters(element, classToAdd)) {
            element.className = element.className + " " + classToAdd;
        }
    }
    else if (CanHaveClass__CssFriendlyAdapters(element)) {
        element.className = classToAdd;
    }
}

function AddClassUpward__CssFriendlyAdapters(startElement, stopParentClass, classToAdd) {
    var elementOrParent = startElement;
    while ((elementOrParent != null) && (!HasClass__CssFriendlyAdapters(elementOrParent, topmostClass))) {
        AddClass__CssFriendlyAdapters(elementOrParent, classToAdd);
        elementOrParent = elementOrParent.parentNode;
    }
}

function SwapClass__CssFriendlyAdapters(element, oldClass, newClass) {
    if (HasAnyClass__CssFriendlyAdapters(element)) {
        element.className = element.className.replace(new RegExp(oldClass, "gi"), newClass);
    }
}

function SwapOrAddClass__CssFriendlyAdapters(element, oldClass, newClass) {
    if (HasClass__CssFriendlyAdapters(element, oldClass)) {
        SwapClass__CssFriendlyAdapters(element, oldClass, newClass);
    }
    else {
        AddClass__CssFriendlyAdapters(element, newClass);
    }
}

function RemoveClass__CssFriendlyAdapters(element, classToRemove) {
    SwapClass__CssFriendlyAdapters(element, classToRemove, "");
}

function RemoveClassUpward__CssFriendlyAdapters(startElement, stopParentClass, classToRemove) {
    var elementOrParent = startElement;
    while ((elementOrParent != null) && (!HasClass__CssFriendlyAdapters(elementOrParent, topmostClass))) {
        RemoveClass__CssFriendlyAdapters(elementOrParent, classToRemove);
        elementOrParent = elementOrParent.parentNode;
    }
}

function IsEnterKey() {
    var retVal = false;
    var keycode = 0;
    if ((typeof (window.event) != "undefined") && (window.event != null)) {
        keycode = window.event.keyCode;
    }
    else if ((typeof (e) != "undefined") && (e != null)) {
        keycode = e.which;
    }
    if (keycode == 13) {
        retVal = true;
    }
    return retVal;
}
;

