﻿// sitefunctions.js
var clicked = false;
var faq_loaded = false;

function getDomain() {
    var domain = String(location.href.match(/http:\/\/[^\/]*/)), domainHash;
    domain = domain.substring(domain.lastIndexOf('/') + 1);
    if (domainHash = domain.search(/\..*\..*/) + 1)
        domain = domain.substring(domainHash);
    return domain;
}

function selectCurrentPage(panelbar) {
    collapseAllItems(panelbar);
    var pageName = location.href, pageHash;
    if (pageHash = pageName.lastIndexOf('#') + 1)
        pageName = pageName.substring(0, pageHash - 1);
    if (!pageName.match('pdfdisplay') && !pageName.match('htmdisplay')) {
        if (pageHash = pageName.lastIndexOf('?') + 1)
            pageName = pageName.substring(0, pageHash - 1);
    } else {
        pageName = location.href.match(/http:\/\/[^\/]*/) + pageName.substring(pageName.lastIndexOf('page=') + 5,
        pageName.lastIndexOf('&department='));
    }

    var currentLink = panelbar.findItemByAbsoluteUrl(pageName);
    if ((currentLink) && !(pageName == location.href.match(/http:\/\/[^\/]*\//)))
        selectItem(panelbar, currentLink);
    else
        expand1stItems(panelbar);

}



function OnClientItemChange(sender, args) {
    if (typeof(curvyCorners) !== 'undefined')
        var timeoutID = window.setTimeout(curvyCorners.redraw, 1000);
}

function OnClientItemLoad(sender) {
    selectCurrentPage(sender);
}

function ClickOnce(e) {
    var targ;

    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;

    if (!clicked) {
        clicked = true;
        alert(targ.id);
        targ.disabled = 'disabled';
        return true;
    }
    else {
        return false;
    }
}

function selectItem(panelbar, panelitem) {
    if (panelbar && panelitem) {
        panelitem.select();
        while (panelitem != panelbar) {
            if (panelitem.get_items())
                panelitem.expand();
            panelitem = panelitem.get_parent();
        }
    }
}

function expand1stItems(panelobject) {
    for (var i = 0; i < panelobject.get_items().get_count(); i++)
        if (panelobject.get_items().getItem(i).get_items())
        panelobject.get_items().getItem(i).expand();
}

function collapseAllItems(panelbarobject) {
    for (var i = 0; i < panelbarobject.get_allItems().length; i++) {
        if (panelbarobject.get_allItems()[i].get_items())
            panelbarobject.get_allItems()[i].collapse();
    }
}

var min = 0.6;
var max = 2.0;
function increaseFontSize() {
    var p = document.getElementsByTagName('p');
    for (i = 0; i < p.length; i++) {
        if (p[i].style.fontSize) {
            var s = parseFloat(p[i].style.fontSize.replace("em", ""));
        } else {
            var s = 1.0;
        }
        if (s != max) {
            s += 0.1;
        }
        p[i].style.fontSize = s + "em"
    }
}
function decreaseFontSize() {
    var p = document.getElementsByTagName('p');
    for (i = 0; i < p.length; i++) {
        if (p[i].style.fontSize) {
            var s = parseFloat(p[i].style.fontSize.replace("em", ""));
        } else {
            var s = 1.0;
        }
        if (s != min) {
            s -= 0.1;
        }
        p[i].style.fontSize = s + "em"
    }
}

function siteSearchClick(event) {
    document.body.style.cursor = 'wait';
    return true;
}

SSS_faq = {
    init: function() {
        if (!faq_loaded) {
            faq_loaded = true;
            $('div.faq .answer').fadeToggle('slow');
            //curvyCorners.redraw();
            $('div.faq .question').click(function() { SSS_faq.toggle(this) });
        }
    },

    toggle: function(elt) {
        $(elt).toggleClass('active');
        $(elt).siblings('.answer').fadeToggle('slow');
        var timeoutID = window.setTimeout(curvyCorners.redraw, 1000);
    }
};

jQuery.fn.fadeToggle = function(speed, easing, callback) {
    return this.animate({ opacity: 'toggle' }, speed, easing, callback);
};

