function getFormValues(formName)
{
    if (!document.getElementById(formName)) return false;
    
	var form = document.getElementById(formName);
	var formValues = {};
	for(i = 0; i < form.elements.length; i++)
	{
		if(form.elements[i].id != "")
		{
			if(form.elements[i].type == "checkbox" || form.elements[i].type == "radio")
			{
			    if (form.elements[i].id.indexOf('[]') == form.elements[i].id.length - 2)
				{
				  var name = form.elements[i].id.substr(0, form.elements[i].id.length - 2);
				  if (!(formValues[name]) || (formValues[name] == null) || (formValues[name] == 'undefined'))
				  {
				    formValues[name] = new Array();
				  }
				  if (form.elements[i].checked)
				  {
				    formValues[name].push(form.elements[i].value);
				  }
				}
				else
				{
				  formValues[form.elements[i].id] = form.elements[i].checked;
				}				
			}
			else 
			{			   
				formValues[form.elements[i].id] = form.elements[i].value;
			}
		}
	}
	return formValues;
}

function ajaxCallJSON(functionPath, data)
{
	if(data == undefined)
	{
		data = null;
	}
	$.post("index.php?ajaxCall=" + functionPath, {data : $.toJSON(data)}, 
			function(xml)
			{
				//alert(xml);
		      $(xml).find('response').each(function(){
			  $(this).children().each(function(){
				//alert('Item: ' + this.nodeName);
				if(this.nodeName == "assign")
				{								
					var id = $(this).attr('to');
					var prop = $(this).attr("property");
					var value = $(this).text();
					$("#" + id).attr(prop, value);
					$("#" + id).find('script').each(function() {
						//alert('Evaluating: ' + $(this).html());
						eval($(this).html());
					});
				}
				else if(this.nodeName == "append")
				{
					var id = $(this).attr("to");
					var prop = $(this).attr("property");
					var value = $(this).text();
					$("#" + id).append(value);
				}
				else if(this.nodeName == "script" || this.nodeName == "SCRIPT")
				{
					eval($(this).text());
				}
				else if(this.nodeName == "timeout")
				{
					var wait = $(this).attr("wait");
					var value = $(this).text();
					setTimeout(value, wait);
				}
		      });
			});
		    /*
				if($(xml).get(0).firstChild.nodeName == "response")
				{
					//alert('Response');
					var response = $(xml).get(0).firstChild;
					var nodes = response.childNodes;
					for(var i=0; i < nodes.length; i++)
					{
						var node = nodes[i];
						if(node.nodeName == "assign")
						{
							var id = node.attributes.getNamedItem("to").textContent;
							var prop = node.attributes.getNamedItem("property").textContent;
							var value = node.textContent;
							$("#" + id).attr(prop, value);
							$("#" + id + " script").each(function()
									{
										eval($(this).attr("innerHTML"));
									});
						}
						else if(node.nodeName == "append")
						{
							var id = node.attributes.getNamedItem("to").textContent;
							var prop = node.attributes.getNamedItem("property").textContent;
							var value = node.textContent;
							$("#" + id).append(value);
						}
						else if(node.nodeName == "script")
						{
							eval(node.textContent);
						}
						else if(node.nodeName == "timeout")
						{
							var wait = node.attributes.getNamedItem("wait").textContent;
							var value = node.textContent;
							setTimeout(value, wait);
						}
					}
				}*/
				
				/*$(xml).find("assign").each(function()
						{
							var id = $(this).attr("to");
							var prop = $(this).attr("property");
							var value = $(this).text();
							$("#" + id).attr(prop, value);
							
							alert(id);
							alert(prop);
							alert(value);
							
							/*var script = $("#" + id + " script").text();
							if(script != undefined && script != null)
							{
								eval(script);
							}*/
							//var div = $("script", $(this)).text();
							/*
						});
				$(xml).find("append").each(function()
						{
							var id = $(this).attr("to");
							var prop = $(this).attr("property");
							var value = $(this).text();
							$("#" + id).append(value);
						});
				$(xml).find("script").each(function()
						{
							eval($(this).text());
						});
				$(xml).find("timeout").each(function()
						{
							var wait = $(this).attr("wait");
							var value = $(this).text();
							setTimeout(value, wait);
						});*/
			});
	
}
