var tools = {
	// Returns array with page width, height and window width, height
	// Core code from - quirksmode.org
	// Edit for Firefox by pHaez
	getPageSize: function() {
		var xScroll, yScroll;
		
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = document.body.scrollWidth;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		
		var windowWidth, windowHeight;
		if (self.innerHeight) {	// all except Explorer
			windowWidth = self.innerWidth;
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
	
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){	
			pageWidth = windowWidth;
		} else {
			pageWidth = xScroll;
		}
	
	
		arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
		return arrayPageSize;
	},
	
	getPageScroll: function() {
	
		var yScroll;
	
		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
		} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
			yScroll = document.documentElement.scrollTop;
		} else if (document.body) {// all other Explorers
			yScroll = document.body.scrollTop;
		}
	
		arrayPageScroll = new Array('',yScroll) 
		return arrayPageScroll;
	}
};

var overlay = {
	show: function() {
		var arrayPageSize = tools.getPageSize();
		$("#overlay").css('height', arrayPageSize[1]+"px");
		var arrayPageScroll = tools.getPageScroll();
		var h = parseInt($("#overlay-content").css('height'));
		var t = arrayPageScroll[1] + ((arrayPageSize[3] - h) / 2);
		$("#overlay-content").css('top', t+"px");
		var w = parseInt($("#overlay-content").css('width'));
		var l = (arrayPageSize[2] - w) / 2;
		$("#overlay-content").css('left', l+"px");

		if (window.ie6 != null) {
			// workaround per ie6: el select passen per sobre d'una capa amb un z-index superior
			$("select").css('visibility', 'hidden');
		}
		$("#overlay").show();
		$("#overlay-content").show();
	},
	
	hide: function() {
		if (window.ie6 != null) {
			// workaround per ie6: el select passen per sobre d'una capa amb un z-index superior
			$("select").css('visibility', 'visible');
		}

		$("#overlay").hide();
		$("#overlay-content").hide();
	}
};

var provinciaSelected =
	function(provinciaId, context) {
		var field = $("select[name=poblacion]", context);
		field.empty();
		field.append('<option value="">Cargando...</option>');
		
		var data = "provinciaId="+provinciaId;
		$.ajax({
			type: "POST",
			url: "ajax_getlocalidadesbyprovincia/",
			data: data,
			success: function(msg) {
				//alert (msg);
				var json = eval('(' + msg + ')');
				var result = json.result;
				
				field.empty();
				
				var html = '';
				html+= '<option value="">Selecciona una</option>';
				for (var i=0;i<result.length;i++) {
					values = result[i];
					html+= '<option value="'+values[0]+'">'+values[1]+'</option>';
				}
				field.append(html);
				field.children("option:first").attr("selected", "selected");
			}
		});
	};
	
var ajaxUpload = 
	function (button, width, type) {
		new AjaxUpload(button,{
			action: 'upload/?type='+type,
			name: 'myfile',
			onSubmit : function(file, ext){
				var context = button.parents("div.upload").parent();
				$('div.foto-container', context).addClass("loading");
			},
			onComplete: function(file, response){
				$('div.foto-container', context).removeClass("loading");
				
				var context = button.parents("div.upload").parent();
				var json = eval('(' + response + ')');
				var result = json.result;

				if (result.estado == 1) {
					$("input[type=hidden]", context).val(result.fichero);
					
					if (type == 'foto') {
						var img = $('div.foto-container img', context);
						var src = 'imagen/?filename='+result.fichero+'&w='+width+'&t=1';
						if (img.size() != 0) {
							img.attr('src', src);
						} else {
							$('div.foto-container', context).append('<img src="'+src+'" />');
							context.addClass("foto");
						}
					} else if (type == 'fichero') {
						$('input', context).show();
					}
					$("a.eliminar", context).show();
				} else {
					alert (result.mensaje);
				}
			}
		});
	}
	
