﻿String.prototype.trim = function() {
    return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
String.prototype.endsWith = function(str) {
    return (this.match(str + "$") == str)
}
String.prototype.startsWith = function(str) {
    return (this.match("^" + str) == str)
}



/*
http://www.dustindiaz.com/getelementsbyclass/ 
usage getElementsByClass('aclass',document.getElementById('anid'),'atag');
*/
function getElementsByClass(searchClass, node, tag) {
    var classElements = new Array();
    if (node == null)
        node = document;
    if (tag == null)
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if (pattern.test(els[i].className)) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}

function getStyleObject(objectId) {
    // checkW3C DOM, then MSIE 4, then NN 4.
    if (document.getElementById && document.getElementById(objectId))
        return document.getElementById(objectId).style;
    else if (document.all && document.all(objectId))
        return document.all(objectId).style;
    else if (document.layers && document.layers[objectId])
        return document.layers[objectId];
    else
        return false;
}
function changeVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId);
    if (styleObject)
        styleObject.visibility = newVisibility;
}
function changeDisplay(objectId, newDisplay) {
    var styleObject = getStyleObject(objectId);
    if (styleObject)
        styleObject.display = newDisplay;
}



function hideTickerSlides(slides) {
    var s
    for (s in slides) {
        changeDisplay(slides[s], 'none');
    }
}
function showTickerSlide(sid) {
    changeDisplay(sid, 'block');
}
function showSlide(sid, slides) {
    var s
    for (s in slides) {
        changeDisplay(slides[s], 'none');
    }
    changeDisplay(sid, 'block');
}
function togglePlusMinus(taxID, catID) {
    var c = getElementsByClass('category', document.getElementById(taxID), 'a');
    var cat;
    for (cat in c) {
            c[cat].style.backgroundImage = 'url(/images/plus.jpg)';
    }
    getStyleObject(catID).backgroundImage = 'url(/images/minus.jpg)';
}