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('indiferente');
		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++) {
  		if (json[i].descripcion.replace(/^\s*|\s*$/g, "") != '') {
			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 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 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) {

  new Ajax.Request(PATH + '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, 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.');
	  				}
	  			});

		}

}

Event.observe(window, 'load', init);

function init() {
	if ($('search')) {
		var vstatus = new Hash();	
		$('busq_ref').observe('click', function() {
					if (this.checked) {
						$$('.in_ref').each(function(obj2) {
							vstatus.set(obj2.id, obj2.readAttribute('disabled'));
							obj2.writeAttribute('disabled', true);
						});
						$('referencia_agencia').writeAttribute('disabled', false);
					} else {
						$('referencia_agencia').writeAttribute('disabled',true);	
						vstatus.each(function(par) {
							$(par.key).writeAttribute('disabled', par.value);
						});
					};
				});
		}
}