﻿

// ------------------------------------------------------------------------[]

function myAddDays(dCount)
{
  var msDay = 1000 * 3600 *24;
  var msNow = this.getTime();
  this.setTime(msNow + msDay * dCount);
}

Date.prototype.addDays = myAddDays;


function get_cookie(pName)
{
  var sCookie = document.cookie;
  var sCookieLength = sCookie.length;
  var sName = pName + "=";
  var sNameLength = sName.length;
  var sValue = null;
  var i = 0;
  var j = 0;
  while(i < sCookieLength)
  {
    j = i + sNameLength;
    if(sCookie.substring(i, j) == sName)
    {
      var n = sCookie.indexOf(";", j);
      if(n == -1) n = sCookieLength;
      sValue = unescape(sCookie.substring(j, n));
      break;
    }
    i = sCookie.indexOf(" ", i) + 1;
    if(i == 0) break;
  }
  return sValue;
}


function makeTime(offset)
{
  var localTime = new Date()
  var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + offset * 3600000
  var time = new Date(ms)
  var hour = time.getHours()
  var minute = time.getMinutes()
  var second = time.getSeconds()
  var temp = "" + hour
  if(temp.length == 1)
    temp = " " + temp
  temp += ((minute < 10) ? ":0" : ":") + minute
  temp += ((second < 10) ? ":0" : ":") + second
  return temp;
}


function jsClockTimeZone()
{
  if($('msk') != null)
  {
    $('msk').innerHTML = makeTime(4);
    $('vld').innerHTML = makeTime(11);
    $('nvs').innerHTML = makeTime(7);
    $('spb').innerHTML = makeTime(4);
    $('ekt').innerHTML = makeTime(6);
    setTimeout("jsClockTimeZone()", 1000)
  }
}

// ------------------------------------------------------------------------[]


function highlight(CallerId, Color)
{
    if (Color == null)
    {
      Color = '#ffffaa'; //'#fbcd00';
    }

    $(CallerId).bgColor=Color;
}


function unhighlight(CallerId)
{
    $(CallerId).bgColor='#ffffff';
}


function load_content(url, target_id, splash, aFooter, aCompletion)
{
  var myAjax = new Ajax.Request(
  url,
  {
    method: 'get',
    onCreate:
      function()
      {
        $(target_id).innerHTML = splash;
      },
    onComplete:
      function(myAjax)
      {
        var target = $(target_id);
        if (target != null)
        {
          if (aFooter == null)
          {
             aFooter = '';
          }

          target.innerHTML = myAjax.responseText + aFooter;

          if (aCompletion != null)
          {
              aCompletion(url, target_id);
          }
        }
      }
  });
}


function show_page(aPage, aOutput, aSplash, aFooter)
{
    load_content('lssi.php?page=' + aPage, aOutput, aSplash, aFooter);
}


// ------------------------------------------------------------------[ Info ]


function show_info(aPage)
{
  var footer =
    '<center>' +
    '<span class="menu" onclick="clear_info();">Закрыть</span>' +
    '</center><hr>';

  show_page(
    aPage,
    'information',
    '<img src="{USER_DIR}/images/spinner.gif">',
    footer
  );

  return false;
}


function clear_info(aPage)
{
    $('information').innerHTML = '';
}


function common_startup()
{
    var keywords_field = document.getElementById('KeywordsField');

    if ((keywords_field != null) && (keywords_field.value == ''))
    {
        keywords_field.value='Введите фразу для поиска';

        $('SearchButton').disabled = true;
    }

    jsClockTimeZone();
}


// -----------------------------------------------------[ MultiImage Viewer ]

function onImageLoaded()
{
    if (photo_urls.length == 1)
    {
        $('multiimage_navigator').innerHTML = '<br><br>';
    }

    imgPhoto = $('img_photo');

    imgPhoto.src = img.src;

    imgPhoto.width = (img.width < 450) ? img.width : 450;
    imgPhoto.heigth = (img.heigth < 450) ? img.heigth : 450;

    var photos_inf = $('photos_info');
    if (photos_inf != null)
    {
        photos_inf.innerHTML = 'Фото ' + current_photo + ' из ' + photo_urls.length;
    }
}

function load_photo()
{
    img = new Image();
    img.onload = onImageLoaded;
    img.src = photo_urls[current_photo - 1];

    var info = $('photos_info');
    if ((info != null) && (img.width == 0))
    {
        info.innerHTML = 'Загрузка...';
    }

    update_navigator_arrows();
}

function next_photo()
{
    if (current_photo < photo_urls.length)
    {
        current_photo++;
        load_photo();
    }
}

function prev_photo()
{
    if (current_photo > 1)
    {
      current_photo--;
      load_photo();    
    }
}


// ----------------------------------------------------[ Item Page Handlers ]

function load_order_done(url, target_id)
{
    open_form('order_caption', 'order_form', 'close_order_form', 'Заказать данный товар');
}

