var W3CDOM = (document.createElement && document.getElementsByTagName);

function addEvent(elm, evType, fn, useCapture) {
    if (elm.addEventListener) {
        elm.addEventListener(evType, fn, useCapture);
        return true;
    }
    else if (elm.attachEvent) {
        var r = elm.attachEvent('on' + evType, fn);
        return r;
    }
    else {
        elm['on' + evType] = fn;
    }
}

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    }
    else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

function getElementsByClass(searchClass,node,tags) {
    var classElements = new Array();
    if ( node == null )
    node = document;
    if ( tags == null )
    tags = '*';
    //if ( tags.length >= 1) {
        //alert(tags);
    //}
    var els = node.getElementsByTagName(tags);
    var elsLen = els.length;
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( els[i].className.indexOf(searchClass) >= 0 ) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}

function removeElement(element) {
    var parent = element.parentNode;
    parent.removeChild(element);
}

function pluralForm(n, local, form1, form2, form5){
    if(n<0){
        n = n * -1;
    }
    if (local == 'ru'){
        n = n % 100;
        n1 = n % 10;
        if (n > 10 && n < 20) return form5;
        if (n1 > 1 && n1 < 5) return form2;
        if (n1 == 1) return form1;
        return form5;
    } else {
        if (n == 1) return form1;
        return form2;
    }
}

function setDisplay(elName, value) {
    var el = document.getElementById(elName);
    if(el) el.style.display = value;
}

function show(elName) {
    setDisplay(elName,'');
}

function hide(elName) {
    setDisplay(elName,'none');
}