function open_node(img, id)
{
	var div = document.getElementById(id);
	var folder = document.getElementById('folder' + id);
	if (div.className == 'display_true')
	{
		div.className = 'display_false';
		
		folder.src = '/image/tree/folder.gif';
        if (img.src.indexOf('/image/tree/minus.gif') != -1)
		{
			img.src = '/image/tree/plus.gif';
        }
		if (img.src.indexOf('/image/tree/minusbottom.gif') != -1)
		{
			img.src = '/image/tree/plusbottom.gif';
        }
	}
	else
	{
		div.className = 'display_true';
		
		folder.src = '/image/tree/folderopen.gif';
        if (img.src.indexOf('/image/tree/plus.gif') != -1)
		{
			img.src = '/image/tree/minus.gif';
        }
		if (img.src.indexOf('/image/tree/plusbottom.gif') != -1)
		{
			img.src = '/image/tree/minusbottom.gif';
        }
	}
}

function clearfield(obj, default_value)
{
	if (obj.value == default_value)
	{
		obj.value = '';
		obj.style.color = '#000000';
	}
}

function changeimg(obj, img)
{
	obj.src = '/image/'+img;
}

function open_sections(id, status)
{
	document.getElementById(id).className = 'display_' + status;
}

function compare_items()
{
	var ids = '';
	var checked = false;
	for (i = 0; i < document.compare.item_code.length; i++)
	{
		if (document.compare.item_code[i].checked)
		{
			ids += document.compare.item_code[i].value + ',';
			checked = true;
		}
	}
	ids = ids.substring(0, ids.length - 1);
	if (document.compare.item_code.checked)
	{
		ids = document.compare.item_code.value;
		checked = true;
	}
	if (checked == false)
	{
		alert('Выберите товары для сравнения');
	}
	else
	{
		window.open('/compare/' + ids + '/');
	}
}

function order_by(name, type)
{
	document.filter.order_name.value = name;
	document.filter.order_type.value = type;
	document.filter.submit();
}

function decrease(item_id)
{
	var obj = document.getElementById(item_id);
	if (obj.value > 0)
	{
		obj.value--;
	}
}

function increase(item_id)
{
	document.getElementById(item_id).value++;
}

function check_length(id)
{
	var value = trim(document.getElementById(id).value);
	if (value.length < 3 || value == 'Поиск по названию товара')
	{
		alert('Длина запроса должна быть не менее 3 символов!');
		return false;
	}
	else
	{
		return true;
	}
}

function trim(str)
{
	var str = str.replace(/^\s+/, '');
	str = str.replace(/\s+$/, '');
	
	return str;
}

function big_image(width, height, object)
{
	object.style.position = 'absolute';
	object.style.width = width;
	object.style.height = height;
	object.style.border = '2px solid #a7a7a7';
	object.style.backgroundColor = '#ffffff';
}

function small_image(width, height, object)
{
	object.style.position = '';
	object.style.width = width;
	object.style.height = height;
	object.style.border = '';
	object.style.backgroundColor = '';
}

function basket_count(obj, id, price)
{
	document.getElementById('item'+id).href = '/basket/add/?item_id=' + id + '&price=' + price + '&count=' + obj.value;
}

function select_value(select)
{
	if (select.selectedIndex != -1)
	{
		return select.options[select.selectedIndex].value;
	}
	else
	{
		return 0;
	}
}

function submit_form(select, action)
{
	var form = document.getElementById(action);
	var id = select_value(select);
	
	if (id != '0')
	{
		if (id != '')
		{
			form.action = '/' +action+ '/' + id + '/';
		}
		else
		{
			form.action = '/' +action+ '/';
		}
		
		form.submit();
	}
}

function change_maincategory()
{
	var form = document.getElementById('advsearch');
	
	form.action = '/advsearch/';
	form.submit();
}

function basket_return()
{
	var form = document.getElementById('submit_form');
	
	form.action = '/basket/';
	form.submit();
}

function show_data()
{
	document.getElementById('data').style.visibility = '';
}

function count_item(item_id, add_type, nocount)
{
	var count_item = document.getElementById('count_item' + item_id);
	var input_item_count = parseInt(document.getElementById('input_item' + item_id).value);
	var count = 0;
	var display = '';
	
	if (input_item_count == 0)
	{
		display = 'none';
	}
	else
	{
		if (count_item.innerHTML != '')
		{
			count = parseInt(count_item.innerHTML);
		}
		
		if (add_type != 1)
		{
			count += input_item_count;
		}
		else
		{
			count = input_item_count;
		}
	}
	
	if (nocount == 1 && add_type == 1)
	{
		count = 1;
	}
	
	document.getElementById('basket_count_item' + item_id).style.display = display;
	
	count_item.innerHTML = count;
}

function display_callback(display)
{
	document.getElementById('dark').style.display = display;
	document.getElementById('callback').style.display = display;
}