function comentario(tipo) {
	$.extend({
		htmlTextarea: 'Escribe un comentario...',
		tipo: tipo,
		
		hide: function(context) {
			$("div.conversacion textarea", context)
			.css("height", "20px")
			.val($.htmlTextarea);
			$("div.conversacion button.enviar", context).hide();
		},
		
		show: function(context) {
			$("div.conversacion textarea", context)
			.css("height", "130px")
			.val("");
			$("div.conversacion button.enviar", context).show();
		}
		
	});

	$("div.conversacion textarea")
	.focus(
		function() {
			if ($(this).val() == $.htmlTextarea) {
				var context = ($(this).parents("div.oferta").size() ? $(this).parents("div.oferta") : null);
				$.show(context);
			}
		}
	)
	.blur(
		function() {
			if ($(this).val() == '') {
				var context = ($(this).parents("div.oferta").size() ? $(this).parents("div.oferta") : null);
				$.hide(context);
			}
		}
	);
	
	$("div.conversacion button").click(
		function() {
			var context = ($(this).parents("div.oferta").size() ? $(this).parents("div.oferta") : null);
			var comentario = $("div.conversacion textarea", context).val();
			var data, url;
			if ($.tipo == 'faena') {
				data = "ofertaFaenaId="+$("input[name=ofertaFaenaId]", context).val()+"&comentario="+comentario;
				url = "ajax_insertofertafaenacomentario";
			} else {
				data = "ofertaMaterialId="+$("input[name=ofertaMaterialId]", context).val()+"&comentario="+comentario;
				url = "ajax_insertofertamaterialcomentario";
			}
			$.ajax({
				type: "POST",
				url: url + "/",
				data: data,
				success: function(msg) {
					var html = '\
						<div class="comentario">\
							<p class="quien">Yo:</p>\
							<p class="texto">'+comentario+'</p>\
						</div>\
					';
					$("div.comentarios-container", context).append(html);
					$.hide(context);
				}
			});
		}
	);
}

function cambioEstado(tipo) {
	$.extend({
		tipo: tipo
	});

	$("button.aceptar, button.denegar").click(
		function() {
			var context = $(this).parents("div.oferta");
			var aceptar = $(this).is(".aceptar");
			var estadoId = (aceptar ? 2 : 3);

			if ($.tipo == 'faena') {
				data = "ofertaFaenaId="+$("input[name=ofertaFaenaId]", context).val()+"&estadoId="+estadoId;
				url = "ajax_updateestadoofertafaena";
			} else {
				data = "ofertaMaterialId="+$("input[name=ofertaMaterialId]", context).val()+"&estadoId="+estadoId;
				url = "ajax_updateestadoofertamaterial";
			}
			$.ajax({
				type: "POST",
				url: url + "/",
				data: data,
				success: function(msg) {
					$("span.estado", context).removeClass("pendiente");
					$("textarea", context).hide();
					$("button.aceptar, button.denegar", context).hide();
					if (aceptar) {
						$("span.estado", context)
							.addClass("aceptada")
							.html("Aceptada");
					} else {
						$("span.estado", context)
							.addClass("denegada")
							.html("Denegada");
					}
				}
			});
						
			return false;
		}
	);
}

function checkOfertar() {
	$("table.faenas a.ofertar").click(
		function() {
			var creditosOfertar = $("input[name=creditosOfertar]").val();
			if ($(this).attr("href") == "#") {
				overlay.show();
				
				return false;
			} else if ($("span#creditos-disponibles").html() - creditosOfertar < 0) {
				alert("No dispone de créditos suficientes para consultar esta información");
				
				return false;
			} else {
				if ($("input[name=leida]").val() == 0) {
					return confirm("Para poder consultar esta información se le " + (creditosOfertar == 1 ? 'descontará' : 'descontaran') + ' ' + creditosOfertar + ' crédito' + (creditosOfertar == 1 ? '' : 's') + '.\n¿Quiere continuar?');
				}
			}
		}
	);
}