function load_info_rq_done(url, target_id)
{
    open_form('order_caption', 'order_form', 'close_order_form', 'Задать вопрос по товару');
}

function load_description_done(url, target_id)
{
    open_form('descr_caption', 'descr', 'close_descr_form', 'Описание товара');
}


function close_form(form_id)
{
    var form = $(form_id);
    form.innerHTML = '';
}

function close_form(caption_id, body_id, form_id)
{
    var form = $(caption_id);
    form.innerHTML = '';
    form.bgColor = '#ffffff';
    form.style.border = "0px";

    var form = $(body_id);
    form.style.border = "0px";

    var form = $(form_id);
    form.innerHTML = '';
    form.style.border = "0px";
    form.setAttribute("height", 0)
}

function close_order_form()
{
    close_form('order_caption', 'order_form_area', 'order_form');
}

function close_descr_form()
{
    close_form('descr_caption', 'descr_form_area', 'descr');
}


function set_delivery_cost(ADeliveryCost)
{
    var p = $('price');
    var t = $('price_summary');

    var price = parseInt(p.value);
    var total = price + ADeliveryCost;

    t.innerHTML = total;
}


function post_completion()
{
    var op_status = $('op_status');
    if ((op_status != null) && (op_status.value == 1))
    {
      //close_order_form();
      location.reload();
    }
}

// ---------------------------------------------------[ Index Page Handlers ]

function show_info(aPage)
{
    show_page(aPage, 'information', '<img src="{USER_DIR}/images/spinner.gif">');
}

// ---------------------------------------------------------------[ Cookies ]

function my_read_cookie(cname)
{
    $c = get_cookie(cname);
    $v = unescape($c);
    if (($v == null) || (($v == "null")))
    {
        $v = '';
    } 
    return $v;
}

function my_write_cookie(cname, cvalue, expire)
{
    if ((cname != null) && (cvalue != null))
    {           
        window.document.cookie = 
            cname + "=" + escape(cvalue) + ";" + 
            "expires=" + expire.toGMTString() + ";path=/;false";
    }
}

function my_read_cookie_ex(ControlName, CookieName)
{
    set_control_value(ControlName, my_read_cookie(CookieName))
}


// ----------------------------------------------------------------------[  ]

function set_control_value(AControlName, AValue)
{
    $c = $(AControlName);
    if ($c != null)
    {
        $c.value = AValue;
    }
}

// ---------------------------------------------------------[ For Item page ]

function show_info(aPage)
{
    show_page(
          aPage,
          'information',
          '<img src="{USER_DIR}/images/spinner.gif">',
          '<center> \
            <span class="menu" onclick="clear_info();">Закрыть</span> \
          </center><hr />'
        );
}


function open_form(header_id, body_id, close_proc, caption)
{
    var elem = $(body_id);
    elem.style.border = '1px #707070 solid';

    var td = $(header_id);
    td.style.border = '1px #707070 solid';
    td.bgColor = '#909090';
    td.innerHTML =
          '<table width="100%"><tr> \
             <td align="left" width="90%"> \
               <font size="+1" color="white">' + caption + '</font> \
             </td> \
             <td align="right"> \
               <img src="' + udir + '/images/close.gif" style="cursor:pointer;" onclick="' + close_proc + '();"> \
             </td> \
           </tr></table>';

    my_read_cookie_ex('name', 'cl_name');
    my_read_cookie_ex('email', 'cl_email');
    my_read_cookie_ex('address', 'cl_address');
    my_read_cookie_ex('phone', 'cl_phone');
}


function load_description(translate, target_id)
{
    var elem_id = $('item_id');

    if (elem_id != null)
    {
        var url = cdir + '/descr.php?id=' + elem_id.value;
        if (translate == 1)
        {
            url += '&lang=ru';
        }

        load_content(
            url,
            target_id,
            '<img src="' + udir + '/images/spinner.gif"> \
              <div style="height: 500px; line-height: 500px;">&nbsp;</div>',
            '',
            load_description_done
          );
    }

    window.scrollTo(0, 1800);
}


function show_order_form()
{
    var td = $('order_form');
    td.height = 600;
    td.width = 600;

    var ts = $('scroll_target');
    ts.scrollTo(0, 0);

    load_content(
          cdir + '/order.php?item_id=' + $('item_id').value,
          'order_form',
          '<br><br><br><br><br><img src="' + udir + '/images/spinner.gif">',
          '',
          load_order_done
        );
}


function show_info_form()
{
    var td = $('order_form');
    td.height = 500;
    td.width = 600;

    var ts = $('scroll_target');
    ts.scrollTo(0, 0);

    load_content(
          cdir + '/order.php?item_id=' + $('item_id').value + '&mode=1',
          'order_form',
          '<br><br><br><br><br><img src="' + udir + '/images/spinner.gif">',
          '',
          load_info_rq_done
        );
}


