

FormSubmition	= new function()
{
	var FileUpload		= null;
	
	
	
	var CleanFields		= function( resetAll)
	{
		for ( var i=0; i<FormSubmition.fields.length; i++)
		{
			var field	= FormSubmition.fields[i];
			
			if	( jsRoger(field) )
			{
				if	( jsRoger(field).value )
				{
					jsRoger(field).value	= "";
				}
				else if	( jsRoger(field).nodeName == IMG )
				{
					jsRoger(field).src	= "img/blank.gif";
				}
			}
			
			
		}
	}
	var CheckMaxLength	= function()
	{
		var max				= this.maxLength	|| 1024;
		var oInput			= this;
		
		window.setTimeout
		(function(){

			var count		= (oInput.getValue?oInput.getValue():oInput.value).length;
			if ( count >= max )
			{
				if ( oInput.value )
				{
					oInput.value	= oInput.value.substring(0, max);
				}
				else
				{
					oInput.innerHTML	= oInput.innerHTML.substring(0, max);
				}
				count	= max;
			}
			
		}, 50);

	}
	
	var returnValue = 
	{
		Set:				function( form, pagina)
		{
			CleanFields( true);
			for ( var i=0; i<FormSubmition.fields.length; i++)
			{
				var field	= FormSubmition.fields[i];
				
				if	( jsRoger(field[0]) )
				{
					if	( field[2] )
					{
						jsRoger(field[0]).maxLength = field[2];
						jsRoger(field[0]).onkeyup	= CheckMaxLength;
					}
				}
			}
			
			if ( pagina )
			{
				for ( var i=0, options=pagina.options; i<options.length; i++)
				{
					if ( options[i] && options[i].innerHTML == pagina )
					{
						options[i].selected	= true;
						break;
					}
				}
				pagina.onchange();
			}
			else if	( jsRoger("pagina"))
			{
				jsRoger("pagina").options[0].selected	= true;
			}
		},
		Save:				function( form)
		{
			var everythingOkay	= true,
				url				= "";
			
			for ( var i=0; i<FormSubmition.fields.length; i++)
			{
				var field	= FormSubmition.fields[i];
				
				if ( jsRoger(field[0]) )
				{
					var nodeName	= jsRoger(field[0]).nodeName; 
					if ( field[1] && ("INPUTTEXTAREA".contains(nodeName)) && jsRoger(field[0]).value.length<field[1] )
					{
						alert( field[3]);
						jsRoger(field[0]).focus();
						return;
					}
					else if	( field[3] && field[3].indexOf("mail") > -1 && jsRoger(field[0]).value)
					{
						if	( !/^[a-z][\w\.]*@[\w\.]+\.[a-z]{2,3}/i.test( jsRoger(field[0]).value) )
						{
							alert( "O endereço de e-mail é inválido!");
							jsRoger(field[0]).focus();
							return;
						}
					}
					else if	( field[3] && nodeName ==  "SELECT" && jsRoger(field[0]).getOptionValue() < field[1])
					{
						alert( field[3]);
						return;
					}
					else if	( field[3] == "phone" && ( isNaN(jsRoger(field[0]).value.replace(/\-|\(|\)|\#|\.|\,|\;|\/|\\/g, '')) || jsRoger(field[0]).value.length<1) )
					{
						alert("Número de telefone inválido!");
						jsRoger(field[0]).focus();
						return false;
					}
					else if	( field[3] && field[3] == "text" )
					{
					}
					
					
					
					//set variants
					var value	= "";
					
					if	( jsRoger(field[0]).nodeName == IMG )
					{
						value	= jsRoger(field[0]).src;
					}
					else if	( jsRoger(field[0] +"_preview"))
					{
						value	= jsRoger(field[0] +"_preview").src;
					}
					else
					{
						value	= jsRoger(field[0]).value;
					}
					url		+= "&"+ escape(field[0]) +"="+ (escape(value));
				}
			}
			
			
			if ( everythingOkay )
			{
				var request		= new jsRoger.Server.HttpRequest("LoadCadastro.php?option=save", HTTP_POST, HTTP_ASYNCHRONIZED);
				request.content	= url;
				request.start();
				
				
				if ( jsRoger("IMG_spinner_save") )
				{
					jsRoger("IMG_spinner_save").style.visibility	= "";
				}
				
				request.onLoad	= function()
				{
					if ( jsRoger("IMG_spinner_save") )
					{
						jsRoger("IMG_spinner_save").style.visibility	= "hidden";
					}
					if ( !this.responseText || !this.responseText.contains("salvamento (quase) perfeito!") )
					{
						alert("Nao foi efetuar a cadastro. Por favor, tente mais tarde."+ this.responseText);
					}
					else
					{
						alert("Cadastro feito com sucesso!");
						window.location	= "http://www.sma.com.br";
					}
					CleanFields( true);
				}
				request.onError = function()
				{
					if ( jsRoger("IMG_spinner_save") )
					{
						jsRoger("IMG_spinner_save").style.visibility	= "hidden";
					}
				}
			}
			
		},
		Reset:				function( )
		{
			CleanFields( true);
			
		}
		
	}
		
		

	return returnValue;
}







jsRoger.Include("Array.map");
jsRoger.Include("Server.HttpRequest");
jsRoger.Include("Element.addEvent");
jsRoger.Include("Element.DOM");
jsRoger.Include("Element.styles");
jsRoger.Include("Element.getElementsBySelector");
jsRoger.Include("Server.FileUpload");
jsRoger.Include("String.contains");
jsRoger.Include("Number.toSize");
jsRoger.Include("Window");