﻿function Toggle(id) {
    var e = $(id);
    var r = new Fx.Reveal(e);
    r.toggle();
}

function Dissolve(id) {
    var e = $(id);
    var r = new Fx.Reveal(e);
    r.dissolve();
}

function Reveal(id) {
    var e = $(id);
    var r = new Fx.Reveal(e);
    r.reveal();
}

function HideAll(className) {
    var divs = getElementsByClassName(className, null);
    for (var i = 0; i < divs.length; i++) {
        Dissolve(divs[i]);
    }
}

function ShowAll(className) {
    var divs = getElementsByClassName(className, null);
    for (var i = 0; i < divs.length; i++) {
        Reveal(divs[i]);
    }
}

function getElementsByClassName(classname, node) {
    if (!node) node = document.getElementsByTagName("body")[0];
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for (var i = 0, j = els.length; i < j; i++)
        if (re.test(els[i].className)) a.push(els[i]);
    return a;
}

// trim whitespace
String.prototype.trimLeft = function() { return this.replace(/^\s+/, ''); }
String.prototype.trimRight = function() { return this.replace(/\s+$/, ''); }
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }


function IsValidEmail(email) {
    var re = new RegExp('^[^\s@]+@[^\s@]+\.[^\s@]+$');
    return (re.test(email));
}