/******************************** AJAX CALLS ****************************************/

// Obtiene las ciudades pertenecientes a una provincia
function getCitiesFromProvince(idProvince, idDiv) {
	document.getElementById('ciudad_select').disabled = 1;
	document.getElementById(idDiv).style.display = "none";
	
	if (idProvince != -1) {
		var content = document.getElementById(idDiv);
		var ajax = newAjax();
		ajax.open("POST", 'ajax_locations_getcities.php', true);
		ajax.onreadystatechange=function() {
			if (ajax.readyState==4) {
				content.innerHTML = ajax.responseText;
				document.getElementById('ciudad_select').disabled = 0;
				document.getElementById(idDiv).style.display = "block";
				return true;
		 	}
		}
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send("idprovince=" + idProvince);
	}
}

// Intercambia entre las dos formas de ingresar la ciudad: select e input
function showInputCity() {
	if (document.getElementById('province-select-div').style.display == "none") {
		document.getElementById('city-select-div').style.display = "none";
		document.getElementById('province-select-div').style.display = "block";
		document.getElementById('selectcity').value = true;
	} else {
		document.getElementById('province-select-div').style.display = "none";
		document.getElementById('city-select-div').style.display = "block";
		document.getElementById('selectcity').value = false;
	}
}

// Obtiene las subcategorias de una categoria
function getSubcategories(idcategory, idcategoryinput, idDiv) {
	document.getElementById(idDiv).disabled = 1;
	var content = document.getElementById(idDiv);
	var ajax = newAjax();
	ajax.open("POST", 'categories_getsubcategories2.php', true);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			content.innerHTML = ajax.responseText;
			document.getElementById(idDiv).disabled = 0;
			return true;
	 	}
	}
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("idcategory=" + idcategory + "&idcategoryinput=" + idcategoryinput);
}


/********************************* VALIDATIONS ******************************************/
// Valida y hace submit del formulario
function submitAddBiz() {

	var valid = true;
	var message = "";
	
	// Valida si el nombre esta vacio
	if (valid && isEmpty($('#nombre').val())) {
		valid = false;
		message = "Debe escribir el nombre";	
	}

	// Valida cantidad de caracteres en el nombre
	if (valid && !stringLengthValid($('#nombre').val(), 1, 45)) {
		valid = false;
		message = "El nombre tiene más de 45 caracteres";
	}

	// Valida que se haya seleccionado una provincia
	if (valid && (isEmpty($('#idprovince').val()) || ($('#idprovince').val() == -1))) {
		valid = false;
		message = "Debe seleccionar una provincia";
	}

	// Valida que se haya seleccionado una ciudad
	if (valid && ($('#selectcity').val() == "true") && (isEmpty($('#idcity').val()) || ($('#idcity').val() == -1))) {
		valid = false;
		message = "Debe seleccionar una ciudad";
	}

	// Valida que se haya escrito una ciudad
	if (valid && ($('#selectcity').val() == "false") && (isEmpty($('#cityname').val()))) {
		valid = false;
		message = "Debe escribir una ciudad";
	}

	// Validar en caso que ingrese direccion
	if (document.getElementById('hasdireccion').checked == false) {

		// Valida si la direccion esta vacia 
		if (valid && isEmpty($('#direccion').val())) {
			valid = false;
			message = "Debe escribir la dirección";
		}

		// Valida cantidad de caracteres en direccion
		if (valid && !stringLengthValid($('#direccion').val(), 0, 45)) {
			valid = false;
			message = "La dirección tiene más de 45 caracteres";
		}
	}

	// Valida cantidad de caracteres en el telefono.
	if (valid && !stringLengthValid($('#telefono').val(), 0, 45)) {
		valid = false;
		message = "El teléfono tiene más de 45 caracteres";
	}
	
	// Valida cantidad de caracteres en el fax.
	if (valid && !stringLengthValid($('#fax').val(), 0, 45)) {
		valid = false;
		message = "El fax tiene más de 45 caracteres";
	}
	
	// Valida cantidad de caracteres en el celular.
	if (valid && !stringLengthValid($('#celular').val(), 0, 45)) {
		valid = false;
		message = "El celular tiene más de 45 caracteres";
	}
	
	// Valida cantidad de caracteres en el mail.
	if (valid && !stringLengthValid($('#mail').val(), 0, 50)) {
		valid = false;
		message = "El mail tiene más de 50 caracteres";
	}

	// Valida que el mail tenga un formato valido (ej. usuario@dominio.algo)
	if (valid && !isEmpty($('#mail').val()) && !isMailValid($('#mail').val())) {
		valid = false;
		message = "El mail no tiene un formato válido";
	}
	
	// Valida cantidad de caracteres en el website.
	if (valid && !stringLengthValid($('#website').val(), 0, 100)) {
		valid = false;
		message = "El website tiene más de 100 caracteres";
	}

	// Valida cantidad de caracteres en el website.
	if (valid && !isEmpty($('#website').val()) && !isUrlValid($('#website').val())) {
		valid = false;
		message = "El website tiene una url no válida";
	}	
	
	// Valida si la descripcion del solicitante esta vacio
	if (valid && isEmpty($('#descripcion').val()) ){
		valid = false;
		message = "Debe escribir una descripcion del negocio";
	}
	
	// Valida cantidad de caracteres en la descripcion
	if (valid && (!stringLengthValid($('#descripcion').val(), 0, 600)) ) {
		valid = false;
		message = "La descripción tiene más de 600 caracteres";
	}
	
	// Valida cantidad de caracteres en las palabras claves (metatags)
	if (valid && (!stringLengthValid($('#metatags').val(), 0, 400))) {
		valid = false;
		message = "Las palabras claves tiene más de 400 caracteres";
	}
	
	// Valida si el nombre del solicitante esta vacio
	if (valid && isEmpty($('#solicitante_nombre').val())) {
		valid = false;
		message = "Debe escribir el nombre y apellido del solicitante";	
	}
	
	// Valida cantidad de caracteres en el nombre del solicitante
	if (valid && !stringLengthValid($('#solicitante_nombre').val(), 1, 80)) {
		valid = false;
		message = "El nombre y apellido del solicitante tiene más de 80 caracteres";
	}
	
	// Valida si el mail del solicitante esta vacio
	if (valid && isEmpty($('#solicitante_mail').val())) {
		valid = false;
		message = "Debe escribir el mail del solicitante";	
	}
	
	// Valida cantidad de caracteres en el mail del solicitante
	if (valid && !stringLengthValid($('#solicitante_mail').val(), 0, 50)) {
		valid = false;
		message = "El mail del solicitante tiene más de 50 caracteres";
	}
	
	// Valida que el mail del solicitante tenga un formato valido (ej. usuario@dominio.algo)
	if (valid && !isMailValid($('#solicitante_mail').val())) {
		valid = false;
		message = "El mail del solicitante no tiene un formato válido";
	}
	
	// Valida que haya aceptado los "Terminos y condiciones"
	if (valid && document.getElementById('acceptterms').checked == false) {
		valid = false;
		message = "No ha aceptado los \"Terminos y condiciones\" del sitio";
	}

	if (valid == false) {
		showMessage('error', 'addeditbiz-message-div', message);
	} else {
		document.addeditbiz.submit();
	}

}