function send_data()
{

    var agree = $('agreement_accepted');

    if (agree != null)
    {
        if (!agree.checked)
        {
            alert(
              'Для оформления заказа необходимо принять условия пользовательского соглашения!' + "\n\n" +
              'Пользовательское соглашение находится на строчку выше от кнопки "Заказать"'
            );
            exit;
        }

        if (agree != null)
        {
            agree.disabled = true;
        }
    }

    var btn_send = $('btn_order');
    if (btn_send != null)
    {
        btn_send.disabled = true;
    }

    var url = cdir + '/order.php';


    var phone = '';
    if ($('phone') != null)
    {
        var phone = $('phone').value;
    }

    var item_id = $('item_id').value;
    var name = $('name').value;
    var address = $('address').value;
    var email = $('email').value;
    var comment = $('comment').value;
    var key = $('key').value;
    var mode = $('mode').value;

    var d = new Date();
    d.addDays(360);

    my_write_cookie('cl_email', email, d);

    if (mode == 0)
    {
        my_write_cookie('cl_name', name, d);
        my_write_cookie('cl_address', address, d);
        my_write_cookie('cl_phone', phone, d);
    }

    var delivery;

    var form = $('order_form_obj');
    for (var i = 0; i < form.elements.length; i++)
    {
        var el = form.elements[i];
        var elName = el.nodeName.toLowerCase();

        if (elName == 'input')
        {
            var elValue = el.value;
            var type = el.type.toLowerCase();

            if (type == 'radio')
            {
                if (el.checked)
                {
                    delivery = parseInt(elValue);
                }
            }
        }
    }

    var args =
          'Order=' + '1' + '&' +
          'item_id=' + encodeURIComponent(item_id) + '&' +
          'name=' + encodeURIComponent(name) + '&' +
          'address=' + encodeURIComponent(address) + '&' +
          'email=' + encodeURIComponent(email) + '&' +
          'phone=' + encodeURIComponent(phone) + '&' +
          'comment=' + encodeURIComponent(comment) + '&' +
          'key=' + encodeURIComponent(key) + '&' +
          'delivery=' + encodeURIComponent(delivery) + '&' +
          'mode=' + mode;

    var myAjax = new Ajax.Request(
          url,
          {
              method: 'post',
              parameters: args,
              onComplete:
              function(myAjax)
              {
                  $('order_form').innerHTML = myAjax.responseText;
                  var td = $('order_form');
                  td.height = 200;

                  var ts = $('scroll_target');
                  ts.scrollTo(0, -50);

                  setTimeout(post_completion, 12000);
              }
          }
        );
}


function clear_form()
{
    set_control_value('email', '');
    set_control_value('comment', '');
    set_control_value('key', '');

    if (mode == 0)
    {
        set_control_value('name', '');
        set_control_value('address', '');
    }
}


function show_shipping_costs()
{
    wnd =
        window.open(
            cdir + '/shipping_costs.php?action=new',
            'shipping_costs',
            'width=430,height=758'
          );

    wnd.focus();
}

function show_agreement()
{
    wnd_agree =
          window.open(
            udir + '/documents/agreement.htm',
            'shipping_costs',
            'width=600,height=550,scrollbars=1'
          );

    wnd_agree.focus();

    return false;
}


function update_navigator_arrows()
{
    var left = $('arrow_left');
    var right = $('arrow_right');

    if (left != null)
    {
        if (current_photo == 1)
        {
            left.src = udir + '/images/arrow-gray-left.png'
        }
        else
        {
            left.src = udir + '/images/arrow-red-left.png'
        }
    }

    if (right != null)
    {
        if (current_photo == photo_urls.length)
        {
            right.src = udir + '/images/arrow-gray-right.png'
        }
        else
        {
            right.src = udir + '/images/arrow-red-right.png'
        }
    }
}


function init_multiimage_viewer()
{
    if (photo_urls.length != 1)
    {
        $('multiimage_navigator').innerHTML = ' \
                 <table  \
                  cellspacing="0" \
                  cellpadding="0" \
                  style="border: 1px silver solid; width: 300px;" \
                 > \
                   <tr> \
                    <td width="15%" align="center" onclick="prev_photo();" height="30px"  style="vertical-align: middle; cursor: pointer;"> \
                      <img id="arrow_left" src="' + udir + '/images/arrow-gray-left.png" alt="&lt;&lt;"/> \
                    </td> \
                    <td align="center" style="vertical-align: middle;"> \
                        <div id="photos_info"></div> \
                    </td> \
                    <td width="15%" align="center" onclick="next_photo();"  style="vertical-align: middle; cursor: pointer;"> \
                        <img id="arrow_right" src="' + udir + '/images/arrow-red-right.png" alt="&gt;&gt;"/> \
                    </td> \
                  </tr> \
                </table>';

        $('photos_info').innerHTML =
            'Фото ' + current_photo + ' из ' + photo_urls.length;
    }

    current_photo = 1;
    load_photo();
}


// ----------------------------------------------------------------------[  ]