function mapa(page) {
	$.extend({
		arrMapa: new Array("-374px -1028px", "0 -257px", "-1122px -514px", "-1122px -771px", "-748px 0", "-374px 0", "-748px -771px", "-748px -257px", "-374px -514px", "-748px -514px", "-374px -257px", "0 -514px", "-1122px -257px", "0 -1028px", "0 0", "-1122px 0", "-374px -771px", "0 -771px"),
		comunidadSelected: null
	});
	
	$.comunidadSelected = $.arrMapa[0];

	var comunidadChange =
		function(val) {
			var field = $("select[name=provinciaId]");
			field.empty();
			
			if (val != '') {
				field.append('<option value="">Cargando...</option>');
				
				var data = "comunidadId="+val;
				$.ajax({
					type: "POST",
					url: "ajax_getprovinciasbycomunidad/",
					data: data,
					success: function(msg) {
						//alert (msg);
						var json = eval('(' + msg + ')');
						var result = json.result;
						
						field.empty();
						
						var html = '';
						html+= '<option value="">Selecciona una</option>';
						for (var i=0;i<result.length;i++) {
							values = result[i];
							html+= '<option value="'+values[0]+'">'+values[1]+'</option>';
						}
						field.append(html);
						field.children("option:first").attr("selected", "selected");
					}
				});
			} else {
				field.append('<option value=""></option>');
			}
		}	
		
	$("select[name=comunidadId]").change(
		function() {
			var val = $(this).val();
			if (val == '' || val == 18 || val == 19) {
				$.comunidadSelected = $.arrMapa[0];
			} else {
				$.comunidadSelected = $.arrMapa[$(this).val()];
			}
			$("#mapa").css("background-position", $.comunidadSelected);
			comunidadChange($(this).val());
		}
	);
	
	var hoverout = function() {
		$("#mapa").css("background-position", $.comunidadSelected);
	}
	
	$("area").click(
		function() {
			var id = $(this).attr("class").split("-")[1];
			$.comunidadSelected = $.arrMapa[id];
			$("select[name=comunidadId] option[value="+id+"]").attr("selected", "selected");
			$("select[name=comunidadId]").effect("highlight",{color: "#FED141"},2000);
			comunidadChange(id);

			return false;
		}
	).hover(
		function() {
			var id = $(this).attr("class").split("-")[1];
			$("#mapa").css("background-position", $.arrMapa[id]);
		},
		function() {
			hoverout();
		}
	);
	
}

function modificarPresupuesto(tipo) {
	$.extend({
		tipo: tipo
	});

	$("div.presupuesto div.read a.button").click(
		function() {
			var divPresupuesto = $(this).parents("div.presupuesto");
			divPresupuesto.children("div.read").hide();
			divPresupuesto.children("div.write").show();
			divPresupuesto.find("div.write input").focus().select();
			
			return false;
		}
	);
	
	$("div.presupuesto div.write input").blur(
		function() {
			var divPresupuesto = $(this).parents("div.presupuesto");
			setTimeout(function() {
				divPresupuesto.children("div.read").show();
				divPresupuesto.children("div.write").hide();
			}, 500);

		}
	);
	
	$("div.presupuesto div.write button").click(
		function() {
			var divPresupuesto = $(this).parents("div.presupuesto");
			var presupuesto = divPresupuesto.find("div.write input").val();
			var data;
			
			divPresupuesto.find("div.read span.presupuesto").html(presupuesto);
			
			if ($.tipo == 'faena') {
				data = "ofertaFaenaId="+$("input[name=ofertaFaenaId]").val()+"&presupuesto="+presupuesto;
				url = "ajax_updateofertafaenapresupuesto";
			} else {
				data = "ofertaMaterialId="+$("input[name=ofertaMaterialId]").val()+"&presupuesto="+presupuesto;
				url = "ajax_updateofertamaterialpresupuesto";
			}
			
			$.ajax({
				type: "POST",
				url: url + "/",
				data: data,
				success: function(msg) {
				}
			});
		}
	);
}

