var intlMenuVisible = false;
var servicesMenuVisible = false;

var intlMenuButtonOn = new Image();
var intlMenuButtonOff = new Image();
intlMenuButtonOn.src = "/templates/images/international_button_on.gif";
intlMenuButtonOff.src = "/templates/images/international_button.gif";

var servicesMenuButtonOn = new Image();
var servicesMenuButtonOff = new Image();
servicesMenuButtonOn.src = "/templates/images/services_button_on.gif";
servicesMenuButtonOff.src = "/templates/images/services_button.gif";

function getElement(id, style) {
	var ret = null;
	if(document.getElementById)
		ret = document.getElementById(id);
	else
		ret = document.all[id];
	return (style && ret != null) ? ret.style : ret;
}

function toggleInternationalMenu() {
	var layer = getElement("intlmenu", true);
	var button = document.images["intlbutton"];
	if(layer == null || button == null)
		return;
	layer.visibility = (intlMenuVisible) ? 'hidden' : 'visible';
	button.src = (intlMenuVisible) ? intlMenuButtonOff.src : intlMenuButtonOn.src;
	intlMenuVisible = !intlMenuVisible;
}

function toggleServicesMenu() {
	var layer = getElement("servicesmenu", true);
	var button = document.images["servicesbutton"];
	if(layer == null || button == null)
		return;
	layer.visibility = (servicesMenuVisible) ? 'hidden' : 'visible';
	button.src = (servicesMenuVisible) ? servicesMenuButtonOff.src : servicesMenuButtonOn.src;
	servicesMenuVisible = !servicesMenuVisible;
}

function popup(width, height, scrollbar, status, location, url) {
	var xOffset = Math.floor((screen.availWidth - width) / 2), yOffset = Math.floor((screen.availHeight - height) / 2);
	var popup = window.open(url, ("Metro" + Math.round((Math.random() * 1000) + 1)), "toolbar=0,menubar=0,location=" + (location ? "1" : "0") + ",status=" + (location ? "1" : "0") + ",width=" + width + ",height=" + height + ",top=" + yOffset + ",left=" + xOffset + ",scrollbars=" + (scrollbar ? "yes" : "no"));
}

var divs = new Array();
var index = new Array();
var positions = new Array();
var heights = new Array();
var directions = new Array();
var timeId;

var timeout = 20;
var speed = 3;

function editBoxOn(o, what, height) {
	var i;
	if (typeof index[what] == 'undefined') {
		i = divs.length;
		index[what] = i
		divs[i] = document.getElementById(what);
		positions[i] = 0;
		directions[i] = 1;
		heights[i] = height;
		divs[i].style.visibility = 'visible'; /* not needed */
	} else {
		i = index[what];
		directions[i] = 1;
	}
	if (!timeId) timeId = setTimeout('moveBoxes()', timeout);
}

function editBoxOff(o, what, height) {
	i = index[what];
	directions[i] = -1;
	if (!timeId) timeId = setTimeout('moveBoxes()', timeout);
}

function moveBoxes() {
	cont = 0;
	for(i = 0; i < divs.length; i++) {
		div = divs[i];
		h = heights[i];
		pos = positions[i];
		d = directions[i];
		var newpos;
		if ((pos < h && d > 0) || (pos > 0 && d < 0)) {
			newpos = pos + directions[i]*speed;
			var c;
			c = -(Math.cos((newpos/h)*(Math.PI/2)+ Math.PI/2));
			div.style.top = ((c*h - h) + 'px');
			positions[i] = newpos;
		}

		if ((newpos <= 0 && directions[i] < 0) ||
		    (newpos >= heights[i] && directions[i] > 0)) {
			directions[i] = 0;
		} else {
			cont = 1;
		}
	}
	if (cont) timeId = setTimeout('moveBoxes()', timeout);
	else timeId = 0;
}

function displayPreLogin() {
  
  	var pre = getElement("login_pre");
	var full = getElement("login_full");
	var done = getElement("login_done");

	if(pre == null || full == null || done == null)
	  return;

	pre.style.display = "inline", full.style.display = "none", done.style.display = "none";
}

function displayFullLogin() {

	var pre = getElement("login_pre");
	var full = getElement("login_full");

	if(pre == null || full == null)
		return;

	pre.style.display = "none", full.style.display = "inline";

}

function displayLoginDone() {

	var pre = getElement("login_pre");
	var full = getElement("login_full");
	var done = getElement("login_done");

	if(pre == null || full == null || done == null)
	  return;

	pre.style.display = "none", full.style.display = "none", done.style.display = "inline";

}

function existUserCookie() {
  var exists = false;
  
  if(getCookie("metro-user"))
    exists = true;
  
  return exists;
}

function getCookie(cookie_name) {
  var results = document.cookie.match(cookie_name + '=(.*?)(;|$)');

  if(results)
    return (unescape(results[1]));
  else
    return null;
}

function getUserFromCookie() {
  var username;
  var cookie = getCookie("metro-user");
  
  if(cookie)
    username = cookie.split(":")[1];

  if(username && username.length > 0)
    return username;
  else
    return null;
}

function onclickLogout() {
  displayPreLogin();
  removeCookie("metro-user");
  
}

function removeCookie(cookie_name) {
  var cookie_date = new Date();  // current date & time
  cookie_date.setTime(cookie_date.getTime() - 1);
  document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString() + ";path=/";
}
