/* parametros de la url */
$.prms = {};
var dls = document.location.search.split('?')[1];
if (dls != undefined) {
	var dlss = dls.split('&');
	$(dlss).each(function(i, el){
		var key = el.split('=')[0];
		var val = el.split('=')[1];
		$.prms[key] = val;
	})
}
/* !parametros de la url */
i18n = {};
$(document).ready(function(){
	if($.browser.msie){ // ie bugs...
		$('.contacto').css({
			zoom: '1'
		})
	}
	$.getScript(ROOT+"media/js/i18n.js",function(){
		start();
	});
	var images = [
		"button_right.off.gif","button_right.on.gif",	
		"button_left.off.gif","button_left.on.gif",
		"button_up.on.gif","button_up.off.gif",
		"button_down.on.gif","button_down.off.gif",
		"button_empty.off.gif","button_empty.on.gif",
		"button_details.small.on.gif","button_details.small.off.gif",
		"button_details.on.gif","button_details.off.gif"
	];
	var ptr = 0;
	var imgLoader = new Image();
	imgLoader.onload = function(){
		ptr++;
		if(ptr==images.length)return;
		imgLoader.src = ROOT+"media/css/img/"+images[ptr];
	}
	imgLoader.src = ROOT+"media/css/img/"+images[ptr];
	
	/* por si las moscas, que a veces se escapa algun console.log */
	if (!window.console || !console.firebug){  
		var names = ["log", "debug", "info", "warn", "error",  
        			 "assert", "dir", "dirxml", "group",  
					 "groupEnd", "time", "timeEnd", "count",  
					 "trace", "profile", "profileEnd"];  
  
		window.console = {};  
		for (var i = 0; i < names.length; ++i)  
			window.console[names[i]] = function() {}  
	}
	
	$('#logo').css({cursor:'pointer'}).bind('click',function(){ document.location = ROOT+LANG});
	/*desplegable de idiomas*/
	
	$('#wrapper #header .contacto .idiomas a.trigger').bind('click',function(){
		$(this).parent().find('ul').slideToggle();
		return false;
	})
	
	var start = function(){
		/*desplegable de idiomas*/
		/* desplegar texto productos */
		if( $("#wrapper #seccion.productos .description p,#wrapper #seccion.ficha .descripcion p").length > 0 ){
			var sel = $("#wrapper #seccion.productos .description p,#wrapper #seccion.ficha .descripcion p") 
			
			if( sel.height()>150){
				var alt = sel.height();
				sel.css({overflow:"hidden",height:"100px"});
				sel.parent().append('<a class="shape" href="javascript:void(0);">'+i18n[LANG]["leer_mas"]+'</a>')
				.find('a');
				sel.parent().find('a').toggle(function(){
					sel.animate({height:alt},500);
					sel.parent().find('a').addClass('down').html(i18n[LANG]["cerrar"]);
				},function(){
					sel.animate({height:"100px"},500);
					sel.parent().find('a').removeClass('down').html(i18n[LANG]["leer_mas"]);
				})
			}
		}
		/* !desplegar texto productos */
		/* moviditas de buscadores */
		$('#header input[name=q],#wrapper #productos input[name=q]').bind('focus',function(){
			$(this).val('');
		})
		/* !moviditas de buscadores */
		/* seccion transportes */
		if( $('body.interior #wrapper #seccion.transporte').length > 0 ){ // adelante, ejecutar script
			var nd = $('body.interior #wrapper #seccion.transporte'); // caching node
			var prms = document.location.toString().split('#'); // getting params ( if exist )
			var curr; // declaring var
			if( prms.length > 1 ){ // we have a param!
				var prm = prms[1]; // getting param
				$(nd).find('.sinopsis a:not([name='+prm+'])').each(function(){ // finding all anchors without the param
					$(this).parent().parent().hide(); // hiding them
				})
				curr = $(nd).find('.sinopsis a[name='+prm+']').parent().parent(); // assigning param node
			}else{ // no params :(
				$(nd).find('.sinopsis').each(function(i){ // hiding all
					i>0?$(this).hide():curr=$(this); // ( i = incremental ), ternary conditional, if true ? hide element :else: asign current node
				})
			}
			$(nd).find('.ficha a').each(function(){ // look for each anchor inside div class ficha
				$(this).bind('click',function(){ // binding click event
					// scroleamos hasta la zona
					if($('html').scrollTop()!=$(".fichas").offset()["top"]){ // que no este animado ahora mismo!
						$('html').animate({
							scrollTop: $(".fichas").offset()["top"]
						},1200,'swing');
					}
					// nos aseguramos de que no se emocionen clikando elementos
					if( $(nd).find(':animated').length == 0 ){
						var prms = $(this).attr('href').toString().split('#'); // getting param
						var prm = prms[1]; // getting param pt.2
						$(curr).fadeOut('fast', function(){ // slowly and pretty hidding current node
							$(nd).find('.sinopsis a[name=' + prm + ']').parent().parent().fadeIn('fast'); // at end of previous animation pretty show of anchor related element
						});
						curr = $(nd).find('.sinopsis a[name=' + prm + ']').parent().parent(); // assign current element
					}
					return false; // return false to prevent url redirection
				})
			
			})
			
		}
		/* !seccion transportes */
		/* detalle producto */
		if( $("body.interior #wrapper #seccion.productos .detalle").length > 0 ){
			if ($.prms["pagina"] != undefined) {
				$('html,body').animate({
					scrollTop: ($("body.interior #wrapper #seccion.productos .detalle .listado").offset()["top"] - 20)
				},0,'swing');
			};
		}
		
		/* !detalle producto */
		/* validacion de formularios */
		if( $('#seccion form').length > 0 ){ // y tenemos formulariooo!!
			var msg = i18n[LANG]["err_msg"];
			
			var filters = {
				"email":/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,
				"phone":/^[0-9-\.+\(\)\s]{9,20}$/,
				"dni":/^(?=\d)(?:(?!(?:(?:0?[5-9]|1[0-4])(?:-)10(?:\/)(?:1582))|(?:(?:0?[3-9]|1[0-3]) (?:\/)0?9(?:\/)(?:1752)))(31(?!(?:-)(?:0?[2469]|11))|30(?!(?:\/)0?2)|(?:29(?:(?!(?:\/)0?2(?:-))| (?=\D0?2\D(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]| [13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|2[0-8]|1\d|0?[1-9])([\/]) (1[012]|(?:0?[1-9]))\2((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?:$|(?=\x20\d)\x20)))\d{4} (?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))| (?:[01]\d|2[0-3])(?::[0-5]\d){1,2})?$/,
				"cp":/^[0-9]{1,10}$/,
				"string":/^\D+$/,
				"number":/^[0-9]$/
			};
			
			var autentify = function(){
				var filter = filters[$(this).attr('rel')];
				if( $(this).val().match(filter) == null ){
					$(this).addClass('warning');
					if( $('#seccion .formulario div.warning').length == 0 ){
						$('#seccion .formulario form')
						.before('<div class="warning">'+msg+'<br /><ul></ul></div>');
						$('#seccion div.warning')
						.hide().slideToggle();
					}
					if( $('#seccion .formulario div.warning ul li.'+$(this).attr('name')).length == 0 ){
						var elms = $('#seccion .formulario div.warning ul li');
						var elmsl = elms.length;
						if( elmsl > 0 ){
							$(elms[elmsl-1]).html($(elms[elmsl-1]).html()+', ')
						}
						var t = $(this).parent().text();
						t = t.replace(":","");
						$('#seccion .formulario div.warning ul')
						.append('<li class="'+$(this).attr('name')+'">'+t+'</li>')
						.find('li:not(:animated)');
					}
				}else{
					
					$(this).removeClass('warning');
					$('#seccion .formulario div.warning ul li.'+$(this).attr('name')).slideToggle('fast',function(){
						$(this).remove()
						if( $('#seccion .formulario div.warning ul li').length == 0 ){
							$('#seccion .formulario div.warning').slideToggle(function(){
								$(this).remove();
							})		
						}
							
					});
				}
			};
			
			$('#seccion .formulario form .required').each(function(){
				$(this).bind('blur',autentify);
			})
		
			$('#seccion .formulario form input[type=submit]').click(function(){
				$('#seccion .formulario form input.required').each(autentify);
				if( $('#seccion .formulario div.warning').length == 0 ){
					return true;
				}else{
					return false;	
				}
			});
		}
		
		/* !validacion de formularios */
		/* adaptar fecha entre formatos */
		$.convertDate = function(strDt){
			var pieces = strDt.split("-");
			var dt = new Date();
			dt.setFullYear(parseInt(pieces[0]),parseInt(pieces[1]-1),parseInt(pieces[2]));
			var day = dt.getDate();
			day=day<9?"0"+day.toString():day.toString();
			var month = dt.getMonth()+1;
			month=month<9?"0"+month.toString():month.toString();
			var year = dt.getFullYear();
			return day+"/"+month+"/"+year;
		}
		/* !adaptar fecha entre formatos */
		/* peticiones asincronas */
		// en la frontpage la cabecera tendremos q "ajaxiarla"
		/* cabecera, noticias y formacion */
		if ($("body.home").length > 0) {
			
			var indexAsyncReq = function(){
				$("#wrapper #header .highlight .menu ul li a").unbind('click', indexAsyncReq).click(function(){
					return false;
				});
				var im = new Image();
				im.src = ROOT+"media/img/loading.white.over.green.gif";
				var rel = $(this).attr("rel");
				var cp = $("html body.home #wrapper #header .highlight .texto")
				cp.html('<div class="loading"><img style="float:left;" src="'+ROOT+'media/img/loading.white.over.green.gif" /><span style="color:white;font-size:12px;font-family:Trebuchet MS;display:block;float:left;padding-bottom:10px;margin-left:12px;">'+i18n[LANG]["cargando"]+'.....</span></div>')
				$.get( ROOT + "raw/" + rel + ".php", function(data){
					cp.html("").hide();
					$("html body.home #wrapper #header .highlight .tabs ul").attr("class", rel)
					if (rel == "noticias") {
						$('a[rel=noticias]').parent().addClass('selected');
						$('a[rel=formacion]').parent().removeClass('selected');
						var idn = $("noticia idnoticia", data).text();
						var slg = $("noticia seo_titulo", data).text();
						var im = $("noticia img_mini", data).text();
						var titulo = $("noticia titulo_"+LANG, data).text();
						var fecha = $.convertDate($("noticia fecha", data).text());
						var breve = $("noticia breve_"+LANG, data).text().replace("\n","<br /><br />");
						if (im) {
							cp.append("<div class='image'><div class='shadow'><img src='"+ROOT+"media/uploads/noticias/" + idn + "/" + im + "' alt='' width='144' height='80' /></div></div>");
						}else{
							cp.append("<div class='image'><div class='shadow'><img src='"+ROOT+"media/img/noticias_formacion/news_default.small.gif' alt='' width='144' height='80' /></div></div>");
						}
						cp.append("<div class='noticia'><span class='fecha'>" + fecha + "</span><h5>" + titulo + "</h5><div class='contenido'>" + breve + "</div></div>");
						cp.append('<a class="shape" href="'+ROOT+LANG+'/noticia/' + slg + '.html">'+i18n[LANG]["ver_mas"]+'</a>');
						
					}
					else 
						if (rel == "formacion") {
							$('a[rel=noticias]').parent().removeClass('selected');
							$('a[rel=formacion]').parent().addClass('selected');
							var idf = $("formacion idformacion", data).text();
							var im = $("formacion img_mini", data).text();
							var titulo = $("formacion titulo_"+LANG, data).text();
							var tema = $("formacion tema_"+LANG, data).text();
							var fecha = $.convertDate($("formacion fecha_ini", data).text());
							var horario = $("formacion horario_"+LANG, data).text();
							var donde = $("formacion donde_"+LANG, data).text();
							var breve = $("formacion breve_"+LANG, data).text().replace("\n","<br /><br />");
							var info = $("formacion informacion_"+LANG, data).text().replace("\n","<br /><br />");
							var mail = $("formacion email", data).text();
							
							
							var nd = cp.append('<div class="superior"></div>').find('.superior');
							if (im) {
								nd.append('<div class="image"><div class="shadow"><img src="'+ROOT+'media/uploads/formacion/' + idf + "/" + im + '" alt="" width="144" height="80" /></div></div>');
							}else{
								nd.append('<div class="image"><div class="shadow"><img src="'+ROOT+'media/img/noticias_formacion/news_default.small.gif" alt="" width="144" height="80" /></div></div>');
							}
							nd.append('<div class="datos"><h5>'+i18n[LANG]["formacion"]["jornada_tecnica"]+'</h5><p><b>'+i18n[LANG]["formacion"]["tema"]+':</b> ' + tema + '<br /><b>'+i18n[LANG]["formacion"]["fecha"]+':</b> ' + fecha + '<br /><b>'+i18n[LANG]["formacion"]["horario"]+':</b> ' + horario + '<br /><b>'+i18n[LANG]["formacion"]["donde"]+':</b> ' + donde + '</p></div>');
							nd.append('<div class="medio"><div class="izquierda"><h5>' + titulo + '</h5>' + breve + '</div><div class="derecha"><h5>'+i18n[LANG]["formacion"]["informacion"]+'</h5><p>' + info + '</p><p><a href="mailto:' + mail + '">' + mail + '</a></p></div></div>');
							cp.append('<a class="shape" href="'+ROOT+LANG+'/formacion/' + idf + '.html">'+i18n[LANG]["ver_mas"]+'</a>');
							
						}
					cp.fadeIn("slow", function(){
						$("#wrapper #header .highlight .menu ul li a").bind('click', indexAsyncReq);
					});
				})
				return false;
			}
			$("#wrapper #header .highlight .menu ul li a").bind('click', indexAsyncReq);
			
			
			/* tambien si sabemos q es portada tenemos que colocar las imagenes */
			/* TODO */
		}
		/* !cabecera, noticias y formacion */
		
		/* paginacion producto */
		if ( $("body.interior #wrapper #seccion.productos .general .listado").length > 0) {
			var im = new Image()
			im.src = ROOT+"media/img/loading.green.over.pale.blue.gif";
			lstd = $("body.interior #wrapper #seccion.productos .general .listado");
			var pgn = lstd.parent().find('.pagination');
			var cat = IDCATEGORIA;
			var prodsAjaxPager = function(){
				$(this).click(function(){
					var href = $(this).attr('href').split('?')[1];
					var params = {};
					var prms = href.indexOf('&') ? href.split('&') : href;
					$(prms).each(function(){
						var pcs = this.split("=");
						params[pcs[0]] = pcs[1];
					})
					lstd.html('<div class="loading" style="width:600px;text-align:center;padding-top:300px;"><img src="'+ROOT+'media/img/loading.green.over.pale.blue.gif" /><span style="color:#436701;font-size:12px;font-family:Trebuchet MS;display:block;padding-bottom:10px;margin-left:12px;">'+i18n[LANG]["cargando"]+'.....</span></div>')
					$.get(ROOT+"raw/productos.php",{categoria:cat,pagina:params["pagina"],amount:12}, function(data){
						lstd.html('');
						$('productos producto',data).each(function(){
							var im = $('img_mini',this).text();
							im==false?
								im="bruc.jpg":
								false;
							var id = $('seo_link',this).text();
							var titulo = $('titulo_'+LANG,this).text();
							lstd.append('<div class="registro"><div class="shadow"><a href="'+ROOT+LANG+'/detalle/'+id+'.html"><img height="84" width="192" title="'+titulo+'" alt="'+titulo+'" src="'+ROOT+'media/uploads/catalogo/productos/listado/'+im+'"/><span class="detail">'+i18n[LANG]["ver"]+'</span></a></div><p><a href="'+ROOT+LANG+'/detalle/'+id+'.html">'+titulo+'</a></p></div>')
						})
						lstd.hide().fadeIn('slow')
						/* TODO reescribir el paginador del pie*/
						
						var max = pgn.find('a,b').length - 4; // maximo de paginas
						var frst = 1;
						var lst = max;
						var prev = parseInt(params["pagina"])-1;
						var next = parseInt(params["pagina"])+1;
						
						pgn.html('')
						
						if( prev <= 0 ){
							pgn.append('<b>'+i18n[LANG]["paginacion"]["primero"]+'</b>'+"\n"+'<b>'+i18n[LANG]["paginacion"]["anterior"]+'</b>'+"\n");
						}else{
							pgn.append('<a href="?pagina='+frst+'">'+i18n[LANG]["paginacion"]["primero"]+'</a>'+"\n"+'<a href="?pagina='+prev+'">'+i18n[LANG]["paginacion"]["anterior"]+'</a>'+"\n");
						}
						var p;
						for(p=1;p<=max;p++){
							if( p != params["pagina"] ){
								pgn.append('<a href="?pagina='+p+'">'+p+'</a>'+"\n");
							}else{
								pgn.append('<b>'+p+'</b>'+"\n");
							}
						}
						
						if( next > max ){
							pgn.append('<b>'+i18n[LANG]["paginacion"]["siguiente"]+'</b>'+"\n"+'<b>'+i18n[LANG]["paginacion"]["ultimo"]+'</b>');
						}else{
							pgn.append('<a href="?pagina='+next+'">'+i18n[LANG]["paginacion"]["siguiente"]+'</a>'+"\n"+'<a href="?pagina='+lst+'">'+i18n[LANG]["paginacion"]["ultimo"]+'</a>');
						}
						
						pgn.find('a').each(prodsAjaxPager)
						if( $.browser.msie ){
							pgn.find('a,b').each(function(){
								$(this).css({border:"none"});
								$(this).corner("15px");
							})
						}
					});		
					return false;
				})	
			} 
			pgn.find('a').each(prodsAjaxPager)
		}
		/* !paginacion producto */	
		/* producto en detalle */
		if($("body.interior #wrapper #seccion.productos .detalle .listado .registros").length > 0 ){
			var im = new Image()
			im.src = ROOT+"media/img/loading.green.over.pale.blue.gif";
			var pgn = $("body.interior #wrapper #seccion.productos .detalle .listado .pagination");
			var prodsAjaxPager = function(){
				$(this).click(function(){
					var href = $(this).attr('href').split('?')[1];
					var params = {};
					var prms = href.indexOf('&')?href.split('&'):href;
					cat = IDCATEGORIA;
					$(prms).each(function(){
						params[this.split("=")[0]] = this.split("=")[1];
					})
					var d = $("body.interior #wrapper #seccion.productos .detalle .listado .registros");
					d.html('<div class="loading" style="display:block;width:height:300px;500px;text-align:center;padding-top:100px;"><img src="'+ROOT+'media/img/loading.green.over.pale.blue.gif" /><span style="color:#436701;font-size:12px;font-family:Trebuchet MS;display:block;padding-bottom:10px;margin-left:12px;">'+i18n[LANG]["cargando"]+'.....</span></div>')
					$.get(ROOT+"raw/productos.php",{categoria:cat,pagina:params["pagina"],amount:8}, function(data){
						//console.log(data)
						d.html('');
						$('productos producto',data).each(function(){
							var im = $('img_mini',this).text();
							im==false?
								im="bruc.jpg":
								false;
							var id = $('seo_link',this).text();
							var titulo = $('titulo_'+LANG,this).text();
							var jnk = document.location.toString().split('/');
							var ref = jnk[jnk.length-1].split('.')[0];
							var klss;
							if (id == ref) {
								klss = " selected";
							}else{
								klss = "";
							}
							
							d.append('<div class="registro'+klss+'"><div class="shadow"><a href="'+ROOT+'detalle/'+id+'.html#seccion"><img height="58" width="138" title="'+titulo+'" alt="'+titulo+'" src="'+ROOT+'media/uploads/catalogo/productos/listado/'+im+'"/><span class="detail">'+i18n[LANG]["ver"]+'</span></a></div><p><a href="'+ROOT+'detalle/'+id+'.html">'+titulo+'</a></p></div>')
						})
						d.hide().fadeIn('slow')
						/* TODO reescribir el paginador del pie*/
						
						var max = pgn.find('a,b').length - 4; // maximo de paginas
						var frst = 1;
						var lst = max;
						var prev = parseInt(params["pagina"])-1;
						var next = parseInt(params["pagina"])+1;
						
						pgn.html('')
						
						if( prev <= 0 ){
							pgn.append('<b>'+i18n[LANG]["paginacion"]["primero"]+'</b>'+"\n"+'<b>'+i18n[LANG]["paginacion"]["anterior"]+'</b>'+"\n");
						}else{
							pgn.append('<a href="?pagina='+frst+'">'+i18n[LANG]["paginacion"]["primero"]+'</a>'+"\n"+'<a href="?pagina='+prev+'">'+i18n[LANG]["paginacion"]["anterior"]+'</a>'+"\n");
						}
						var p;
						for(p=1;p<=max;p++){
							if( p != params["pagina"] ){
								pgn.append('<a href="?pagina='+p+'">'+p+'</a>'+"\n");
							}else{
								pgn.append('<b>'+p+'</b>'+"\n");
							}
						}
						
						if( next > max ){
							pgn.append('<b>'+i18n[LANG]["paginacion"]["siguiente"]+'</b>'+"\n"+'<b>'+i18n[LANG]["paginacion"]["ultimo"]+'</b>');
						}else{
							pgn.append('<a href="?pagina='+next+'">'+i18n[LANG]["paginacion"]["siguiente"]+'</a>'+"\n"+'<a href="?pagina='+lst+'">'+i18n[LANG]["paginacion"]["ultimo"]+'</a>');
						}
						
						pgn.find('a').each(prodsAjaxPager)
						if( $.browser.msie ){
							pgn.find('a,b').each(function(){
								$(this).css({border:"none"});
								$(this).corner("15px");
							})
						}
					});
					
					return false;
				})
			} 
			
			pgn.find('a').each(prodsAjaxPager)
		}
		/* !producto en detalle */
		/* !peticiones asincronas */
	}
	
})