$(document).ready(
	function() {
		/*
		$("a.ofertar").click(
			function() {
				$(this).next().show();
				$(this).next().find("textarea[name=comentario]").focus();
				
				return false;
			}
		);
		
		$("div.ofertar a.cerrar").click(
			function() {
				$(this).parent().hide();
				
				return false;
			}
		);
		
		$("div.ofertar input.enviar").click(
			function() {
				var ofertar = $(this).parents("div.ofertar");
				ofertar.hide();
				
				var data = "faenaId="+$("input[name=faena-id]", ofertar).val()+"&comentario="+$("textarea[name=comentario]", ofertar).val()+"&presupuesto="+$("input[name=presupuesto]", ofertar).val();
				$.ajax({
					type: "POST",
					url: "ajax_ofertapublicada/",
					data: data,
					success: function(msg) {
						//alert (msg);
						ofertar.remove();
					}
				});
			}
		);
		*/
		
		// mostrar capa acceso para todos las páginas privadas
		$("a.privado").click(
			function() {
				if (!$("#overlay").size()) {
					return true;
				}
				
				overlay.show();
				return false;
			}
		);
		
		// sin acción si hay submenu
		$("#menu-principal li a.menu").click(
			function() {
				return false;
			}
		);
		
		// esconder capa al cancelar
		$("#overlay-content button.cancelar").click(
			function() {
				overlay.hide();
			}
		);
		
		// gestión campo buscador de texto
		var buscadorSimpleTexto = $("#sidebar input").val();
		$("#sidebar input").focus(
			function() {
				if ($(this).val() == buscadorSimpleTexto) {
					$(this).val("");
				}
			}
		).blur(
			function() {
				if ($(this).val() == '') {
					$(this).val(buscadorSimpleTexto);
				}
			}
		);
		
		// gestión campos de login
		var emailTexto = $("form[name=login] input[name=email]").val();
		var passwordTexto = $("form[name=login] input[name=password]").val();
		$("#login :input").focus(
			function() {
				var val;
				if ($(this).attr("name") == 'email') {
					val = emailTexto;
				} else {
					val = passwordTexto;
				}
				
				if ($(this).val() == val) {
					$(this).val("");
				}
			}
		).blur(
			function() {
				if ($(this).val() == '') {
					var val;
					if ($(this).attr("name") == 'email') {
						val = emailTexto;
					} else {
						val = passwordTexto;
					}

					$(this).val(val);
				}
			}
		);
		
		// gestión upload en trabajos-container
		$('#trabajos-container button.examinar').each(
			function() {
				ajaxUpload($(this), 100, 'foto');
			}
		);
		
		// gestión eliminar en upload
		$('div.upload a.eliminar').click(
			function() {
				var context = $(this).parents("div.upload").parent();
				$("input[type=hidden]", context).val('');
				$('div.foto-container', context).empty();
				$('a.eliminar', context).removeClass("show").hide();
				if ($(this).parents("#ficheros-container").size()) {
					$('input.nombre-fichero', context).val($.nombreFicheroTexto).removeClass("show").hide();
				} else {
					context.removeClass("foto");
				}
				
				return false;
			}
		);
		
		// prettyPhoto
		$("a[rel^='prettyPhoto']").prettyPhoto({
			theme: 'light_rounded'
		});
		
		var bodyId = $("body").attr("id");
		if (bodyId != '') {
			var page = bodyId.split('-')[1];
			// dispatch evento init
			switch (page) {
				case 'registro':
				case 'perfil':
					registro(page);
					break;
				case 'publicarFaena':
				case 'modificarFaena':
					publicarFaena();
					break;
				case 'bolsaFaenas':
					bolsaFaenas();
					break;
				case 'faenaContacto':
					faenaContacto();
					break;
				case 'faenaAnuncio':
					faenaAnuncio();
					break;
				case 'home':
					mapa(page);
					home();
					break;
				case 'anunciosMaterial':
					mapa(page);
					anunciosMaterial();
					break;
				case 'faena':
					faena();
					break;
				case 'ofertar':
					ofertar();
					break;
				case 'comprarCreditos':
					comprarCreditos();
					break;
				case 'publicarMaterial':
				case 'modificarMaterial':
					publicarMaterial();
					break;
				case 'material':
					material();
					break;
				case 'materialContacto':
					materialContacto();
					break;
				case 'materialAnuncio':
					materialAnuncio();
					break;
				case 'recordarContrasena':
					recordarContrasena();
					break;
				case 'carteraClientes':
					carteraClientes();
					break;
				case 'recomendarPagina':
					recomendarPagina();
					break;
				case 'contacto':
					contacto();
					break;
			}
		}
	}
);

