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 dev = '';
  if ( form.dev )
    dev = '_dev';
  	
  var url = '/auto/calc'+dev+'?' +
            '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 +
            '&ts_type=' + form.xts_type.value +
            '&mode=ajax&t=1';
 
			
	if (dev == '_dev') {
		//alert(url);
	}else {
		//url += '&code_capt=' + form.code_capt.value +
        //'&rand_capt=' + form.rand_capt.value;
	};
  
  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',
								evalScripts: true
                               }
                            );

  return false;
}


function auto_captcha(rand, status){
	
	var captcha_img = xGetElementById('captcha_img');
	captcha_img.src = '/autocalc_captcha/output/'+rand+'.png';
	var captcha_rand = xGetElementById('captcha_rand');
	captcha_rand.value = rand;
	var captcha_status = xGetElementById('captcha_status');
	captcha_status.innerHTML = status;
	var code_capt = xGetElementById('code_capt');
	code_capt.value = '';
	
	var c = 0;
	for (var i=2; i<arguments.length; i+=2) {
		if (arguments[i+1] == "1") {
			auto_field_wrong(arguments[i]);
			c++;
		}
		else {
			auto_field_norm(arguments[i]);
		};
	};

	if (c == 0) {
		$('err_message').setStyle({
		  display: 'none'
		});
		c++;
	}
	else {
		$('err_message').setStyle({
		  display: 'table-cell'
		});
		c++;
	};
	
	return false;

}

function auto_calc_highlite(status){
	
	var c = 0;
	for (var i=0; i<arguments.length; i+=2) {
		if (arguments[i+1] == "1") {
			auto_field_wrong(arguments[i]);
			c++;
		}
		else {
			auto_field_norm(arguments[i]);
		};
	};

	if (c == 0) {
		$('err_message').setStyle({
		  display: 'none'
		});
		c++;
	}
	else {
		$('err_message').setStyle({
		  display: 'table-cell'
		});
		c++;
	};
	
	return false;

}

function auto_field_norm(id) {

	// $(id).setStyle({padding: '2px', border: '1px solid #7f9db9'});
	
	if ($(id).hasClassName('searchbox_wrong')) {
		$(id).removeClassName('searchbox_wrong');
		$(id).addClassName('searchbox_norm');
	};
	
	return false;

}

function auto_field_wrong(id) {

	if ($(id).hasClassName('searchbox_norm')) {
		$(id).removeClassName('searchbox_norm');
		$(id).addClassName('searchbox_wrong');
	};
	
	return false;

}

function auto_captcha_print(rand){
	
	var url = 'http://www.tks.ru/auto/calc?idprint='+rand;
	window.open(url,'_blank');
	
	return false;
	
}

function auto_captcha_reload(){
	
	var url = 'http://www.tks.ru/auto/calc/captcha';
	new Ajax.Request(url, {
		onSuccess: function(response) {
		  var rand = response.responseText;
		  var captcha_img = xGetElementById('captcha_img');
		  captcha_img.src = '/autocalc_captcha/output/'+rand+'.png';
		  var captcha_rand = xGetElementById('captcha_rand');
		  captcha_rand.value = rand;
		  var captcha_status = xGetElementById('captcha_status');
		  captcha_status.innerHTML = 'Ââåäèòå êîä';
		}
	});
	
	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');
  }
};



