(function($){
	$.fn.jsrp = function(options) {
		var options = {
			rpe: gup('rpe'),
			rpt: gup('rpt')
		}

        showrpdialog = function(){
            if(typeof ClickTaleExec == "function") {
                ClickTaleExec("showrpdialog()");
            }
            if(CTIsPlayback() && !parent.P2SIDs){}

            var body = $("body");
            var rd = $("<div />")
                .attr("id","reset-dialog")
                .attr("align", "center");
            var posrel = $("<div />")
                            .addClass("posrel");
            var bg = $("<div />")
                            .addClass("bg");
            var dialog = $("<div />")
                            .addClass("dialog");
            var content = $("<div />")
                    .addClass("content")
                    .append("<h3><span>Reset your password?</span></h3>")
                    .append("<p>It seems you already have an account with us, please enter a new password below</p>")
                    .append('<label>password</label><div style="margin-bottom: 5px;"><input type="password" name="rpw1" id="rpw1" class="textfield" /></div>');

            var msgs = $("<div />").addClass("small italic");

            var submitbutton = $("<a />")
                                    .attr("href","javascript:void(0);")
                                    .attr("id","rpw-submit-button")
                                    .append($("<span />").append("Submit"));

            submitbutton.click(function(){
                var pw = $("#rpw1").val();
                var options = {
                    rpe: gup('rpe'),
                    rpt: gup('rpt'),
                    rpp: pw
                }
                msgs
                    .empty()
                    .removeClass("red");

                if(gup('rpe').length > 0 && gup('rpt').length > 0 && pw.length > 6){
                    $.getJSON("/password/jsrp",options,function(data, textStatus){
                        if(!data){
                            msgs
                            .addClass("red")
                            .append("Sorry but we can't reset your password at this time. Please try again later.");
                        }else if(!data.success){
                            msgs
                            .addClass("red")
                            .append("Sorry but we can't reset your password at this time. Please try again later.");
                        }else{
                            //good to go
                            msgs
                            .addClass("orange")
                            .append("Congratulations! You've successfully reset your password!");

                            //$("body div.ui-widget-overlay").remove();
                            //$("#reset-dialog").remove();
                            url = location.href;
                            //url.replace('u='+encodeURI(gup('u')), '');
                            //url.replace('token='+gup('token'), '');
                            url = url+'&rpstat=1';
                            jsrpredirect = function(url){
                                location.href=url;
                            }
                            setTimeout('jsrpredirect(url)',1000);
                        }
                    });
                }else if(pw.length <= 6){
                    msgs
                        .addClass("red")
                        .append("Sorry but your password has to be longer than 6 characters");
                }
            });

            var closebutton = $("<a />")
                                    .attr("href","javascript:void(0);")
                                    .attr("id","rpw-close-button")
                                    .append($("<span />").append("Close"));

            content
                .append(msgs)
                .append(submitbutton)
                .append(closebutton);

            dialog.append(content);

            rd.append(
                posrel
                .append(bg)
                .append(dialog)
            );

            closebutton.click(hiderpdialog);

            $("body div.ui-widget-overlay").remove();
            var overlay = $("<div />")
                .addClass("ui-widget-overlay")
                .click(hiderpdialog);

            body.append(overlay);
            overlay.css({
                    "position":"absolute",
                    top: 0,
                    left: 0,
                    "z-index": 50,
                    "height":$(document).height(),
                    "width":$(document).width()
                });

            body.append(rd);

            $("#rpw1")
                .keydown(function(e){
                    if(e.keyCode == 13){
                        $("#rpw-submit-button").click();
                        return false;
                    }
                });


            var leftpos = Math.round(($(window).width()-960)/2)+102;
            if($.browser.msie){
                leftpos = Math.round(($(window).width()-960)/2)-102;
            }

            rd
                .css({
                    "position":"absolute",
                    "top":Math.round(($(window).height()-rd.height())/2)+$(window).scrollTop(),
                    "left":leftpos,
                    "z-index":"150"
                }).show();

            $("#rpw1").focus();
        }

        hiderpdialog = function(){
            if(typeof ClickTaleExec == "function") {
                ClickTaleExec("hiderpdialog()");
            }
            if(CTIsPlayback() && !parent.P2SIDs){}
            $("div.ui-widget-overlay").remove();
            $("#reset-dialog").remove();
        }

		var submittedFlag = (gup('rpstat')=='1');
		var rpFlag = false;
		if(gup('rpe').length > 0 && gup('rpt').length > 0 && !submittedFlag){
			$.getJSON("/password/displayjsrp",options,function(data, textStatus){
				if(!data){
					return this;
				}else if(!data.success){
					return this;
				}else{
					//good to go
					showrpdialog();
				}
			});
		}
		return this;
	};
} )( jQuery );
$(document).ready(function() {
	$("body").jsrp();
});