var tabL, tabR;

var image = new Image(); image.src = '/i/services/affiliate/bg_tabs_l.png';
image = new Image(); image.src = '/i/services/affiliate/bg_tabs_r_alt.png';
image = new Image(); image.src = '/i/services/affiliate/bg_key.gif';
image = new Image(); image.src = '/i/services/affiliate/but_fold.gif';

var wm_min_sum;

var a_messages = new Array();

a_messages['sum_zero']         = 'Введите положительное число';
a_messages['sum_too_big']      = 'Сумма больше вашего баланса';
a_messages['invalid_wmnumber'] = 'Недопустимый номер кошелька Webmoney';
a_messages['wm_min_sum']       = 'Слишком маленькая сумма для вывода на Webmoney';

a_messages['login_too_short']  = 'Слишком короткий логин';
a_messages['login_too_long']   = 'Слишком длинный логин';
a_messages['invalid_login']    = 'Недопустимый логин';

a_messages['pass_too_short']   = 'Слишком короткий пароль';
a_messages['pass_too_long']    = 'Слишком длинный пароль';
a_messages['invalid_password'] = 'Недопустимый пароль';

a_messages['email_too_short']  = 'Слишком короткий e-mail';
a_messages['email_too_long']   = 'Слишком длинный e-mail';
a_messages['invalid_email']    = 'Недопустимый e-mail';

a_messages['empty'] = 'Это поле обязательно для заполнения';

function tab_r() {
    document.getElementById('enter').style.display = 'block';
    document.getElementById('reg').style.display = 'none';
    if(!tabL) tabL = document.getElementById('forms').getElementsByTagName('ul')[0].getElementsByTagName('li')[0];
    if(!tabR) tabR = document.getElementById('forms').getElementsByTagName('ul')[0].getElementsByTagName('li')[1];
    tabL.className = 'first first-alt';
    tabR.className = 'last';
    return false;
}

function tab_l() {
    document.getElementById('reg').style.display = 'block';
    document.getElementById('enter').style.display = 'none';
    if(!tabL) tabL = document.getElementById('forms').getElementsByTagName('ul')[0].getElementsByTagName('li')[0];
    if(!tabR) tabR = document.getElementById('forms').getElementsByTagName('ul')[0].getElementsByTagName('li')[1];
    tabL.className = 'first';
    tabR.className = 'last last-alt';
    return false;
}

function show_block(obj) {
    var block = obj.parentNode.parentNode;
    if (block.className == 'open') block.className = '';
    else block.className = 'open';
}

function form_onsubmit(obj) {
    var inputs = obj.getElementsByTagName('input');
    var return_value = true;
    var error_msg;
    for(var i = 0; i < inputs.length; i++) {
        error_msg = false;
        if(inputs[i].type != 'hidden') {
            if(inputs[i].name != 'org' && inputs[i].value == '') { error_msg = 'empty'; return_value = false; }
            else if(inputs[i].name == 'login' && (error_msg = login_validate(inputs[i].value)) != false) return_value = false;
            else if((inputs[i].name == 'password' || inputs[i].name == 'password1' || inputs[i].name == 'password2') && (error_msg = password_validate(inputs[i].value)) != false) return_value = false;
            else if(inputs[i].name == 'email' && (error_msg = email_validate(inputs[i].value)) != false) return_value = false;
            if(error_msg != false){
                var parent = inputs[i].parentNode;
                var messages = getElementsByClassName(parent, 'error');
                if(messages.length == 0) {
                    var div = document.createElement('div');
                    div.className = 'error';
                    div.innerHTML = a_messages[error_msg];
                    parent.appendChild(div);
                }
                else {
                    messages[0].innerHTML = a_messages[error_msg];
                    messages[0].style.display = 'block';
                }

                inputs[i].onkeyup = field_onkeyup;
            }
        }
    }

    return return_value;
}

