var gCurrform;
var gHtmlform;
var gSrcfield;
var gDestform;
var gDestfield;
var gRefresh;
var mouseX;
var mouseY;


function setChanged(formname, cnt) {
	what = "RECSTAT:"+formname+":"+cnt;

	if (document.getElementById) {
		actitem = document.getElementById(what);
	} else {
		actitem = document.all[what];
	}
	actitem.value = 1;
}

function store_mouse_pos(e) {
	mouseX = e.clientX;
	mouseY = e.clientY;
}

function showitem (what) {
	if (document.getElementById) {
		actitem = document.getElementById(what);
	} else {
		actitem = document.all[what];
	}
	if (actitem.innerHTML) {

		actitem.style.visibility = "visible";
		actitem.style.top = mouseY+20+"px";
		actitem.style.left = mouseX-100+"px";
	}
}

function hideitem (what) {
	if (document.getElementById) {
		actitem = document.getElementById(what);
	} else {
		actitem = document.all[what];
	}
	actitem.style.visibility = "hidden";
}



function showURL (dest, popup, width, refresh, param) {
	var url = dest;
	var wdt;

	if (width) {
		wdt = width;
	} else {
		wdt = 1000;
	}

	if (popup) {
		if (param) {
			popupWin = window.open (url, popup, param);
		} else {
			popupWin = window.open (url, popup, "width="+wdt+",status=0,menubar=no,location=no,resizable=1,scrollbars=1,height=800");
		}
		popupWin.focus();
	} else {
		popupWin = window.open (url);
		popupWin.focus();
//		window.location.href = url;
	}

	if (refresh) {
		location.reload();
		if (opener) {
			opener.location.reload();
		}
	}

}

function editor (form, item) {
	txt = document.forms[form].elements[item].value;
	eWin = window.open ("webfox/editor.php?form="+form+"&item="+item, "Editor", "screenX=100,screenY=100,width=800,status=0,menubar=0,resizable=1,scrollbars=1");
	eWin.focus();
}

function showSQL( originalRequest ) {

	if (gRefresh) {
		location.reload();
		if (opener) {
			opener.location.reload();
		}
	}

	var d  = originalRequest.responseText;
	var php = new PHP_Serializer();
	var a = php.unserialize(d);

	switch (document.forms[gDestform].elements[gDestfield].type) {
		case "text":
		 	document.forms[gDestform].elements[gDestfield].value = a[0][gSrcfield];
			break;

		case "textarea":
		 	document.forms[gDestform].elements[gDestfield].innerHTML = a[0][gSrcfield];
			break;

		case "select-one":
		case "select-multiple":
			for (var i = 0; i < a.length; i++) {
				b = a[i];
				document.forms[gDestform].elements[gDestfield].options[document.forms[gDestform].elements[gDestfield].length] = new Option (b[gSrcfield], b["id"], false, true);
			}
			document.forms[gDestform].elements[gDestfield].selectedIndex = 0;
  			break;

	}
}


function execSQL (func, form, src, destform, destfield, cnt, dorefresh) {

	var param;

	gCurrform = form;
	gForm = form;
	gSrcfield = src;
	gDestform = destform;
	gDestfield = destfield;
	gRefresh = dorefresh;

//document.forms[gDestform].elements["dat"].value = document.forms[gDestform].elements["lst"].selectedIndex; "X: " + Form.serializeElements($(gDestform).getElements() );

	setChanged("__"+form, cnt);
    	if (document.forms[gDestform].elements[gDestfield]) {
		switch (document.forms[gDestform].elements[gDestfield].type) {
			case "text":
				document.forms[gDestform].elements[gDestfield].value = null;
				break;

			case "textarea":
			 	document.forms[gDestform].elements[gDestfield].innerHTML = null;
				break;

			case "select-one":
			case "select-multiple":
				while (document.forms[gDestform].elements[gDestfield].length > 0)
					document.forms[gDestform].elements[gDestfield].options[document.forms[gDestform].elements[gDestfield].length-1] = null;
				break;

		}
	}

	for (var i = 0; i < document.forms[gDestform].elements.length; i++) {
		actfield = document.forms[gDestform].elements[i].name;
		if (actfield.substr(actfield.lastIndexOf(":")+1) == cnt) {
			param = param + "&" + actfield + "=" + document.forms[gDestform].elements[i].value;
		}
	}

	param = param + "&cnt="+ cnt;

// 	window.alert ("index.php?form="+gForm+"&action=sql:"+func);
//	window.alert (param);

 	var myAjax = new Ajax.Request(
 		"index.php?form="+gForm+"&action=sql:"+func,
 		{
 			method: 'post',
 			parameters: param,
 			onComplete: showSQL
 		}
 	);


}

function showPHP( originalRequest ) {
	var d  = originalRequest.responseText;
 	document.forms[gDestform].elements[gDestfield].value = d;
}


function execPHP (func, form, src, destform, destfield) {

	gCurrform = form;
	gForm = form;
	gSrcfield = src;
	gDestform = destform;
	gDestfield = destfield;

	document.forms[gForm].elements[gDestfield].value = "";

 	var myAjax = new Ajax.Request(
 		"index.php?form="+form+"&action=php:"+func,
 		{
 			method: 'post',
 			parameters: Form.serializeElements($(htmlform).getElements() ),
 			onComplete: showPHP
 		}
 	);

}

document.onmousemove =	store_mouse_pos;

