PATH = "";
function clearSelectElement(elem) {
	elem.innerHTML = '';
}

function updateSelectElement(json, elem, selected) {

	if (json.length == 0) {
		elem.disabled = true;
		var opt = document.createElement('OPTION');
		var text = document.createTextNode(strindifferent);
		opt.setAttribute('value', 'TT');
		opt.appendChild(text);
		elem.appendChild(opt);
	} else {
		elem.disabled = false;
		if (json[0].id != 'TT' && json[0].id != '0') {
			var opt = document.createElement('OPTION');
			var text = document.createTextNode(strindifferent);
			opt.setAttribute('value', 'TT');
			if (selected == null || selected == '') {
				opt.setAttribute('selected', 'true');
			}
			opt.appendChild(text);
			elem.appendChild(opt);
		}
		for ( var i = 0; i < json.length; i++) {
			var opt = document.createElement('OPTION');
			if (json[i].count) {
				var text = document.createTextNode(json[i].descripcion + " ("
						+ json[i].count + ")");
			} else {
				var text = document.createTextNode(json[i].descripcion);
			}
			opt.setAttribute('value', json[i].id);
			if (selected == json[i].id) {
				opt.setAttribute('selected', 'true');
			}
			opt.appendChild(text);
			elem.appendChild(opt);
		}
	}

}

