DOCUMENT_ROOT = 'http://'+ document.domain + '/';


(function($){
    $.fn.set_reg_status = function(reg) {
        return this.each(function () {
             if (reg) {
                 $('#private_home_popup').css({"visibility":"visible"});
                 $('#private_home_exit').css({"visibility":"visible"});
             } else {
                 $('#private_home_popup').css({"visibility":"hidden"});
                 $('#private_home_exit').css({"visibility":"hidden"});
             }
        });
    };
})(jQuery);

function termination(cnt){
     val = cnt + "";
     last = val[val.length-1];
     word = '';
     switch(last){
        case '1': word = 'товар'; break;
        case '2': word = 'товара'; break;
        case '3': word = 'товара'; break;
        case '4': word = 'товара'; break;
        default: word = 'товаров'; break;
     }
     
     return word
}
     
function obj_order(){
     function obj_order(){}
     
     this.makeOrder = function(id){
         $.post(DOCUMENT_ROOT + "order_action/", { id_product: id}, function(data){
             products = eval('(' + data + ')');
             cnt = 0;
             for(var id in products) cnt = cnt + 1 * products[id];
             
             $('#count_products').html(cnt + " " + termination(cnt));
         });
     }
     
     this.deleteOrder = function(id){
         $.post(DOCUMENT_ROOT + "order_action/", { id_product: id, del: true}, function(data){
             products = eval('(' + data + ')');
             cnt = 0;
             for(var id in products) cnt = cnt + 1 * products[id];
             
             $('#count_products').html(cnt + " " + termination(cnt));
         });
     }
     
     this.updateCountProductsOrder = function(json_string){
         $.post(DOCUMENT_ROOT + "popup/", { reload: 'update_session', json_str: json_string}, function(data){});
     }
}

function obj_checker(){
    this.ckecked = '';
    
    function obj_checker(){
        this.ckecked = false;
    }
    
    this.string_is_email = function(str) {
        var re = /^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,4}$/i;
        return this.ckecked = str ? (re.test(str) ? true : false) : true;
    }
    
    this.string_is_login = function(str) {
        var re = /^[a-z0-9_]+$/i;
        return this.ckecked = re.test(str) ? true : false;
    }
    
    this.string_is_name = function(str) {
        var re = /^[a-zA-Zа-яА-Я ]+$/i;
        return this.ckecked = re.test(str) ? true : false;//(this.string_is_name(str) ? true : 
    }
    
    this.string_is_mobile = function(str) {
        var spaceRe = / +/g;
        str = str.replace(spaceRe, "");
        
        var re = /^(\+7|8)[0-9]{10}$/i;
        
        this.ckecked = re.test(str) ? true : false;
        return this.ckecked;
    }
    
    this.string_is_phone_city = function(str) {
        var spaceRe = / +/g;
        str = str.replace(spaceRe, "");
        
        if (str.length > 7) var re = /^(\+7|8)[0-9]{10,14}$/i;
        else var re = /^[0-9]{7}$/i;
        
        this.ckecked = re.test(str) ? true : false;
        return this.ckecked;
    }
    
    this.string_is_date = function(str) {
        var re = /^\d{1,2}\.\d{1,2}\.\d{1,4}$/;
        this.ckecked = re.test(str) ? true : false;
    }
}

function close_tip(){ $('.tips').hide();}

// ------------------------------------------------------------------------------------------------

/* Управляет левым меню
*  leftMenuControl object
*  par integer - количество главных пунктов левого меню */
function leftMenuControl(count){
    countPoints = count ? count : 0;
    
    this.toggleSlide = function(idItem,idBlock) {
        for (var f=1;f<=countPoints;f++) {
            f=f+'';
            if (node = document.getElementById('item'+f) ) {
                if ('item'+f == idItem ) {
                    node.className = 'expanded';
                } else {
                    node.className = '';
                }
            }
         
            if (node = document.getElementById('subBlock'+f) ) {
                if ('subBlock'+f == idBlock ) {
                    node.style.display = 'block';
                } else {
                    node.style.display = 'none';
                }
            }	
        }
    } 
}

/* Управляет левым меню
*  centerContentListControl object
*  par integer - управление списком текущего раздела */
function centerContentListControl(count){
    countPoints = count ? count : 0;
    
    this.showEditButton = function(butNum) {
        
        for (var f=1;f<=countPoints;f++) {
            f=f+'';
            if (node = document.getElementById('num'+f) ) {
                
              if ('num'+f == butNum ) {
                node.style.visibility = 'visible';
              } else {
                node.style.visibility = 'hidden';
              }
            }
        }
    }
} 

$(document).ready(function() {
    DOCUMENT_ROOT = 'http://'+ document.domain + '/';
    
    lMC  = new leftMenuControl(50);
    lMC.toggleSlide();
    
    cCLC = new centerContentListControl(500);
    cCLC.showEditButton();
    
    $('.crumbs li.s14').css("background","none");
    $('.crumbs li:last').css("background","none");
    
    /* блок сортировки и присваивания нового порядка элемента в списке*/
    $('#productList').sortable({
         //handle : '.ui-icon',
         stop: function(event, ui) {
             var result = $('#productList').sortable('toArray');
             
             sendOrder(result, $('#order_type').val());
         }
    });


    
    /******************************************************************************
     * @author Terry Wooton
     * @desc Adds a background layer to an element
     * @version 1.1
     * @example
     * $("#element").add_background("url('/test.gif') bottom left no-repeat");
     * @license free
     * @param background css
     *
     */
    $.fn.add_layer = function(bg,params) {
        $(this).each(function() {
            s = $(this).extend({},params || {});      
            
            $last = ($(this).find('.add_background:last').length > 0 ? $(this).find('.add_background:last') : $(this));
            $last.html('<div class="add_background"><div>'+$last.html()+'</div></div>');
            $last = $(this).find('.add_background:last');
            $last.css({'background':bg,'width':'100%','height':'100%'});
            
            $last = $(this).find('.add_background div:last');
                    
            if(s.insideCss)   $last.css(s.insideCss);
            if(s.insideClass) $last.addClass(s.insideClass);  		  
        });
    }
    /******************************************************************************/
});