function registro(page) {
	$("#registro-tipo-usuario").change(
		function() {
			$("div#reclamo").removeClass();
			switch ($(this).val()) {
				case '1': // particular
					$("div.form").show();
					$("div.form .form-empresa").hide();
					$("div.form .form-proveedor").hide();
					$("div.form .form-particular").show();
					$("div#reclamo").addClass("reclamo-particular");
					break;
				case '2': // empresa
					$("div.form").show();
					$("div.form .form-particular").hide();
					$("div.form .form-proveedor").hide();
					$("div.form .form-empresa").show();
					$("div#reclamo").addClass("reclamo-empresa");
					break;
				case '3': // proveedor
					$("div.form").show();
					$("div.form .form-particular").hide();
					$("div.form .form-empresa").hide();
					$("div.form .form-proveedor").show();
					$("div#reclamo").addClass("reclamo-proveedor");
					break;
				default:
					$("div.form").hide();
			}
		}
	);
	
	$("select[name=provincia]").change(
		function() {
			var context = $(this).parents("div.form");
			provinciaSelected($(this).val(), context);
		}
	);
		
	$("form[name="+page+"]").submit(
		function() {
			switch ($("#registro-tipo-usuario").val()) {
				case '1':
					// particular
					if (!$("#nombre").mandatory("Nombre")) return false;
					if (!$("#apellidos").mandatory("Apellidos")) return false;
					if (!$("#provincia").mandatory("Provincia")) return false;
					if (!$("#poblacion").mandatory("Población")) return false;
					if (!$("#email").mandatory("Email")) return false;
					if (!$("#password1").mandatory("Contraseña")) return false;
					if (!$("#password2").mandatory("Contraseña")) return false;
					if (!$("#password1").validatePassword($("#password2"))) return false;
					
					break;
				case '2': // empresa
					if (!$("#nombre").mandatory("Nombre")) return false;
					if (!$("#cif").mandatory("CIF")) return false;
					if (!$("#direccion").mandatory("Dirección")) return false;
					if (!$("#cp").mandatory("Código Postal")) return false;
					if (!$("#provincia").mandatory("Provincia")) return false;
					if (!$("#poblacion").mandatory("Población")) return false;
					if (!$("#email").mandatory("Email")) return false;
					if (!$("#password1").mandatory("Contraseña")) return false;
					if (!$("#password2").mandatory("Contraseña")) return false;
					if (!$("#password1").validatePassword($("#password2"))) return false;
					
					if (!$("input[name=provinciaActividad[]]:checked").size()) {
						alert("Debe seleccionar al menos una provincia en la que trabaja");
						return false;
					}
					
					if (!$("input[name=actividad[]]:checked").size()) {
						alert("Debe seleccionar al menos una actividad a la que se dedica");
						return false;
					}
					
					break;
				case '3': // proveedor
					if (!$("#nombre").mandatory("Nombre")) return false;
					if (!$("#cif").mandatory("CIF")) return false;
					if (!$("#direccion").mandatory("Dirección")) return false;
					if (!$("#cp").mandatory("Código Postal")) return false;
					if (!$("#provincia").mandatory("Provincia")) return false;
					if (!$("#poblacion").mandatory("Población")) return false;
					if (!$("#email").mandatory("Email")) return false;
					if (!$("#password1").mandatory("Contraseña")) return false;
					if (!$("#password2").mandatory("Contraseña")) return false;
					if (!$("#password1").validatePassword($("#password2"))) return false;
					
					if (!$("input[name=provinciaActividad[]]:checked").size()) {
						alert("Debe seleccionar al menos una provincia en la que trabaja");
						return false;
					}
					
					if (!$("input[name=tipoMaterial[]]:checked").size()) {
						alert("Debe seleccionar al menos un tipo de material del que es proveedor");
						return false;
					}
					break;
			}
			
			if (page == 'registro') {
				if (!$("#acepto:checked").size()) {
					alert("Debe aceptar los términos de uso y política de privacidad");
					return false;
				}
			}
			
			return true;
		}
	);
	
	ajaxUpload($('#logo button'), 100, 'foto');
	
	$("input.comunidad").click(
		function() {
			$(this).nextAll("ul.provincia").find("input").attr("checked", "checked");
		}
	);
	
	$("a#eliminar-usuario").click(
		function() {
			return confirm("¿Está seguro que se quiere dar de baja?");
		}
	);
}

