var req;
var _buttonId;
var _panelId;

var ADD_MORE_CALLED = "";

function addMoreButtonClicked(button_name){
ADD_MORE_CALLED = button_name;
}

function addMoreCalled(){
if (document.getElementById("wizard_form:" + ADD_MORE_CALLED))
	document.getElementById("wizard_form:" + ADD_MORE_CALLED).value = ADD_MORE_CALLED;
}

function clearAddMore(){
if (ADD_MORE_CALLED!="")
	document.getElementById("wizard_form:" + ADD_MORE_CALLED).value = "";
ADD_MORE_CALLED = "";
}    

//initialize the XMLHttpRequest object
if (window.XMLHttpRequest)
 {
	req = new XMLHttpRequest();
 }
 else if (window.ActiveXObject) 
{
	req = new ActiveXObject("Microsoft.XMLHTTP");
}


function addMoreInAjax(context, buttonId, panelId, tableId, itemName, vars){
	
	//if not ready, abort the previous request
	if (req.readyState != 0) {
		req.abort();
	} 
	
	_buttonId =buttonId;
	_panelId = panelId;
	
	//servlet url, pass the search key
	var url = context + "/AddMore?itemName=" + itemName + "&vars=" + vars;
	var i = 0;
	var varArr = vars.split(",");
	
	var id = "";
	for (j=0; j<varArr.length; j++)
	{
		i = 0;
		id = tableId + '_' + i + ':' + varArr[j];
		while($(id)!=null)
		{
			url = url + "&" + varArr[j] + i + "=" + $(id).value;
			i++;	
			id = tableId + '_' + i + ':' + varArr[j];	
		}	 
	}
	
	url = url + "&count=" + i;
	
	//send request to the server
	
	if (req != null) {
		//disabble add more button while seubmitting
		document.getElementById(_buttonId).disabled = true;
		
	    req.open("GET", url, true);
	    req.onreadystatechange = processAddMoreResponse;
	    req.send(null);
	}

}

function processAddMoreResponse() 
{
	if (req.readyState == 4)
	{
		//process only if OK
        if (req.status == 200)	
        {	
			var status = req.responseText;
   			if(status.indexOf('done') > -1){    
	   			ig.smartSubmit(_buttonId,null,null,_buttonId + ',' + _panelId ,null);
				//enable add more button
				document.getElementById(_buttonId).disabled = false;
			}else{
				alert(status);
				//enable add more button
				document.getElementById(_buttonId).disabled = false;
			}
		}else{
			alert('failed to add more');
			//enable add more button
			document.getElementById(_buttonId).disabled = false;
		}
	}
}
