// JavaScript Document
function formSubmit()
{
		
	this.formSubmitInit = function()
	{
		// diable forms submit
		$("form").each(function(){
			$(this).submit(function(){								
				return false;
			});								
		});
		
		// enable submit on enter input filed
		$("form input").each(function(){
			$(this).bind("keypress", function(e){
				if(e.which==13) 
				{
					var fs = new formSubmit;
					fs.submitForm($(this).parents("form:eq(0)"));
				}
			});									  
		});
		
		// enable submit on submit button
		$("form .submit").each(function(){
			$(this).bind("click", function(){
				var fs = new formSubmit;
				fs.submitForm($(this).parents("form:eq(0)"));						
			});										
		});	
		
		//ob fokusu skrijemo napake
		$("form input, form textarea").focus(function(){
			$("form .err").fadeOut();													  
		});
	}
	
	
	// generalno za submitanje formov
	this.submitForm = function(formElement)
	{
		// form: action = callback, name = url
		
		var callbacks = formElement.attr("action").trim().split(",");		
		var urlAndGlobals = formElement.attr("name").split(",");
		var url = eval("links." + urlAndGlobals[0]);
		var postParams = new Object;
		var inputElements = formElement.find("input, textarea");
		var j = 0;
		var inputObj;
		var inputName;
		var inputValue;		
		var callback;
		
		
		// pripravimo parametre za post
		for(j=0; j<inputElements.length; j++)
		{
			inputObj =inputElements.eq(j);
			inputName = inputObj.attr("name");
			inputValue = inputObj.val();
			postParams[inputName] = inputValue;
		}
		len = formElement.find("input").textarea;
		for(j=0; j<len; j++)
		{
			inputObj = formElement.find("textarea:eq(" + j + ")");
			inputName = inputObj.attr("name");
			inputValue = inputObj.val();
			postParams[inputName] = inputValue;
		}				
		for(j=1; j< urlAndGlobals.length; j++)
		{
			postParams[urlAndGlobals[j]] = eval(urlAndGlobals[j]);
		}
		
		
		// izvedemo
		if(callbacks.length>0)
		{
			for(j=0; j<callbacks.length; j++)
			{
				callback = callbacks[j].split(".");
				if(callback[0]=="ajax")
				{
					objName = callback[1];
					methodName = callback[2];		
					$.post(url, postParams, eval("var cb = new " + objName + "; cb." + methodName), "json");				
				}
				else
				{
					objName = callback[0];
					methodName = callback[1];								
					eval("var cb = new " + objName + "; cb." + methodName + "(url, postParams, formElement);");				
				}
				
			}
		}
		
	}
	
}