function configRolling(p_dom_element, p_time_refresh) {

	/* dom_element es el elemento que buscar "a","p","#foo" */
	/* <tablon_karma_inspired> */
	var roll = false;
	var overA = false;

	if (p_time_refresh == null) {
		p_time_refresh = 100;
	}
	p_dom_element.not('.opts').not('.nomove').unbind('mouseenter').unbind('mouseleave');
	p_dom_element.not('.opts').not('.nomove').hover(function () {
		var self = $(this);
		overA = window.setTimeout(function () {
			var w = self.width();
			//var thw = self.parents('th').width();
			thw = 115;
			if (!self.hasClass('changed')) {
				var text = self.text();
				/*var img = '<img src="'+self.find('img').attr('src')+'" alt="'+self.find('img').attr('alt')+'" />';*/
				/*self.html(img+"<span class=\"roll\">"+text+"</span>");*/
				self.html("<span class=\"roll\">" + text + "</span>");
				self.addClass('changed');
			}
			var off = (w + 4) - thw;
			/**console.info(thw);
			console.info(w);**/
			if (thw < (w + 4)) {
				span = self.find('.roll');
				newoff = 0;
				roll = window.setInterval(function () {
					span.css('margin-left', '-' + newoff + 'px');
					newoff++;
					if (newoff >= off) {
						newoff = 0;
					}
				},
				p_time_refresh);
			}
		},
		200);
	}, function () {
		window.clearTimeout(overA);
		window.clearInterval(roll);
		span = $(this).find('.roll');
		span.css('margin-left', '0px');
	});
	/* </tablon_karma_inspired> */

}


$.ajaxSetup({
  type: "POST",
  contentType: "application/json; charset=utf-8",
  data: "{}",
  dataFilter: function(data) {
    var msg;

    if (typeof (JSON) !== 'undefined' &&
        typeof (JSON.parse) === 'function')
      msg = JSON.parse(data);
    else
      msg = eval('(' + data + ')');

    if (msg.hasOwnProperty('d'))
      return msg.d;
    else
      return msg;
  }
});


var slider_list = Array(); // Inventario de sliders
var slider_i = Array(); //Inventario contadores de sliders
var ready = Array(); //Inventario readys next


function ajaxLoadModuloPart(p_part, p_modulo, p_instance_name, p_div_name, p_path, p_size, p_default_image) {
        if (p_instance_name == null) {
		p_instance_name = p_modulo;
		p_div_name = p_modulo;
		p_path = p_modulo;
		p_size = 'main';
	} else {
		var tmp = p_instance_name.split("_");
		p_div_name = tmp[0];
		p_div_name = p_div_name.substr(0, 1).toUpperCase() + p_div_name.substr(1);
		/*if (p_path == null) {
			console.error("p_path null, no deberia");
		}*/

	}
	if (slider_i[p_modulo] == undefined) {
		slider_i[p_modulo] = p_part + 1;
		slider_list[p_modulo] = false; // si i es undefined, list tb deberia
	}
        var ref = p_modulo.substr(0, 1).toUpperCase() + p_modulo.substr(1).replace(" ", "");
        $.get($.baseurl+'/ajax/get' + ref + '.php?part=' + p_part + '&url=' + p_instance_name, {},

	function (data) {
		/*console.info(data);
		$('.box150').find('a').not('.opts').not('.nomove')
		$("#name").autocomplete(data);*/
		var htmldata = '';
		var i = 0;

		var max_elements = -1; // Numero maximo de elementos posible
		var display_elements = 4; // Elementos que se muestran por slide
		var is_a_gallery = false; // Si es una galeria, la de shots por ejemplo
		$.each(data, function () {
			if (this.name == 'count_all') {
				end_of_contents = true;
				max_elements = this.value;
			} else {
				// y n veces si no hay contenidos rellenando...
				if (i % display_elements == 0) {
					htmldata += '<li>';
				}
				htmldata += '<div class="box150">';
				if (this.img == '' | this.img == undefined) {
					if (p_default_image != undefined) {
						this.img = p_default_image;
					} else {

						this.img = 'img/default_main.png';
					}
				} else {
					var path = p_path;
					if (p_path == "katalogoa") {
						path = "software";
					}
					this.img = 'img/' + path + '/' + p_size + '/' + this.img;
				}
				/*if (this.url.indexOf("http") != -1) {
					htmldata += '<a href="' + this.url + '">';
				} else {*/
					htmldata += '<a href="'+$.baseurl + p_modulo + '/' + this.url + '.html">';
				/*}*/
				htmldata += '<img class="clase" alt="IMG" src="'+  this.img + ' "/>';
				htmldata += '</a>';
				if (this.name != null) {
					htmldata += '<p class="wdg_txt_link">';
					/*if (this.url.indexOf("http") != -1) {
						htmldata += '<a href="' + this.url + '">' + this.name + '</a>';
   					} else {*/
						htmldata += '<a href="' + p_modulo + '/' + this.url + '.html" title="' + this.name + '">' + this.name + '</a>';
					/*}*/
					htmldata += '</p>';
				} else { // Si el nombre es null seguramente estamos en una galeria
					is_a_gallery = true;
					htmldata += '<img ' + 'id="' + this.img.replace("/", "_") + '_shot" ' + 'src="'+ this.img.replace(p_size, "real") + '" style="display:none"/>';
				}
				extra = "";
				if (this.descr.length > 10) {
					extra = 'title="' + this.descr + '"';
				}
				htmldata += '<p class="wdg_descr" ' + extra + ' >' + this.descr + '</p>';
				htmldata += '</div>';
				if ((i + 1) % display_elements == 0) {
					htmldata += '</li>';
				}
			}
			//                                   if (end_of_contents) { // Si se han terminado los contenidos
			//                                        i++;
			//                                   }
			//                               } while(i < max_elements);
			i++;

		});

		if (p_part > 1) { // La primera parte en realidad seguro que ya está
			/*$('#slider' + p_div_name).find('ul').hide();*/
			$('#slider' + p_div_name).find('ul').append(htmldata);
			ready[p_modulo] = false;

			$('#slider' + p_div_name).find('ul').fadeIn(750, function (e) {
				ready[p_modulo] = true;
			});
		} else {
			ready[p_modulo] = true;
		}


		var options;

		if (slider_list[p_modulo]) {
			options = {
				auto: false,
				continuous: false,
				max: (max_elements / display_elements) -1,
				controlsShow: false

			};
		} else {
			options = {
				auto: false,
				continuous: false,
				max: (max_elements / display_elements) -1,
				prevText: 'aurrekoak',
				nextText: 'hurrengoak',
				nextId: "slider" + p_div_name + "next",
				prevId: "slider" + p_div_name + "prev"


			};
		}
		if ($("#slider" + p_div_name).length > 0) {
			$("#slider" + p_div_name).easySlider(options);
		}
		if (is_a_gallery) {
			$("img.clase").bind("click", function (e) { // TODO Ese "clase" parece que puede cambiar
				/*alert(this.attr("src"));*/
				//$("img.clase").dialog({ autoOpen: true });
				//alert('#' + $(this).attr("src").replace("/","_") + '_shot');   //TODO trabajando en ello
				$('#' + this.attr("src").replace("/", "_") + '_shot').dialog({
					autoOpen: true
				});
			});
		}
		if (!slider_list[p_modulo]) {

			$('#slider' + p_div_name + 'next').bind("click", function (e) {
				if (ready[p_modulo]) {
					/*$('#slider' + p_div_name).find('ul').hide();*/
					ajaxLoadModuloPart(slider_i[p_modulo]++, p_modulo, undefined, undefined, undefined, undefined, p_default_image);
				}
			});
			/*
			$('#slider' + p_div_name + 'prev').bind("click", function (e) {

			});*/

			slider_list[p_modulo] = true;
		}

			$('a[title],p[title]',$('#slider' + p_div_name)).tooltip({
				showURL: false
			});


		/*configRolling('a');*/
		/*configRolling($('.box150').find('.wdg_txt_link').children('a'), 50);*/
		/*configRolling($('#katalogoa').find('.box150').find('.wdg_descr'), 100);*/
	},
	'json');
};




