/* general ajax functions */
function ajaxGetContent(url,toId,customCallback) {
	if (customCallback === undefined) { customCallback = "void(0)"; }
	Ext.Ajax.request({
		waitMsg: 'Töltés...',
		url: url,
		callback: function (options,success,response) {
			Ext.getDom(toId).innerHTML = response.responseText;
			setTimeout(customCallback,0);
		},
		failure: function(response,options) {
			alert('fail');
		}
	});	
}


/* floating box functions */
/*
 1 - cursor = nyíl balra
 2 - cursor = nyíl jobbra
 3 - cursor = nyíl fenn
 4 - cursor = nyíl lenn
*/
function floatingBoxMouseX(evt) {if (!evt) evt = window.event; if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;}
function floatingBoxMouseY(evt) {if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}

var floatingBoxMode = 0;

function floatingBoxTrack(evt) { 
	var extdiv = Ext.get("floatingBox");
	var currentdiv = extdiv.dom;
	var posX = floatingBoxMouseX(evt);
	var posY = floatingBoxMouseY(evt);
	
	if (floatingBoxMode < 1 || floatingBoxMode > 4) floatingBoxMode = 1;
	
	// alaphelyzet
	currentdiv.style.left = "auto"; currentdiv.style.right = "auto";
	currentdiv.style.top = "auto"; currentdiv.style.bottom = "auto";
	
	// elhelyezés
	extdiv.removeClass("floatingBoxLeftArrow");
	extdiv.removeClass("floatingBoxRightArrow"); 
	extdiv.removeClass("floatingBoxTopArrow"); 
	extdiv.removeClass("floatingBoxBottomArrow"); 
	
	if (floatingBoxMode == 1) {	// left arrow
		currentdiv.style.left = (posX+10)+'px';
		currentdiv.style.top = (posY-10)+'px';
		extdiv.addClass("floatingBoxLeftArrow");
	} else if (floatingBoxMode == 2) { // right arrow
		currentdiv.style.left = (posX-extdiv.getWidth()-10)+'px';
		currentdiv.style.top = (posY-10)+'px';
		extdiv.addClass("floatingBoxRightArrow");
	} else if (floatingBoxMode == 3) { // top arrow
		currentdiv.style.left = (posX-10)+'px';
		currentdiv.style.top = (posY+10)+'px';
		extdiv.addClass("floatingBoxTopArrow");
	} else if (floatingBoxMode == 4) { // bottom arrow
		currentdiv.style.left = (posX-10)+'px';
		currentdiv.style.top = (posY-extdiv.getHeight()-10)+'px';
		extdiv.addClass("floatingBoxBottomArrow");
	}
	
}

function floatingBoxShow(text,mode) {
	Ext.getDom("floatingBoxContent").innerHTML = text;
	Ext.getDom("floatingBox").style.display = "block";
	document.onmousemove = floatingBoxTrack;
	floatingBoxMode = mode;
}

function floatingBoxHide(text) {
	Ext.getDom("floatingBoxContent").innerHTML = "";
	Ext.getDom("floatingBox").style.display = "none";
	document.onmousemove = "";
}

// text preloads - delete and restore
preloads = new Array();
function delPreload(obj) {
	if (typeof(preloads[obj.name]) != "string") {
		preloads[obj.name] = obj.value;
		obj.style.color = "#000000";
		obj.value = "";
	}
}

function restorePreload(obj) {
	if (obj.value == "") {
		obj.value = preloads[obj.name];
		obj.style.color = "#888888";
		preloads[obj.name] = false;
	}
}