/**
 * Посылает на сервер порядок элементов
 *
 * result - массив элементов в новом порядке
 *
 * type - тип элементов. Например tour_type_order, country_order, tour_order
 */
function sendOrder(result, type)
{
    var fin_res = '{ "order" : [';
    
    for (i = 0; i < result.length; i++)
    {
        var tmp = result[i].split('_');

        //fin_res[i] = tmp[2];
        if (tmp[2]!=undefined)
        {
            fin_res += '{"' + i + '" : "' + tmp[2] + '"}, ';
        }
    }

    fin_res += '{"blank":"empty"}]}';

    $.post(DOCUMENT_ROOT + "admin/ajax/"+type+"/?action=send_items_order",
    		{ action : 'send_items_order', 'order' : fin_res},
    		function(data){
    				//alert(data);
   });
}

function onDeleteCheck(item, id)
{
    if(item.attr('checked') == true)
    {
        $('#delete_' + id).val(1);
    }
    else
    {
        $('#delete_' + id).val(0);
    }
    
    if ($('#productList :checked').length >0)
    {
        $('#delete_action').show();
    }
    else
    {
        $('#delete_action').hide();
    }
}

function deleteItems(type)
{

    var del_ids = '{ "ids" : [';
    $('#productList :hidden').each(function(i, item){
        if ($(this).val() == 1)
        {
            var tmp = $(this).attr('id').split('_');

            del_ids += '{"' + i + '" : "' + tmp[1] + '"}, ';
        }

        
    });
    
    del_ids += '{"blank":"empty"}]}';

    if (confirm("Будет удалено " + $('#productList :checked').length + " элементов"))
    {
        $.post(DOCUMENT_ROOT + "admin/ajax/"+type+"/?action=delete_items",
                { action : 'delete_items', 'ids' : del_ids},
                function(data){
                        alert('Выбранные элементы удалены');
                        document.location = '';
       });
    }
}

function onQuickSearch(type)
{
    var q = jQuery.trim($('#quick_search').val());

    $.get(DOCUMENT_ROOT + "admin/ajax/"+type+"/?action=search_items",
            { action : 'search', 'search' : 1, 'query' : q},
                function(data){
                    $('#productList').html(data);
                    if ( q!= "" && q!='поиск')
                    {
                        $('#productList').sortable('destroy');
                    }
                    else if (type!='special')
                    {
                        $('#productList').sortable({
                             //handle : '.ui-icon',
                             stop: function(event, ui) {

                                 var result = $('#productList').sortable('toArray');

                                 sendOrder(result, $('#order_type').val());
                             }
                        });
                    }
             });
}

function selectTab(tabName)
{
    var tabs = $("#tabs > div");

    var txt2 = $("#li_"+tabName + " a").html();

    //$("#li_"+tabName).html(txt);
    
    tabs.each(function(i, item){
        var txt = $("#li_"+item.id + " a").html();

        if (txt == null)
        {
            txt = $("#li_"+item.id).html();
        }

        if (item.id != tabName)
        {            
            $("#" + item.id).hide();
            $("#li_"+item.id).html('<a href="javascript:void(0);" onclick="selectTab(\'' + item.id + '\');">' + txt + '</a>');
        }
        else
        {
            $("#" + item.id).show();
            $("#li_"+item.id).html(txt);
        }
    });
}

function showTours(tabName)
{
    var tabs = $("#tabs > div");

    //$("#li_"+tabName).html(txt);

    tabs.each(function(i, item){

        if (item.id != tabName)
        {
            $("#" + item.id).hide();            
        }
        else
        {
            $("#" + item.id).show();
        }
    });
}

function selectTabFront(tabName, last)
{
    var tabs = $("#tabs > div");

    var txt2 = $("#li_"+tabName + " a").html();

    //$("#li_"+tabName).html(txt);

    tabs.each(function(i, item){
        var txt = $("#li_"+item.id + " a").html();

        if (txt == null)
        {
            txt =  $("#li_"+item.id).html();
        }

        if (txt.charAt(txt.length-1) == '|')
        {
            txt = txt.slice(0, txt.length-1);
        }

        if (item.id != tabName)
        {
            var a_txt = '<a href="javascript:void(0);" onclick="selectTabFront(\'' + item.id + '\');">' + txt + '</a>';
            
          
            
            $("#" + item.id).hide();
            $("#li_"+item.id).html(a_txt);
        }
        else
        {
           
            
            $("#" + item.id).show();
            $("#li_"+item.id).html(txt);
        }
    });
}

function saveElement(type)
{
    var code =  jQuery.trim($('#' + type + '_code_id').val());
    var name = jQuery.trim($('#' + type + '_name_id').val());
    
    var error_mes = '';

    if (code=='')
    {
        error_mes = 'Вы не заполнили поле "Код"';
    }

    if (name=='')
    {
        if (code=='')
        {
            error_mes = 'Вы не заполнили поля "Код" и "Название"';
        }
        else
        {
            error_mes = 'Вы не заполнили поле "Название"';
        }
    }

    if (error_mes == '')
    {
        $('#error_div').html('');
        $('#' + type + '_form_id').submit();
    }
    else
    {
        $('#error_div').html(error_mes);
    }
}