function publicarFaena() {
	$.extend({
		nombreFicheroTexto: null
	});
	
	$.nombreFicheroTexto = $("#ficheros-container input.nombre-fichero").val();

	$("select[name=provincia]").change(
		function() {
			provinciaSelected($(this).val(), null);
		}
	);
	
	$('#ficheros-container button.examinar').each(
		function() {
			ajaxUpload($(this), 100, 'fichero');
		}
	);
	
	// gestión eliminar en trabajos-container
	/*
	$('div.upload a.eliminar').click(
		function() {
			var context = $(this).parents("div.upload").parent();
			$("input[type=hidden]", context).val('');
			$('div.foto-container', context).empty();
			$('a.eliminar', context).hide();
			context.removeClass("foto");
			
			return false;
		}
	);
	*/
	
	$("#ficheros-container input.nombre-fichero").focus(
		function() {
			if ($(this).val() == $.nombreFicheroTexto) {
				$(this).val("");
			}
		}
	).blur(
		function() {
			if ($(this).val() == '') {
				$(this).val($.nombreFicheroTexto);
			}
		}
	);
	
	$("form[name=publicar-faena]").submit(
		function() {
			if (!$("#publicar-faena-actividad").mandatory("Actividad")) return false;
			if (!$("#publicar-faena-provincia").mandatory("Provincia")) return false;
			if (!$("#publicar-faena-poblacion").mandatory("Población")) return false;
			if (!$("#publicar-faena-titulo").mandatory("Título")) return false;
			if (!$("#publicar-faena-descripcion").mandatory("Descripción")) return false;
			
			if ($("div.no-identificado").size()) {
				if ($("#restringido-email").val() == "" & $("#restringido-password").val() == "" & $("#registro-tipo-usuario").val() == "") {
					alert("Si eres usuario registrado, por favor introduce tus datos. Si no eres usuario registrado, por favor selecciona qué tipo de usuario eres");
					return false;
				} else {
					if (($("#restringido-email").val() == "" & $("#restringido-password").val() != "") || ($("#restringido-email").val() != "" & $("#restringido-password").val() == "")) {
						if (!$("#restringido-email").mandatory("Email")) return false;
						if (!$("#restringido-password").mandatory("Contraseña")) return false;
					} else {
						if (($("#restringido-email").val() == "" & $("#restringido-password").val() == "")) {
							if (!$("#registro-tipo-usuario").mandatory("Tipo de usuario")) return false;
						}
					}
				}
			}
			
			return true;
		}
	);
}

function bolsaFaenas() {
	/*
	$("#bolsa-faena-comunidad").change(
		function() {
			var field = $("select[name=provincia]");
			field.empty();
			field.append('<option value="">&nbsp;</option>');
			
			if ($(this).val() != '') {
				var data = "comunidadId="+$(this).val();
				$.ajax({
					type: "POST",
					url: "ajax_getprovinciasbycomunidad/",
					data: data,
					success: function(msg) {
						//alert (msg);
						var json = eval('(' + msg + ')');
						var result = json.result;
						
						var html = '';
						for (var i=0;i<result.length;i++) {
							values = result[i];
							html+= '<option value="'+values[0]+'">'+values[1]+'</option>';
						}
						field.append(html);
						field.children("option:first").attr("selected", "selected");
					}
				});
			}
		}
	);
	*/
}

function faenaContacto() {
	comentario("faena");
	modificarPresupuesto("faena");
}

function faenaAnuncio() {
	comentario("faena");
	cambioEstado("faena")
}

function faena() {
	checkOfertar();
}

function ofertar() {
	$("form[name=ofertar]").submit(
		function() {
			if (!$("#comentario").mandatory("Comentario")) return false;
			if (!$("#presupuesto").mandatory("Presupuesto")) return false;
			if (!$("#presupuesto").validateFloat("Presupuesto")) return false;
			
			return true;
		}
	);
}

function comprarCreditos() {
	$("button.calcular").click(
		function() {
			if (!$("input[name=creditos]").validateInteger("Créditos")) return false;
			
			var creditos = $("input[name=creditos]").val();
			var importe, descuento;
			if (creditos < 10) {
				descuento = 0;
			} else if (creditos > 9 & creditos < 20) {
				descuento = 0.1;
			} else if (creditos > 19 & creditos < 29) {
				descuento = 0.2;
			} else {
				descuento = 0.3;
			}
			var importe = creditos * $("input[name=precio-credito]").val() * (1 - descuento);
			$("span#importe").html(importe.toFixed(1));
			
			return false;
		}
	);
	
	$("form[name=creditos-comprados]").submit(
		function() {
			if (!$("input[name=creditos]").mandatory("Créditos")) return false;
			if (!$("input[name=creditos]").validateInteger("Créditos")) return false;
			if (!$("input[name=forma_pago]").mandatory("Forma de pago")) return false;
			
			switch ($("input[name=forma_pago]:checked").val()) {
				/*
				case "1":
					break;
				*/
				case "2":
					$(this).attr("action", "txok");
					break;
				case "3":
					//$(this).attr("action", "txok");
					break;
			}
			
			return true;
		}
	);
}

