/***************************************************************************
 *                                 functions_templates.js
 *                            -------------------
 *   author		         	: Nikolay Getov
 *
 *   created              	: 		25.02.2008
 *   modified			  	:		12.03.2008
 *
 ***************************************************************************/

function btnSubmit_onclick() {
    
    if (thisForm.Match.value == "") {
        alert("Моля, въведете среща!");
        thisForm.Match.focus();
        return false;
    }
    
    /*if (thisForm.Championship.value == "") {
        alert("Моля, въведете турнир!");
        thisForm.Championship.focus();
        return false;
    }*/
    if (thisForm.ForecastDate.value == "") {
        alert("Моля, въведете крайна дата за приемане на прогнози!");
        thisForm.ForecastDate.focus();
        return false;
    }

    thisForm.submit();
} // btnSubmit_onclick().

function checkRights(right) {
    if(right != 1) {
        alert("Нямате достъп до страницата, която се опитвате да достигнете! Съжаляваме за неудобството!");
        location.href = "index.php";
    }
}

function $(div) {
    return document.getElementById(div);
}

function urlCleanup(items){
    var parts = location.href.split("?");
    
    if(parts.length > 1) {
        var variables = parts[1].split("&");
        var result = parts[0]+"?";
        var check = false;
    
        for(var i = 0; i < variables.length; i++) {
            variable_parts = variables[i].split("=");
            if(!in_array(variable_parts[0], items) && variable_parts[0] != '') {
                if(check)
                    result = result+"&";
                result = result+variable_parts[0]+"="+variable_parts[1];
                check = true;
            }
        }
        
        result = result+"&";
        
        return result;
    } else
        return parts[0]+"?";
}

function in_array(value, arr){
    var result = false;
    for(var i = 0; i < arr.length; i++) {
        if(value == arr[i]) {
            result = true;
        }
    }
    return result;
}

function showObj(div) {
    $(div).style.visibility = "visible";
    $(div).style.display = "block";
}

function hideObj(div){
    $(div).style.visibility = "hidden";
    $(div).style.display = "none";
}

//////////////////////////////////////////////////////////////////
// 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-urlencode");

    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 = "Моля, изчакайте...";
}
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////

function importValueInput(input, type, id) {
    switch(type) {
        case 'name':
            insert_code('_sender.php?show=name&form_field_id='+id, input, true);
            break;
    }
}

function activateFilter() {
    $('filter_btn').disabled = false;
    $('filter_btn').className = 'button';
}

function sbtButton(type, itemToOperate, form_field_id, sel_id) {
    $('all_opt_frm').action = "";
    
    switch(type) {
        case 'import':
            $('all_opt_frm').action = urlCleanup(Array('itemToOperate', 'form_field_id', 'options', 'new_option', 'delete_field', 'edit_field', 'move_field', 'direction', 'filter', 'sel_id')) + 'itemToOperate='+itemToOperate+'&form_field_id='+form_field_id+'&options=add&sel_id='+sel_id;
            if($('filter_name').value != '')
                $('all_opt_frm').action = $('all_opt_frm').action + '&filter=' + $('filter_name').value;
            break;
        case 'export':
            $('sel_opt_frm').action = urlCleanup(Array('itemToOperate', 'form_field_id', 'options', 'new_option', 'delete_field', 'edit_field', 'move_field', 'direction', 'filter', 'sel_id')) + 'itemToOperate='+itemToOperate+'&form_field_id='+form_field_id+'&options=remove&sel_id='+sel_id;
            if($('filter_name').value != '')
                $('sel_opt_frm').action = $('sel_opt_frm').action + '&filter=' + $('filter_name').value;
        break;
    }
}

function interfaceMouseOver(item_id, mouse_action) {
    var overColor = '#E4E4E4';
    var outColor = 'white';
    
    if(mouse_action == 'over') {
        $('row_0_'+item_id).style.background = overColor;
        $('row_1_'+item_id).style.background = overColor;
        $('row_2_'+item_id).style.background = overColor;
        $('row_3_'+item_id).style.background = overColor;
        $('row_4_'+item_id).style.background = overColor;
    } else {
        $('row_0_'+item_id).style.background = outColor;
        $('row_1_'+item_id).style.background = outColor;
        $('row_2_'+item_id).style.background = outColor;
        $('row_3_'+item_id).style.background = outColor;
        $('row_4_'+item_id).style.background = outColor;
    }
}

function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
            curleft = obj.offsetLeft
            curtop = obj.offsetTop
            while (obj = obj.offsetParent) {
                    curleft += obj.offsetLeft
                    curtop += obj.offsetTop
            }
    }
    return [curleft,curtop];
}

var openSubMenuVar = null;
var sendQueryVar = null;
var maxSubLvl = 3;
var markedOptions = Array();
var mainMenuArray = Array();

function openSubMenu(option, lvl, optionId, parentId, haveChilds) {
    var optionPos = findPos(option);
    
    if(lvl <= (maxSubLvl+1)) {
        if(parentId > 0) {
            $('option_'+parentId).className = "sel";
            if(markedOptions[lvl-1] > 0)
                changeParentClass(markedOptions[lvl], lvl);
        }
        markedOptions[lvl-1] = parentId;
        
        for(i = lvl; i <= maxSubLvl; i++) {
            $('sub_menu_'+i).innerHTML = "<div class='loading'><img src='images/loading_white.gif' />Моля, изкачайте...</div>";
            //$('sub_menu_'+i).style.height = 0;
        }
        
        var offsetX = 177;
        if(lvl > 1) offsetX = 170;
        
        if(haveChilds > 0) {
            sendQueryVar = setTimeout("insert_code('_sender.php?show=load_sub_menu&parent_id="+optionId+"&lvl="+lvl+"', 'sub_menu_"+lvl+"');", "200");
            
            $('sub_menu_'+lvl).style.position = "absolute";
            $('sub_menu_'+lvl).style.top = (optionPos[1] + 3)+"px";
            $('sub_menu_'+lvl).style.left = (optionPos[0] + offsetX)+"px";
            showObj('sub_menu_'+lvl);
        }
    }
}

function changeParentClass(parentId, lvl) {
    if(parentId > 0) {
        $('option_'+parentId).className = "";
    }
}

function closeSubMenu(lvl) {
    if(lvl <= maxSubLvl) {
        for(i = 1; i <= maxSubLvl; i++) {
            $('sub_menu_'+i).innerHTML = "";
            hideObj('sub_menu_'+i);
        }
        for(i = 0; i < mainMenuArray.length; i++) {
            $('option_'+mainMenuArray[i]).className = "";
        }
    }
}