var ajax;
function update_html(div_id, url, page){
  set_cookie(div_id, page);
  var div = xGetElementById(div_id);
  div.innerHTML='<br /><br /><br /><br />загружаю...'+
                '<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />'+
                '<br /><br /><br /><br /><br /><br />';
  var ajax = new Ajax.Updater(
                               div_id,
                               url,
                               {
                                method: 'get'
                               }
                            );
}




function set_cookie (c_name, c_text){
  document.cookie = c_name + '=' + c_text;
}




function get_cookie(c_name) {
  var prefix = c_name + "=";
  var cookieStartIndex = document.cookie.indexOf(prefix);
  if (cookieStartIndex == -1)
          return null
  var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
  if (cookieEndIndex == -1)
          cookieEndIndex = document.cookie.length;
  return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));

}





var me = new Array('news','info','our','db','online');

function show_submenu(top_item){
  var topmenu_ele = xGetElementById('menu_'+top_item);
  var advmenu_ele = xGetElementById('adv_'+top_item);
  var a_ele = xGetElementById('a_'+top_item);

  for(i = 0; i < me.length; i++){
    var tmp_ele = xGetElementById('adv_' + me[i]);
//    window.alert(tmp_ele.id + "\n" + tmp_ele.style.display + "\n" + tmp_ele.style.zIndex);
    if (tmp_ele.style.display == 'block' || tmp_ele.style.display == ''){ 
      tmp_ele.style.display = 'none';
//      tmp_ele.style.zIndex = 1;
    }
    tmp_ele = xGetElementById('menu_' + me[i]);
    tmp_ele.style.background = '#ffffff';
    tmp_ele = xGetElementById('a_' + me[i]);
    tmp_ele.style.color = '#115193';
  }
//  advmenu_ele.style.zIndex = 100;
  advmenu_ele.style.display = 'block';
  topmenu_ele.style.background = '#115193';
  a_ele.style.color = '#ffffff';

  return false;
//  window.alert(ele);
  
}


var me_new = new Array('news','jur','nat','soft','db','tnved','online','blanks');

function show_submenu_new(top_item){
  var topmenu_ele = xGetElementById('menu_'+top_item);
  var advmenu_ele = xGetElementById('adv_'+top_item);
  var a_ele = xGetElementById('a_'+top_item);

  for(i = 0; i < me_new.length; i++){
    var tmp_ele = xGetElementById('adv_' + me_new[i]);
//    window.alert(tmp_ele.id + "\n" + tmp_ele.style.display + "\n" + tmp_ele.style.zIndex);
    if (tmp_ele.style.display == 'block' || tmp_ele.style.display == ''){ 
      tmp_ele.style.display = 'none';
//      tmp_ele.style.zIndex = 1;
    }
    tmp_ele = xGetElementById('menu_' + me_new[i]);
    tmp_ele.style.background = '#ffffff';
    tmp_ele = xGetElementById('a_' + me_new[i]);
    tmp_ele.style.color = '#115193';
  }
//  advmenu_ele.style.zIndex = 100;
  advmenu_ele.style.display = 'block';
  topmenu_ele.style.background = '#115193';
  a_ele.style.color = '#ffffff';

  return false;
//  window.alert(ele);
  
}




function open_thread (item){

  var ele = xGetElementById(item);
  var tree_id = item.substr(1);
  var url = '/db/tnved/tree/' + tree_id + '/ajax_open';

//  var new_ele = document.createElement("ul");
//  Element.addClassName(new_ele, "tnved");
//  var parentEle = ele.parentNode;
//  parentEle.insertBefore(new_ele, ele.nextSibling);
//  Element.remove(ele);

  var ajax = new Ajax.Updater(
                               item,
                               url,
                               {
                                method: 'get'
                               }
                            );
  return false;
}

function close_thread (item){

  var ele = xGetElementById(item);
  var tree_id = item.substr(1);
  var url = '/db/tnved/tree/' + tree_id + '/ajax_close';

//  ele.innerHTML = '&nbsp;';
//  var new_ele = document.createElement("ul");
//  Element.addClassName(new_ele, "tnved");
//  var parentEle = ele.parentNode;
//  parentEle.insertBefore(new_ele, ele.nextSibling);
//  Element.remove(ele);

  var ajax = new Ajax.Updater(
                               item,
                               url,
                               {
                                method: 'get'
                               }
                            );
  return false;
}