function moneyout_form_onsubmit(obj) {
    var inputs = obj.getElementsByTagName('input');
    var return_value = true;
    var error_msg;
    var sum_obj = document.getElementById('sum');
    var sum = sum_obj.value;
    var balance = document.getElementById('balance').innerHTML.slice(1);
    if (sum <= 0) error_msg = 'sum_zero';
    else if (Number(sum) > Number(balance)) { error_msg = 'sum_too_big'; }

    if (!error_msg && Number(sum) < Number(wm_min_sum) && document.getElementById('type_wm').checked) error_msg = 'wm_min_sum';

    if (error_msg) {
        return_value = false;

        var parent = sum_obj.parentNode;
        var messages = getElementsByClassName(parent, 'error');
        if(messages.length == 0) {
            var div = document.createElement('div');
            div.className = 'error';
            div.innerHTML = a_messages[error_msg];
            parent.appendChild(div);
        }
        else {
            messages[0].innerHTML = a_messages[error_msg];
            messages[0].style.display = 'block';
        }

        sum_obj.onkeyup = field_onkeyup;
    }

    if(document.getElementById('type_jino').checked) {
        var login_obj = document.getElementById('login');
        var login = login_obj.value;

        if((error_msg = login_validate(login)) != false) {

            var parent = login_obj.parentNode;
            var messages = getElementsByClassName(parent, 'error');
            if(messages.length == 0) {
                var div = document.createElement('div');
                div.className = 'error';
                div.innerHTML = a_messages[error_msg];
                parent.appendChild(div);
            }
            else {
                messages[0].innerHTML = a_messages[error_msg];
                messages[0].style.display = 'block';
            }

            login_obj.onkeyup = field_onkeyup;
        }

    }
    else {
        var wmnumber_obj = document.getElementById('wmnumber');
        var wmnumber = wmnumber_obj.value;
        error_msg = wmnumber_validate(wmnumber);

        if(error_msg != false) {

            var parent = wmnumber_obj.parentNode;
            var messages = getElementsByClassName(parent, 'error');
            if(messages.length == 0) {
                var div = document.createElement('div');
                div.className = 'error';
                div.innerHTML = a_messages[error_msg];
                parent.appendChild(div);
            }
            else {
                messages[0].innerHTML = a_messages[error_msg];
                messages[0].style.display = 'block';
            }

            wmnumber_obj.onkeyup = field_onkeyup;
        }
    }

    if (!error_msg) return return_value;
    else return false;
}

function getElementsByClassName(obj, class_name) {
    var child_nodes = obj.childNodes;
    var res = new Array();

    for(var i = 0; i < child_nodes.length; i++) {
        if(child_nodes[i].className == class_name) res.push(child_nodes[i]);
    }

    return res;
}

function field_onkeyup() {
    var messages = getElementsByClassName(this.parentNode, 'error');
    messages[0].style.display = 'none';
    this.onkeyup = null;
}

function email_validate(email) {
    var email_exp = /^[a-z\d\_\-\.]{1,64}@(([a-z\d]|([a-z\d][a-z\d\-]{0,61}[a-z\d]))\.)*[a-z\d][a-z\d\-]{0,61}[a-z\d]\.[a-z]{2,5}$/;
    if(email.length == 0) {
        return 'empty';
    }
    if(email.length < 6) {
        return 'email_too_short';
    }
    if(email.length > 64) {
        return 'email_too_long';
    }
    if(email.search(email_exp) == -1) {
        return 'invalid_email';
    }

    return false;
}

function password_validate(password) {
    var pass_exp = /^[\x21-\x7E]{4,16}$/;
    if(password.length == 0) {
        return 'empty';
    }
    if(password.length < 4) {
        return 'pass_too_short';
    }
    if(password.length > 16) {
        return 'pass_too_long';
    }
    if(password.search(pass_exp) == -1) {
        return 'invalid_password';
    }

    return false;
}

function login_validate(login) {
    var login_exp = /^[a-z\d][a-z\d\-]{0,14}[a-z\d]$/;
    if(login.length == 0) {
        return 'empty';
    }
    if(login.length < 2) {
        return 'login_too_short';
    }
    if(login.length > 16) {
        return 'login_too_long';
    }
    if(login.search(login_exp) == -1) {
        return 'invalid_login';
    }

    return false;
}

function wmnumber_validate(wmnumber) {
    var wmnumber_exp = /^[RZ][\d]{12}$/;
    if(wmnumber.length == 0) {
        return 'empty';
    }
    if(wmnumber.search(wmnumber_exp) == -1) {
        return 'invalid_wmnumber';
    }

    return false;
}

function radio_onclick(obj) {
    var wmradio = document.getElementById('type_wm');
    var jinoradio = document.getElementById('type_jino');
    var wmnumber_parent =  document.getElementById('wmnumber').parentNode;
    var login_parent =  document.getElementById('login').parentNode;
    var wmchoice = wmradio.parentNode;
    var jinochoice = jinoradio.parentNode;

    if(obj.id == 'type_jino' || obj.id == 'login') {
        jinoradio.checked = true;
        wmnumber_parent.className = 'disabled';
        login_parent.className = '';
        document.getElementById('login').disabled = false;
        document.getElementById('wmnumber').disabled = true;
        var messages = getElementsByClassName(wmnumber_parent, 'error');
        if(messages.length != 0) messages[0].style.display = 'none';
    }
    else {
        wmradio.checked = true;
        login_parent.className = 'disabled';
        wmnumber_parent.className = '';
        document.getElementById('login').disabled = true;
        document.getElementById('wmnumber').disabled = false;
        var messages = getElementsByClassName(login_parent, 'error');
        if(messages.length != 0) messages[0].style.display = 'none';
    }
}

function sum_changed(sum) {
    var value = Number(sum.value);
    var wmradio = document.getElementById('type_wm');
    var jinoradio = document.getElementById('type_jino');
    var wmchoice = wmradio.parentNode;

    if (value < Number(wm_min_sum)) {
        if (wmchoice.className.indexOf('inactive') == -1) wmchoice.className += ' inactive';
        wmradio.disabled = true;
        jinoradio.onclick();
    }
    else {
        wmchoice.className = wmchoice.className.replace('inactive', '');
        wmradio.disabled = false;
    }
}

