function Account()
{
   function IsLoggedIn()
   {
      var cookie = new Cookie( "login");
      var value = cookie.GetCookie();
      if( value == false) return false;

      return ( value.length > 1 );
   }

   
   function GetId()
   {
      var cookie = new Cookie( "login");
      var value = cookie.GetCookie();
      if( value == false) return "";

      var array = value.split(',');
      if( array.length >= 6)
      {
	 var id = array[ 5];
	 return id;
      }
      else
      {
	 return false;
      }
   }
   
   function GetUsername()
   {
      var cookie = new Cookie( "login");
      var value = cookie.GetCookie();
      if( value == false) return "";

//      window.status = value;

      var array = value.split(',');
//      var username = array[ 0].replace("+", " ");
      var username = array[ 0].replace(/\+/g, " ");      
      return username;
   }
   
   function GetPassword()
   {
      var cookie = new Cookie( "login");
      var value = cookie.GetCookie();
      if( value == false) return "";

      var array = value.split(',');
      return array[ 1];
   }

   function GetUsernameRaw()
   {
      var u = GetUsername();
      return u.substr( 1, u.length - 2);
   }
   
   function GetPasswordRaw()
   {
      var p = GetPassword();
      return p.substr( 1, p.length - 2);
   }
   
   
   function IsVip()
   {
      var cookie = new Cookie( "login");
      var value = cookie.GetCookie();
      if( value == false) return false;

      var array = value.split(',');
      return (array[ 2] == 1);
   }

   function IsPremium()
   {
      var cookie = new Cookie( "login");
      var value = cookie.GetCookie();
      if( value == false) return false;
      
      var array = value.split(',');
      var parts = array[3].split("-");
      
      var endYear = parseInt( parts[0]);
      
      // parseInt macht auf '09' --> 0
      if( parts[1].substr( 0, 1) == 1)			   
	var endMonth = parseInt( parts[1]);
      else 
	var endMonth = parseInt( parts[1].substr( 1, 1));
				   
      // parseInt macht auf '09' --> 0       
      if( parts[2].substr( 0, 1) > 0)				   
	var endDay = parseInt( parts[2]);
      else			   
	var endDay = parseInt( parts[2].substr( 1, 1));
      
      var endDate = new Date( endYear, endMonth, endDay);
      var dt = new Date();
       
      if( dt.getTime() <= endDate.getTime())
      {
	 return true;
      }
      return false;
   }

   function IsPremium_old()
   {
      var cookie = new Cookie( "login");
      var value = cookie.GetCookie();
      if( value == false) return false;

      var array = value.split(',');
      var parts = array[3].split("-");
      
      var endYear = parseInt( parts[0]);
      var dt = new Date();

      if( endYear > dt.getFullYear())
      {
	 return true;
      }
      if( endYear == dt.getFullYear())
      {
	 var endMonth = parseInt( parts[1], 10);
	 if( endMonth >= dt.getMonth()+1)
	 {
	    return true;
	 }
      }
      
      return false; //(array[ 3] == 1);
   }
   
   function IsRedaktion()
   {
      var cookie = new Cookie( "login");
      var value = cookie.GetCookie();
      if( value == false) return false;

      var array = value.split(',');
      return (array[ 4]==1);
   }

   function IsPoweruser()
   {
     if( IsVip()) return true;
     if( IsRedaktion()) return true;
     return false;
   }
   
	function TryLogin()
	{
	   var c = new Cookie();
	   if( c.AreCookiesEnabled())
	   {
	      var oWindow = window.open( "http://www.nickles.de/login/login.php", "_blank", "height=250,location=no,menubar=no,resizable=yes,scrollbars=no,status=no,toolbar=no,width=270",false);
	   }
	   else
	   {
              window.open( "http://www.nickles.de/login/loginInfo.html");
	   }
	}
   
   function LoginButtonHTML()
   {
      return "<a href='Javascript:Account.prototype.TryLogin();'><b>anmelden</b></a>&nbsp;";
   }

   function LogoutButtonHTML()
   {
      //return "<a href='Javascript:Account.prototype.Logout();' onclick='location.reload()'>abmelden</a>&nbsp;";
      return "<a href='Javascript:Account.prototype.Logout();'>abmelden</a>&nbsp;";      
   }
   
 
   function Logout()
   {
      var cookie = new Cookie("login");
      cookie.Delete();
      InsertButton();
      location.reload();
   }

   this.IsLoggedIn = IsLoggedIn;

   Account.prototype.TryLogin = TryLogin;	  
   Account.prototype.Logout = Logout; 
   Account.prototype.GetId = GetId;
   Account.prototype.GetUsername = GetUsername;   
   Account.prototype.GetPassword = GetPassword;
   Account.prototype.IsPoweruser = IsPoweruser;
   Account.prototype.GetUsernameRaw = GetUsernameRaw;
   Account.prototype.GetPasswordRaw = GetPasswordRaw;
   Account.prototype.IsPremium = IsPremium;
   Account.prototype.IsVip = IsVip;
   
   function InsertButton()
   {
      var target = document.getElementById('loginButtonV3');
      if( IsLoggedIn())
      {
	 if( target != null)
	 {
            target.innerHTML = LogoutButtonHTML();
	 }
	 else
	 {
	    target = document.getElementById('accountLoginButton');
	    if( target)
	       target.innerHTML = GetUsername() + " abmelden";
	 }
      }
      else
      {
	 if( target != null)
	 {
            target.innerHTML = LoginButtonHTML();
	 }
	 else
	 {
	    target = document.getElementById('accountLoginButton');
	    if( target)
	       target.innerHTML = "anmelden";
	    target = document.getElementById('accountOptionsButton');
	    if( target)
	       target.style.display = "none";
	 }
      }
   }

  Account.prototype.InsertButton = InsertButton;  
  Account.prototype.LogoutButtonHTML = LogoutButtonHTML;
  Account.prototype.IsRedaktion = IsRedaktion;  
}


