var config = {
	evalScripts : true,
	method : "POST"
}

function getMarks(cid, appURL) {
	var req = mint.Request().Set(config);
	req.AddParam("cid", cid); // category id
	req.Send(appURL+"getMarks/", "searchMarks");

   var req2 = mint.Request().Set(config);
   req2.AddParam("mid", 0); // mark id
	req2.Send(appURL+"getModels/" , "searchModels");
}

function getModels(mid, appURL) {
	var req = mint.Request().Set(config);
	req.AddParam("mid", mid); // mark id
	req.Send(appURL+"getModels/", "searchModels");
}

function categoryPath(cid, appURL) {
	var req = mint.Request().Set(config);
	req.AddParam("cid", cid);
	req.Send(appURL+"getCategory/", "categoryPath");
}

function chooseCategory(cid, appURL){
	var req = mint.Request().Set(config);
	req.AddParam("cid", cid);
	document.getElementById("customfield").style.display = 'none';
	document.getElementById("addAdvertSubmit").style.display = 'none';
	req.Send(appURL+"getCategory/", "categoryPath");
}

function checkEmail(email, appURL){
	var userEmail = document.getElementById(email).value;
	var userLogin = document.getElementById("userLogin");
	var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;

	if (regex.test(userEmail)) {
		if (userEmail.length > 128) {
			userLogin.className = "error";
			alert("Podany adres email jest za długi. Maksymalna długosc to 128 znakow.");
		}
		else {
			userLogin.className = "success";
			var req = mint.Request().Set(config);
			req.AddParam("userEmail", userEmail);
			req.OnSuccess = function(){
				if (this.responseText == "email_null") {
					alert("Podaj adres email");
				}
				else {
					$("formLogin").innerHTML = this.responseText;
					$("buttonSubmit").onclick = function(){
						SendRequest(appURL);
					}
				}
			}
			req.Send(appURL + "authorization,addAdvert/");
		}
	} else {
		userLogin.className = "error";
		alert("Podany adres email jest nieprawidłowy");
	}
}

