var isLogged = false;

(function($){

    var user;
	var loginWindow = false;
	
	
    
    $.fn.login = function(options){
        var defaults = {
        	loginButton: false,
        	logoutButton: false,
        	profileButton: false
        };
        var options = $.extend(defaults, options);
        
        var _this = this;
        this.regional = {
            en: {
				"Logowanie":					"Login",
				"Mój serwis":					"My service",
				"Wyloguj (%(user)s)":			"Logout (%(user)s)",
				"Zaloguj":						"Login",
				"Zalogowany jako %(username)s":	"Logged as %(username)s",
				"Niepoprawna nazwa użytkownika lub hasło.": "Wrong username or password.",
				"Nazwa użytkownika":			"Username",
				"Hasło":						"Password",
				"Zarejestruj.":					"Join.",
				"Zapomniałem hasła.":			"Forgot password."
				
			},
            de: {}
        }[cmsLang];
        _this._ = $.i18n;
        
        var container = this;
		
		process();
        
        function process(){
        	
        	
            if ($.cookies.get('user') != null) {
            	
                user = $.cookies.get('user');
                
                
                if( options.loginButton ) {
                	options.loginButton.hide();
                }
                
                if( !options.profileButton ) {
                	var profileButton = $("<button>" + _this._("Mój serwis") + "</button>").button({
					icons: {
						primary: "ui-icon-person"
						}
                	});
                	$(container).empty().append(profileButton);
                } else {
                	var profileButton = options.profileButton.show();
                	
                }
				profileButton.click( function(){
					$.fancybox({
						href: "/rpis/usr",
						type: "iframe",
						width: 800,
						height: 600
					})	
				});

                if( !options.logoutButton ) {
                    var logoutButton = $("<button>" + _this._("Wyloguj (%(user)s)", user.user) + "</button>").button({
                        icons: {
                            primary: "ui-icon-circle-close"
                        }
                    })
                	$(container).append(logoutButton);
                } else {
                	var logoutButton = options.logoutButton.show();
                	
                }
				
                logoutButton.click(function(){
					$.post('/rpis/logout', function(data) {
//	                    $.cookies.del('user');
//	                    user = null;
						window.location.href="/josso_logout/";
					});

                });
                
            }
            else {
				
				var loginWindow = getLoginWindow();

				
				if( !options.loginButton ) {
	                var openDialogButton = $("<button>" + _this._("Zaloguj") + "</button>").button({
	                    icons: {
	                        primary: "ui-icon-person"
	                    }
	                });
	                container.empty().append(openDialogButton);
				} else {
					openDialogButton = options.loginButton.show();
				}
				
				openDialogButton.click(function(){
                    $("#login-window").dialog("open");
                });
                

				
				
				
				
                
				$("#login-login").button({
					icons: {
						primary: "ui-icon-unlocked"
					}
				}).click(function(e){
					e.preventDefault();
                    $.ajax({
                        type: 'POST',
                        url: '/josso/signon/login.do',
                        data: $("#login-form").serialize(),
                        dataType: "json",
                        success: function(data){
                            if (data.result == 1) {
                                //zalogowany
                                //$.cookies.set('user', data);
                                $("#login-window").dialog("close");
								process();
                                $.message( _this._("Zalogowany jako %(username)s", data.user));
    							$.ajax( {
									url : cmsPoiPubUrl + '?q=flush',
									dataType : "json"
								});
                            }
                            else {
                                $.message( _this._("Niepoprawna nazwa użytkownika lub hasło."), "err");
                            }
                        }
                    });
					
				});
                
            }
        }
        
        function getLoginWindow() {
			
			if( loginWindow ) {
				return loginWindow;
			} else {
				var html = '\
				<div id="login-window" style="display: none;" title="' + _this._("Logowanie") + '">\
					<form method="post" id="login-form" action="#">\
						<p>\
							<input type="hidden" name="josso_cmd" value="login"/>\
							<input type="hidden" name="josso_back_to" value="/rpis/seam/resource/user.js"/>\
							<input type="hidden" name="josso_on_error" value="/rpis/seam/resource/user.js"/>\
							<label for="login-username">' + _this._("Nazwa użytkownika") + ':</label>\
							<j:whitespace> </j:whitespace>\
							<input class="ui-widget-content ui-corner-all" type="text" name="josso_username" size="10" id="login-username" />\
						</p>\
						<p>\
							<label for="login-password">' + _this._("Hasło") + ':</label>\
							<j:whitespace> </j:whitespace>\
							<input class="ui-widget-content ui-corner-all" type="password" name="josso_password" size="10" id="login-password" />\
						</p>\
						<p style="text-align: right;">\
							<input id="login-login" type="submit" value="' + _this._("Zaloguj") +  '" />\
						</p>\
						<p style="text-align: center;">\
							<a class="iframe login-reset-password" href="/rpis/odzyskaj"><span class="ui-icon ui-icon-key" style="display: inline-block; vertical-align: top;"></span>' + _this._("Zapomniałem hasła.") + '</a>\
							<j:whitespace> </j:whitespace>\
							<a class="iframe login-register" href="/rpis/register1"><span class="ui-icon ui-icon-plusthick" style="display: inline-block;  vertical-align: top;"></span>' + _this._("Zarejestruj.") + '</a>\
						</p>\
					</form>\
				</div>\
				';
				loginWindow = $(html);
				$("body").append( loginWindow  );
				$(".iframe", loginWindow).fancybox({width: 700, height: 550});
				loginWindow.dialog({
                    autoOpen: false,
                    modal: true,
                    resizable: false,
                    width: 320
                });
				
				return loginWindow;
			}
			

		}
        
    }
})(jQuery);