// Valida y hace submit del formulario
function submitEditBiz() {

	var valid = true;
	var message = "";
	
	// Valida cantidad de caracteres en el nombre
	if (valid && !stringLengthValid($('#nombre').val(), 1, 45)) {
		valid = false;
		message = "El nombre tiene más de 45 caracteres";
	}

	// Validar en caso que ingrese direccion
	if (document.getElementById('hasdireccion').checked == false) {

		// Valida cantidad de caracteres en direccion
		if (valid && !stringLengthValid($('#direccion').val(), 0, 45)) {
			valid = false;
			message = "La dirección tiene más de 45 caracteres";
		}
	}

	// Valida cantidad de caracteres en el telefono.
	if (valid && !stringLengthValid($('#telefono').val(), 0, 45)) {
		valid = false;
		message = "El teléfono tiene más de 45 caracteres";
	}
	
	// Valida cantidad de caracteres en el fax.
	if (valid && !stringLengthValid($('#fax').val(), 0, 45)) {
		valid = false;
		message = "El fax tiene más de 45 caracteres";
	}
	
	// Valida cantidad de caracteres en el celular.
	if (valid && !stringLengthValid($('#celular').val(), 0, 45)) {
		valid = false;
		message = "El celular tiene más de 45 caracteres";
	}
	
	// Valida cantidad de caracteres en el mail.
	if (valid && !stringLengthValid($('#mail').val(), 0, 50)) {
		valid = false;
		message = "El mail tiene más de 50 caracteres";
	}

	// Valida que el mail tenga un formato valido (ej. usuario@dominio.algo)
	if (valid && !isEmpty($('#mail').val()) && !isMailValid($('#mail').val())) {
		valid = false;
		message = "El mail no tiene un formato válido";
	}
	
	// Valida cantidad de caracteres en el website.
	if (valid && !stringLengthValid($('#website').val(), 0, 100)) {
		valid = false;
		message = "El website tiene más de 100 caracteres";
	}

	// Valida cantidad de caracteres en el website.
	if (valid && !isEmpty($('#website').val()) && !isUrlValid($('#website').val())) {
		valid = false;
		message = "El website tiene una url no válida";
	}	
	
	// Valida cantidad de caracteres en la descripcion
	if (valid && (!stringLengthValid($('#descripcion').val(), 0, 600)) ) {
		valid = false;
		message = "La descripción tiene más de 600 caracteres";
	}
	
	// Valida cantidad de caracteres en las palabras claves (metatags)
	if (valid && (!stringLengthValid($('#metatags').val(), 0, 400))) {
		valid = false;
		message = "Las palabras claves tiene más de 400 caracteres";
	}
	
	if (valid == false) {
		showMessage('error', 'addeditbiz-message-div', message);
	} else {
		document.addeditbiz.submit();
	}
}
