﻿var hideMenu = true;
var hideSubMenu = true;
var visibleObj = "";
var subvisibleObj = "";

var P1Uri = "";
var P2Uri = "";
var frmText = ""
var isEventClick = false;
var hideTimer;

function isClicked(state){
	isEventClick = state;
}

function changePlan(from,to){
	parent.main.document.location = String(parent.main.document.location).replace(from, to);
}

function changePreference(obj){
	if(obj.src!="http://jornal.publico.clix.pt/img/rememberMEiconOFF.gif"){
		obj.src="http://jornal.publico.clix.pt/img/rememberMEiconOFF.gif";
		document.login.rememberMe.value = "0";
	}else{
		obj.src = "http://jornal.publico.clix.pt/img/icoNE.gif";
		document.login.rememberMe.value = "1";
	}
}

function keyPressed(evt){
	frmText = "login"
	evt = (evt) ? evt : (window.event) ? event : null;
	if (evt){
		if(document.all)
			var charCode = evt.keyCode;
		else
			var charCode = evt.which;
		if (charCode == 13){
			sendForm();
			return false;
		}
	}
}

function showSubMenu(obj, nome){
	x = getPosTop(obj);// obj.offsetTop;
	y = getPosLeft(obj);
	document.getElementById(nome).style.left = y+obj.offsetParent.offsetWidth +"px";
	document.getElementById(nome).style.top = x + "px";
	document.getElementById(nome).style.display = "block";
	subvisibleObj = nome;
}

function hideSub(){
	if (subvisibleObj != "" && hideSubMenu)
		document.getElementById(subvisibleObj).style.display = "none";
}

function showMenu(obj, nome){
	if(isEventClick){
		if(visibleObj!="")
			if(document.getElementById(visibleObj).style.display != "none")
		document.getElementById(visibleObj).style.display = "none";

		var c = getPos(obj);
		document.getElementById(nome).style.left=c.x+"px";
		document.getElementById(nome).style.top =c.y+"px";
		document.getElementById(nome).style.display = "block";
		visibleObj = nome;
		setTimeout('hideObj()', 100);
	}
}

function changeState(state){
	hideMenu = state;
}

function changeSubState(state){
	hideSubMenu = state;
}

function hideObj(){
	if (hideMenu && visibleObj != "" && hideSubMenu && !isEventClick)
		document.getElementById(visibleObj).style.display = "none";
	setTimeout('hideObj()', 100);
}


function getPosLeft (el) {
	pos = el.offsetLeft;
	while ((el = el.offsetParent) != null)
		pos += el.offsetLeft; 
	return pos;
}

function getPosTop (el) {
	pos = el.offsetTop;
	while((el = el.offsetParent) != null)
		pos += el.offsetTop; 
	return pos;
}

function getPos(anchorname) {
	var coord = new Object();
	var x=0;
	var y=0;
	var isElement = false;
	var sLayer = false;
	if (document.getElementById || document.all){ 
		isElement = true; 
	}else if (document.layers){ 
		sLayer = true; 
	}

	if (isElement){
		x = getPosLeft(anchorname);
		y = getPosTop(anchorname);
		h = anchorname.offsetHeight;
		y += h;
	}else if (sLayer){
		var found=0;
		for (var i=0; i<document.anchors.length; i++) {
			if (document.anchors[i].name == anchorname) {
				found=1;
				break;
			}
		}
		if (found == 0) {
			coord.x=0; coord.y=0; return coord;
		}
		x = document.anchors[i].x;
		y = document.anchors[i].y;
	}else{
		x = 0;
		y = 0;
	}
	coord.x = x;
	coord.y = y;
	return coord;
}

function clearAll(){
	changeState(true);
	setTimeout('hideObj()', 100);
	hideTimer = setTimeout('isClicked(false)', 300);
}

function setAll(obj, nome){
	isClicked(true);
	changeState(false);
	showMenu(obj, nome);
}

function setCookie(){
	var nameEQ = "myPublico=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0){
			var cookStr = c.substring(nameEQ.length,c.length);
			if(cookStr != ""){
				var cookPiece = cookStr.split("&");
				for(k=0;k<cookPiece.length;k++){
					if(cookPiece[k].substring(0, 5) == "nome=")
					nome = cookPiece[k].substring(5, cookPiece[k].length);
					if(cookPiece[k].substring(0, 3) == "id=")
						id = cookPiece[k].substring(3, cookPiece[k].length);
				}
				document.getElementById("divUSER").innerHTML = "Olá " + URLDecode(nome);
				document.getElementById("divPlus2").innerHTML = "<a target=\"_blank\" href=\"http://plus.publico.pt/?src=servicos.asp&id=" + id + "\">O meu PÚBLICO</a>";
				document.getElementById("dvLogin").innerHTML = document.getElementById("dvHidden").innerHTML;
			}
		}
	}
	return null;
}

function URLDecode(nome){	
	var HEXCHARS = "0123456789ABCDEFabcdef"; 
	var encoded = nome;
	var plaintext = "";
	var i = 0;
	while (i < encoded.length) {
		var ch = encoded.charAt(i);
		if (ch == "+") {
			plaintext += " ";
			i++;
		} else if (ch == "%") {
			if (i < (encoded.length-2) && HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 && HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	}
	return plaintext;
}