function loginControl(options)
            {
                var self = this;
                self.idSuffix = options["id"];

                self.loginControlSelector = 'div#loginForm' + self.idSuffix;

                $(function(){
                    self.restoreLoginDialog = $("#restoreLogin" + self.idSuffix).dialog({
                        autoOpen: false,
                        title: "Enter Email",
                        modal: true,
                        close: function(){
                            $(".restoreLoginData", this).val("");
                        },
                        buttons:{
                            "Send": function(){self.restoreLogin()},
                            "Close": function(){
                                $(this).dialog("close");                                
                            }
                        }
                    });
                });

                self.init = function()
                {
                    $(self.loginControlSelector).ready(function(){
                        self.processAction();

                        $(self.loginControlSelector + " input#UserName, " +
                        self.loginControlSelector + " input#Password").bind("keyup", function(event){
                            if(event.keyCode == 13)
                            {
                                self.login();
                            }
                        });
                    });
                }

                self.login = function()
                {
                    if($(self.loginControlSelector + ' #action').val() == "")
                    {
                        $(self.loginControlSelector + ' #action').val('login');
                    }
                    self.submitForm();
                }

                self.submitForm = function()
                {
                    if($(self.loginControlSelector + ' #action').val() == '')
                    {
                        $(self.loginControlSelector + ' #action').val('login');
                    }

                    if(self.validateForm($(self.loginControlSelector + ' #action').val()))
                    {
                        $(self.loginControlSelector + " #FailureTextSpan").text("");
                        $(self.loginControlSelector + " #InstructionTextLabel").text("");
                        var redirectURL = "";
                        if(window.location.search.match(/redirectTo=/)){
                            redirectURL = window.location.search.substring(1);
                        }
			//else{
                        //    if(window.location.pathname != "/loginCMS.php"){
                        //        redirectURL = "redirectTo="+window.location.pathname+window.location.search;
                        //    }else{
                        //        redirectURL = "";
                        //    }

                        //}
                        $.ajax({
                            url:"/ScoutsCMS/ajax/login.php?" + (redirectURL?redirectURL:""),
                            type: "post",
                            dataType: 'json',
                            data: GetFormValues(self.loginControlSelector + " input"),
                            success: self.loginResult
                        });

                    }
                }

                self.coachRegisterOpen = function()
                {
                    tcr51.open();
                    tcr51.setValues({
                        email: $(self.loginControlSelector + " input#UserName").val(),
                        password: $(self.loginControlSelector + " input#Password").val(),
                        confirmPassword: $(self.loginControlSelector + " input#ConfirmPassword").val()
                    });
                }

                self.loginResult = function(data)
                {
                    if(data.errorMessage == '' && data.infoMessage == '')
                    {
                        if(typeof data.cookie != 'undefined' && data.cookie != null)
                        {
                            for(var i in data.cookie)
                            {
                                document.cookie = data.cookie[i];
                            }
                        }
                        document.location = data.redirectURL;
                    }
                    else
                    {
                        $(self.loginControlSelector + " #FailureTextSpan").text("");
                        $(self.loginControlSelector + " #InstructionTextLabel").text("");
                        if(data.errorMessage != '')
                        {
                            $(self.loginControlSelector + " #FailureTextSpan").text(data.errorMessage);
                        }
                        else if(data.infoMessage != '')
                        {
                            $(self.loginControlSelector + " #InstructionTextLabel").text(data.infoMessage);
                        }

                        if(data.action != "")
                        {
                            $(self.loginControlSelector + ' #action').val(data.action);
                            self.processAction();
                        }
                    }
                }

                self.processAction = function()
                {
                    switch($(self.loginControlSelector + ' #action').val())
                    {
                        case "":
                        case "login":
                            $(self.loginControlSelector + " #ConfirmControls").hide();
                            $(self.loginControlSelector + " #login").val("Login");
                            $(self.loginControlSelector + " #rememberMeDiv").show();
                            break;
                        case "registration":
                            //$(self.loginControlSelector + " #ConfirmControls").show();
                            //$(self.loginControlSelector + " #login").val("Register");
                            //$(self.loginControlSelector + " #rememberMeDiv").hide();
                            rp_register.open();
                            rp_register.setValues({
                                email: $(self.loginControlSelector + " input#UserName").val(),
                                password: $(self.loginControlSelector + " input#Password").val()
                            });
                            $(self.loginControlSelector + ' #action').val("login");
                            break;
                        case "forgotPassword":
                        case "forgotLogin":
                             $(self.loginControlSelector + " #ConfirmControls").hide();
                             $(self.loginControlSelector + ' #action').val("login");
                            break;
                    }
                }

                self.validateForm = function(action)
                {
                    if(action == "registration")
                    {
                        if($(self.loginControlSelector + " #ConfirmPassword").val() != $(self.loginControlSelector + " #Password").val())
                        {
                            jAlert("Passwords doesn't match");
                            return false;
                        }
                    }

                    return true;
                }

                self.restorePasword = function()
                {
                    $(self.loginControlSelector + ' #action').val('forgotPassword');                   
                    if(self.validateForm("forgotPassword"))
                    {
                        $.ajax({
                            url:"/ScoutsCMS/ajax/login.php?" + window.location.search.substring(1),
                            type: "post",
                            dataType: 'json',
                            data: GetFormValues(self.loginControlSelector + " input"),
                            success: self.loginResult
                        });
                    }
                }

                self.restoreLoginOpen = function(){
                    self.restoreLoginDialog.dialog("open");
                }
                self.restoreLogin = function(){
                    $(self.loginControlSelector + ' #action').val('forgotLogin');
                    var data = GetFormValues(self.loginControlSelector + " input");
                    data["email"] = $("[name=email]", self.restoreLoginDialog).val();
                    $.ajax({
                            url:"/ScoutsCMS/ajax/login.php?" + window.location.search.substring(1),
                            type: "post",
                            dataType: 'json',
                            data: data,
                            success: function(res){
                                self.restoreLoginDialog.dialog("close");
                                self.loginResult(res)
                            }
                        });
                }

                self.init();
            }

