function $(div) {    return document.getElementById(div);}

function showObj(div) {
    $(div).style.visibility = "visible";
    $(div).style.display = "block";
}

function hideObj(div) {
    $(div).style.visibility = "hidden";
    $(div).style.display = "none";
}function userLogin() {    if($('nick').value != '' && $('password').value != '')        $('frm_login').submit();}

function userForgotten() {
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if($('nick').value != '' && $('email').value != '')
        if(filter.test($('email').value)) {
            $('frm_forgotten').submit();
        } else {
            alert('Електронната поща която си посочил е неправилна!');
            $('email').select();
        }
}

function userRegister() {
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if($('nick').value != '') {
        if($('password').value != '') {
            if($('password_again').value != '') {
                if($('code').value != '') {
                    if($('email').value != '') {
                        if($('password').value == $('password_again').value) {
                            if($('regular_rules').checked) {
                                if(filter.test($('email').value)) {
                                    $('frm_register').submit();
                                } else {
                                    alert('Електронната поща която си посочил е неправилна!');
                                    $('email').select();
                                }
                            } else {
                                alert("За да се регистрираш, трябва си съгласен с общите правила за ползване на сайта!");
                            }
                        } else {
                            alert("Имаш грешка при проверката на паролата, моля напиши я отново");
                            $('password_again').value = "";
                            $('password').value = "";
                            $('password').focus();
                        }
                    } else {
                        alert("За да се регистрираш, трябва да напишеш електронната си поща!");
                        $('email').select();
                    }
                } else {
                    alert("За да се регистрираш, трябва да напишеш кодът от картинката!");
                    $('code').select();
                }
            } else {
                alert("За да се регистрираш, трябва да си провериш паролата!");
                $('password_again').select();
            }
        } else {
            alert("За да се регистрираш, трябва да напишеш парола!");
            $('password').select();
        }
    } else {
        alert("За да се регистрираш, трябва да напишеш прякор!");
        $('nick').select();
    }
}

function submitProblem() {
    if($('photo_1').value != '') {
        if($('title').value != '') {
            if($('description').value != '') {
                $('frm_new_problem').submit();
            } else {
                alert("За да публикуваш нов проблем, трябва да напишеш кратко описание на проблема!");
                $('description').focus();
            }
        } else {
            alert("За да публикуваш нов проблем, трябва да напишеш кратко наименование на проблема!");
            $('title').focus();
        }
    } else {
        alert("За да публикуваш нов проблем, трябва да качиш поне една снимка показваща за какво става въпрос!");
        $('photo_1').focus();
    }
}

function submitEditProblem() {
    if($('title').value != '') {
        if($('description').value != '') {
            $('frm_edit_problem').submit();
        } else {
            alert("За да публикуваш нов проблем, трябва да напишеш кратко описание на проблема!");
            $('description').focus();
        }
    } else {
        alert("За да публикуваш нов проблем, трябва да напишеш кратко наименование на проблема!");
        $('title').focus();
    }
}

function submitContacts() {
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if($('email').value != '') {
        if($('message').value != '') {
            if($('code').value != '') {
                if(filter.test($('email').value)) {
                    $('frm_contacts').submit();
                } else {
                    alert('Електронната поща която си посочил е неправилна!');
                    $('email').select();
                }
            } else {
                alert("За да направиш връзка с нас, трябва да попълниш кодът от картинката!");
                $('code').focus();
            }
        } else {
            alert("За да направия връзка с нас, трябва да напишеш съобщението си!");
            $('message').focus();
        }
    } else {
        alert("За да направиш връзка с нас, трябва да попълниш електронната си поща за обратна връзка!");
        $('email').focus();
    }
}

function submitUserContacts() {
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if($('message').value != '') {
        $('frm_contacts').submit();
    } else {
        alert("За да направия връзка с нас, трябва да напишеш съобщението си!");
        $('message').focus();
    }
}

function submitBug() {
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if($('bug_text').value.length > 20 || $('bug_text').value == 'спам') {
        if($('email').value != '') {
            if(filter.test($('email').value)) {
                sendRequest($('frm_submit_bug'), 'send_bug_response', 'hideObj(\'frm_submit_bug\');');
                $('bug_text').value = '';
                if($('email').type != 'hidden')
                    $('email').value = '';
            } else {
                alert('Електронната поща която си посочил е неправилна!');
                $('email').select();
            }
        } else {
            alert("За да съобщиш за нередност трябва да посочиш електронна поща за обратна връзка в случай!");
            $('email').focus();
        }
    } else {
        alert("За да съобщиш за нередност трябва да я опишеш минимум с 20 символа!");
        $('bug_text').focus();
    }
}