function updateSelect(url, elem, id) {

	new Ajax.Request(
			PATH + 'ajax/' + url + '.php',
			{
				method : 'post',
				parameters : {
					param : id
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess : function(transport) {
					var json = transport.responseText.evalJSON(true);
					clearSelectElement(elem);
					updateSelectElement(json, elem);
					elem.disabled = false;
				},
				onFailure : function() {
					alert('Error actualizando datos. por favor contacte con el equipo técnico.');
				}
			});

}

function updateSelectData(table, key, value, elem) {

	new Ajax.Request(
			PATH + 'ajax/getSelectData.php',
			{
				method : 'post',
				parameters : {
					table : table,
					key : key,
					value : value
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess :

				function(transport) {
					var json = transport.responseText.evalJSON(true);
					clearSelectElement(elem);
					updateSelectElement(json, elem);
					elem.disabled = false;
				},
				onFailure : function() {
					alert('Error actualizando datos. por favor contacte con el equipo técnico.');
				}
			});

}

function updateSelectDataAdmin(table, key, value, elem) {
	new Ajax.Request(
			PATH + 'ajax/getSelectData.php',
			{
				method : 'post',
				parameters : {
					table : table,
					key : key,
					value : value
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess : function(transport) {
					var json = transport.responseText.evalJSON(true);
					clearSelectElement(elem);
					updateSelectElement(json, elem);
					elem.disabled = false;
				},
				onFailure : function() {
					alert('Error actualizando datos. por favor contacte con el equipo técnico.');
				}
			});

}

function updateMetros(elem, tipo) {
	if (tipo == 'G') {
		elem.disabled = true;
	} else {
		elem.disabled = false;
	}
}

function updateProvincia(elem, operation, type, selected) {
	new Ajax.Request(
			PATH + 'ajax/getProvincia.php',
			{
				method : 'post',
				parameters : {
					operacion : operation,
					tipo : type
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess : function(transport) {
					var json = transport.responseText.evalJSON(true);
					clearSelectElement(elem);
					updateSelectElement(json, elem, selected);
				},
				onFailure : function() {
					alert('Error actualizando datos. por favor contacte con el equipo técnico.');
				}
			});
}

function updateZona(elem, province, municipality, operation, type, selected) {

	new Ajax.Request(
			PATH + 'ajax/getZona.php',
			{
				method : 'post',
				parameters : {
					provincia : province,
					termino : municipality,
					operacion : operation,
					tipo : type
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess : function(transport) {
					var json = transport.responseText.evalJSON(true);
					clearSelectElement(elem);
					updateSelectElement(json, elem, selected);
				},
				onFailure : function() {
					alert('Error actualizando datos. por favor contacte con el equipo técnico.');
				}
			});
}

function updateTermino(elem, id, operation, type, selected) {
	new Ajax.Request(
			PATH + 'ajax/getTermino.php',
			{
				method : 'post',
				parameters : {
					idprovincia : id,
					operacion : operation,
					tipo : type
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess : function(transport) {
					var json = transport.responseText.evalJSON(true);
					clearSelectElement(elem);
					updateSelectElement(json, elem, selected);
				},
				onFailure : function() {
					alert('Error actualizando datos. Por favor contacte con el equipo tecnico.');
				}
			});
}

function updateCalidades(id, lang) {

	new Ajax.Request(
			PATH + 'ajax/getCalidadesLang.php',
			{
				method : 'post',
				parameters : {
					id_calidad : id,
					id_lang : lang
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess : function(transport) {
					var json = transport.responseText.evalJSON(true);
					inputs = document.getElementById("form-edit").getInputs();
					for (i = 2; i <= inputs.length; i++) {
						var pg = inputs[i].id;
						if (json != "") {
							var e = json[0][pg];
							if (pg != "") {
								inputs[i].setValue(e);
							}
						} else {
							if (pg != "") {
								inputs[i].clear();
							}
						}
					}
				},
				onFailure : function() {
					alert('Error actualizando datos. por favor contacte con el equipo técnico.');
				}
			});

}

function updateComentario(id, lang) {

	new Ajax.Request(
			PATH + 'ajax/getComentarioLang.php',
			{
				method : 'post',
				parameters : {
					libro : id,
					id_lang : lang
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess : function(transport) {
					var json = transport.responseText.evalJSON(true);
					texto = document.getElementById("texto");
					if (json != "") {
						texto.value = json[0]['texto'];
					} else {
						texto.clear();
					}
				},
				onFailure : function() {
					alert('Error actualizando datos. por favor contacte con el equipo técnico.');
				}
			});

}

function updateTipologias(id) {

	new Ajax.Request(
			PATH + 'ajax/getTipologia.php',
			{
				method : 'post',
				parameters : {
					id_tipologia : id
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess : function(transport) {
					var json = transport.responseText.evalJSON(true);
					inputs = document.getElementById("form-edit").getInputs();
					for (i = 2; i <= inputs.length; i++) {
						var pg = inputs[i].id;
						if (json != "") {
							var e = json[0][pg];
							if (pg != "") {
								if (pg == "id_album")
									$('showImgTipology').src = "show.php?view=imagenes&id="
											+ id
											+ "&album="
											+ e
											+ "&tipo=tipologias";
								inputs[i].setValue(e);
							}
						} else {
							if (pg != "") {
								inputs[i].clear();
								$('showImgTipology').src = "";
							}
						}
					}
				},
				onFailure : function() {
					alert('Error actualizando datos. por favor contacte con el equipo técnico.');
				}
			});

}

function updateSubtipo(elem, id) {
	if (id != "TT") {
		new Ajax.Request(
				PATH + 'ajax/getSubtipo.php',
				{
					method : 'post',
					parameters : {
						param : id
					},
					requestHeaders : {
						Accept : 'application/json'
					},
					onSuccess : function(transport) {
						var json = transport.responseText.evalJSON(true);
						clearSelectElement(elem);
						updateSelectElement(json, elem);
						elem.disabled = false;
					},
					onFailure : function() {
						alert('Error actualizando datos. por favor contacte con el equipo técnico.');
					}
				});
	} else {
		elem.disabled = true;
	}

}

function updatePrecio(elem, op, selected) {
	if (op != "TT") {
		new Ajax.Request(
				PATH + 'ajax/getPrecio.php',
				{
					method : 'post',
					parameters : {
						operacion : op
					},
					requestHeaders : {
						Accept : 'application/json'
					},
					onSuccess : function(transport) {
						var json = transport.responseText.evalJSON(true);
						clearSelectElement(elem);
						updateSelectElement(json, elem, selected);
						elem.disabled = false;
					},
					onFailure : function() {
						alert('Error actualizando datos. por favor contacte con el equipo técnico.');
					}
				});
	} else {
		elem.disabled = true;
	}
}

function urlWindow(url, titulo, top, left, width, height) {

	var win = new Window( {
		className : "bluelighting",
		title : titulo,
		top : top,
		left : left,
		width : width,
		height : height,
		url : url,
		resizable : true,
		showEffectOptions : {
			duration : 0.5
		}
	});

	win.show();
	return win;

}

function deletePromo(promo) {
	if (confirm("la promocion se borrara de forma permanente?")) {
		new Ajax.Request(
				PATH + 'ajax/deletePromotion.php',
				{
					method : 'post',
					parameters : {
						id : promo
					},
					requestHeaders : {
						Accept : 'application/json'
					},
					onSuccess : function(transport) {
						alert("la promocion se ha borrado");
					},
					onFailure : function() {
						alert('Error actualizando datos. por favor contacte con el equipo técnico.');
					}
				});
		window.location.reload();
	}
}

function setLink(banner, url) {

	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/

	if (regexp.test(url)) {
		new Ajax.Request(
				PATH + 'ajax/setLink.php',
				{
					method : 'post',
					parameters : {
						id : banner,
						link : url
					},
					onSuccess : function(transport) {
						var json = transport.responseText.evalJSON(true);
						if (!json.status) {
							alert("Se produjo un error actualizando los datos del banner. Si el problema persiste, contacte con el servicio técnico.");
						} else {
							alert("Se cambio en enlace correctamente.");
							$('href_' + banner).href = url;
							$('href_' + banner).innerHTML = url;
						}
					},
					onFailure : function() {
						alert('Error actualizando datos. por favor contacte con el equipo técnico.');
					}
				});
	} else {
		alert("La dirección introducida no es correcta, por favor revisela.");
	}

}

function deleteSede(sede) {
	if (sede == 1) {
		alert("la sede principal no se puede borrar");
	} else {
		if (confirm("la sede se borrara de forma permanente?")) {
			new Ajax.Request(
					PATH + 'ajax/deleteSede.php',
					{
						method : 'post',
						parameters : {
							id : sede
						},
						requestHeaders : {
							Accept : 'application/json'
						},
						onSuccess : function(transport) {
							alert("la sede se ha borrado");
						},
						onFailure : function() {
							alert('Error actualizando datos. por favor contacte con el equipo técnico.');
						}
					});
			window.location.reload();
		}
	}
}

function deleteContacto(contacto) {
	if (confirm("el contacto se borrara de forma permanente?")) {
		new Ajax.Request(
				PATH + 'ajax/deleteContacto.php',
				{
					method : 'post',
					parameters : {
						id : contacto
					},
					requestHeaders : {
						Accept : 'application/json'
					},
					onSuccess : function(transport) {
						alert("el contacto se ha borrado");
					},
					onFailure : function() {
						alert('Error actualizando datos. por favor contacte con el equipo técnico.');
					}
				});
		window.location.reload();
	}
}

function deletenews(noticia) {
	if (confirm("la noticia se borrara de forma permanente?")) {
		new Ajax.Request(
				PATH + 'ajax/deleteNews.php',
				{
					method : 'post',
					parameters : {
						id : noticia
					},
					requestHeaders : {
						Accept : 'application/json'
					},
					onSuccess : function(transport) {
						alert("la noticia se ha borrado");
					},
					onFailure : function() {
						alert('Error actualizando datos. por favor contacte con el equipo técnico.');
					}
				});
		window.location.reload();
	}
}

function incrementVisit(banner, url) {
	new Ajax.Request(
			PATH + 'ajax/incrementVisit.php',
			{
				method : 'post',
				parameters : {
					id : banner
				},
				requestHeaders : {
					Accept : 'application/json'
				},
				onSuccess : function(transport) {
				},
				onFailure : function() {
					alert('Error actualizando datos. por favor contacte con el equipo técnico.');
				}
			});

	window.open(url);
}

function deleteBanner(id) {

	if (confirm("Va a eliminar un banner del sistema, es una acción permanente e irreversible, perdera todas las estadisticas asociadas al banner. ¿Desea continuar?")) {
		new Ajax.Request(
				PATH + 'ajax/deleteBanner.php',
				{
					method : 'post',
					parameters : {
						bannerID : id
					},
					onSuccess : function(transport) {
						var json = transport.responseText.evalJSON(true);
						if (json.status) {
							alert("El banner se ha eliminado correctamente.");
							// $('table_banner_'+id).style.visibility="hidden";
							new Effect.DropOut($('table_banner_' + id));
						} else {
							alert("Se produjo un error al intentar eliminar el banner. Si el problema persiste, contacte con el servicio técnico.");
						}
					},
					onFailure : function() {
						alert('Error actualizando datos. por favor contacte con el equipo técnico.');
					}
				});

	}

}

function resetBanner(id) {

	if (confirm("Va a resetear los contadores del banner, las estadisticas se pondran a cero y la fecha se actualizara a la actual. ¿Desea continuar?")) {
		new Ajax.Request(
				PATH + 'ajax/resetBanner.php',
				{
					method : 'post',
					parameters : {
						bannerID : id
					},
					onSuccess : function(transport) {
						var json = transport.responseText.evalJSON(true);
						if (json.status) {
							alert("El banner se ha reseteado correctamente.");
							$('clicks_' + id).value = json.data.clicks;
							$('views_' + id).value = json.data.views;
							$('udate_' + id).value = json.data.udate;

						} else {
							alert("Se produjo un error al intentar resetear el banner. Si el problema persiste, contacte con el servicio técnico.");
						}
					},
					onFailure : function() {
						alert('Error actualizando datos. por favor contacte con el equipo técnico.');
					}
				});

	}

}

// para envio de formulario en contact-us
function checkMail(mail) {
	apos = mail.indexOf("@");
	dotpos = mail.lastIndexOf(".");
	if (apos < 1 || dotpos - apos < 2) {
		alert('{/literal}el mail no es correcto{literal}');
		return false;
	} else {
		return true;
	}
}

// en el listado de inmuebles colorear las filas
function tdstyle_over(obj) {

		obj.style.backgroundColor = "#DFDFDF";
	
}

function tdstyle_out(obj) {
		obj.style.backgroundColor = "#EFEFEF";

}


function toggleTab(element) {
    position = $$('.cabpestana').indexOf(element);
    content = $$('.pestana')[position];
   	if (content.getStyle('display')== 'none'){
		$$('.cabpestana:not(#' + element.id +')').each( 
				function(e) {
	            	e.removeClassName('hovermenu');
	            	e.addClassName('nohovermenu');
				}
		);

    	element.removeClassName('nohovermenu');
    	element.addClassName('hovermenu');
    	content.setStyle({display: 'block'})
    	$$('.pestana:not(#' +content.id +')').each(
    			function(e) {
    				e.setStyle({display: 'none'});
    			}
    	);
	}
	}