var load = function () {
        $.baseurl = $('head base').attr('href');
	if(!($.browser.msie && $.browser.version =="6.0")) {
		ajaxLoadModuloPart(1, 'katalogoa');
		ajaxLoadModuloPart(1, 'berriak', undefined, undefined, undefined, undefined, '/softkat/img/default_news.png'); /* TOINTEGRATE */
	} else {
		$().message('Zure nabigatzailea zaharra da. <a href="'+$.baseurl+'kategoria/nabigatzaileak.html">Jaitsi ezazu berri bat</a>');
		/*$('#katalogoa').find('.boxbttm').append('<a href="'+$.baseurl+'katalogoa">Hurrengoak</a>');*/
		/*$('#berriak').find('.boxbttm').append('<a href="'+$.baseurl+'berriak">Hurrengoak</a>');*/
	}

	$("#username").clearInput();
	$("#search").clearInput();

	$("#password").DefaultValue("password");
	$("#password").clearInput();

	$("#name").clearInput();
	$("#emaila").clearInput();
	$("#commbox").clearInput();
	$("#captcha_code").clearInput();
	/*$("#sliderkatalogoa").find('box150').find('p').find('a').tooltip();*/
	/*$('#sliderkatalogoa *').tooltip();*/
	if ($('#catalogue a').length > 0 && $.isFunction($.tooltip)) {	
		$('#catalogue a').tooltip({
               	         showURL: false
        	});
	}
	if ($("#loginError").length > 0) {
		$().message('sarbide-datuak ez dira zuzenak <a href="'+$.baseurl+'/pasgg">Pasahitza ahaztu duzu?</a>');

		/*$().message($("#loginError").);*/
	}

	if ($.getUrlVar("err1")) {
		$().message('Datuak ez dira zuzenak');

	}

	if ($("#notEmailError").length > 0 || $.getUrlVar("err6")) {
		$().message('Ez duzu ipini e-posta bat');
	}
	if ($.getUrlVar("err8")) {
		$().message('Software bat sartzeko sisteman identifikatu behar zara.  <a href="'+$.baseurl+'/login.html">Login</a>')
	}
	if ($.getUrlVar("err7")) {
		$().message('Erabiltze bat dago e-posta horrekin.  <a href="'+$.baseurl+'/pasgg">Pasahitza ahaztu duzu?</a>')
	}
        if ($.getUrlVar("err8")) {
                $().message('Ese software esta protegido. Contacte con el administrador <a href="'+$.baseurl+'/kontaktua.html">Kontaktua</a>');
        }
	if ($.getUrlVar("err5")) {
		$().message('Pasahitzak desberdinak dira.');
	}
	if ($.getUrlVar("nt1")) {
		$().message('Bilatu pasahitza zure e-postan');
	}
	if ($.getUrlVar("nt2")) {
		$().message('Erregistroa bukatzeko, bilatu pasahitza zure e-postan.');
	}
	if ($.getUrlVar("err404")) {
		$().message('Erroreren bat egon da. Ezin izan da eskatutako orrialdea topatu');
	}
	//$("ul#kategoriak_lul").droppy();
	/*$('#sliderberriak *').tooltip({
                        showURL: false
        });
	$('#sliderkatalogoa *').tooltip({
                        showURL: false
        });*/


};


jQuery(document).ready(load);

