// -*- mode: javascript; coding: utf-8 -*-

var portultimas = {
	MAS_ANIM_DELAY: 5, // ms
	MAS_ANIM_LIMIT: 26, // px
	MAS_ANIM_STEP: 1.3, // ratio
	SECT_COLS: 2,
	SECT_MAX_ITEMS: 3,
	MINI_PHOTOS_INITIAL: 5, // thumb photos to load at startup

	xml: {},

	nodeGetBgOffsetY: function (node) {
		if (node.bgOffsetY == undefined) {
			var posStr = dodo.getComputedStyle (node, "background-position");
			if (!posStr) {
				node.bgOffsetY = dodo.getComputedStyle (node, "background-position-y");
				return node.bgOffsetY;
			}
			node.bgOffsetY = posStr.substr (posStr.indexOf (" ") + 1);
		}
		return node.bgOffsetY;
	},

	masChanging: false,

	masChange: function (srcNode, destNode) {
		srcNode.style.backgroundPosition = "0 " + portultimas.nodeGetBgOffsetY (srcNode);
		destNode.style.backgroundPosition = "0 " + portultimas.nodeGetBgOffsetY (destNode);

		var newClass = destNode.className.substr (srcNode.className.indexOf (" ") + 1);
		rss.render (rss.xml[newClass], document.getElementById ("mas-list"));
		portultimas.masChanging = false;
	},

	masSwitch: function (srcNode, destNode) {
		var newClass = srcNode.className.substr (srcNode.className.indexOf (" ") + 1);
		var oldClass = destNode.className.substr (destNode.className.indexOf (" ") + 1);
		destNode.className = "portultimas-mas " + newClass;
		srcNode.className = "portultimas-mas hover " + oldClass;
	},

	masAnim2: function (srcNode, destNode, offset) {
		if (offset > 0.1) {
			srcNode.style.backgroundPosition = offset + "px " + portultimas.nodeGetBgOffsetY (srcNode);
			destNode.style.backgroundPosition = -(offset) + "px " + portultimas.nodeGetBgOffsetY (destNode);
			offset *= 1 / portultimas.MAS_ANIM_STEP;
			window.setTimeout (function () { portultimas.masAnim2 (srcNode, destNode, offset) }, portultimas.MAS_ANIM_DELAY);
		} else
			portultimas.masChange (srcNode, destNode);
	},

	masAnim1: function (srcNode, destNode, offset) {
		if (offset < portultimas.MAS_ANIM_LIMIT) {
			srcNode.style.backgroundPosition = offset + "px " + portultimas.nodeGetBgOffsetY (srcNode);
			destNode.style.backgroundPosition = -(offset) + "px " + portultimas.nodeGetBgOffsetY (destNode);
			offset *= portultimas.MAS_ANIM_STEP;
			window.setTimeout (function () { portultimas.masAnim1 (srcNode, destNode, offset) }, portultimas.MAS_ANIM_DELAY);
		} else {
			portultimas.masSwitch (srcNode, destNode);
			window.setTimeout (function () { portultimas.masAnim2 (srcNode, destNode, offset) }, portultimas.MAS_ANIM_DELAY);
		}
	},

	masClick: function (evt) {
		if (!evt) evt = window.event;
		if (!evt.target) evt.target = this;
		if (!evt.currentTarget) evt.currentTarget = evt.srcElement;
		if (portultimas.masChanging || evt.target.className != evt.currentTarget.className)
			return;

		var destNode = document.getElementById ("mas-cont");
		var srcNode = evt.target;
		
		portultimas.masChanging = true;
		srcNode.className = srcNode.className.replace (" hover", "");
		window.setTimeout (function () { portultimas.masAnim1 (srcNode, destNode, 0.1) }, portultimas.MAS_ANIM_DELAY);
	},

	masOver: function (evt) {
		if (!evt) evt = window.event;
		if (!evt.target) evt.target = this;
		if (!evt.currentTarget) evt.currentTarget = evt.srcElement;
		if (!portultimas.masChanging && evt.target.className == evt.currentTarget.className)
			evt.target.className += " hover";
	},

	masOut: function (evt) {
		if (!evt) evt = window.event;
		if (!evt.target) evt.target = this;
		if (!evt.currentTarget) evt.currentTarget = evt.srcElement;
		if (!portultimas.masChanging && evt.target.className == evt.currentTarget.className)
			evt.target.className = evt.target.className.replace (" hover", "");
	},

	sumariosRender: function (xml) {
		var sects = ["politica", "economia", "mundo", "sociedad", "capital", "estados", "cultura", "espectaculos", "deportes", "ciencias"];
		var dirSectNode = xml.getElementsByTagName ("sections")[0];
		var dirSects = {};
		var dirSectArr = dirSectNode.firstChild.nodeValue.split (" ");
		for (var i = 0, item; item = dirSectArr[i]; i++)
			dirSects[item] = 1;
		
		var html = '<table class="col1">';
		for (var i = 0, j = 0, sect; sect = sects[i]; i++)
			if (dirSects[sect])
				html += sumarioultimas.renderSect (xml, sect, portultimas.SECT_COLS, 0, j++, portultimas.SECT_MAX_ITEMS);
		if (j % portultimas.SECT_COLS != 0)
			html += '<tr><td>' + sumarioultimas.renderPleca () + '</td><td>&nbsp;</td></tr>';
		html += '</table>';
		/*document.getElementById ("portultimas-sumarios").innerHTML = html;*/

		html = '<table class="col2">';
		html += sumarioultimas.renderSect (xml, "columnas", 1, 0, 0, 99, "Opinion");
		html += sumarioultimas.renderSect (xml, "opinion", 1, 0, 0, 99, "Analysis");
		html += '</table>';
		document.getElementById ("portada-colopi").innerHTML = html;
	},

	rayuelaRender: function (xml) {
		var qepd = xml.getElementsByTagName ('qepd');
		if (qepd.length < 1) {
			var nodes = xml.getElementsByTagName ('Rayuela');
			if (nodes.length < 1)
				return;
			var rayNode = dodo.docImportNode (document, nodes[0], true);
			var rayText = document.getElementById ("rayuela-text");
			for (var i = 0, child; child = rayNode.childNodes[i]; i++)
				rayText.appendChild (child.cloneNode (true));
		} else {
		       	var rayText = document.getElementById ("rayuela-text");
			text = rayText.appendChild(document.createElement ("img"));
			text.setAttribute("src", "/v7.0/imagenes/crespon.png");
			text.setAttribute("style", "margin-left: 75px;");
		}
	},

        overlayDelete: function(){
 		var adsOverlay = document.getElementById ("noteoverlay");
		adsOverlay.style.display = "none";
                var adsOverlay = document.getElementById ("oasbanner");
		adsOverlay.style.display = "block";
        },

	dirOnLoad: function (req) {
		if (req.readyState == 4) {
			if (req.status == 200 || req.status == 0) {
/*				portultimas.rayuelaRender (req.responseXML); */
				portultimas.sumariosRender (req.responseXML);
/*				document.getElementById ("mini-photo").style.display = "block";
				var mini = new miniPhoto;
				mini.init (document.getElementById ("mini-photo"), MINI_PHOTOS, portultimas.MINI_PHOTOS_INITIAL); */
			}
			dodo.finishTasks (1, "portultimas.dir " + req.status);
		}
	},

	dirLoad: function () {
		var req = dodo.httpReqGet ();
		dodo.httpReqLoad (req, "/../v7.0/cgi/dir.php", function () { portultimas.dirOnLoad (req); }, false);
	},

 	onLoad: function () {
                var reloadTimeOut = 5*60*1000;
		dodo.startTasks (1, "dir.xml");
		portultimas.dirLoad ();
                var adsOverlay = document.getElementById ("oasbanner");
	       	/*setTimeout("portultimas.overlayDelete()", 15000);*/
		setTimeout("location.reload( true );", reloadTimeOut); 
	
	}

}

dodo.onLoadPush (portultimas.onLoad);


