var isIE = isOpera = false;
var IEv = 7;
if (navigator.appName == "Mozilla" || navigator.appName == "Netscape") {
    if(document.normalizeDocument) document.normalizeDocument();
} else if (navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.toLowerCase().indexOf('opera') < 0) { 
    isIE = true;
    IEv = navigator.appVersion;
} else if (navigator.userAgent.toLowerCase().indexOf('opera')!=-1) {
    isOpera = true;
}



window.onload = function() {
    if($('s2'))
      $('s2').update(series_original);
    if($('filter1') && $('filter2'))
      $('filter1').setStyle({'height': $('filter2').getHeight()-13});
}

var selected_series = null;
var selected_option = null;
var img = '<img src="/irobo/images/2.gif" alt="" width="10" height="11" />';

// реакция на выбор "серии"
function series_onselect(option) {
    selected_option = option;
    val = option.value;
    val++;
    if (selected_series != val) $('data').update();
    selected_series = val;
    $('s2').update(data[selected_series].id);
    
    // описание выбранной серии
    //$('hot_string').down('.box').update(data[selected_series].name);
      
    var p = data[selected_series].params;
    for (var i=0; i<p.length; i++) {
      $('li_'+(3+i)).down(1).update(img + ' ' + p[i].shrt).next().update(p[i].describ);
      
      var cnt = '';
      $('filter'+(3+i)).update(cnt);
      for (var j=0; j<p[i].values.length; j++) {
        cnt += '<li><span><input type="checkbox" id="'+i+'-'+j+'" name="" value="'+p[i].values[j].value+'" onclick="param_checked(this,'+i+','+j+')" /> '+p[i].values[j].value+' </span><label for="'+i+'-'+j+'">- '+p[i].values[j].describ+'</label></li>';
        p[i].values[j].checked = 0;
      }
      
     $('filter'+(3+i)).update(cnt); 
      
    }
    
    fixH();
    
    if(selected_series == 1)
    {
      /*
      if(!isIE) $('filter3').setStyle({height: '540px'});
      else if (IEv.indexOf('MSIE 7.0') > -1) {
        $('filter3').setStyle({
          height: '551px'
        });
      $('filter4').setStyle({
          height: '546px'
        });
      }
      */
      //     else $('filter3').setStyle({height: '600px'});
    }
    else
    {
      /*
      if (!isIE) 
      $('filter3').setStyle({
        height: '550px'
      });
    else 
      if (IEv.indexOf('MSIE 7.0') > -1) {
        $('filter3').setStyle({
          height: '551px'
        });
      $('filter4').setStyle({
          height: '546px'
        });
      }
      */
      //     else $('filter3').setStyle({height: '600px'});
    }
       
    //$('filter1', 'filter2').invoke('hide');
    new Effect.Fade($('filter1'));
    for(var i=1; i<5; i++) {
      if(i != selected_series)
        $('series_'+(i-1)).checked = false;
      else $('series_'+(i-1)).checked = true;
    }
    //new Effect.Fade($('filter2'));
           
    show_filters();
    check_params(-1);
}

// реакция на клик по свернутой "серии"
function series_onpulldown() {
    if ($('filter2').visible()) return;
    
    var p = data[selected_series].params;
    for (var i=0; i<p.length; i++)
      $('li_'+(3+i)).down(1).update(img).next().update();
        
    $('s2').update(series_original);
    $('filter1', 'filter2').invoke('show');
    hide_filters();
    setcursor('default');
    //$('hot_string').hide();
}

function params_onpulldown(num) {
  //if (selected_option) series_onselect(selected_option)
  if (!selected_series) return;
  if ($('filter2').visible()) return;
  var p = data[selected_series].params;
  var i = num-3;
  $('li_'+num).down(1).update(img + ' ' + p[i].shrt).next().update(p[i].describ);
  $('filter'+num).show(); 
}

// спрятать фильтры
function hide_filters() {
    var p = data[selected_series].params;
    for (var i=0; i<p.length; i++) {
      // $('filter'+(3+i)).hide(); 
      if ($('filter'+(3+i)).visible) new Effect.Fade($('filter'+(3+i)));
    }
    //$('filter3', 'filter4', 'filter5', 'filter6').invoke('hide'); /*,'show_button'*/
}

