var showingLoggedIn = false;
var messageElement = false;
var messageP = false;

// focusField method: called when username and password gain focus
function focusField()
{
	try {
		if (messageElement != false)
		{
			document.getElementById('message').removeChild(messageElement);
		}
		getSeed();
	}
	catch (e)
	{ } // do nothing... hides an apparent firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=236791
}

// blurField method: called when username and password are blurred
function blurField()
{
	try {
		validateLogin();
	}
	catch (e)
	{ } // hide bug https://bugzilla.mozilla.org/show_bug.cgi?id=236791
}

// showLogin method: displays if necessariy that we are logged in
function showLogin() {
	if (messageElement != false)
	{
		try {
			document.getElementById('message').removeChild(messageElement);
		}
		catch (e) { }
	}
	if (loggedIn)
	{
		showingLoggedIn = true;
		document.getElementById('message').innerHTML = "<br>Logged in as [ "+fullname+" ] <br><a class = \"lin\" href='javascript:logout();'>[logout] </a>";
		document.getElementById('username').disabled = 'disabled';
		document.getElementById('password').disabled = 'disabled';
	}
	else
	{
		messageElement = document.createElement('strong');
		messageElement.appendChild(document.createTextNode(' ' + messages));
		messageElement.style.color = '#ff0000';
		document.getElementById('message').appendChild(messageElement);
	}
}

// logout method: prepares for a new login
function logout()
{
	eraseCookie('kiralix');
	resetLogin();
	username = document.getElementById('username');
	password = document.getElementById('password');
	loginPanel = document.getElementById('message');
	username.value = '';
	password.value = '';
	username.disabled = null;
	password.disabled = null;
	
	//loginPanel.removeChild(messageElement);
	//loginPanel.appendChild(messageP);
	document.getElementById('message').innerHTML = "";
	
	messageElement = false;
	showingLoggedIn = false;
	username.focus();
	//window.top.location.href = "index.php";
	setupLogin();
}


// setupLogin method: to be called on page load, sets up the login script
function setupLogin()
{
	var x = getCookie('kiralix');
	if(x)
	{
		var r = x.split('|||');
		var full = r[1];
		hasSeed = false;
		loggedIn = true;
	    document.getElementById('message').innerHTML = "<br>Logged in as [ "+full+" ] <br><a class=\"lin\" href='javascript:logout();'>[logout] </a>";
	    document.getElementById('username').disabled = 'disabled';
		document.getElementById('password').disabled = 'disabled';
	}
	else
	{
	username = document.getElementById('username');
	password = document.getElementById('password');
	addEvent(username, 'focus', focusField);
	addEvent(username, 'blur', blurField);
	addEvent(password, 'focus', focusField);
	addEvent(password, 'blur', blurField);
	}
	
}


// function to add events to the page in a cross-browser manner
function addEvent(objObject, strEventName, fnHandler) { 
	// DOM-compliant way to add an event listener 
 	if (objObject.addEventListener) {
		objObject.addEventListener(strEventName, fnHandler, false); 
	}
	// IE/windows way to add an event listener 
	else if (objObject.attachEvent) {
		objObject.attachEvent('on' + strEventName, fnHandler); 
	}
}

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";

	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	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) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

function getCookie(Name)
  {
  var search = Name + "=";

  // jezeli sa jakiekolwiek ciasteczka
  if (document.cookie.length > 0)
    {
    // okreslenie poczatku ciasteczka o zadanej nazwie
    offset = document.cookie.indexOf(search);

    // jezeli ciasteczko istnieje
    if (offset != -1)
      {
      //okreslenie poczatku wartosci ciasteczka
      offset += search.length;

      //okreslenie konca ciasteczka
      end = document.cookie.indexOf(";", offset)
      if (end == -1) end = document.cookie.length

        //zwrócenie wartosci ciasteczka
        return unescape(document.cookie.substring(offset, end))
      }
    }
  }




addEvent(window,'load',setupLogin);