$(document).ready(function() {
	$("body").click(function(event){ event.stopPropagation(); });
	$("#map_layer").hide();
	$(".map_icon").click(function(){ $("#map_layer").toggle(); });
	$('#content .text a').filter(function(){ return this.hostname && this.hostname !== location.hostname; }).addClass('external').attr("target","_new");
	$(".map-control a").click(function() { $("#map_box").mapbox(this.className, 3); });
	$(".school .request a").tipTip({maxWidth: "220", edgeOffset: 10, defaultPosition: "left"});
	$("#content .text a, #content .link, #content .schoolText a, .map_icon").tipTip({maxWidth: "220", edgeOffset: 10, defaultPosition: "bottom"});
	$("#menu a").tipTip({maxWidth: "auto", edgeOffset: 10, defaultPosition: "right"})
	$("#breadcrumb a, #breadcrumbSchool a, #adv_search_op, #flags a, #flagsIndex a, #sesion a").tipTip({maxWidth: "220", edgeOffset: 10, defaultPosition: "bottom"});
/*	$("#modalidad-escuela").change(function(){
		if($("#modalidad-escuela option[value='online']:selected") == 1) { 
			$("#provincia-escuela").hide();
		}
		//[value='distancia']:selected, #modalidad-escuela option[value='online']:selected		
	});*/
	$("#map_box .map_xs ul li span").click(function(){
		if($(this).attr("class") != "selected"){
			var provincia_class = $(this).parent().attr("class");
			$(this).addClass("selected");
			$("#provincia-escuela option[value='l1']").removeAttr('selected', 'selected');
			$("#provincia-escuela option[value=" + provincia_class + "]").attr('selected', 'selected');
		}
		else{
			$(this).removeClass("selected");
			var provincia_class = $(this).parent().attr("class");
			$("#provincia-escuela option[value=" + provincia_class + "]").removeAttr('selected', 'selected');
		}
	});
	$("#map_box .close").click(function(){ $("#map_layer").hide(); });
	$("#provincia-escuela").click(function () {
		if($("#provincia-escuela option[value='l1']:selected") == 1 ){ 
			$("#provincia-escuela option").removeAttr("selected", "selected"); 
			$("#map_layer").hide();
			$("#map_box .map_xs ul li span").removeClass("selected");
		}
		else{
			var selProv = $("#provincia-escuela option:selected").attr("value");
			$("#map_box .map_xs ul li span").removeClass("selected");
			$("#map_box .map_xs ul li." + selProv + " span").addClass("selected");
		}
	});
	
	$('.grey_box').each(function(){	$(this).hover(function(){ $(this).find('h3').addClass('collapse'); }, function(){ $(this).find('h3').removeClass('collapse'); }).find('h3').hover(function(){ $(this).find('.configure').css('visibility', 'visible'); }, function(){ $(this).find('.configure').css('visibility', 'hidden'); }).click(function(){ $(this).siblings('.box-content').toggle(); }).end().find('.configure').css('visibility', 'hidden'); });
	$('.column').sortable({
		connectWith: '.column, .column2',
		handle: 'h3',
		cursor: 'move',
		placeholder: 'placeholder',
		forcePlaceholderSize: true,
		opacity: 0.4,
		stop: function(event, ui){
			$(ui.item).find('h3').click();
			var sortorder='';
			$('.column').each(function(){
				var itemorder=$(this).sortable('toArray');
				var columnId=$(this).attr('id');
				sortorder+=columnId+'='+itemorder.toString()+'&';
			});
		}
	}).disableSelection();

	$('.column2').sortable({ 
		connectWith: '.column2, .column',
		handle: 'h3',
		cursor: 'move',
		placeholder: 'placeholder',
		forcePlaceholderSize: true,
		opacity: 0.4,
		stop: function(event, ui){
			$(ui.item).find('h3').click();
			var sortorder='';
			$('.column').each(function(){
				var itemorder=$(this).sortable('toArray');
				var columnId=$(this).attr('id');
				sortorder+=columnId+'='+itemorder.toString()+'&';
			});
		}
	}).disableSelection();

	$('.columnMenu').sortable({ 
		connectWith: '.columnMenu',
		handle: 'h3',
		cursor: 'move',
		placeholder: 'placeholder',
		forcePlaceholderSize: true,
		opacity: 0.4,
		stop: function(event, ui){
			$(ui.item).find('h3').click();
			var sortorder='';
			$('.column').each(function(){
				var itemorder=$(this).sortable('toArray');
				var columnId=$(this).attr('id');
				sortorder+=columnId+'='+itemorder.toString()+'&';
			});
		}
	}).disableSelection();

	$("#dialog").dialog("destroy");
	var name = $("#name"),
		email = $("#email"),
		password = $("#password"),
		allFields = $([]).add(name).add(email).add(password),
		tips = $(".validateTips"),
		nameAccess = $("#name-access"),
		passwordAccess = $("#password-access");
		

	function updateTips(t) {
		tips.text(t).addClass('ui-state-highlight');
		setTimeout(function() {	tips.removeClass('ui-state-highlight', 1500); }, 500);
	}

	function checkLength(o,n,min,max) {
		if ( o.val().length > max || o.val().length < min ) {
			o.addClass('ui-state-error');
			updateTips("El " + n + " debe tener entre " + min + " y " + max + " caracteres.");
			return false;
		} else {
			return true;
		}
	}

	function checkRegexp(o,regexp,n) {

		if ( !( regexp.test( o.val() ) ) ) {
			o.addClass('ui-state-error');
			updateTips(n);
			return false;
		} else {
			return true;
		}

	}
	
	$("#dialog-form").dialog({
		autoOpen: false,
		height: 300,
		width: 350,
		modal: true,
		buttons: {
			'Crear Cuenta': function() {
				var bValid = true;
				allFields.removeClass('ui-state-error');

				bValid = bValid && checkLength(name,"usuario",3,16);
				bValid = bValid && checkLength(email,"email",6,80);
				bValid = bValid && checkLength(password,"contrase&ntilde;a",5,16);

				bValid = bValid && checkRegexp(name,/^[a-z]([0-9a-z_])+$/i,"El nombre de usuario puede tener los siguientes caracteres: a-z, 0-9, guion bajo y debe comenzar por una letra.");
				bValid = bValid && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"Escribe un e-mail valido. ej. ejemplo@ejemplo.com");
				bValid = bValid && checkRegexp(password,/^([0-9a-zA-Z])+$/,"La contrase&ntilde;a solo puede tener letras y números");
				if (bValid) {
						$('.box-alta p').hide();
						$('.box-alta a').hide();
						$('.box-alta h3').html('Tu cuenta ha sido creada');
						$('.box-alta').append('<p><strong>Usuario:</strong> ' + name.val() + '<br /><strong>e-mail:</strong> ' + email.val() + '<br /><strong>Contrase&ntilde;a:</strong> ' + password.val() + '</p><p>En breve recibir&aacute;s un correo de confirmaci&oacute;n.</p>'); 
						$(this).dialog('close');
					}
			},
			'Cerrar': function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			allFields.val('').removeClass('ui-state-error');
		}
	});
	$('#create-user').click(function() { $('#dialog-form').dialog('open'); });

	$("#access-form").dialog({
		autoOpen: false,
		height: 250,
		width: 350,
		modal: true,
		buttons: {
			'Entrar': function() {
				var bValid = true;
				allFields.removeClass('ui-state-error');

				bValid = bValid && checkLength(name-access,"usuario",3,16);
				bValid = bValid && checkLength(password,"contrase&ntilde;a",5,16);

				bValid = bValid && checkRegexp(name-access,/^[a-z]([0-9a-z_])+$/i,"El nombre de usuario puede tener los siguientes caracteres: a-z, 0-9, guion bajo y debe comenzar por una letra.");
				bValid = bValid && checkRegexp(password-access,/^([0-9a-zA-Z])+$/,"La contrase&ntilde;a solo puede tener letras y números");
				if (bValid) {
						$('.box-alta p').hide();
						$('.box-alta a').hide();
						$('.box-alta h3').html('Datos de la cuenta');
						$('.box-alta').append('<p><strong>Usuario:</strong> ' + nameAccess.val() + '<br /><strong>Contrase&ntilde;a:</strong> ' + passwordAccess.val() + '</p><p><a href="">¿Quieres editar tus datos?</a>'); 
						
						$(this).dialog('close');
					}
			},
			'Cerrar': function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			allFields.val('').removeClass('ui-state-error');
		}
	});
	$('#access-user').click(function() { $('#access-form').dialog('open'); });


	$("#adv_search_box").dialog({
		autoOpen: false,
		height: 300,
		width: 350,
		modal: true,
		buttons: {
			'Buscar': function() {



			},
			'Cerrar': function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			allFields.val('').removeClass('ui-state-error');
		}
	});
	
	$('#adv_search_op').click(function() { $('#adv_search_box').dialog('open'); });
	$("#tematicas_box, #provincias_box, #cursosBox_1, #cursosBox_2, #cursosBox_3, #cursosBox_4, #cursosBox_5, #cursosBox_6, #cursosBox_7, #cursosBox_8, #cursosBox_9").dialog({
		autoOpen: false,
		height: 500,
		width: 650,
		modal: true,
		buttons: {
			'Cerrar': function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			allFields.val('').removeClass('ui-state-error');
		}
	});
	$('#provincias_op').click(function() { $('#provincias_box').dialog('open'); });
	$('#tematicas_op').click(function() { $('#tematicas_box').dialog('open'); });
	$('#cursosList_1').click(function() { $('#cursosBox_1').dialog('open'); });
	$('#cursosList_2').click(function() { $('#cursosBox_2').dialog('open'); });
	$('#cursosList_3').click(function() { $('#cursosBox_3').dialog('open'); });
	$('#cursosList_4').click(function() { $('#cursosBox_4').dialog('open'); });
	$('#cursosList_5').click(function() { $('#cursosBox_5').dialog('open'); });
	$('#cursosList_6').click(function() { $('#cursosBox_6').dialog('open'); });	
	$('#cursosList_7').click(function() { $('#cursosBox_7').dialog('open'); });
	$('#cursosList_8').click(function() { $('#cursosBox_8').dialog('open'); });
	$('#cursosList_9').click(function() { $('#cursosBox_9').dialog('open'); });

	$("#privacy-policy_box").dialog({
		autoOpen: false,
		height: 500,
		width: 400,
		modal: true,
		buttons: {
			'Cerrar': function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			allFields.val('').removeClass('ui-state-error');
		}
	}).append('<p>Le informamos que los datos personales obtenidos mediante este formulario, as&iacute; como direcci&oacute;n de correo electr&oacute;nico, van a ser incorporados en un fichero del cual es responsable Apr&eacute;ndelo Internet S.L., con la finalidad de atender sus consultas y enviarle informaci&oacute;n relacionada con la entidad que pudiera ser de su inter&eacute;s.</p><p>Apr&eacute;ndelo Internet S.L. se compromete a usar los datos recogidos mediante este formulario, &uacute;nicamente para la finalidad anteriormente mencionada.</p><p>El interesado declara tener conocimiento del destino y uso de los datos personales recogidos mediante la lectura de la presente clausula.</p><p>El env&iacute;o de este formulario implica la aceptaci&oacute;n de las clausulas expuestas.</p><p>Si desea ejercer los derechos de acceso, rectificaci&oacute;n, cancelaci&oacute;n u oposici&oacute;n en los t&eacute;rminos aqu&iacute; establecidos en la Ley Org&aacute;nica 15/1999, puede hacerlo a la siguiente direcci&oacute;n Apr&eacute;ndelo Internet, S.L.; c/ Rodriguez Mar&iacute;n nº88, 28016 Madrid, Madrid, Espa&ntilde;a o mediante un correo electr&oacute;nico dirigido a contacto[at]aprendelo[dot]com.</p>');
	
	$('#privacy-policy').click(function() { $('#privacy-policy_box').dialog('open'); });
	
	$("#slider-range").slider({
		value:5000, min:0, max:10000, step:50,
		slide: function(event, ui) {
			$("#amount").val(ui.value + " euros");
		}
	});
	$("#amount").val($("#slider-range").slider("value") + " euros");
});


