Carrousel = {
	clean:function (ul, wait_img) {
		var holder = document.getElementById(ul)
		if (holder != null) {
			var imgs = holder.getElementsByTagName("IMG");
			for (var i=0; i<imgs.length; i++) {
				if (imgs[i].className != 'imgpager') {
					var width = imgs[i].width;
					var height = imgs[i].height;
					imgs[i].src = wait_img;
					imgs[i].style.width = width+"px";
					imgs[i].style.height = height+"px";
				}
			}
		}	
	},
	load:function (ul, src_list, wait_img, offset) {
		this.clean(ul, wait_img)
		var holder = document.getElementById(ul)
		if (holder != null) {
			var links = holder.getElementsByTagName("A");
			var count = 0;
			for (var i=0; i<links.length; i++) {
				var img = links[i].getElementsByTagName("IMG");
				
				if (img[0].className != 'imgpager') {
					// es una miniatura de foto
					img[0].src = src_list[count].square;
					var cleaned = this.cleanUrl(links[i].href);
					if (cleaned != null) {
						links[i].href = cleaned + src_list[count].id + "/" + src_list[count].id_gal + "/?p="+offset;
					} else {
						// si el link anterior no tenia una href valida, la calcula a partir
						// de la propia pagina
						cleaned = this.cleanUrl(document.URL);
						links[i].href = cleaned + src_list[count].id + "/" + src_list[count].id_gal + "/?p="+offset;
					}
					img[0].title = src_list[count].title;
					if (img[0].className == 'current' || img[0].className == 'filler') {
						img[0].className = null;
					}
					count++;
				} else {
					var params = this.parsePagerUrl(links[i].href);
					if (links[i].id == 'carrousel_prev') {
						if (offset > 0) {
							numpage = offset - 1;
							var reSpacer = new RegExp(/spacer\.gif/);
							if (reSpacer.test(img[0].src)) {
								img[0].src = imgDir + "prev.gif";
							}
							if (params != null) {
								links[i].href = "http://"+params[0]+"/images/"+params[1]+"/"+params[2]+"/?p="+numpage;
							}
						} else {
							// quita la imagen
							img[0].src = imgDir + "spacer.gif";
							img[0].title ='';
							img[0].alt = '';
						}
					} else {
						numpage = offset + 1;
						links[i].href = "http://"+params[0]+"/images/"+params[1]+"/"+params[2]+"/?p="+numpage;
						// pone la imagen si no la hay
						var reSpacer = new RegExp(/spacer\.gif/);
						if (reSpacer.test(img[0].src)) {
							img[0].src = imgDir + "next.gif";
						}
					}
				}
			}
		}
	},
	cleanUrl:function (url) {
		var re = new RegExp(/http:\/\/(.*)\/images\/([0-9]{1,})\/([0-9]{1,})\//);
		if (re.test(url)) {
			return "http://"+RegExp.$1+"/images/";
		} else {
			return null;
		}
	},
	parsePagerUrl:function (url) {
		var re = new RegExp(/http:\/\/(.*)\/images\/([0-9]{1,})\/([0-9]{1,})\/\?p=([0-9]{1,})$/);
		if (re.test(url)) {
			var baseurl = RegExp.$1;
			var imgid = RegExp.$2;
			var galid = RegExp.$3;
			var page = RegExp.$4;
			
			var res = Array(baseurl, imgid, galid, page);
			return res;
		}
		return null;
	}
}
