var showcb=false;
function showCallback()
{
var cb=document.getElementById('callback_form');
if (!showcb)
{
	cb.style.display="block";
	cb.style.visibility="visible";
	showcb=true;
} else
{
	cb.style.display="none";
	cb.style.visibility="hidden";
	showcb=false;
}
}

function offTimer() {
   if (document.timer) {
      window.clearTimeout(document.timer);
      document.timer = null;
   }
}

function show(obj) {
   document.getElementById('sub' + obj).style.display = 'block';
   document.getElementById('item' + obj).className = '';
   document.getElementById('item' + obj).className = 's';
}

function hide() {
   document.getElementById('sub' + document.vis).style.display = 'none';
   document.getElementById('item' + document.vis).className = '';
}

function on(obj) {
   if (document.vis) {
      hide();
   }
   document.vis = obj;
   show(obj);
}

function off(obj) {
   document.vis = obj;
   document.timer = window.setTimeout('hide()', 500);
}

function preload(obj) {
   new Image().src = obj;
}

// Ajax

function SetCallback()
{
	document.getElementById('callback_form').style.visibility='hidden';			
	document.getElementById('callback_form').style.display='none';	
	
	document.getElementById('callback_link').style.visibility='hidden';			
	document.getElementById('callback_link').style.display='none';	
	
	document.getElementById('callback_complete').style.visibility='visible';			
	document.getElementById('callback_complete').style.display='block';	
	document.getElementById('callback_complete').innerHTML="Отправка...";	
	
	var fio=document.getElementById('callback_fio').value;
	var phone=document.getElementById('callback_phone').value;
	var comment=document.getElementById('callback_comment').value;	
    var city = document.getElementById("callback_city").value;	
    var req = new Subsys_JsHttpRequest_Js();
   req.onreadystatechange = function()
   {
      if (req.readyState == 4)
      {
         if (req.responseJS)
         {
			//alert(req.responseJS.ok);
			document.getElementById('callback_complete').innerHTML="Заявка принята";	
		

         }
      }
   }  
   req.caching = false;
   req.open('GET', '/scripts/set_callback.php', true);
   req.send({ city: city, fio: fio, phone: phone, comment: comment });
   
   return true;
}

function ChangeGroups(section)
{
   if (section == 0) { return false; }
   var city = document.getElementById("city_brand").value;
   document.getElementById("group_brand").length = 0;
   document.getElementById("vendor_brand").length = 0;
   document.getElementById("model_brand").length = 0;
   var tmp = document.createElement('option');
   tmp.text = 'Загрузка...';
   tmp.value = 0;
   document.getElementById("group_brand").disabled = true;
   document.getElementById("group_brand").options[0] = tmp;
   var tmp = document.createElement('option');
   tmp.text = 'Выберите тип товара';
   tmp.value = 0;
   document.getElementById("vendor_brand").disabled = true;
   document.getElementById("vendor_brand").options[0] = tmp;
   var tmp = document.createElement('option');
   tmp.text = 'Выберите производителя';
   tmp.value = 0;
   document.getElementById("model_brand").disabled = true;
   document.getElementById("model_brand").options[0] = tmp;

   var req = new Subsys_JsHttpRequest_Js();
   req.onreadystatechange = function()
   {
      if (req.readyState == 4)
      {
         if (req.responseJS)
         {
            var groups_new = req.responseJS.groups;
            var groups_old = document.getElementById("group_brand");
            groups_old.disabled = false;
            document.getElementById("group_brand").length = 0;
            var tmp = document.createElement('option');
            tmp.text = 'Типы товаров';
            tmp.value = 0;
            groups_old.options[0] = tmp;

            for (var i = 0; i < groups_new.length; i++)
            {
               var tmp = document.createElement('option');
               tmp.text = groups_new[i].name;
               tmp.value = groups_new[i].abbr;
               groups_old.options[groups_old.length] = tmp;
            }
         }
      }
   }
   req.caching = false;
   req.open('GET', '/scripts/get_elements.php', true);
   req.send({ city: city, section: section });
   
   return true;
}

function ChangeVendors(group)
{
   var section = document.getElementById("section_brand").value;
   var city = document.getElementById("city_brand").value;
   if (group == 0 || section == 0) { return false; }
   document.getElementById("vendor_brand").length = 0;
   document.getElementById("model_brand").length = 0;
   var tmp = document.createElement('option');
   tmp.text = 'Загрузка...';
   tmp.value = 0;
   document.getElementById("vendor_brand").disabled = true;
   document.getElementById("vendor_brand").options[0] = tmp;
   var tmp = document.createElement('option');
   tmp.text = 'Выберите производителя';
   tmp.value = 0;
   document.getElementById("model_brand").disabled = true;
   document.getElementById("model_brand").options[0] = tmp;

   var req = new Subsys_JsHttpRequest_Js();
   req.onreadystatechange = function()
   {
      if (req.readyState == 4)
      {
         if (req.responseJS)
         {
            var vendors_new = req.responseJS.vendors;
            var vendors_old = document.getElementById("vendor_brand");
            vendors_old.disabled = false;
            document.getElementById("vendor_brand").length = 0;
            var tmp = document.createElement('option');
            tmp.text = 'Все производители';
            tmp.value = 0;
            vendors_old.options[0] = tmp;

            for (var i = 0; i < vendors_new.length; i++)
            {
               var tmp = document.createElement('option');
               tmp.text = vendors_new[i].name;
               tmp.value = vendors_new[i].abbr;
               vendors_old.options[vendors_old.length] = tmp;
            }
         }
      }
   }
   req.caching = false;
   req.open('GET', '/scripts/get_elements.php', true);
   req.send({ city: city, group: group, section: section });
   
   return true;
}

