var formGlob;
var formSubmit = false;
var formAjaxSubmit = false;

function escapeAjax(value)
{
	temp = new String(value);

	temp = temp.replace(/\?/g, "%3F");
	temp = temp.replace(/&/g, "%26");
	temp = temp.replace(/=/g, "%3D");
	temp = temp.replace(/#/g, "%23");
	temp = temp.replace(/%/g, "%25");
	
	return temp;
}


function checkForm(form,func,cont,formSub)
	{
                if(formSub == true)
                {                    
                    formSubmit = formSub;
                }
				
                formGlob=form;

                var pars    = "";
                var url = "func," + func + ",AjaxValidateForm," + cont + ".html";
                           
                    for(i=0; i<form.elements.length; i++)
                    {
                         if(form.elements[i].name!="")
                         {
                            if(form.elements[i].type == "checkbox")
                            {
                                if(form.elements[i].checked == true)
                                    value = "on";
                                else
                                    value = "off";
                            }
                            else
                                value = form.elements[i].value;   



                            if(form.elements[i].type == "radio")
                            {
                                if(form.elements[i].checked == true)
                                    value = form.elements[i].value;
                                else
                                    value = "";
                            }
							if(form.elements[i].type == "reset" || form.elements[i].type == "submit")
								value = "";
							
                            if(value != "")
							{
								
								pars += form.elements[i].name + "=" + escapeAjax(value) + "&";
							}

                         }
                    }
               

		var myAjax = new Ajax.Request(
			url,
			{
				method: 'post',
				parameters: pars,
				onComplete: showResponse
			});

	}


	function showResponse(originalRequest)
	{
		//put returned XML in the textarea

                var data = originalRequest.responseText.evalJSON();
                var errors =0;
                for(i=0; i<formGlob.elements.length; i++)
                {
                  if(data[formGlob.elements[i].name] && $(formGlob.elements[i].name + 'error'))
                  {
                    $(formGlob.elements[i].name + 'error').innerHTML = data[formGlob.elements[i].name];
                    errors++;
                  }
                  else if($(formGlob.elements[i].name + 'error'))
                      $(formGlob.elements[i].name + 'error').innerHTML = "";
                }               

				if(errors == 0 && formSubmit == true)
                    {
						formGlob.submit();
					}
                    else {
                        formSubmit = false;
						formAjaxSubmit = false;
					}
	}

	function sendForm(form,func,cont,params)
	{
		formAjaxSubmit = true;

		if (formAjaxSubmit == true)
		{
			var pars = '';

			for(i = 0; i < form.elements.length ; i++) {

				if (form.elements[i].name != '')
					pars += form.elements[i].name + "=" + escapeAjax(form.elements[i].value) + '&';
			}

			if (params == undefined || typeof params != 'object')
			{
				params = new Object();
				params['method'] = 'post';
				params['onComplete'] = showResponseAdded;
				params['url'] = "func," + func + ",AjaxSendForm," + cont + ".html";
			}
			else
			{
				if (params["method"] == undefined) {
					params["method"] = 'post';
				}

				if (params['onComplete'] == undefined) {
					params['onComplete'] = showResponseAdded;
				}

				if (params['url'] == undefined) {
					params['url'] = "func," + func + ",AjaxSendForm," + cont + ".html";
				}
			}

			myAjax = new Ajax.Request (
				params['url'],
				{
					method: params['method'],
					parameters: pars,
					onComplete: params['onComplete']
				});
		}
	}
	
	function showResponseAdded(orginalRequest)
	{ //Ta funkcja nie robi narazie nic.
		
	}


