﻿/* -------------  ------------- */
function SetMainImg(p_img_path) {
    var tb1 = document.getElementById("MainImg");
    tb1.src = p_img_path; return 1;
}
/* -------------  переход на страницу ------------- */
function goPage(sPage) {    
    window.location.href = sPage;
}
/* -------------  ------------- */
/* -------------  ------------- */
/* -------------  ------------- */
/* -------------  ------------- */

/* -------------  ------------- */
function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
/* ------------- submit формы ------------- */
//подтверждение ввода
function submitForm(formId) {
    var formObj = document.getElementById(formId);
    formObj.submit();
}

/* ------------- список объявлений ------------- */
// Объявляем пустой хэш
var hash = {};
//Добавляем в хэш новый идентификатор объявления и его путь
function addAnnoLink(id, location) {
    hash[id] = location;
}
clickAnno = true;
wOpen = false;
//переход на объявление
function onClickAnno(trID) {
    //alert("! " + clickAnno + "  wOpen=" + wOpen);

    //определяю идентификатор
    var id = trID.replace("an", "");
    var loc = hash[id];
    //alert("id=" + id + " loc=" + loc);
    if (loc != undefined) {
        if (clickAnno) {
            //alert(wOpen);
            if (wOpen) {
                //alert("window.open " + loc);
                window.open(loc);
            }
            else {
              //  alert("window.location " + loc);
                window.location = loc;
            }
        }
        else
            clickAnno = true;
    }


}

/* ------------- Таблице со списком объявлений каждой строке назначается обработчик ------------- */
$(document).ready(function () {
/*
    $(".cat tr").click(function () {
        onClickAnno(this.id);
    });
    $(".cat tr a").click(function () {
        clickAnno = false;
    });
    /*  $(".announce_line2").click(function () {
    onClickAnno(this.id);
    });
    */
    /*  $(".announce_top_line").click(function () {
    onClickAnno(this.id);
    });
    $(".announce_vip_line").click(function () {
    onClickAnno(this.id);
    });*/
    $(".p_pack").click(function () {
        $(".p_pack").removeClass("sel");
        $(this).addClass("sel");
        $(".p_pack_sel").html("Выбрать пакет");
        //$(this.".p_pack_sel").html("Пакет выбран");
        $("span.p_pack_sel", this).html('Пакет выбран');
    });

});
/* ------------- обработка заказа ------------- */
//формат такой номер объявлений:идентификатор услуги:кол-во дней:стоимость
//разделитель #
//изменяет значения списка заказов в корзине
function modifyCartData(serviceID, annoID, newSum, newdays) {
    var totalOrderSumm = 0;

    var ordered_obj_serialized_dict = $.cookie('user_order_list');

    var wasCounted = false;

    if (ordered_obj_serialized_dict != null) {
        var ordered_obj_arr = ordered_obj_serialized_dict.split('#');
        ordered_obj_serialized_dict = "";
        //alert("ordered_obj_arr.length =" + ordered_obj_arr.length);
        for (var i = 0; i < ordered_obj_arr.length; i++) {
            //alert("i="+i+" "+ ordered_obj_arr[i]);
            var orderParams = ordered_obj_arr[i].split(':');
            //alert("orderParams.length=" + orderParams.length);
            if (orderParams.length != 4) continue;

            var tAnnoID = parseInt(orderParams[0]);
            var tServiceID = parseInt(orderParams[1]);
            var tDays = parseInt(orderParams[2]);
            var tSum = parseFloat(orderParams[3]);
            //    alert(tAnnoID + " " + tServiceID + " " + tDays + " " + tSum + "  новые " + serviceID + " " + annoID + " " + newSum + " " + newdays);

            //orderObjPrice = isNaN(orderObjPrice) ? 0 : orderObjPrice;
            //orderCount = isNaN(orderCount) ? 0 : orderCount;

            //найден требуемый заказ
            if (tServiceID == serviceID && tAnnoID == annoID) {

                //     alert("найден заказ");
                //записываю новую сумму
                tSum = newSum;
                tDays = newdays;
                wasCounted = true;
            }
            //подсчитываем количество
            totalOrderSumm += tSum;
            ordered_obj_serialized_dict += tAnnoID + ":" + tServiceID + ":" + tDays + ":" + tSum + "#";
        }
    } else {
        ordered_obj_serialized_dict = "";
    }
    /*
    //отсутствует в массиве, добавляем
    if (!wasCounted && objCount > 0) {
    //catalogID
    var inputCatalogID = $("#input_cat_" + objID).val();

    var orderObjPrice = parseFloat($("#obj_price_" + objID).val());
    orderObjPrice = isNaN(orderObjPrice) ? 0 : orderObjPrice;

    ordered_obj_serialized_dict += objID + ':' + inputCatalogID + ':' + orderObjPrice + ':' + objCount;

    totalOrderCount++;
    totalOrderSumm += orderObjPrice * objCount;
    }
    */
    //ordered_obj_serialized_dict = rtrim(ordered_obj_serialized_dict, '#');

    //сохраняем в куки
    $.cookie('user_order_list', ordered_obj_serialized_dict, { path: '/' });




}

