var maxonpage = 2;

function getElementsByClass(searchClass,node,tag)
    {
    var classElements = new Array();
    if ( node == null ) node = document;
    if ( tag == null ) tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;

    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++)
        {
        if ( pattern.test(els[i].className) )
            {
            classElements[j] = els[i];
            j++;
            }
        }
    return classElements;
    }

/*begin*
 *
 *функции навигации по меню
 *
 **/
function persImgCorrect()
    {
    //alert(document.getElementById("id-kt-pers2").offsetHeight + " " + document.getElementById("id-kt-pers3").offsetHeight);
    if(document.getElementById("id-kt-pers3").offsetHeight>1380) // 1380
        {
        $('id-kt-pers3').className = "kt-pers3";

        if (document.getElementById("id-kt-pers3").offsetHeight*0.45 - 220 < 730) document.getElementById("id-kt-pers3").style.backgroundPosition='right 730px';// 730px
        else document.getElementById("id-kt-pers3").style.backgroundPosition='right 45%';// 730px

        /*
        if (document.getElementById("id-kt-pers3").offsetHeight*0.45 < 950) document.getElementById("id-kt-pers3").style.backgroundPosition='right 730px';// 730px
        else document.getElementById("id-kt-pers3").style.backgroundPosition='right 45%';// 730px
        */
        }
    else
        {
        $('id-kt-pers3').className = "";
        }
    
    if(document.getElementById("id-kt-pers2").offsetHeight>1830) // 1830
        {
        $('id-kt-pers2').className = "kt-pers2";
        if(document.getElementById("id-kt-pers2").offsetHeight*0.75 - 443 < 1175) document.getElementById("id-kt-pers2").style.backgroundPosition='right 1175px'; // 1175px
        else document.getElementById("id-kt-pers2").style.backgroundPosition='right 75%'; // 1175px
        
        /*
        var maxot = 1173;
        if (document.getElementById("id-kt-pers3").offsetHeight*0.45 > 730) maxot = document.getElementById("id-kt-pers3").offsetHeight*0.45 + 443;
        if(document.getElementById("id-kt-pers2").offsetHeight*0.75 < maxot) document.getElementById("id-kt-pers2").style.backgroundPosition='right '+maxot+'px'; // 1175px
        else document.getElementById("id-kt-pers2").style.backgroundPosition='right 75%'; // 1175px
        */
        }
    else
        {
        $('id-kt-pers2').className = "";
        }
    }

function openPage(city,category,page)
    {
    if (city == "") city = 1;
    obj = $('div_'+city+'_'+category+'_'+page);
    if (obj.innerHTML == "")
        {
        var ajax = new Ajax.Updater(
            {success: 'div_'+city+'_'+category+'_'+page},
            '/lib/ajax/modules/shop/shop.menu.php',
            {method: 'post',
            parameters: {type:'page', city:city, category:category, page:page, maxonpage:maxonpage}
            } 
            );
        }
    obj.style.display = "block";
    //window.onload = persImgCorrect();
    }

function closePage(city,category,page) 
    {
    if($('div_'+city+'_'+category+'_'+page))
        {
        obj = $('div_'+city+'_'+category+'_'+page);
        obj.style.display = "none";
        }
    }

function loadPages(city,category,page) // загрузка постраничной навигации (если страниц много)
    {
    if (city == "") city = 1;
    n = 1;
    while ($('div_'+city+'_'+category+'_'+n)) n++;
    n = n-1;

    if (n>1)
        {
        var pages = "";
        var back = parseInt(page)-1;
        var next = parseInt(page)+1;
        if (page>1) pages+="<a style=\"cursor:pointer;\" onclick=\"changePage('"+back+"')\" class=\"page-np\">Назад</a> ";
        i = 1;
        while ($('div_'+city+'_'+category+'_'+i))
            {
            if (i == page) pages+="<span>"+i+"</span> ";
            else pages+="<a style=\"cursor:pointer;\" onclick=\"changePage('"+i+"')\">"+i+"</a> ";
            i++;
            }
        if (page<n) pages+="<a style=\"cursor:pointer;\" onclick=\"changePage('"+next+"')\" class=\"page-np\">Вперед</a>";
            
        $('pages_counter').innerHTML = pages;
        }
    else
        {
        $('pages_counter').innerHTML = "";
        }

    }

