var inputPrevClass = new Array();

function $(id) {
     return document.getElementById(id);
}

/*function cancel() {
		alert(document.URL);
}*/


function removeInputClasses( formObj, classNameToRemove ) {
// ta funcja usuwa klasy wstawione w dalszej czesci kodu
// na razie obsuguje elementy typu text i textarea
// jak beda potrzebne to sie doda inne :)
		for ( var i=0; i<formObj.elements.length; i++ ) {

			if ( formObj.elements[i].type == "text" || formObj.elements[i].type == "textarea" ) {
				oldClassName = formObj.elements[i].className.replace( classNameToRemove, "");
				formObj.elements[i].className = oldClassName;

			}
		}
}
/*
function restoreFormElementsClass ( formObj, oldClasses ) {
	var t;
	if ( formObj.elements.length == oldClasses.length ) {
		for ( var i=0; i<formObj.elements.length; i++ ) {
			formObj.elements[i].className =	oldClasses[i];
			t += formObj.elements[i].className+" = "+oldClasses[i]+"\n";
		}
	}
	alert(t);
}


function storeFormElementsClass ( formObj ) {
	var oldClasses = new Array();
	for ( var i=0; i<formObj.elements.length; i++ ) {
			oldClasses[i] = formObj.elements[i].className;
	}
	return oldClasses;
}*/

function formSending( formToProcess ) {

	var DivResultLog = $("formProcessResult");
	var InputLangVer = "pl";
	
	if ( formToProcess == "contactMail" ) {
		var DivForm = $("formContact");
		var FormForm = $("contactMail");		
		InputLangVer = $("langVer").value;
	}
	else if ( formToProcess == "addAdvert" ){
	 	var DivForm  = $("formNewAdvert");
		var FormForm = $("addAdvert");
	}
	else if ( formToProcess == "sendPoll" ){
	 	var DivForm  = $("pollForm");
		var FormForm = $("sendPoll");
		preparePoll();
	}
	else if ( formToProcess == "addForumTopic" ) {
		var DivForm = $("formAddTopic");
		var FormForm = $("addTopic");
		prepareForm();
	}
	else if ( formToProcess == "addForumMessage" ) {
		var DivForm = $("formAddMessage");
		var FormForm = $("addMessage");
		prepareForm();
	}
	var InputAction = $("formAction");

        advAJAX.assign( FormForm, {

            onLoading : function(obj) { /* Wyswietlenie obrazka wskazujacego na ladowanie */ 
				if ( InputLangVer == "en" ) {
					var message = "Processing...";
				}
				else {
					var message = "Przetwarzanie...";
				}
				DivResultLog.innerHTML = message;
				DivResultLog.className += " successLog";
			},

			onInitialization : function(obj) {
           
				if ( InputLangVer == "en" ) {
					var message = "Please wait...";
				}
				else {
					var message = "Proszę czekać...";
				}
				DivResultLog.innerHTML = message;
				DivResultLog.className += " successLog";
				
				DivForm.style.display = "none";
            },
            onComplete : function() {           
				
				DivResultLog.innerHTML = "";
				DivResultLog.className = "resultLog";
            },		
            onSuccess : function(obj) {
//alert("šżółćęšżńÄĹźÄĹşÄĹşÄĹşĹźĹĂłĹÄ");
				var arrayResponse = obj.responseText.split('\n');
				var success = arrayResponse[0];

				if ( InputAction.value == "send" ) {
					
					if ( success=="1" ) {
						DivResultLog.className += " successLog center";
						DivResultLog.innerHTML = arrayResponse[1];
						if ( formToProcess == "addForumTopic" || formToProcess == "addForumMessage" ) {
							changeLocation ( arrayResponse[2] );
						}
					}
					else {
						DivResultLog.className += " errorLog";
						DivResultLog.innerHTML = arrayResponse[1];
						DivForm.style.display = "block";	
						var ButtonBCancel = $("bCancel");
						var ButtonBEdit   = $("bEdit");
						var ButtonBSubmit = $("bSubmit");
						ButtonBCancel.disabled = null;
						ButtonBEdit.disabled   = null;
						ButtonBSubmit.disabled = null;
					}
					
					setAction("");
				}				
				else { //action == check
					DivForm.style.display = "block";				
				
					removeInputClasses ( FormForm, "inputError" );

					if ( success=="1" ) {

						var FSetContactMail1Run = $("firstRun");
						var FSetContactMail2Run = $("secondRun");
						var DivMailSummary = $("summary");
					
						FSetContactMail1Run.style.display = "none";
						FSetContactMail2Run.style.display = "block";
						DivResultLog.style.display = "block";
					
						DivResultLog.innerHTML = arrayResponse[1];
						DivResultLog.className += " successLog";

						DivMailSummary.innerHTML = "";
						for (  var i=2; i<arrayResponse.length; i++ ) {
							DivMailSummary.innerHTML += arrayResponse[i];
						}
					}
					else {
//					DivForm.style.display = "block";
						DivResultLog.style.display = "block";
						DivResultLog.className += " errorLog";
	
						DivResultLog.innerHTML = arrayResponse[1];

						var arrayControls = arrayResponse[2].split('::');
						for ( var i=0; i<arrayControls.length; i=i+1 ) {
							$(arrayControls[i]).className += " inputError";
						}
					}
				
				}

            },
            onError : function(obj) {    
				if ( InputLangVer == "en" ) {
					var message = "Unable to connect to the server. Please, try again later.";
				}
				else {
					var message = "Nie można nawiązać połączenia z serwerem, spróbuj później.";
				}
				DivResultLog.innerHTML = message;
				DivResultLog.className += " errorLog";
				//alert ("Error: " + obj.status);
            }
        });
}
	
	
	
function sendCancel() {
	window.location=document.URL;
}

function sendEditBack() {
	var FSetContactMail1Run = $("firstRun");
	var FSetContactMail2Run = $("secondRun");
	var DivResultLog = $("formProcessResult");

	FSetContactMail2Run.style.display = "none";
	FSetContactMail1Run.style.display = "block";
	DivResultLog.style.display = "none";
}

function setAction( action ) {
	var InputAction = $("formAction");
	InputAction.value = action;
}

function changeLocation ( location ) {
	window.location = location;
}

/*
function swapState(targEl) {
	$(targEl).disabled = !$(targEl).disabled;
}*/