//Сменили кол-во дней в списке заказа
function OrderListChangeDays(serviceid, id, days) {

    var input_val = +$("#select_days_" + serviceid + "_" + id).val();
    input_val = isNaN(input_val) ? 0 : input_val;
    input_val = input_val < 1 ? 1 : input_val;

    var num = new Number(input_val);

    $("#input_days_s" + serviceid + "_" + id).val(num.toFixed(2).replace(".", ","));

    //$("#input_days_s" + serviceid + "_" + id).val(input_val);
    //$("#input_days_s" + serviceid + "_" + id).html(num.toFixed(2));

    //обновляем итоговую строку
    orderListUpdateTotals();

    //изменяем данные корзины
    modifyCartData(serviceid, id, input_val, days);
}
//Сменили кол-во дней в списке заказа для radio-button
function OrderListChangeDays(serviceid, id, days, sum) {

    var num = new Number(sum);
    $("#input_days_s" + serviceid + "_" + id).val(num.toFixed(2).replace(".", ","));

    //обновляем итоговую строку
    orderListUpdateTotals();

    //изменяем данные корзины
    modifyCartData(serviceid, id, sum, days);
}
//обновляет итоговую строку таблицы заказов
function orderListUpdateTotals() {

    var totalSumm = 0;
    $("input.order_sum").each(function () {
        var sum = +$(this).val().replace(',', '.');

        sum = isNaN(sum) ? 0 : sum;
        totalSumm += sum;

    })


    var num = new Number(totalSumm);

    $("#total_sum").html(num.toFixed(2).replace('.', ',') + " руб.");

    if (totalSumm > userSum || totalSumm == 0) {
        $("input[name=button_pay_my_account]").attr("disabled", true);

    } else {
        $("input[name=button_pay_my_account]").attr("disabled", false);

    }

}

/* ------------- всплывающие окна описаний услуг ------------- */
(function ($) {
    $.fn.PopupPanel = function (options) {

        this.each(function () {

            var distance = 0;
            var time = 250;
            var hideDelay = 200;

            var hideDelayTimer = null;

            var beingShown = false;
            var shown = false;
            var trigger = $('.trigger', this);

            var info = $('.popup', this).css('opacity', 0);


            $([trigger.get(0), info.get(0)]).mouseover(function () {
                if (hideDelayTimer) clearTimeout(hideDelayTimer);
                if (beingShown || shown) {
                    // don't trigger the animation again

                    return;
                } else {
                    // reset position of info box
                    beingShown = true;
                    //trigger.attr('style', 'color:#cccccc;');
                    info.css({
                        top: -120,
                        //  left: 20,
                        display: 'block'
                    }).animate({
                        top: '-=' + distance + 'px',
                        opacity: 1
                    }, time, 'swing', function () {
                        beingShown = false;
                        shown = true;
                    });
                }

                return false;
            }).mouseout(function () {
                if (hideDelayTimer) clearTimeout(hideDelayTimer);
                hideDelayTimer = setTimeout(function () {
                    hideDelayTimer = null;
                    info.animate({
                        // top: '=' + distance + 'px',
                        opacity: 0
                    }, time, 'swing', function () {
                        shown = false;
                        info.css('display', 'none');
                    });

                }, hideDelay);

                return false;
            });
        }); //each
    } //PopupPanel

})(jQuery);


