addLoadEvent(neo_parse_url);

function neo_parse_url() {

    // es-particulars-home-Homepestana-07-[global region][region]-[link
    // order]-[destination]
    // global region = 'i' | 'c' | 'p' | 'm'
    // region = orden de la región relativa a la región global
    // link order = orden del enlace dentro de la agrupación de enlaces
    // destination = canal destino (longitud máxima: 15 caracteres, eliminando
    // caracteres especiales)
    var loce = getLoceValue();
    if (loce > '') {

		//$("#header > div")
		var divCollection = new Array();
		var childs = document.getElementById("header").childNodes;
		for (var i=0; i<childs.length; i++) {
			if(childs[i].nodeName=="DIV"){
				divCollection.push(childs[i]);
			}
		}
		var innerACollection;
		for (var i=0; i<divCollection.length; i++) {
			innerACollection = divCollection[i].getElementsByTagName("a");
			for (var j=0; j<innerACollection.length; j++) {
				innerACollection[j].setAttribute("href", buildLoceObj(innerACollection[j], loce, 'c', i, j));
			}
		}
		
		//$("#menu > div")
		divCollection = new Array();
		var childs = document.getElementById("menu").childNodes;
		for (var i=0; i<childs.length; i++) {
			if(childs[i].nodeName=="DIV"){
				divCollection.push(childs[i]);
			}
		}
		//Starts in i=1 to avoid "div.detalle_formulario" a.k.a. "lolopo"
		for (var i=1; i<divCollection.length; i++) {
			innerACollection = divCollection[i].getElementsByTagName("a");
			for (var j=0; j<innerACollection.length; j++) {
				innerACollection[j].setAttribute("href", buildLoceObj(innerACollection[j], loce, 'i', i, j));
			}
		}
		
		//$("#mid")
		var allHTMLTagsUnderIdMid=document.getElementById("mid").getElementsByTagName("*");
		divCollection = new Array();
		for (var k=0; k<allHTMLTagsUnderIdMid.length; k++) {
			if (allHTMLTagsUnderIdMid[k].className=="detalle_articulo") {
				divCollection;
				var childs = allHTMLTagsUnderIdMid[k].childNodes;
				for (var i=0; i<childs.length; i++) {
					if(childs[i].nodeName=="DIV"){
						divCollection.push(childs[i]);
					}
				}
				for (var i=0; i<divCollection.length; i++) {
					innerACollection = divCollection[i].getElementsByTagName("a");
					for (var j=0; j<innerACollection.length; j++) {
						innerACollection[j].setAttribute("href", buildLoceObj(innerACollection[j], loce, 'm', i, j));
					}
				}
			}
			if (allHTMLTagsUnderIdMid[k].className=="agrupacion_enlaces_no_titulo") {
				innerACollection = allHTMLTagsUnderIdMid[k].getElementsByTagName("a");
				for (var j=0; j<innerACollection.length; j++) {
					innerACollection[j].setAttribute("href", buildLoceObj(innerACollection[j], loce, 'c', 1, j));
				}
			}
			if (allHTMLTagsUnderIdMid[k].className=="destacados_titulo_imagen_body") {
				innerACollection = allHTMLTagsUnderIdMid[k].getElementsByTagName("a");
				for (var j=0; j<innerACollection.length; j++) {
					innerACollection[j].setAttribute("href", buildLoceObj(innerACollection[j], loce, 'm', 1, j));
				}
			}
			if (allHTMLTagsUnderIdMid[k].className=="destacados_con_destacado_principal_titulo_linkable") {
				innerACollection = allHTMLTagsUnderIdMid[k].getElementsByTagName("a");
				for (var j=0; j<innerACollection.length; j++) {
					innerACollection[j].setAttribute("href", buildLoceObj(innerACollection[j], loce, 'm', 2, j));
				}
			}
			if (allHTMLTagsUnderIdMid[k].className=="link_group_list_columns") {
				innerACollection = allHTMLTagsUnderIdMid[k].getElementsByTagName("a");
				for (var j=0; j<innerACollection.length; j++) {
					innerACollection[j].setAttribute("href", buildLoceObj(innerACollection[j], loce, 'm', 3, j));
				}
			}
		}
		
		//$("#bottom > div")
		divCollection = new Array();
		var childs = document.getElementById("bottom").childNodes;
		for (var i=0; i<childs.length; i++) {
			if(childs[i].nodeName=="DIV"){
				divCollection.push(childs[i]);
			}
		}
		for (var i=0; i<divCollection.length; i++) {
			innerACollection = divCollection[i].getElementsByTagName("a");
			for (var j=0; j<innerACollection.length; j++) {
				innerACollection[j].setAttribute("href", buildLoceObj(innerACollection[j], loce, 'p', i, j));
			}
		}
		
		//$("#footer > div")
		divCollection = new Array();
		var childs = document.getElementById("footer").childNodes;
		for (var i=0; i<childs.length; i++) {
			if(childs[i].nodeName=="DIV"){
				divCollection.push(childs[i]);
			}
		}
		for (var i=0; i<divCollection.length; i++) {
			innerACollection = divCollection[i].getElementsByTagName("a");
			for (var j=0; j<innerACollection.length; j++) {
				innerACollection[j].setAttribute("href", buildLoceObj(innerACollection[j], loce, 'p', i, j));
			}
		}
		
    }
}

function buildLoceObj(obj, loce, g, gi, o) {
    return buildLoce(obj.getAttribute('href'), loce, g, getRegion(gi+1), o+1, obj.getAttribute('title'));

}

function buildLoce(lnk, loce, g, r, o, d) {
    var link = lnk;
    var loc = loce + '-' + g + r + '-' + o + '-' + digestText(d, 15);
    if (link.indexOf('?') > 0) link += '&loce=' + loc;
    else link += '?loce=' + loc;
    return link;
}

function getRegion(index) {
    var num = '000' + index;
    return num.substring(num.length - 2);
}

function getLoceValue() {
    var metas = document.getElementsByTagName('meta');
    for (var i = 0; i < metas.length; i++) {
        var meta = metas[i];
        var metaName = meta.getAttribute('name');

        if (metaName == "loce") {
            return meta.getAttribute('content');
        }
    }
    return '';
}

function digestText(tin, ml) {
    var t = tin.toUpperCase();
    var o = '';
    for (var i = 0;
    (i < t.length) && (ml > 0); i++) {
        var a = t.charAt(i);
        if ((a <= 'Z') && (a >= 'A')) {
            o += a;
            ml--;
        }
    }
    return o;
}

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function () {
            oldonload();
            func();
        }
    }

}