function ChangeModels(vendor) {
   var section = document.getElementById("section_brand").value;
   var group = document.getElementById("group_brand").value;
   var city = document.getElementById("city_brand").value;

   if (section == 0 || group == 0 || vendor == 0) { return false; }
   document.getElementById("model_brand").length = 0;
   var tmp = document.createElement('option');
   tmp.text = 'Загрузка...';
   tmp.value = 0;
   document.getElementById("model_brand").disabled = true;
   document.getElementById("model_brand").options[0] = tmp;

   var req = new Subsys_JsHttpRequest_Js();
   req.onreadystatechange = function()
   {
      if (req.readyState == 4)
      {
         if (req.responseJS)
         {
            var models_new = req.responseJS.models;
            var models_old = document.getElementById("model_brand");
            models_old.disabled = false;
            document.getElementById("model_brand").length = 0;
            var tmp = document.createElement('option');
            tmp.text = 'Все модели';
            tmp.value = 0;
            models_old.options[0] = tmp;

            for (var i = 0; i < models_new.length; i++)
            {
               var tmp = document.createElement('option');
               tmp.text = models_new[i].name;
               tmp.value = models_new[i].abbr;
               models_old.options[models_old.length] = tmp;
            }
         }
      }
   }
   req.caching = false;
   req.open('GET', '/scripts/get_elements.php', true);
   req.send({ city: city, section: section, group: group, vendor: vendor });

   return true;
}

d = document;

function create_sh() {
	var sh = d.createElement('div');
	sh.id = 'shade';
	sh.className = 'shade';
	
	sh.onclick = function() {
		if (this.caller) {
			this.caller.hide();
			return (false);
		}	
	}
	
	d.body.appendChild(sh);	
	d.sh = sh;
}

function toggle_selects() {
	
	if (!/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) return (false);
	
	var itms = d.getElementsByTagName('select');
	
	for (var i=0; o = itms[i]; i++) {
		o.flag = (o.flag) ? false : true;
		o.style.visibility = (o.flag) ? "hidden" : "";
	}
}

function add_node(n, opts, to) {
	var o = d.createElement(n);
	
	for (var i in opts) {
		if (i == 'style') {
			for (var j in opts[i]) o.style[j] = opts[i][j];
		} else {
			o[i] = opts[i];	
		}
	}
	
	if (to) to.appendChild(o);
	return o;
}

function create_gallery(itms, j) {
	
	if (typeof(itms) == 'string') itms = d.getElementById(itms);
	
	var o = add_node('div', {className:'popup', attached:false});
	
	o.cl = add_node('a', {innerHTML:'X', className:'close', href:"#", onclick:function() {this.parentNode.hide();	
		return (false);}, title:'Закрыть'}, o);
	
	o.hold = add_node('div',{className:'hold'}, o);	
	
	if (j) o.hold.style.height = j+'px';
	
	o.i = add_node('img', {className:'i'}, o.hold);
	
	o.itms = add_node('div', {className:'itms', _p:o}, o);
	
	var tmp = itms.getElementsByTagName('a');
		
	for (var i = 0; itm_src = tmp[i]; i++) {
		
		itm_src.i = i;
		itm_src.popup = o;
		itm_src.onclick = function() {
			if (!this.popup.attached) this.parentNode.parentNode.appendChild(this.popup);
			this.popup.show(this.i);
			return (false);
		}
		
		itm_src.popup = o;		
		
		var o2 = add_node('a', {_p:o.itms, href:"#", i:add_node('img', {src:itm_src.firstChild.src}), i2:new Image(),
			show:function() {
				this._p._p.i.src = this.i2.src;			
				this._p.s.className = '';
				this._p.s = this;
				this.className = 's';},
			onclick:function() {		
				this.show();
				return (false);
			}}, o.itms);
		
		o2.appendChild(o2.i);
		o2.i2.src = itm_src.href;
	}
	
	o.itms.s = o.itms.childNodes[j] || o.itms.firstChild;
	o.itms.s.show();
	
	o.show = function(i) {		
		if (!d.sh) create_sh();		
		this.style.display = d.sh.style.display = 'block';	
		
		d.sh.caller = this;
		
		d.sh.style.height  = d.documentElement.scrollHeight+'px';
		this.itms.childNodes[i].show();
		this.set_pos();
		
		toggle_selects();
	}
	
	o.hide = function() {
		this.style.display = d.sh.style.display = 'none';
		toggle_selects();
	}
	
	o.set_pos = function() {
		var o = this;
		o.style.left   = ((d.documentElement.offsetWidth - parseInt(o.offsetWidth)) / 2) + 'px';
		var toppos = (d.documentElement.clientHeight/2 + d.documentElement.scrollTop - o.offsetHeight/2);
		if (toppos < 0) toppos = 0; 
		o.style.top =  toppos + 'px';
	}
}

