﻿// Svbx JavaScript Library
// version 1.1.0.1
// Autor: Zvaricdhuk Vasyliy


// ------------ Helper funs --------------------------------------
function $(id) { return document.getElementById(id); }

function showEl(id) { $(id).style.display = ''; }

function hideEl(id) { $(id).style.display = 'none'; }

function setText(id, text) { $(id).innerHTML = text; }

function setVal(id, val) { $(id).value = val; }

function contain(str, word) { return str.indexOf(word) != -1; }

function clearEl(id) { setText(id, ''); }

function setCheck(id) { $(id).checked = 'checked' }

function setUnCheck(id) { $(id).checked = '' }

function disable(id) { $(id).disabled = "disabled"; }

function able(id) { $(id).disabled = ""; }

function isEmpty(val) { return val.length == 0; }

function redirect(url) {location.href = url; }


function getUrlParam(par) {
    var url = location.href;
    if (contain(url, par + '=')) {
        var res = '';
        for (var i = url.indexOf(par + '=') + par.length + 1; i < url.length; i++) {
            if (url[i] != "&") res += url[i];
        }
        return res;
    }
    else {
        return "";
    }
}

function ltrim(text) {
    if (text != null) {
        for (var i = 0; i < text.toString().length; i++) {
            if (text.toString().charAt(i) == ' ') text = text.toString().substring(i + 1, text.length - 1);
            else return text;
        }
    }
}

function rtrim(text) {
    if (text != null) {
        for (var i = text.toString().length - 1; i >= 0; i--) {
            if (text.toString().charAt(i) == ' ') text = text.toString().substring(0, i - 1);
            else return text;
        }
    }
}

function trim(text) {
    return ltrim(rtrim(text.toString()));
}

//--- Validator funs------------------------

function requireVal(el, starEl, errEl, elName) {
    var elem = $(el);
    if (!trim(elem.value.toString())) {
        if (starEl) $(starEl).innerHTML = '*';
        $(errEl).innerHTML = elName + ' - обязательное поле!';
        elem.focus();
        return false;
    }
    else {
        if (starEl) $(starEl).innerHTML = '';
        $(errEl).innerHTML = '';
        return true;
    }
}

function minLength(el, len, starEl, errEl, elName) {
    var elem = $(el);
    if (elem.value.length < len) {
        $(starEl).innerHTML = '!';
        $(errEl).innerHTML = 'Минимальная длина поля ' + elName + ' - ' + len + ' символов!';
        elem.focus();
        return false;
    }
    else {
        $(starEl).innerHTML = '';
        $(errEl).innerHTML = '';
        return true;
    }
}

function maxLength(el, len, starEl, errEl, elName) {
    var elem = $(el);
    if (elem.value.length > len) {
        if ($(starEl)) setText(starEl, '!');
        $(errEl).innerHTML = 'Максимальная длина поля ' + elName + ' - ' + len + ' символов!';
        elem.focus();
        return false;
    }
    else {
       if($(starEl)) setText(starEl, '');
        $(errEl).innerHTML = '';
        return true;
    }
}


// ---- Email validation-------------

function validEmail(email) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    return reg.test(email);
}

function emailVal(el, starEl, errEl) {
    var elem = $(el);
    if (!validEmail(elem.value)) {
        if (starEl) $(starEl).innerHTML = '!';
        $(errEl).innerHTML = 'Неверный формат E-Mail!';
        elem.focus();
        return false;
    }
    else {
        if (starEl) $(starEl).innerHTML = '';
        $(errEl).innerHTML = '';
        return true;
    }
}

// ----- For Use validator ------

function compRequireVal(els, starEls, errEls, errTexts) {
    for (var i = 0; i < els.length; i++) {
        if (!requireVal(els[i], starEls[i], errEls[i], errTexts[i])) {
            return false;
        }
    }
    return true;
}

function loginVal(logEl, passEl, logStar, passStar, errEl) {
    return requireVal(logEl, logStar, errEl, 'E-Mail') &&
        emailVal(logEl, logStar, errEl) &&
        requireVal(passEl, passStar, errEl, 'Пароль') &&
        minLength(passEl, 6, passStar, errEl, 'Пароль');
}

//----- Radio button vali

function requireSelRadio(radioName, errEl, errTxt) {
    var radioEls = document.getElementsByName(radioName);
    for (var i = 0; i < radioEls.length; i++) {
        if (radioEls[i].checked) {
            setText(errEl, '');
            return true;
        }
    }
    setText(errEl, 'Выберите ' + errTxt + ' пожалуйста!');
    radioEls[0].focus();
    return false;
}

function requireSelDropList(drList, starEl, errEl, elName) {
    var drLt = $(drList);
    if (isEmpty(drLt.value)) {
        if (starEl) $(starEl).innerHTML = '*';
        $(errEl).innerHTML = 'Выберите ' + elName + '!';
        drLt.focus();
        return false;
    }
    else {
        if (starEl) $(starEl).innerHTML = '';
        $(errEl).innerHTML = '';
        return true;
    }
}

//------------ menu funs ------------------------

mns = new Array('Default', 'AskQuestion', 'Questions', 'Consultants', 'law_111', 'News', 'Articles', 'Forus', 'AboutUs', 'Service');
mid = new Array('m1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm10');

window.onload = function() {
    for (i = 0; i < mns.length; i++) {
        var ma = $(mid[i]);
        if (ma) {
            if (location.href.indexOf(mns[i]) != -1) {
                ma.className = 'active';
            }
            else {
                ma.className = '';
            }
        }
    }
}    