function submitComment() {
    if($('comment').value != '') {
        countCommentChars();
        $('frm_comment').submit();
    } else {
        alert("Не си написал нищо!");
        $('comment').focus();
    }
}

function submitAvatar() {
    if($('avatar_img').value != '') {
        $('frm_avatar_img').submit();
    }
}

function submitNewPassword() {
    if($('old_password').value != '') {
        if($('new_password').value != '') {
            if($('new_password_again').value != '') {
                $('user_settings_password').submit();
            } else {
                alert("Не си проверил новата си парола!");
                $('new_password_again').focus();
            }
        } else {
            alert("Не си написал новата си парола!");
            $('new_password').focus();
        }
    } else {
        alert("Не си написал сегашната си парола!");
        $('old_password').focus();
    }
}

function submitSearch(domain) {
    if($('search').value != '') {
        $('frm_search').action = domain+$('search').value.replace(" ", "-")+"/търсене.html";
        return true;
        //$('frm_search').submit();
    }
    
    return false;
}

function userNewPass() {
    if($('password').value != '') {
        if($('password_again').value != '') {
            $('frm_new_password').submit();
        } else {
            alert("Не си проверил новата си парола!");
            $('password_again').focus();
        }
    } else {
        alert("Не си написал новата си парола!");
        $('password').focus();
    }
}

function changeYear() {
    if($('month').value != '') {
        insert_code('_sender.php?user=days&amp;year='+this.value+'&amp;month='+$('month').value, 'user_settings_days');
        $('month').value = '';
    }
}

function countDownToLogin(seconds, domain) {
    if(seconds > 1) {
        seconds = seconds - 1;
        $('seconds').innerHTML = seconds;
        setTimeout("countDownToLogin("+seconds+", '"+domain+"');", 1000);
    } else
        location.href = domain+'вход.html';
}

function showHideSubmitBugFrm() {
    if($('frm_submit_bug').style.visibility == "hidden")
        showObj('frm_submit_bug');
    else
        hideObj('frm_submit_bug');
}

function countCommentChars() {
    var maxChars = 500;
    
    if($('comment').value.length > maxChars) {
        $('comment').value = $('comment').value.substr(0, maxChars);
    }
    
    $('letter_counter').innerHTML = maxChars - $('comment').value.length;
}

function addEmition(emotion) {
    $('comment').value = $('comment').value+emotion;
    countCommentChars();
}

function removeUserImg(photoId) {
    img_id = $('del_img_response').innerHTML;
    
    if(img_id != '') {
        $('photo_'+photoId).innerHTML = "";
    }
}

//////////////////////////////////////////////////////////////////
// AJAX
//////////////////////////////////////////////////////////////////
function insert_code(script, div, value, ok_func, err_func){
    var divId = $(div);
    var oXmlHttp = zXmlHttp.createRequest();
    oXmlHttp.open("get", script, true);
    oXmlHttp.onreadystatechange = function () {
        if(oXmlHttp.readyState == 4){
            if(oXmlHttp.status == 200){
                var result = oXmlHttp.responseText;
                
                if(value) divId.value = result;
                else divId.innerHTML = result;

                if(ok_func != '')
                    eval(ok_func);
            }
        }
    }
    oXmlHttp.send(null);
}

function getRequestBody(oForm){
    var aParams = new Array();

    for(var i = 0; i < oForm.elements.length; i++){
        var sParam = encodeURIComponent(oForm.elements[i].name);
        sParam += "=";
        sParam += encodeURIComponent(oForm.elements[i].value);
        aParams.push(sParam);
    }
    return aParams.join("&");
}

function sendRequest(oForm, div, ok_func){
    var sBody = getRequestBody(oForm);

    var oXmlHttp = zXmlHttp.createRequest();
    oXmlHttp.open('POST', oForm.action, true);
    oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    oXmlHttp.onreadystatechange = function () {
        if(oXmlHttp.readyState == 4){
            if(oXmlHttp.status == 200){
                var divId = $(div);
                divId.innerHTML = oXmlHttp.responseText;

                if(typeof(ok_func) != 'undefined')
                    eval(ok_func);
            }
        }
    }
    
    oXmlHttp.send(sBody);
}

function loading(div) {
    $(div).innerHTML = "Зарежда се, моля изчакайте...";
}
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////