/*
* (C) Copyright 2006 CCCCorp. All rights reserved.
* Use is subject to license terms.
*/

/**
* Ajax library
*
* @author Juciano Araujo
* @version 0.1
*/

function xmlHttpObject() {
	var xmlobj;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlobj = new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			xmlobj = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e)	{
				return false;
			}
		}
	}
	return xmlobj;
}

function showOverlayAjax(elem) {

	var o1 = xGetElementById('overlayAjax'+elem);
	var o2 = xGetElementById('overlayAjaxContent'+elem);

	if(!(o1 && o2)) {

		var objBody = document.getElementsByTagName("body").item(0);

		var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','overlayAjax'+elem);
		objOverlay.style.display = 'none';
		objOverlay.style.position = 'absolute';
		objOverlay.style.background = '#000';
		objOverlay.style.zIndex = '90';
		objBody.appendChild(objOverlay);

		var objOverlayContent = document.createElement("div");
		objOverlayContent.setAttribute('id','overlayAjaxContent'+elem);
		objOverlayContent.style.display = 'none';
		objOverlayContent.style.position = 'absolute';
		objOverlayContent.style.zIndex = '100';
		objOverlayContent.innerHTML = '<table width="100%" height="100%"><tr><td align="center"><img src="/_resources/media/img/ajax-loader.gif" width="16" height="16" alt="" title="" /></td></tr></table>';
		objBody.appendChild(objOverlayContent);
	}

	Element.setWidth('overlayAjax'+elem, Element.getWidth(elem));
	Element.setHeight('overlayAjax'+elem, Element.getHeight(elem));
	Element.setTop('overlayAjax'+elem, xPageY(elem));
	Element.setLeft('overlayAjax'+elem, xPageX(elem));

	Element.setWidth('overlayAjaxContent'+elem, Element.getWidth(elem));
	Element.setHeight('overlayAjaxContent'+elem, Element.getHeight(elem));
	Element.setTop('overlayAjaxContent'+elem, xPageY(elem));
	Element.setLeft('overlayAjaxContent'+elem, xPageX(elem));

	new Effect.Appear('overlayAjax'+elem, { duration: 0.5, from: 0.0, to: 0.5 });
	new Effect.Appear('overlayAjaxContent'+elem, { duration: 0.5, from: 0.0, to: 1.0 })
}

function hideOverlayAjax(elem) {
	xNoDisplay('overlayAjaxContent'+elem);
	xNoDisplay('overlayAjax'+elem);
}

function getFormFields(obj) {
	var getstr = "?";
	for (i=0; i<obj.childNodes.length; i++) {
		if (obj.childNodes[i].tagName == "INPUT") {
			if (obj.childNodes[i].type == "text") {
				getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
			}
			if (obj.childNodes[i].type == "checkbox") {
				if (obj.childNodes[i].checked) {
					getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
				} else {
					getstr += obj.childNodes[i].name + "=&";
				}
			}
			if (obj.childNodes[i].type == "radio") {
				if (obj.childNodes[i].checked) {
					getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
				}
			}
		}
		if (obj.childNodes[i].tagName == "SELECT") {
			var sel = obj.childNodes[i];
			getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
	}	
	return getstr;
}