function SendRequest(appURL) {

	var error = 0;
   
   // Check car body
	var advertBody = document.getElementById("advertBody");
	var advertBodyValidate = document.getElementById("advertBody");
   
	if(advertBody.value==0) {
		advertBodyValidate.className = "error";
		error++;
	} else {
		advertBodyValidate.className = "success";
	}
   
   // Check car condition
	var advertCondition = document.getElementById("advertCondition");
	var advertConditionValidate = document.getElementById("advertCondition");
   
	if(advertCondition.value==0) {
		advertConditionValidate.className = "error";
		error++;
	} else {
		advertConditionValidate.className = "success";
	}
   
   // Check car mileage
	var advertMileage = document.getElementById("advertMileage");
	var advertMileageValidate = document.getElementById("advertMileage");
   
   var regex = /^[0-9]{1,}$/;
	if(!regex.test(advertMileage.value)) {
		advertMileageValidate.className = "error";
		error++;
	} else {
		advertMileageValidate.className = "success";
	}
   
   // Check produced year
	var advertProducedYear = document.getElementById("advertProducedYear");
	var advertProducedYearValidate = document.getElementById("advertProducedYear");
   
   var regex = /^[0-9]{4,4}$/;
	if(!regex.test(advertProducedYear.value)) {
		advertProducedYearValidate.className = "error";
		error++;
	} else {
		advertProducedYearValidate.className = "success";
	}
   
   // Check fuel
	var advertFuel = document.getElementById("advertFuel");
	var advertFuelValidate = document.getElementById("advertFuel");
   
	if(advertFuel.value==0) {
		advertFuelValidate.className = "error";
		error++;
	} else {
		advertFuelValidate.className = "success";
	}
   
   // Check gearbox
	var advertGearbox = document.getElementById("advertGearbox");
	var advertGearboxValidate = document.getElementById("advertGearbox");
   
	if(advertGearbox.value==0) {
		advertGearboxValidate.className = "error";
		error++;
	} else {
		advertGearboxValidate.className = "success";
	}
   
   // Check car door amount
	var advertDoorAmount = document.getElementById("advertDoorAmount");
	var advertDoorAmountValidate = document.getElementById("advertDoorAmount");
   
	if(advertDoorAmount.value==0) {
		advertDoorAmountValidate.className = "error";
		error++;
	} else {
		advertDoorAmountValidate.className = "success";
	}
   
   // Check engine displacement
	var advertDisplacement = document.getElementById("advertDisplacement");
	var advertDisplacementValidate = document.getElementById("advertDisplacement");
   
	if(advertDisplacement.value=="") {
		advertDisplacementValidate.className = "error";
		error++;
	} else {
		advertDisplacementValidate.className = "success";
	}
   
   // Check title
	var advertTitle = document.getElementById("advertTitle");
	var advertTitleValidate = document.getElementById("advertTitle");
   
	if(advertTitle.value=="") {
		advertTitleValidate.className = "error";
		error++;
	} else {
		advertTitleValidate.className = "success";
	}
   
   // Check advert price
	var advertPrice = document.getElementById("advertPrice").value;
	var advertPriceValidate = document.getElementById("advertPrice");
   
	if((advertPrice.length<1) || (advertPrice.length>128)) {
		advertPriceValidate.className = "error";
		error++;
	} else {
		var regex = /^[0-9\., ]*$/;
		if (regex.test(advertPrice)) {
			advertPriceValidate.className = "success";
		} else {
			advertPriceValidate.className = "error";
			error++;			
		}
	}
   
   // Check user password
	if(document.getElementById("userPassword")) {
		var passwordUser = document.getElementById("userPassword").value;
		var passwordUserValidate = document.getElementById("userPassword");
		if(passwordUser.length<1) {
			passwordUserValidate.className = "error"; 
			error++;
		}
	}
   
	if (document.getElementById("newUser")) {
		var newUser = document.getElementById("newUser").value;
	}
   
   // NEW USER
	if(newUser == "newUser") {

      // Check user password
		var userPassword = document.getElementById("userPassword").value;
		var userPasswordValidate = document.getElementById("userPassword");
      
		if((userPassword.length <= 5) || (userPassword.length > 128)) {
			userPasswordValidate.className = "error";
			error++;
		} else {
			userPasswordValidate.className = "success";
		}
      
      // Check user password (repeat)
		var userPasswordRepeat = document.getElementById("userPasswordRepeat").value;
		var userPasswordRepeatValidate = document.getElementById("userPasswordRepeat");
      
		if((userPasswordRepeat.length <= 5) || (userPasswordRepeat.length > 128)) {
			userPasswordRepeatValidate.className = "error";
			error++;
		} else {
			if (userPassword != userPasswordRepeat) {
				userPasswordRepeatValidate.className = "error";
				error++;				
			} else {
				userPasswordRepeatValidate.className = "success";
			}
		}
      
      // Check user phone
		var userPhone = document.getElementById("userPhone").value;
		var userPhoneValidate = document.getElementById("userPhone");
      
		if((userPhone.length < 1) || (userPhone.length > 32)) {
			userPhoneValidate.className = "error";
			error++;
		} else {
			userPhoneValidate.className = "success";
		}
      
      // Check user city
		var userCity = document.getElementById("userCity").value;
		var userCityValidate = document.getElementById("userCity");
      
		if((userCity.length <1) || (userCity.length > 32)) {
			userCityValidate.className = "error";
			error++;
		} else {
			userCityValidate.className = "success";
		}

      // Check region id
      var userRid = document.getElementById("userRid");
      var userRidValidate = document.getElementById("userRid");
      
      if(userRid.value==0) {
         userRidValidate.className = "error";
         error++;
      } else {
         userRidValidate.className = "success";
      }
      
	}
   
	if (error <= 0) {
		var advertTerms = document.getElementById("advertTerms");
		if (advertTerms.checked) {
			var req = mint.Request().Set(config);
			req.OnSuccess = function(){
				if(this.responseText == "error_login") {
					var userPasswordValidate = document.getElementById("userPassword");
					userPasswordValidate.className = "error";
					alert("Podane hasło jest nieprawidłowe.");
				} else {
					if(this.responseText == "add_advert_new_user") {
						window.location.href = appURL+"login/?msg=newUser";
					} else if(this.responseText == "add_advert"){
						window.location.href = appURL+"adverts,myprofile/?msg=newAdvert";
					}
				}
			}
			req.SendForm("formAdvert");
		}
		else {
			alert("Proszę zaakceptować regulamin serwisu.");
		}
	} else {
		alert("Proszę poprawnie wypełnić wymagane pola.");
	}

}

function saveAd() {
	document.forms['formAdvert'].submit();
}

function filtr_by() {
	document.forms['filtr_form'].submit();
}

var timer=setInterval("remove_messages()", 5000);

function remove_messages() {
	if(document.getElementById("message")) {
		if($("message").style.display = "block" && $("message").className != "info") {
			$("message").style.display = "none";
			
		}
	}
	clearInterval(timer);
}

function confirmLink(theLink, theSqlQuery)
{
   var confirmMsg  = 'Czy na pewno usunąć ';
       if (confirmMsg == '' || typeof(window.opera) != 'undefined') {
           return true;
       }

       var is_confirmed = confirm(confirmMsg + theSqlQuery + '?');
       return is_confirmed;
}

function confirmDelete(theLink, theSqlQuery)
{
       var is_confirmed = confirm(theSqlQuery);
       return is_confirmed;
}