function loadPage(city,category,page)
    {
    var oldcity = $('current_city').value;
    var oldcategory = $('current_category').value;
    var oldpage = $('current_page').value;
    
   if ($('infoBox').style.display == 'block') $('infoBox').style.display = 'none';
    
    if (page == 0) // выводим все страницы =====================================
        {
        i = 1;
        while ($('div_'+city+'_'+category+'_'+i))
            {
            openPage(city,category,i);
            i++;
            }
        i= i-1;

        $('id-kt-centercol').className = "kt-centercol-c";
        
        if (oldcity != city || oldcategory != category)
            {
            i = 1;
            while ($('div_'+oldcity+'_'+oldcategory+'_'+i))
                {
                closePage(oldcity,oldcategory,i);
                i++;
                }
            }
        
        if (oldpage != 0)
            {
            $('link_all_pages').style.display = "none";
            $('link_one_page').style.display = "block";
            
            $('pages_counter').innerHTML = "";
            }
        
        setTimeout('persImgCorrect()', 500);
        setTimeout('persImgCorrect()', 2000);
        setTimeout('persImgCorrect()', 5000);
        }
    else // выводим только указанную страницу ==================================
        {
        $('id-kt-centercol').className = "kt-centercol-b";
        document.getElementById("id-kt-pers2").className='';
        document.getElementById("id-kt-pers3").className='';
        if (oldpage == 0)
            {
            i = 2;
            while ($('div_'+city+'_'+category+'_'+i))
                {
                closePage(city,category,i);
                i++;
                }
            
            $('link_all_pages').style.display = "block";
            $('link_one_page').style.display = "none";
            }
        else
            {
            openPage(city,category,page);
            closePage(oldcity,oldcategory,oldpage);
            }

        loadPages(city,category,page);
        }
        
    if (page == 0)
        {
        $('img_worker').style.backgroundImage="url('files/14/images/katalog/pers_img1.jpg')";
        }
    else
        {
        var i=page % 3;
        if (i==0)i=3;
        $('img_worker').style.backgroundImage="url('files/14/images/katalog/pers_img"+i+".jpg')";
        }
    $('current_city').value = city;
    $('current_category').value = category;
    $('current_page').value = page;
    }

function changeCity(city)
    {
    showHide('selectList1');
    var oldcity = $('current_city').value;
    var category = $('current_category').value;
    var page = $('current_page').value;
    
    //alert('old: '+oldcity+'\n now: '+city);
    
    
    $('city_li_'+oldcity).style.display = "block";
    $('city_li_'+city).style.display = "none";
    
    $('city_phone').src = "files/14/shop/"+$('city_image_'+city).value;

    var currentCity = getElementsByClass('city_id_'+oldcity);
    for (i=0;i<currentCity.length;i++)
        {
        currentCity[i].style.display = "none";
        //alert(currentCity[i].innerHTML);
        }
    
    currentCity = getElementsByClass('city_id_'+city);
    for (i=0;i<currentCity.length;i++)
        {
        currentCity[i].style.display="block";
        //alert(currentCity[i].innerHTML);
        }
        
    if (page > 1) page = 1;
    loadPage(city,category,page);
    
    var ajax = new Ajax.Request(
        '/lib/ajax/modules/shop/shop.menu.php',
        {method:'post',
        parameters: {type:'city', city:city}
        });

    /*
    var ajax = new Ajax.Updater(
        {success: ''},
        '/lib/ajax/modules/shop/shop.menu.php',
        {method: 'post',
        parameters: {type:'page', city:city, category:category, page:page, maxonpage:maxonpage}
        } 
        );
       */
    }

function changeCategory(category)
    {
    var city = $('current_city').value;
    var oldcategory = $('current_category').value;
    var page = $('current_page').value;
    
    $('category_'+oldcategory+'_act').style.display = "none";
    $('category_'+oldcategory+'_pas').style.display = "block";
    $('category_'+category+'_act').style.display = "block";
    $('category_'+category+'_pas').style.display = "none";
    
    if (page > 1) page = 1;
    loadPage(city,category,page);
    } 

function changePage(page)
    {
    var city = $('current_city').value;
    var category = $('current_category').value;
    var oldpage = $('current_page').value;
    
    loadPage(city,category,page);
    }
/**
 *
 *функции навигации по меню
 *
 *end*/

function getMovie()
    {
    var M =  navigator.appName.indexOf("Microsoft") != -1
    return (M ? window : document)["flashMoviePaper"]
    }