function auto_calc(form){

  var url = '/auto/calc?' + 
            'cost=' + form.cost.value +
            '&volume=' + form.volume.value +
            '&currency=' + form.currency.value +
            '&power=' + form.power.value +
            '&power_edizm=' + form.xpower_edizm.value +
            '&country=' + form.xcountry.value +
            '&engine_type=' + form.xengine_type.value +
            '&age=' + form.xage.value +
            '&face=' + form.xface.value +
            '&mode=ajax';
//  alert(url);

  var div = xGetElementById('auto_res_div');
  div.innerHTML='<br /><br /><br /><br /><p>считаю...</p>'+
                '<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />';


  var ajax = new Ajax.Updater(
                               div,
                               url,
                               {
                                method: 'get'
                               }
                            );

  return false;
}





var cx, cy, code;

function _open_duty(e){
  cx = Event.pointerX(e);
  cy = Event.pointerY(e)
  var ele = xGetElementById('duty_div');
  if (cx < (document.body.offsetWidth/2)) {
    dx = 35;
  }
  else {
    dx = -335;
  }

  var url = '/db/tnved/tree/c' + code + '/show/ajax';
  var ajax = new Ajax.Updater(
                               'duty_div',
                               url,
                               {
                                method: 'get'
                               }
                            );
//  ele.innerHTML = '<b>'+cy+' : '+ ele.clientHeight+' : '+document.body.clientHeight+'</b>';
//  ele.innerHTML += '<br /><b>'+(document.body.scrollTop)+'</b>';
//  ele.innerHTML += '<br />'+(document.body.offsetWidth);

  ele.style.left = cx + dx;
//  ele.style.top = cy - (ele.clientHeight*0.75);
  ele.style.top = cy - (400*0.75);
  Event.stopObserving(document, 'click', _open_duty);
}




function _check_mousedown(e){
  var ele = xGetElementById('duty_div');
  if (
          Event.pointerX(e) < ele.offsetLeft 
          || Event.pointerX(e) > (ele.offsetLeft + ele.clientWidth + 20)
          || Event.pointerY(e) < ele.offsetTop 
          || Event.pointerY(e) > (ele.offsetTop + ele.clientHeight)
     ){
        
    myHide('duty_div');
  }

  if (ele.style.visibility == 'hidden' )
    Event.stopObserving(document, 'mousedown', _check_mousedown);
}




function open_duty(c){

  code = c;
  var ele = xGetElementById('duty_div');

  ele.innerHTML = '<div style="text-align:center;"><br/><br/><br/>загружаю...</div>';
  Event.observe(document, 'click', _open_duty);
  Event.observe(document, 'mousedown', _check_mousedown);
  xShow(ele);

//  new Effect.BlindDown(ele);
  return false;
}


function myHide(e){
  xHide(e);
//  new Effect.BlindUp(e);
  return false;
}



//////////////////////////////////// LIB
//
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xDef()
{
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=='undefined') return false;}
  return true;
}

function xGetElementById(e)
{
  if(typeof(e)!='string') return e;
  if(document.getElementById) e=document.getElementById(e);
  else if(document.all) e=document.all[e];
  else e=null;
  return e;
}

function xVisibility(e, bShow)
{
  if(!(e=xGetElementById(e))) return null;
  if(e.style && xDef(e.style.visibility)) {
    if (xDef(bShow)) e.style.visibility = bShow ? 'visible' : 'hidden';
    return e.style.visibility;
  }
  return null;
}

function xShow(e) {return xVisibility(e,1);}

function xHide(e){return xVisibility(e,0);}




var Cookie = {
  set: function(name, value, daysToExpire) {
    var expire = '';
    if (daysToExpire != undefined) {
      var d = new Date();
      d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
      expire = '; expires=' + d.toGMTString();
    }
    return (document.cookie = escape(name) + '=' + escape(value || '') + expire + "; path=/" );
  },
  get: function(name) {
    var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
    return (cookie ? unescape(cookie[2]) : null);
  },
  erase: function(name) {
    var cookie = Cookie.get(name) || true;
    Cookie.set(name, '', -1);
    return cookie;
  },
  accept: function() {
    if (typeof navigator.cookieEnabled == 'boolean') {
      return navigator.cookieEnabled;
    }
    Cookie.set('_test', '1');
    return (Cookie.erase('_test') = '1');
  }
};


