// this function handles the AJAX requests via YUI data manager calls

function $_ID(id){
	
	return document.getElementById(id);
	
}


function sndReq(pquery, pmethod, purl, pcallback) {

	if (!pmethod) pmethod = 'post';
	if (!purl) purl = 'rpc.php';

	pquery += '&r='+Math.round(9999999*Math.random());


	type=null;
	if (pmethod == 'GET'||pmethod=='get') {
		purl += '?'+pquery;
		pquery = null;
		pdata='';
	}else{
		pdata=pquery;
	}
	$.ajax({
		type: pmethod,
		url: purl,
		data: pdata,
		success: function(msg){
			
		    var response = msg;
			var update = new Array();
	
			if(response.indexOf('||' != -1)) {
	
				update = response.split('||');
	
				if (update[0] == "sEscaped") {
	
					$(update[1]).innerHTML = update[2];
	
				}else if(update[0] == "sUnescaped") {
					
					$(update[1]).innerHTML = unescape(update[2]);
					
				}else if (update[0] == "evalme") {
					
					eval(update[1]);
	
				}
	
				if(pcallback)pcallback(update[1]);
			}else{
			
				if(pcallback)pcallback(msg);
			}
		}
		
	 });
	 /*
	var cObj = new Request({"method": method, "url": url,"data":data,

		onSuccess:function(o) {

			var response = o;
			var update = new Array();

			if(response.indexOf('||' != -1)) {

				update = response.split('||');

				if (update[0] == "sEscaped") {

					$(update[1]).innerHTML = update[2];

				}else if(update[0] == "sUnescaped") {
					
					$(update[1]).innerHTML = unescape(update[2]);
					
				}else if (update[0] == "evalme") {
					
					eval(update[1]);

				}

				if(callback)callback(update[1]);
			}

		}

	}).send();
*/
}









function showhide(id, sh, type) {

	

	if (sh == 'hide') {

		disp = 'none';

	}

	else if (sh == 'show') {

		disp = 'inline';

	}else{

	    disp = 'block';	

	}

	

	

	if (disp) {

		$(id).style.display=disp;

	}

	

}







function getFormValues(fobj) {

	var str = "";

	var valueArr = null;

	var val = "";

	var cmd = "";

	for(var i = 0;i < fobj.elements.length;i++) {

		ename = fobj.elements[i].name;

		if (ename) {

			etype = fobj.elements[i].type;

			if (etype == "select-one") {

				str += ename + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";

			}

			if (etype == "select-multiple") {

				selected = new Array();

				for (var j = 0; j < fobj.elements[i].options.length; j++) {

					if (fobj.elements[i].options[j].selected) {

						str += ename + "=" + escape(fobj.elements[i].options[j].value) + "&";

					}

				}

			}

			else if (etype == "radio") {

				radioVal = getRadioValue(fobj.elements[i]);

				if (radioVal) {

					str += ename + "=" + radioVal + "&";

				}	

			}

			else if (etype == "checkbox") {

				if (fobj.elements[i].checked) {

					str += ename + "=" + escape(fobj.elements[i].value) + "&";

				}

			}

			else {

				str += ename + "=" + escape(fobj.elements[i].value) + "&";

			}

		}

	}

	str = str.substr(0,(str.length - 1));

	return str;

}



function getRadioValue(radioObj) {

	if(!radioObj)

		return "";

	var radioLength = radioObj.length;

	if(radioLength == undefined)

		if(radioObj.checked)

			return radioObj.value;

		else

			return "";

	for(var i = 0; i < radioLength; i++) {

		if(radioObj[i].checked) {

			return radioObj[i].value;

		}

	}

	return "";

}



function getIndex(what,which) {

    for (var i=0;i < what.elements.length;i++)

        if (what.elements[i].name == which)

            return i;

    return -1;

}



function checkUncheckAll(el) {

	var fo = el.form, i = 0;

	for(i = 0; i < fo.length; i++) {

		if(fo[i].type == 'checkbox' && fo[i].name != 'checkall') {

			fo[i].checked = el.checked;

		}

	}

}
