// What's Next SCP 2010

// JavaScript Document

// **********************************************************************  	//
// Control genérico de formularios     										//
// **********************************************************************  	//
// Variable de filtros para la validación de formularios
// Tipos soportados:
//		- Campos obligatórios
//		- Campos alfabéticos
//		- Campos alfanuméricos
//		- Correos electrónicos
//		- Teléfonos / FAX
//		- Letra DNI
//		- Algoritmo de Luhn (comprovación de número de tarjeta)
var filters = {
    requerido: function(el) {return ($(el).val() != '' && $(el).val() != -1);},
    alfabetico: function(el) {return /^[a-zA-ZáéíóúAÉÍÓÚÑñçïü_' ]+$/.test($(el).val());},
    alfabetico_y_simbolos: function(el) {return /[A-Za-zñÑáéíóúAÉÍÓÚçïü.:,;'·!¡¿¿?_\s]/.test($(el).val());},
    email: function(el) {return /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test($(el).val());},
    telefono: function(el){return /^[+0123456789]{9,15}$/.test($(el).val());}
};

// Función genèrica de validación de formularios
function comprovarForm(idForm){
	
	// Inicializamos los diferentes flags de errores
	var error = false;
	var req_error = false;
	var tlf_error = false;
	var ta_error = false;
	var mail_error = false;
	
	// Para todos los inputs activos del formulario
	if (!$('#_cond').attr('checked')) {
		$('#p_cond').css('color','#E1001A');
		error = true;
	} else {
		$('#p_cond').css('color','');
	}
	$('#'+idForm+' :input').each(function(i, v){
		if($(this).is(':enabled'))
		{	
			// Campos obligatorios (caracteres alfabéticos)
			if(v.name.match("req_") != null){
				if(filters['requerido'](v)){
				
					$(v).removeClass('fail');
					
				}else{error = true; $(v).addClass('fail', 500);}
			}
			// Correos obligatorios
			if(v.name.match("mail_") != null){
				if(filters['email'](v)){$(v).removeClass('fail');}else{error = true; $(v).addClass('fail', 500);}
			}
			// Números de teléfono
			if(v.name.match("tlf_") != null){
				if(filters['requerido'](v) && filters['telefono'](v)){$(v).removeClass('fail');}else{error = true; $(v).addClass('fail', 500);}
			}
			// Texto abierto
			if(v.name.match("ta_") != null){
				if(filters['requerido'](v) && filters['alfabetico_y_simbolos'](v)){$(v).removeClass('fail');}else{error = true; $(v).addClass('fail', 500);}
			}		
		}
	});
	// Si existe error, configuramos la petición al servidor para extraer los textos de error
	if(error){
		$('.mandatori').fadeIn('slow');
	}else{
		$('.mandatori').fadeOut('fast');
		// Preparamos el texto del textarea
		var ta = $('#ta_texto').val().replace('\n',' ');
		// La validación ha pasado correctamente, enviamos.
		
			$('#dialog-message p').html('Espere por favor...');
			$('#alerttrigger').trigger('click');
		$.ajax({
			type: "POST",
			url: base_url+"enviar",
			data: "req_nombre="+$('#req_nombre').val()+"&mail_correo="+$('#mail_correo').val()+"&tlf_telefono="+$('#tlf_telefono').val()+"&req_provincia="+$('#req_provincia').val()+"&req_curso="+$('#req_curso').val()+"&ta_texto="+ta+"&link="+$('#link').val(),
			/*beforeSend: function(){
				// Mostramos lightbox
    			//h = $('html').height(); 
				
    			$('#fade').css('height',screen.height+'px');
    			$('#fade').fadeIn('fast');
			},*/
			success: function(msg){
				//$('#resultenvio').append(msg);
				//$('#fade').fadeOut('fast');
				$('#dialog-message p').html('El mensaje se ha enviado correctamente. En breve responderemos, gracias.');
				$('#'+idForm+' input[type=text]').animate({'color': '#EAEAEC'}, 1000, function(){
					$(this).val('');
					
					if($(this).attr('id') == 'req_curso'){
						//$(this).val(msg);
						$(this).animate({'color': '#58585A'});
					}else{
						$(this).css('color', '#58585A');
					}
				});
				$('textarea').animate({'color': '#EAEAEC'}, 1000, function(){
					$(this).val('');
					$(this).css('color', '#58585A');
				});
				
				// Mostramos la info
				/*$("#dialog").dialog( "destroy" );
	
				$("#dialog-message").dialog({
					modal: true,
					width: 400,
					buttons: {
						Ok: function() {
							$(this).dialog( "close" );
						}
					}
				});*/
			}
		});
	}
}
// **********************************************************************  	//
// FIN Control genérico de formularios     									//
// **********************************************************************  	//


// **********************************************************************  	//
// Control de las cajas de destacados de la home							//
// **********************************************************************  	//
function configuraCaptionSliding(){
	//Caption Sliding (Partially Hidden to Partially Visible)
    $('.boxgrid.caption').hover(function(){
        $(".cover", this).stop().animate({top:'100px'},{queue:false,duration:320});
    }, function() {
        $(".cover", this).stop().animate({top:'146px'},{queue:false,duration:320});
    });
    
    //Caption Sliding (Partially Hidden to Totally Visible)
    $('.boxgrid.caption2').hover(function(){
        $(".cover", this).stop().animate({top:'0px'},{queue:false,duration:320});
    }, function() {
        $(".cover", this).stop().animate({top:'146px'},{queue:false,duration:320});
    });
}

// **********************************************************************  	//
// Control del big header de la home										//
// **********************************************************************  	//
function configuraBigHeader(){
	$('#big_header_loading').fadeOut('slow', function(){
		$('#big_header').fadeIn('slow',function(){
			$('#big_header').nivoSlider({
		      effect:'fold', //Specify sets like: 'fold,fade,sliceDown'
		      slices:15,
		      animSpeed:1000,
		      pauseTime:4000,
		      startSlide:0, //Set starting Slide (0 index)
		      directionNav:true, //Next & Prev
		      directionNavHide:true, //Only show on hover
		      controlNav:false, //1,2,3...
		      controlNavThumbs:false, //Use thumbnails for Control Nav
		      controlNavThumbsFromRel:false, //Use image rel for thumbs
		      controlNavThumbsSearch: '.jpg', //Replace this with...
		      controlNavThumbsReplace: '_thumb.jpg', //...this in thumb Image src
		      keyboardNav:false, //Use left & right arrows
		      pauseOnHover:true, //Stop animation while hovering
		      manualAdvance:false, //Force manual transitions
		      captionOpacity:0.8, //Universal caption opacity
		      beforeChange: function(){},
		      afterChange: function(){},
		      slideshowEnd: function(){} //Triggers after all slides have been shown
		    });
		});
	});
}

// **********************************************************************  	//
// Control del header de las demás secciones								//
// **********************************************************************  	//
function configuraHeader(){
	$('#header_loading').fadeOut('slow', function(){
		$('#header_img').fadeIn('slow');
	});
}

// **********************************************************************  	//
// Control del footer (Aviso legal y Proteccion)							//
// **********************************************************************  	//
function configuraFooter(){
	/* $('#aAviso').fancybox({
		'width'				: 810,
		'height'			: 610,
		'autoScale'			: false,
		'scrolling'			: 'no',
		'titlePosition'		: 'inside'
	});
	$('#aProteccion').fancybox({
		'width'				: 810,
		'height'			: 610,
		'autoScale'			: false,
		'scrolling'			: 'no',
		'titlePosition'		: 'inside'
	}); */
}

// **********************************************************************  	//
// Control del accordion de los formularios									//
// **********************************************************************  	//
function configuraAccordion(){
	$('#form_obert').val(0);
	$('.accordion > h3').click(function(){
		// Abrimos
		if(parseInt($('#form_obert').val()) == 0){
			$('#form_obert').val(1);
			$('.accordion > div.ctn').animate({height: '250px'},'slow', function(){
				$('.accordion > div.ctn > form').fadeIn('slow');
				$('.accordion > h3 > span').html('&uarr;');
				
			});
		// Cerramos
		}else{
			$('#form_obert').val(0);
			$('.accordion > div.ctn > form').fadeOut('slow', function(){
				$('.accordion > div.ctn').animate({height: '0px'},'slow');
				$('.accordion > h3 > span').html('&darr;');
			});
		}
	});
	
}

// **********************************************************************  	//
// Función que limpuia los inputs de un formulario							//
// **********************************************************************  	//
function netejaForm(title){
	$('#req_nombre').val('');
	$('#mail_correo').val('');
	$('#tlf_telefono').val('');
	$('#req_provincia').val('');
	$('#req_curso').val(title);
	$('#ta_texto').val('');
}

// **********************************************************************  	//
// Función que configura los mapas de Google								//
// **********************************************************************  	//
function configuraGoogleMaps(){
	$('div.columnaSmall > ul > li > a.gmaps').fancybox({
		'width'				: 810,
		'height'			: 610,
		'autoScale'			: false,
		'scrolling'			: 'no',
		'type'				: 'iframe'
	});
}

// **********************************************************************  	//
// Función que configura los slideDown de los submenus de cursos			//
// **********************************************************************  	//
function configuraMenu(){
	$('div#columnaMenu > h3').click(function(){
		$(this).toggleClass('activo');
		
		var num = $(this).attr('id').split('h')[1];
		$("div#columnaMenu > ul#ul"+num).toggle('blind',500);
	});
}

// **********************************************************************  	//
// Función que configura los slideDown de los faq y por que elegirnos		//
// **********************************************************************  	//
function configuraFAQ(){
	$('div.columnaFull > h3').click(function(){
		$(this).toggleClass('activo');
		
		var num = $(this).attr('id').split('h')[1];
		$("div.columnaFull > div#div"+num).toggle('blind',500);
	});
}

// **********************************************************************  	//
// Función de redireccionamiento a practicas tutleadas desde 				//
// el globo rojo de curos													//
// **********************************************************************  	//
function goToPTuteladas(){
	window.location.href = base_url+"/por_que_implika/practicas_tuteladas";
}