function publicarMaterial() {
	$("form[name=publicar-material]").submit(
		function() {
			if (!$("#publicar-material-tipo-material").mandatory("Tipo material")) return false;
			if (!$("#publicar-material-provincia").mandatory("Provincia")) return false;
			if (!$("#publicar-material-titulo").mandatory("Título")) return false;
			if (!$("#publicar-material-descripcion").mandatory("Descripción")) return false;
			
			if ($("div.no-identificado").size()) {
				if ($("#restringido-email").val() == "" & $("#restringido-password").val() == "" & $("#registro-tipo-usuario").val() == "") {
					alert("Si eres usuario registrado, por favor introduce tus datos. Si no eres usuario registrado, por favor selecciona qué tipo de usuario eres");
					return false;
				} else {
					if (($("#restringido-email").val() == "" & $("#restringido-password").val() != "") || ($("#restringido-email").val() != "" & $("#restringido-password").val() == "")) {
						if (!$("#restringido-email").mandatory("Email")) return false;
						if (!$("#restringido-password").mandatory("Contraseña")) return false;
					} else {
						if (($("#restringido-email").val() == "" & $("#restringido-password").val() == "")) {
							if (!$("#registro-tipo-usuario").mandatory("Tipo de usuario")) return false;
						}
					}
				}
			}
			
			return true;
		}
	);
}

function material() {
	checkOfertar();
}

function materialContacto() {
	comentario("material");
	modificarPresupuesto("material");
}

function materialAnuncio() {
	comentario("material");
	cambioEstado("material")
}

function recordarContrasena() {
	$("form[name=recordar-contrasena]").submit(
		function() {
			if (!$("#recordar-contrasena-email").mandatory('Email')) return false;
			
			return true;
		}
	);
}

function carteraClientes() {
	function handleClick(a) {
		var url, pag;
		
		var href = a.attr("href").substr(('cartera-clientes/').length);
		var array = href.split("/");
		var listado = array[0];
		if (array.length == 1) {
			pag = 1;
		} else {
			pag = array[1].split("pagina")[1];
		}

		switch (listado) {
			case 'clientes':
				url = 'ajax_getcarteraclientes';
				break;
			case 'profesionales':
				url = 'ajax_getcarteraprofesionales';
				break;
			case 'presupuestos-aceptados-faenas':
				url = 'ajax_getpresupuestosaceptadosfaenas';
				break;
			case 'presupuestos-denegados-faenas':
				url = 'ajax_getpresupuestosdenegadosfaenas';
				break;
			case 'presupuestos-aceptados-materiales':
				url = 'ajax_getpresupuestosaceptadosmateriales';
				break;
			case 'presupuestos-denegados-materiales':
				url = 'ajax_getpresupuestosdenegadosmateriales';
				break;
		}

		var data = "pag="+pag;
		$.ajax({
			type: "POST",
			url: url + "/",
			data: data,
			success: function(html) {
				$("#cartera-resultados").empty();
				$("#cartera-resultados").append(html);
			}
		});
		
		return false;
	}
	
	$("table.cartera a").click(
		function() {
			return handleClick($(this));
		}
	);
	
	$("#cartera-resultados #paginador a").live("click",
		function() {
			return handleClick($(this));
		}
	);
}

function recomendarPagina() {
	$("form.recomendar").submit(
		function() {
			if ($("#recomendar-nombre").size()) {
				if (!$("#recomendar-nombre").mandatory("Nombre")) return false;
				if (!$("#recomendar-tuemail").mandatory("Email")) return false;
			}
			if (!$("#recomendar-email").mandatory("Email")) return false;
		}
	);
}

function home() {
	$("#bolsa-faena-comunidad").selectfixedwidth();
	$("#bolsa-faena-actividad").selectfixedwidth();
}

function anunciosMaterial() {
	$("#bolsa-material-comunidad").selectfixedwidth();
	$("#bolsa-material-tipo-material").selectfixedwidth();
}

function contacto() {
	$("form.contacto").submit(
		function() {
			if ($("#contacto-nombre").size()) {
				if (!$("#contacto-nombre").mandatory("Nombre")) return false;
				if (!$("#contacto-email").mandatory("Email")) return false;
			}
			if (!$("#contacto-departamento").mandatory("Departamento")) return false;
			if (!$("#contacto-mensaje").mandatory("Mensaje")) return false;
		}
	);
}