function close_message(expires)
{
	document.getElementById('message').style.display = 'none';
	date = new Date(expires * 1000);
	document.cookie = 'close_message=1' + (expires ? '; expires=' + date.toUTCString() : '');
}

function date ( format ) {

	var a, jsdate = new Date();
	var pad = function(n, c){
		if( (n = n + "").length < c ) {
			return new Array(++c - n.length).join("0") + n;
		} else {
			return n;
		}
	};
	var txt_weekdays = ["Sunday","Monday","Tuesday","Wednesday",
		"Thursday","Friday","Saturday"];
	var txt_ordin = {1:"st",2:"nd",3:"rd",21:"st",22:"nd",23:"rd",31:"st"};
	var txt_months =  ["", "Января", "Февраля", "Марта", "Апреля",
		"Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября",
		"Декабря"];

	var f = {
			d: function(){
				return pad(f.j(), 2);
			},
			D: function(){
				t = f.l(); return t.substr(0,3);
			},
			j: function(){
				return jsdate.getDate();
			},
			l: function(){
				return txt_weekdays[f.w()];
			},
			N: function(){
				return f.w() + 1;
			},
			S: function(){
				return txt_ordin[f.j()] ? txt_ordin[f.j()] : 'th';
			},
			w: function(){
				return jsdate.getDay();
			},
			z: function(){
				return (jsdate - new Date(jsdate.getFullYear() + "/1/1")) / 864e5 >> 0;
			},

			W: function(){
				var a = f.z(), b = 364 + f.L() - a;
				var nd2, nd = (new Date(jsdate.getFullYear() + "/1/1").getDay() || 7) - 1;

				if(b <= 2 && ((jsdate.getDay() || 7) - 1) <= 2 - b){
					return 1;
				} else{

					if(a <= 2 && nd >= 4 && a >= (6 - nd)){
						nd2 = new Date(jsdate.getFullYear() - 1 + "/12/31");
						return date("W", Math.round(nd2.getTime()/1000));
					} else{
						return (1 + (nd <= 3 ? ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 0);
					}
				}
			},

			F: function(){
				return txt_months[f.n()];
			},
			m: function(){
				return pad(f.n(), 2);
			},
			M: function(){
				t = f.F(); return t.substr(0,3);
			},
			n: function(){
				return jsdate.getMonth() + 1;
			},
			t: function(){
				var n;
				if( (n = jsdate.getMonth() + 1) == 2 ){
					return 28 + f.L();
				} else{
					if( n & 1 && n < 8 || !(n & 1) && n > 7 ){
						return 31;
					} else{
						return 30;
					}
				}
			},

			L: function(){
				var y = f.Y();
				return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0;
			},
			
			Y: function(){
				return jsdate.getFullYear();
			},
			y: function(){
				return (jsdate.getFullYear() + "").slice(2);
			},

			a: function(){
				return jsdate.getHours() > 11 ? "pm" : "am";
			},
			A: function(){
				return f.a().toUpperCase();
			},
			B: function(){
				var off = (jsdate.getTimezoneOffset() + 60)*60;
				var theSeconds = (jsdate.getHours() * 3600) +
								 (jsdate.getMinutes() * 60) +
								  jsdate.getSeconds() + off;
				var beat = Math.floor(theSeconds/86.4);
				if (beat > 1000) beat -= 1000;
				if (beat < 0) beat += 1000;
				if ((String(beat)).length == 1) beat = "00"+beat;
				if ((String(beat)).length == 2) beat = "0"+beat;
				return beat;
			},
			g: function(){
				return jsdate.getHours() % 12 || 12;
			},
			G: function(){
				return jsdate.getHours();
			},
			h: function(){
				return pad(f.g(), 2);
			},
			H: function(){
				return pad(jsdate.getHours(), 2);
			},
			i: function(){
				return pad(jsdate.getMinutes(), 2);
			},
			s: function(){
				return pad(jsdate.getSeconds(), 2);
			},
			
			O: function(){
			   var t = pad(Math.abs(jsdate.getTimezoneOffset()/60*100), 4);
			   if (jsdate.getTimezoneOffset() > 0) t = "-" + t; else t = "+" + t;
			   return t;
			},
			P: function(){
				var O = f.O();
				return (O.substr(0, 3) + ":" + O.substr(3, 2));
			},
			
			c: function(){
				return f.Y() + "-" + f.m() + "-" + f.d() + "T" + f.h() + ":" + f.i() + ":" + f.s() + f.P();
			},
			
			U: function(){
				return Math.round(jsdate.getTime()/1000);
			}
	};

	return format.replace(/[\\]?([a-zA-Z])/g, function(t, s){
		if( t!=s ){
			ret = s;
		} else if( f[s] ){
			ret = f[s]();
		} else{
			ret = s;
		}

		return ret;
	});
}