// показать фильтры
function show_filters() {
    var p = data[selected_series].params;
    for (var i=0; i<p.length; i++) {
      $('filter'+(3+i)).show(); 
      //var h = $('filter'+(3+i)).getHeight();
      //if (h > maxh) maxh = h;
    }
    /*
    for (var i=0; i<p.length; i++)
      $('filter'+(3+i)).setStyle({height: maxh+'px'});*/
      
    for(var i=0; i<5; i++) {
      if(p[i] == undefined) {
        $('li_'+(3+i)).down(1).update(img).next().update();
        $('filter'+(i+3)).hide();
      }
    }

    //$('show_button', 'hot_string').invoke('show');
    $('show_button').show();
}

function setcursor(csr) {
  if (!selected_series) return;
  var p = data[selected_series].params;
  for (var i=0; i<p.length; i++)
      $('li_'+(3+i)).down().setStyle({cursor: csr});
}

// реакция на выбор параметра
function param_checked(pid, pnum, inum) {
    if ($(pid).checked) {
      data[selected_series].params[pnum].values[inum].checked = 1;
    } else {
      data[selected_series].params[pnum].values[inum].checked = 0;
    }
    //update_hot_string();
    
    check_params(pnum);
}

function check_params(pnum) {
  
    $$('input[type="checkbox"]').each(function(e){
      e.disabled = 1;
    })
  
    var do_alert = 1;
    var params = 'series=' + data[selected_series].id;
    var p = data[selected_series].params;
    //var maxheight = 0;
    var maxh = 0
    for (var i=0; i<p.length; i++) 
      for (var j=0; j<p[i].values.length; j++) 
        if (p[i].values[j].checked) 
          params += '&' + p[i].name + '[]=' + p[i].values[j].value;
          
    new Ajax.Request('/get_available?' + params + '&r=' + Math.random(), {
      method: 'get',
      onComplete: function(t) {
        $$('input[type="checkbox"]').each(function(e){
          e.disabled = 0;
        })    
      },
      onSuccess: function(t) {
        var pr = t.responseText.evalJSON();
        for (var i=0; i<p.length; i++)
          for (var j=0; j<p[i].values.length; j++)
            if(pr[i])
            {
              if (pr[i][p[i].values[j].value]) {
                $(i+'-'+j).up(1).show();
              } else if (p[i].multiselect || i != pnum) {
                $(i+'-'+j).up(1).hide();     
              }
            }
            else
              $(i+'-'+j).up(1).hide();     
      }
    });
    
}

// обновить "горячую строку в соответствии с отмеченными параметрами"
function update_hot_string() {
    var string = data[selected_series].name;
    var p = data[selected_series].params;
    for (var i=0; i<p.length; i++) {
      var pstr = '';
      for (var j=0; j<p[i].values.length; j++) 
        if (p[i].values[j].checked) {
          if (pstr) pstr += '/';
          pstr += p[i].values[j].describ;
        }
      if (pstr) string += '; ' + pstr;    
    }
    $('hot_string').down('.box').update(string);
}

var sdiff = 0;
// Показать список продуктов
// page - страница
// diff - показать все свойства или только различия
function show(page, diff) {
    if (!page) page=1;
    if (!diff) diff=0;
    sdiff = diff;
    
    var params = 'series=' + data[selected_series].id;
    
    var p = data[selected_series].params;
    for (var i=0; i<p.length; i++) {
      var pstr = '';
      for (var j=0; j<p[i].values.length; j++) 
        if (p[i].values[j].checked) {
          params += '&' + p[i].name + '[]=' + p[i].values[j].value;
          if (pstr) pstr += ',';
          pstr += p[i].values[j].value;
        }
      if (!pstr) pstr = '-';
      $('li_'+(3+i)).down(1).next().update(pstr);
    }
    
    hide_filters();
    setcursor('hand');
    
    $('data').update('Загрузка ...').show();
    
    new Ajax.Request('/get_products?' + params + '&page=' + page + '&diff=' + diff + '&r=' + Math.random(), {
      method: 'get',
      onSuccess: function(t) {
        $('data').update(t.responseText);
      }
    });
}

