var xmlHttp = GetXmlHttpObject();
var aOnSubmit = new Array(); 
var aTrueScript = "";
var aFalseScript = "";

function getPortlet(portletId)
{
	getPortlet(portletId, "");
}

function getPortlet(portletId, params)
{
	var url = "Portlet.aspx"; 
	url = url + "?_portlet="+ portletId;
	if(params!=""){
		url= url + "&" + params;
	}
	url= url + "&" + Math.random();
	
	xmlHttp.onreadystatechange=function(){
			if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
				//document.getElementById(portletId).innerHTML=xmlHttp.responseText; 
				//var x = xmlHttp.responseXML.documentElement.getElementsByTagName('portlet');
				document.getElementById(portletId).innerHTML = xmlHttp.responseXML.documentElement.getElementsByTagName('content')[0].firstChild.data;
	            var finish = xmlHttp.responseXML.documentElement.getElementsByTagName('finish')[0].firstChild.data;
	            if(finish && finish != '')
	            {
	                eval(finish);
	            }
	            var dialogID = xmlHttp.responseXML.documentElement.getElementsByTagName('dialogid')[0].firstChild.data;
	            if(dialogID && dialogID != '')
	            {
				    document.getElementById(dialogID).innerHTML = xmlHttp.responseXML.documentElement.getElementsByTagName('dialog')[0].firstChild.data;
	            }
			} 
		}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function postPortlet(portletId, params, form)
{
	var url = "Portlet.aspx"; 
	url = url + "?_portlet="+ portletId;
	if(params!=""){
		url= url + "&" + params;
	}
	url= url + "&" + Math.random();
	
	xmlHttp.onreadystatechange=function(){
			if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
				document.getElementById(portletId).innerHTML=xmlHttp.responseText; 
			} 
		}
	var parameters = buildFields(form);
	xmlHttp.open("POST", url, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      	xmlHttp.setRequestHeader("Content-length", parameters.length);
     	xmlHttp.send(parameters);
}

function GetXmlHttpObject()
{ 
	if(typeof window.XMLHttpRequest != "undefined") {
		return new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		var aVersions = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0",
		"MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp" ];
		for(var i=0; i<aVersions.length; i++){
			try{
				var oXmlHttp = new ActiveXObject(aVersions[i]);
				return oXmlHttp;
			} catch (oError) {
				//Do nothing
			}
		}
	}
}

function buildFields(obj)
{
	var getstr = "";
	for (i=0; i<obj.elements.length; i++) 
	{
		if (obj.elements[i].tagName == "INPUT") 
		{
			if (obj.elements[i].type == "text") 
			{
				getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
			} else if (obj.elements[i].type == "hidden") 
			{
				getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
			}
		} 
		if (obj.elements[i].tagName == "TEXTAREA") 
		{
			getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
		}
		getStr += "&";
	}
	return getstr;
}	

function clearSubmit(){
	aOnSubmit = new Array();
}

function addSubmit(text, code){
	if(code == '' || !code)
	{
		aOnSubmit[aOnSubmit.length] = text;
	}
	else if (code == 'true')
	{
		aTrueScript = text;
		
	}
	else if (code == 'false')
	{
		aFalseScript = text;
	}
}

function doSubmit(){
	var x ;
	for (i=0;i<aOnSubmit.length;i++){
		x = eval(aOnSubmit[i]);
		//alert(aOnSubmit[i] + "->" + x);	
		if(x == false){
			if(aFalseScript != '')
			{
				eval(aFalseScript);
			}
			return false;
		}
	}
	if(aTrueScript != '')
	{
		eval(aTrueScript);
	}
	return true;
}