function add_to_basket(id,e) // Добавление в корзину ===========================
    {
    var event = (window.event)?window.event:e;
    var price = $('item_price_'+id).innerHTML;
    var typePage = $('typePage').value;
    var count = 1;
    
    obj = $('infoBox');
    
    var city = $('current_city').value;    
    if (typePage == "main")
        {
        if ($('checked_city').value != "")
            {
            city = $('checked_city').value;
            }
        else
            {
            city = 1;
            $('checked_city').value = 1;
            }
        $('current_city').value = city;
        }
    else
        {
        if (!$('basket_count'))
            {
            city = $('current_city').value;
            $('checked_city').value = $('current_city').value;
            }
        }
   
    if ($('stuffCount'+id+'_city'+city)) count = $('stuffCount'+id+'_city'+city).value;
   
    if ($('checked_city').value == "" || $('checked_city').value == city)
        {
        obj.style.display='block';            // открываем окошко
        $('menu_info').innerHTML = "...добавляем в корзину...";
        if (navigator.appName == "Netscape")// FF Mozilla
            {
            var objtop = event.pageY || event.clientY + document.documentElement.scrollTop;
            var objleft = event.pageX || event.clientX + document.documentElement.scrollLeft;
            
            objtop = objtop - 70;   objleft = objleft - 124;
            
            obj.style.top = objtop + "px";
            obj.style.left = objleft + "px";
            
            setTimeout("obj.style.display = 'none'", 5000); // автоматически закрываем окошко
            }
        else
            {
            if (window.event.pageX)
                {
                x = window.event.pageX;
                y = window.event.pageY;
                }
            else
                {
                x = window.event.clientX;
                y = window.event.clientY + document.documentElement.scrollTop;
                }
        
            var objtop = eval(document.documentElement.scrollTop + screen.availHeight/2 - 150);
            var objleft = eval(screen.availWidth/2 - 216);
            obj.style.pixelTop = y - 70;
            obj.style.pixelLeft = x - 124;
            
            setTimeout("obj.style.display = 'none'", 5000); // автоматически закрываем окошко
            }
    
        new Ajax.Request('/lib/ajax/modules/shop/shop.basket.php',
            {
            method: 'post',
            parameters: {option:'add', count:count, id:id, city:city},
            onSuccess: function(transport) {
                $('menu_info').innerHTML = transport.responseText;
                if(transport.responseText == 'Ваш заказ добавлен в корзину')
                    {
                    if (typePage == "menu") // заполнение бокса корзины в левом верхнем углу
                        {
                        if (!$('basket_count'))
                            {
                            $('basket_box').innerHTML ="<div class='basket-b'>Количество: <span class='nobr'><span id='basket_count'>"+count+"</span> шт.</span><br />Стоимость: <span class='nobr'><span id='basket_cost'>"+price*count+"</span> руб.</span><br /><div align='center'><a href='/korzina'>Оформить заказ</a></div></div>";
                            $('basket_box').className = "basket";
                            }
                        else
                            {
                            oldcount = $('basket_count').innerHTML;
                            oldcost = $('basket_cost').innerHTML;
                            $('basket_count').innerHTML = eval(oldcount) + eval(count);
                            $('basket_cost').innerHTML = eval(oldcost) + eval(count)*eval(price);
                            }
                        }
                    }
            }
          });
        }
    else // город не тот
        {
        obj.style.display='block';            // открываем окошко
        $('menu_info').innerHTML = "<a style='cursor:pointer;' class='pp-close' title='закрыть' onclick=\"document.getElementById('infoBox').style.display='none';return false\"></a>В корзине уже лежат блюда<br> из меню другого города.<br>Смените город на выбранный ранее или очистите корзину.";
        if (navigator.appName == "Netscape")// FF Mozilla
            {
            var objtop = event.pageY || event.clientY + document.documentElement.scrollTop;
            var objleft = event.pageX || event.clientX + document.documentElement.scrollLeft;
            objtop = objtop - 70;   objleft = objleft - 124;
            obj.style.top = objtop + "px";
            obj.style.left = objleft + "px";
            }
        else
            {
            if (window.event.pageX)
                {
                x = window.event.pageX;
                y = window.event.pageY;
                }
            else
                {
                x = window.event.clientX;
                y = window.event.clientY + document.documentElement.scrollTop;
                }
            var objtop = eval(document.documentElement.scrollTop + screen.availHeight/2 - 150);
            var objleft = eval(screen.availWidth/2 - 216);
            obj.style.pixelTop = y - 70;
            obj.style.pixelLeft = x - 124;
            }
        }
    }
    
/*begin*
 *
 *Большое фото позиций меню
 *
 **/ 
function openImg(id)
    {
    oldImg = $('current_big_image').value;
    if (oldImg != "") $('div_img_'+oldImg).style.display = 'none';
    $('current_big_image').value = id;
    
    obj2 = $('div_img_'+id);
    if (obj2.innerHTML == "")
        {
        obj2.innerHTML = "...загрузка изображения...";
        var ajax = new Ajax.Updater(
            {success: 'div_img_'+id},
            '/lib/ajax/modules/shop/shop.menu.php',
            {method: 'post',
            parameters: {type:'image', id:id}
            }
            );
        }
    obj2.style.display = "block";
    }

function show_full_image(id,e)
    {
    obj1 = $('popup');
    var event = (window.event)?window.event:e;
    obj1.style.display="block";
    
    if (navigator.appName == "Netscape")
        {
        var objtop = eval(window.pageYOffset + window.innerHeight/2 - 200);
        var objleft = eval(window.innerWidth/2 - 150);
        obj1.style.top = objtop + "px";
        obj1.style.left = objleft + "px";
        }
    else
        {
        var objtop = eval(document.documentElement.scrollTop + screen.availHeight/2 - 200);
        var objleft = eval(screen.availWidth/2 - 150);
        obj1.style.pixelTop = objtop;
        obj1.style.pixelLeft = objleft;
        }
    openImg(id);
    }
/**
 *
 *Большое фото позиций меню
 *
 *end*/ 