var orig_price = 0;
function irecountProdOptions() {
  var pr = orig_price;
  if (!pr) {
    if(isIE)
      textC=$('price').innerText
    else
      textC=$('price').textContent
    pr = parseFloat(textC);
    orig_price = pr;
  }

  var opts = $('options').getElementsBySelector('input[type="radio"]');
  for (var i=0; i<opts.length; i++) {
    if (opts[i].checked) 
      if ($('inprice'+opts[i].id).value == '0') pr = pr + parseFloat(opts[i].value);
  }
  pr = Math.round(pr*100)/100;
  $('price').update(pr);
  $('price2').update(pr);
}

function show_specs() {
  $('specs').show();
  $('options').hide();
  var optionsTab = $('tab2').parentNode;
  var productTab = $('tab1').parentNode;
  optionsTab.id = 'activeTabRight';
  productTab.id = 'activeTab';
}

function show_options() {
  $('specs').hide();
  $('options').show();
  var optionsTab = $('tab2').parentNode;
  var productTab = $('tab1').parentNode;
  optionsTab.id = 'activeTab';
  productTab.id = 'first';
}

function send_order(code) {
  var o = '';
  var opts = $('options').getElementsBySelector('input[type="radio"]');
  for (var i=0; i<opts.length; i++)
    if (opts[i].checked)
      o += '&options[]='+opts[i].id;

  window.open('/order?code='+code+o,'form','resizable=no,toolbar=no,menubar=no,status=no,scrollbars=yes,width=915,height=300,left=200,top=100')
}

function getAbsolutePos(el)
{
  var r = { x: el.offsetLeft, y: el.offsetTop };
  if (el.offsetParent)
    {
      var tmp = getAbsolutePos(el.offsetParent);
      r.x += tmp.x;
      r.y += tmp.y;
    }
  return r;
}


function popup_classif(show) {
   li = $('classif_dif').previous(0);
   left = (getAbsolutePos(li)).x;
   try {
     if (IEv.indexOf('MSIE 7.0') > -1)
       $('classif_dif').setStyle({
         left: left
       });
     else
       if (isIE) 
         $('classif_dif').setStyle({
           left: left
         });
  } catch(e) {}
  if(show) $('classif_dif').className="over";
  else $('classif_dif').className="";
}

function showServersProperties() {
  if (selected_series != 0) $('data').update();
  selected_series = 0;
  
  // описание выбранной серии
  //$('hot_string').down('.box').update(data[selected_series].name);
    
  var p = data[selected_series].params;
  for (var i=0; i<p.length; i++) {
    $('li_'+(3+i)).down(1).update(img + ' ' + p[i].shrt).next().update(p[i].describ);
    
    var cnt = '';
    $('filter'+(3+i)).update(cnt);
    for (var j=0; j<p[i].values.length; j++) {
      cnt += '<li><span><input type="checkbox" id="'+i+'-'+j+'" name="" value="'+p[i].values[j].value+'" onclick="param_checked(this,'+i+','+j+')" /> '+p[i].values[j].value+' </span><label for="'+i+'-'+j+'">- '+p[i].values[j].describ+'</label></li>';
      p[i].values[j].checked = 0;
    }
    
   $('filter'+(3+i)).update(cnt); 
    
  }
  /*
  if(!isIE) $('filter3').setStyle({height: '540px'});
  else if(IEv.indexOf('MSIE 7.0') > -1) $('filter3').setStyle({height: '600px'});
  */
      //     else $('filter3').setStyle({height: '600px'});
      
  
     
  show_filters();
  check_params(-1);
}

function fixH()
{
  var h = 0;
  $$('.classificator ul').each(function(i){
    if(i.getHeight() > h)
      h = i.getHeight();
  });  
  $$('.classificator>li').each(function(i){
    i.setStyle({'height': h+'px'});
  });
  $$('.classificator ul').each(function(i){
    i.setStyle({'height': h+'px'});
  });
}













