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

function updateSelectElement(json,elem) {
  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);
    opt.appendChild(text);
    elem.appendChild(opt);
  }

}

function updateSelect(url,elem,id) {

  new Ajax.Request('/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('/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('/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 updateZona(elem,province,municipality,operation, type) {

	  new Ajax.Request('/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);
  		  elem.disabled = false;
  		},
  	onFailure:
  		function() {
  			alert('Error actualizando datos. por favor contacte con el equipo técnico.');
  		}
  	});

}

function updateTermino(elem,id,operation,type) {

  new Ajax.Request('/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);
  		  elem.disabled = false;
  		},
  	onFailure:
  		function() {
  			alert('Error actualizando datos. por favor contacte con el equipo técnico.');
  		}
  	});

}

function updateCalidades(id, lang) {

  new Ajax.Request('/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('/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('/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) {

  new Ajax.Request('/ajax/getSubtipo.php', {
  	method: 'post',
  	parameters: {tipo: 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 updatePrecio(elem,op) {

	if(op != "TT") {
		new Ajax.Request('/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);
				  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('/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('/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('/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('/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('/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('/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('/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('/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.');
	  				}
	  			});

		}

}