var Q={};
var S=location.search.substr(1).split('&');
var LEFT=0, RIGHT=0;
var ITEMS=[], FOCUS=0;
var OLD="";
var MEM="";
var TEXT="ÊÓÁÀÍÑÊÀß ÑÏÐÀÂÎ×ÍÀß ÏÎ ÒÎÂÀÐÀÌ È ÓÑËÓÃÀÌ";

for(var i=0; i<S.length; i++) {
	var a=S[i].split('=');
	Q[a[0]]=a[1];
}

function onCmdPromptLoad(evt) {
	$($.browser.msie ? "form .find" : "#input").after($("<div id=prompt/>"));
	$("#input")																.
		keypress(onCmdPromptKeypress)										.
		keyup(onCmdPromptChange)											.
		blur(onCmdPromptHide)												.
		focus(onCmdPromptShow)												.
		blur()																.
		focus()																.
		select()															.
		attr("autocomplete", "off")											.
		css("top", "px");

	if($.browser.msie)
		$("#input").keyup(onCmdPromptKeypress);
}

function onCmdPromptChange(evt) {
	this.val=$("#input").attr("value");
	if(this.val!=OLD && $("#input").attr("change")=="true")
		$.get(
			"/data/autocomplete", {
				s:(OLD=this.val),
				r:Math.random()
			},
			onCmdPromptChangeLoad
		);
	onCmdKeyUpCursor(evt);
}

function onCmdPromptKeypress(evt) {
	this.old=FOCUS;
	this.ok=false;
	switch(evt.keyCode) {
		case 27: // esc
			this.ok=false;
			$("#input").attr("value", OLD);
			break;
		case 40: //down
			if(FOCUS<ITEMS.length-1) {
				this.old=FOCUS;
				FOCUS++;
			}
			this.ok=true;
			break;
		case 38: //up
			if(FOCUS>0) {
				this.old=FOCUS;
				FOCUS--;
			}
			this.ok=true;
			break;
/*
		case 39: //left
			if(ITEMS.length) {
				$("#input").attr("value", $(ITEMS[FOCUS]).text());
				onCmdKeyUpCursor(evt);
			}
			break;
*/
	}
	if(this.ok && ITEMS.length) {
		$("#input").attr("value", $(ITEMS[FOCUS]).text());
		$("#input").attr("change", "false");
	} else
		$("#input").attr("change", "true");

	return new onCmdPromptFocusItem(this.old, FOCUS);
}

function onCmdPromptFocusItem(Old, New) {
	if(Old!=New) {
		$(ITEMS[Old]).addClass("release").removeClass("focus");
		$(ITEMS[New]).addClass("focus").removeClass("release");
	}
	return true;
}

function onCmdPromptChangeLoad(req) {
	try {
			try {
				this.x=document.createElement("x");
				this.x.innerHTML=req;
			} catch(error) {
			}
		if($("#input").attr("value").toUpperCase()!=this.x.getElementsByTagName("query")[0].getAttribute("value"))
			return false;
		ITEMS=[];
		FOCUS=0;
		this.items=$(req).find("query, item");
		this.cont=$("#prompt").empty();
		this.pos=$("#input").position();
		this.cont.
			css("left", this.pos.left+"px").
			css("top" , (this.pos.top+$("#input").outerHeight())+"px").
			css("z-index", 1e4);

		for(this.i=0; this.i<this.items.length; this.i++)
			ITEMS.push(
				$("<span/>").
						css("display", this.i ? "block" : "none").
						attr("pos", this.i).
						addClass(this.i ? "release" : "focus").
						addClass("item").
						text(this.items[this.i].getAttribute("value")).
						appendTo(this.cont).
						mouseenter(
							function(evt) {
								$(evt.currentTarget).addClass("focus").removeClass("release");
								onCmdPromptFocusItem(FOCUS, evt.currentTarget.getAttribute("pos"));
								FOCUS=evt.currentTarget.getAttribute("pos");
							}
						).
						mouseleave(
							function(evt) {
								$(evt.currentTarget).removeClass("focus").addClass("release");
								onCmdPromptFocusItem(FOCUS, evt.currentTarget.getAttribute("pos"));
								FOCUS=evt.currentTarget.getAttribute("pos");
							}
						).
						mousedown(
							function(evt) {
								$("#input").attr("value", $(ITEMS[FOCUS]).text());
								onCmdPromptChange(evt);
							}
						)
			);
		return onCmdPromptShow();
	} catch(error) {
		return null;
	}
}

function onCmdPromptShow(evt) {
	$("#prompt")[$("#prompt").find("*").length>0 ? "show" : "hide"]("fast");
	return true;
}

function onCmdPromptHide(evt) {
	$("#prompt").hide("fast");
	return true;
}

function Otkroysya(objid) {
	with($("#"+objid))
		css("display", css("display")=="none" ? "block" : "none");
	return true;
}

function onCmdImageOver(evt, bool) {
	this.cf=bool?1.5:1/1.5;
	with(evt.target) {
		width*=this.cf;
		height*=this.cf;
	}
	return true;
}

function onCmdDefaultPageLoad(evt) {
/*
	$(".photo_tovar").
		mouseenter(function(evt) {return onCmdImageOver(evt, true);}).
		mouseleave(function(evt) {return onCmdImageOver(evt, false);});
*/
	$(".photo_tovar_div").
		
		css("vertical-align", "bottom");
	return true;
}


function onCmdKeyUpCursor(evt) {
	try {
		with(document) {
			this.header=getElementById("header");

			while(this.header.childNodes.length>0)
				this.header.removeChild(this.header.firstChild);

			this.input=getElementById("input");
			this.color=createElement("span");
			this.normal=createElement("span");
			this.cont=createElement("span");
			this.space=createElement("span");
			this.cursor=createElement("img");
			this.val=this.input.value;
			this.len=this.val.length;
			this.space.innerHTML="&nbsp;";
			this.cursor.src="/img/cursor.gif";

			this.str1=TEXT.substring(0, this.len);
			this.str2=TEXT.substring(this.len);

			this.color.appendChild(document.createTextNode(this.str1));
			this.normal.appendChild(document.createTextNode(this.str2));

			this.color.className="color";
			this.normal.className="normal";
			this.cont.className="cont";

			this.cont.appendChild(this.cursor);

			this.header.appendChild(this.normal);
			this.header.appendChild(this.cont);

			if(this.str2.substr(0, 1)==" " || this.str1.substring(this.str1.length-1)==" ")
				this.header.appendChild(this.space);

			this.header.appendChild(this.color);
		}
	} catch(error) {
		return false;
	}
	return true;
}