var config = {"base_path":""}
var navOpen = false;
var fbc = {};
var g_callback;
var autorefresh = null;

function validateEmail(e){
    /*
    var pattern = new RegExp(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/);
    return pattern.test(e);
    */
    return (e.search(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i) != -1);
}

function subscribe(email) {
	$.get(config.base_path + "/user/subscribe", {'email': email}, function(r){
            $("div.link-button .ajax").hide();
            $("#popup").jqmHide();
			if (r.status=="OK"){
				showMessage("You're really close. To complete your subscription, click on the activation link in the email you've been sent.","Newsletter Subscribe");
			} else {
				showMessage(r.error,"Newsletter Subscribe");
			}
		},
		'json'
	);
}

function staticunsubscribe(email) {
    $.get(config.base_path + "/user/subscribe", {'email': email, 'op': 'unsubscribe'}, function(r){
		var popup = $("#popup");
		if (r.status=="OK"){
            $("#uns_status").attr('value', 'OK');
            $("#uns_redirect_form").submit();
		} else {
            $("#uns_status").attr('value', r.status);
            $("#uns_error").attr('value', r.error);
            $("#uns_redirect_form").submit();
		}
	}, 'json');

}

function resetAutoRefresh(){
    clearTimeout(autorefresh);
    autorefresh = setTimeout(function(){ reloadPage(); }, 1000*600);
}

function postConfirm_newsletterPopup(email){
    var popup = $("#popup");
    popup.css("position","absolute");
    if($.browser.msie) popup.css("top",document.documentElement.scrollTop+150);
    else popup.css("top",window.pageYOffset+150);

    popup.removeClass().addClass("postconfirm_newsletter");
    popup.load("/static/popup-postconfirm-newsletter.php", {e:email}, function(){
        popup.jqmShow();
    });
    return false;
}

function loginPopShowSpinner(){
    $('.fbconnect_holder .ajax').show();
    $(window).blur(function(){
        $('.fbconnect_holder .ajax').hide();
    });
}

function loadLoginPopup(callback){
    g_callback = callback;

    var popup = $("#popup");
    popup.css("position","absolute");
    if($.browser.msie) popup.css("top",document.documentElement.scrollTop+150);
    else popup.css("top",window.pageYOffset+150);

    if(popup.hasClass("login")) {
        popup.jqmShow();
        return;
    }

    popup.removeClass().addClass("login");
    var qs = new Array();
    if(Boolean(typeof data!='undefined' && data) &&
       Boolean(typeof data.email!='undefined' && data.email) ){
        qs.push("defemail="+data.email);
    }
    popup.load("/static/popup-login.php?"+qs.join("&"), null, function(){
        $("#popup-login-submit-button .button",popup).html("Log In &raquo;").unbind("click").click(function(){
                submitPopup("login", callback);
                return false;
        });
        popup.jqmShow();

    });

    return false;
}

function loadForgotPassPopup(){
    var popup = $("#popup");
    if($.browser.msie) popup.css("top",document.documentElement.scrollTop+150);
    else popup.css("top",window.pageYOffset+150);

    if(popup.hasClass("forgot")) {
        popup.jqmShow();
        return;
    }
        
    popup.removeClass().addClass("forgot");
    popup.load("/static/popup-forgot.php",function(){
        popup.jqmShow();
    });

    return false;
}

function toggleBirthdayTooltip(){
    return;
    var bday_notif = $.cookies.get('bday_notif', true);
    if(!(bday_notif)){
        var expire=new Date();
        expire.setDate(expire.getDate()+365);
        $("#global-nav .bday_tooltip").click(function(e){
            e.preventDefault();
            $.cookies.set('bday_notif', 'true', {path: '/', expiresAt: expire});
            location.href="/user/birthdays";
        }).fadeIn(400);
        $("#global-nav .bday_tooltip .close").click(function(e){
            e.preventDefault();
            $.cookies.set('bday_notif', 'true', {path: '/', expiresAt: expire});
            $("#global-nav .bday_tooltip").fadeOut(400);
            return false;
        });
    }
}

function initLoginStatus(){
    var param = {'cur':escape(window.location)};
    var remkey = $.cookies.get('remember_key', false);
    if(remkey) param['remkey'] = remkey;
    $.get("/user/fls", param, function(data){
        if(data.logged){
            var up = $.cookies.get('usrprof', true);
            if(up){
                $("#global-nav ul.options li.logged-in-row .name").html(up.s);
            }
            $("#global-nav ul.options li.lgdout").remove();
            $("#global-nav ul.options li.lgdin").show();

            if($("#rail_profile_widget h3.widget_header .profile_edit").length > 0){
                if(up.i == $("#rail_profile_widget h3.widget_header .profile_edit").attr('id').substr(8)){
                    $("#rail_profile_widget .profile_edit").show();
                }
                else $("#rail_profile_widget .profile_edit").remove();
            }

            var expire=new Date();
            expire.setDate(expire.getDate()+90);
            if(remkey && data.rem_key) $.cookies.set('remember_key', data.rem_key, {path:'/', expiresAt:expire});
        }
        else {
            $("#rail_profile_widget .profile_edit").remove();
            if(remkey) $.cookies.del('remember_key', {path:'/'});
        }

        if(data.fb.connected){
            if(data.fb.perm_bday>0){
                $("#global-nav ul.fb_bday").css('margin-top', '4px');
                if(data.fb.global_bdays!=null){
                    $("#global-nav ul.fb_bday .bdays").html(data.fb.global_bdays);
                    $("#global-nav ul.fb_bday li.label").show().parent().show();
                }
                else if(!data.bdays_enabled){
                    $("#global-nav ul.fb_bday li.label").append(' <a href="/user/birthdays" class="reenable">Enable &raquo;</a>').show().parent().show();
                    $("#global-nav ul.fb_bday li.label .reenable").unbind("click").click(function(e){
                        e.stopPropagation();
                        $.get('/user/aj_birthdays?a=enable', null, function(data){
                            if(data.status=="OK") location.href='/user/birthdays';
                        }, 'json');
                    });
                }
            }
            else {
                    $("#global-nav ul.fb_bday li.icon").css('margin-top', '6px');
                    $("#global-nav ul.fb_bday li.label_get a").unbind("click").click(function(e){
                        e.stopPropagation();
                        showBirthdayPerm(function(){
                            $.get('/user/aj_birthdays?a=up_perm', null, function(){
                                location.href="/user/birthdays";
                            });
                        });
                        return false;
                    });
                    $("#global-nav ul.fb_bday li.label_get").show().parent().show();
                    toggleBirthdayTooltip();
            }
            fbc.uid = data.fb.id;
            fbc.connected = true;
        }
        else {
            fbc.connected = false;
            $("#global-nav ul.fb_bday li.icon").css('margin-top', '6px');
                $("#global-nav ul.fb_bday li.label_get a").unbind("click").click(function(e){
                    e.stopPropagation();
                    onFBLoginPress(function(){
                        reloadPage();
                    });
                    return false;
                });
            $("#global-nav ul.fb_bday li.label_get").show().parent().show();
            toggleBirthdayTooltip();
        }

        return false;
    }, 'json');
    initGlobalNav();
    return false;
}

function initGlobalNav(){
	$("#popup").jqm({onHide:jqm_fadeOut, onShow:jqm_fadeIn});
	$("#global-nav .popup-login").click(function(e){
            e.preventDefault();
            loadLoginPopup();
            return false;
        });
        $("#global-nav .global-logout").click(function(e){
            e.preventDefault();
            $.get(config.base_path + "/user/ajlogout", null, function(data){
                $.cookies.del('usrprof', {path:'/'});
                if(data.logout=="FACEBOOK"){
                    FB.logout(function(response){
                        if(data.redirect) {location.href = data.redirect;return false;}
                        else reloadPage();
                    });
                }
                else {
                    if(data.redirect) {location.href = data.redirect;return false;}
                    else reloadPage();
                }
            },"json");
            return false;
        });


	$("#global-nav .popup-register").click(function(e){
            e.preventDefault();
            
            if($("#popup").hasClass("register")) {
                $("#popup").jqmShow();
                return;
            }

            $("#popup").css("top",150).removeClass().addClass("register").load("/static/popup-register.php",function(){
                $(this).jqmShow();
            });
            return false;
	});

        $(".logged-in-row").unbind("click").click(function(e){
            e.preventDefault();
            if($(".options_dropdown").hasClass("open")){
                $(".options_dropdown").removeClass("open").hide();
                $("#global-nav ul.options li.lgdin").removeClass("on");
            }
            else {
                $(".options_dropdown").addClass("open").show();
                $("#global-nav ul.options li.lgdin").addClass("on");
            }
        });
        $(".options_dropdown .menu_close").unbind("click").click(function(e){
            e.preventDefault();
            $(".logged-in-row").trigger("click");
        });


	// show popups on action hashes. this is used by the chrome extension to link to signup/password reminder forms
	var hash = location.hash.toString();
	if (hash == "#do=signup") $("#global-nav .popup-register").click();
	else if (hash == "#do=forgotpassword") loadForgotPassPopup();
}
function navOver(id){
    $("#menu-wrp .menu li").removeClass("hover");
    var thisdd = $("#menu-wrp .menu li#menuitm_"+id);
    thisdd.addClass("hover");
    var menuitm_pos = thisdd.position();
    if(thisdd.hasClass("right")){
        var miw = $("#menudd_"+id).width() - thisdd.width();
        $("#menudd_"+id).css("left", (menuitm_pos.left - miw + 16)+"px");
    }
    else $("#menudd_"+id).css("left", (menuitm_pos.left+5)+"px");
    $("#menudd_"+id).show().children().click(function(e){
            e.stopPropagation();
    });
    $("body").unbind("click").click(function() {navOut();});
    navOpen=true;
}
function navOut(){
    $("#menu-wrp .menu li").removeClass("hover");
    $(".menu_dropdown").hide();
    $("body").unbind("click");
    navOpen=false;
}
function navClick(u){
    if(navOpen) {
        if(u=='#') return false;
        location.href=u;return true;}
    return false;
}
function initNav(){

    $("#menu-wrp .menu li").click(function(e){
        e.preventDefault();
        e.stopPropagation();
        if(!navClick($(this).find("a").attr("href"))){
            var menuitm_id = $(this).attr("id");
            navOver(menuitm_id.substr(8));
            //$(this).parent().trigger("mouseenter");
        }
    }).bind("mouseleave", function(){
        navOut();
    }).bind("mouseenter", function(){
        var menuitm_id = $(this).attr("id");
        navOver(menuitm_id.substr(8));
    });
    $("#menu-wrp .menu li a").click(function(e){
        e.preventDefault();
        e.stopPropagation();
        $(this).parent().trigger("click");
    });
    $(".menu_dropdown").children().bind("mouseenter", function(){
        $(this).parent().show();
        var menuitm_id = $(this).parent().attr("id");
        navOver(menuitm_id.substr(7));
    }).bind("mouseleave", function(){
        $(this).parent().hide();
        navOut();
    });
    $("#menu-wrp ul.menu_dropdown li").hover(function(){
        $(this).addClass("hover");
    },
    function(){
        $(this).removeClass("hover");
    }).click(function(e){
        e.stopPropagation();
        if($(this).hasClass("menu_close")) {
            e.preventDefault();
            navOut();
        }
        //else location.href = $(this).find("a").attr("href");
    });
    $(".menu_dropdown li.menu_close a").click(function(e){
        e.preventDefault();
        navOut();
    });

    // search
    /*
    $(".global-search input.terms").focus(function(e){
        e.stopPropagation();
        $(this).removeClass("inactive");
        if($(this).val()=='search for something') $(this).val('');
    }).blur(function(e){
        e.stopPropagation();
        if($.trim($(this).val())=='') $(this).val('search for something').addClass("inactive");
    });
    */
    $(".global-search input.terms").keydown(function(e){
        if(e.keyCode==13){
            e.preventDefault();
            submitSearch();
        }
    });
    $(".global-search .run_search").click(function(e){
        e.preventDefault();
        submitSearch();
    });
}

function submitPopup(type, callback){
	var popup = $("#popup");
	var inputs = $("input",popup);
	var error = false;
	
	$("div.link-button .ajax", popup).hide();

	switch (type){
		case "login":
                       var handle = $.trim($("#popup-login-email").val());
                       var pass = $("#popup-login-password").val();
                       //var makelink = ($(".fbidsec_makelink").val()=="true");
                       var rem = $("#popup-login-remember:checked").length>0;
                       if(handle==""){
                            var jqT = $("#popup-login-email");
                            jqT.val("Please enter e-mail/username");
                            jqT.addClass("register-error error").focus(function(){
                                $(this).val("");
                                $(this).removeClass("register-error error").unbind("focus");
                            }).keydown(function(){$(this).removeClass("register-error error").unbind("focus").unbind("keydown");});
                           error = true;
                       }
                       if(pass==""){
                            var jqT = $("#popup-login-password");
                            jqT.addClass("register-error error").focus(function(){
                                $(this).val("");
                                $(this).removeClass("register-error error").unbind("focus");
                            }).keydown(function(){$(this).removeClass("register-error error").unbind("focus").unbind("keydown");});
                           error = true;
                       }
                       
			if(!error){
				$("div.link-button .ajax", popup).show();
                                $.post(config.base_path + "/user/popup_login", {"popup-login-email":handle,
                                                                                                        "popup-login-password":pass,
                                                                                                        "popup-login-remember":rem
                                                                                                      },function(r){
					var rVal = eval("(" + r + ")");
					if((rVal.status=="FAIL") && (rVal.error_code=="1")) {
						$(inputs[1]).val("");
						$(inputs[0]).val("Invalid e-mail/username").addClass("error").focus(function(){
							this.value = "";
							$(this).removeClass("error").unbind("focus").unbind("keydown");
						}).keydown(function(){$(this).removeClass("error").val("").unbind("focus").unbind("keydown");});
					} else if((rVal.status=="FAIL") && (rVal.error_code=="2")) {
						if(!$.browser.msie) inputs[1].type = "text";
						$(inputs[1]).val("Invalid Password").addClass("error").focus(function(){
							this.value = "";
							if(!$.browser.msie) this.type = "password";
							$(this).removeClass("error").unbind("focus").unbind("keydown");
						}).keydown(function(){this.value = "";if(!$.browser.msie) this.type = "password";$(this).removeClass("error").val("").unbind("focus").unbind("keydown");});
					} 
					else if((rVal.status=="FAIL") && (rVal.error_code=="3")) {
						reloadPage();
					} else {
                                                $("div.link-button a.unsubscribe",popup).hide();
                                                $("div.link-button a.button",popup).html("Close").addClass("close").unbind("click").click(function(){
                                                $("div.link-button a.button",popup).removeClass("close");
                                                    popup.jqmHide();
                                                }).focus();
                                                $("div.link-button .ajax", popup).hide();
                                                
                                                if(callback) $(callback);
                                                else reloadPage();
					}
					$("div.link-button .ajax", popup).hide();
				});
			}
		
			break;
      case "forgot":
            $("div.link-button .ajax", popup).show();
			$.post(config.base_path + "/user/popup_forgot",$("form",popup).serialize(),function(r){
                    $("div.link-button .ajax", popup).hide();
                    if(r == "1") {
						$(inputs[0]).val("Invalid E-Mail or Username").addClass("error").focus(function(){
							this.value = "";
							$(this).removeClass("error").unbind("focus").unbind("keydown");
						}).keydown(function(){$(this).removeClass("error").val("").unbind("focus").unbind("keydown");});
                    } else {
                        popup.removeClass().addClass("message");
                        $(".content",popup).html('<div class="message"><hr />Recovery link has been sent to your email.</div>');
                        $("div.link-button a.forgot",popup).hide();
                        $("div.link-button a.button",popup).html("Close").addClass("close").unbind("click").click(function(e){
                            e.preventDefault();
                            $("div.link-button a.button",popup).removeClass("close");
                            popup.jqmHide();
                        }).focus();
                    }
                });
            break;
        case "register":
            submitRegister();
            break;
	};
}
function showMessage(m,h,f){
	var popup = $("#popup");
	popup.removeClass().addClass("message");
        var pop_content = '<div class="close"></div><h3>'+h+'</h3><div class="content"><hr /><div class="message">' + m + '</div></div>';
        pop_content += '<div class="link-button"><a href="#" class="button">Close</a></div>';
	popup.html(pop_content);

        $("#popup .close, #popup .link-button .button").unbind("click").click(function(e){
            e.preventDefault();
            popup.jqmHide();
            if(f) f.call(this);
            return false;
        });
	
	if($.browser.msie) popup.css("top",document.documentElement.scrollTop+150);
	else popup.css("top",window.pageYOffset+150);

        popup.jqmShow();

        $("div.link-button a.button",popup).focus();
}

function bindComments_actions(){
    var up = $.cookies.get('usrprof', true);
    if(up && up.d) {
        $(".admdel").show();
        $(".admdel a").unbind('click').click(function(e){
            e.preventDefault();
            if(confirm('Really delete this post ?')){
                $.post(config.base_path+'/comments/aj', { 'a':'del', 'id':$(this).attr("title"), 'up':$("#comments_div .is_userpost").val() }, function(data){
                    if(data.status='OK') reloadPage();
                }, 'json');
            }
        });
    }
    
}

function bindComments_pagination(pid){
    $("#comments_div .pagination .pages li a").unbind('click').click(function(e){
        e.preventDefault();
        var pg = $(this).attr("title"),
              is_up = $("#comment_form .is_user_post").val();
        
        $.get(config.base_path+"/comments/aj", {'a':'getpage', 'pg':pg, 'pid':pid, 'is_up':is_up}, function(data){
            if(data.status=='OK'){
                $("#comments_list").html(data.list);
                $("#comments_div .pagination .pages").html(data.pages);
                $("#comments_div .comment_current_page").html(data.current_page);
                bindComments_pagination(pid);
                bindComments_actions();
                location.href="#comments";
            }
        }, 'json');
    });
}
function bindCommentSubmit(){
    $("#comment_form #comment_submit").unbind('click').click(function(e){
        e.preventDefault();
        $(this).unbind("click").click(function(e){e.preventDefault();});;

        var name = $.trim($("#comment_name").val()), 
              email = $.trim($("#comment_email").val()),
              body = $.trim($("#comment_text").val()),
              notify = ($("#comment_notify:checked").length>0),
              is_up = $("#comment_form .is_user_post").val(),
              paa = ($("#comment_paa:checked").length>0),
              newsletter = ($("#comment_newsletter_subscribe:checked").length>0),
              challenge = $("input#recaptcha_challenge_field").val(),
              response = $.trim($("input#recaptcha_response_field").val()),
              errdiv = $("#comment_form .comment_errors"),
              has_error = false,
              up = $.cookies.get('usrprof', true),
              post_id = $("#comment_form .post_id").val(),
              post_type = $("#comment_form .post_type").val();

        if(name=='' || email=='' || body==''){
            errdiv.html("Please complete all required fields.");
            has_error = true;
        }
        else if(!validateEmail(email)){
            errdiv.html("Please enter a valid email.");
            has_error = true;
        }
        else if(!up && response=='') {
            errdiv.html("Please enter the words in the CAPTCHA image.");
            has_error = true;
        }

        if(has_error){
            toggleCommentsError(true);
            bindCommentSubmit();
            return;
        }


        var params = {
            a:'postcomment', e:email, n:name, c:body, notify:(notify?1:0), paa:(paa?1:0), subnews:(newsletter?1:0),
            captcha_challenge:challenge, captcha_response:response, is_up:is_up, post_id:post_id, post_type:post_type
        }

        $("#comment_form .ajax_loader").show();
        $.post(config.base_path+'/comments/aj', params, function(data){
            $("#comment_form .ajax_loader").hide();
            if(data.status=="OK"){
                toggleCommentsError(false);
                $("#comments_div ul#comments_list li.be_first_comment").hide();
                $("#comments_div ul#comments_list").prepend(data.comment_html).children(':first').hide().slideDown();
                $(".feed_share_holder .feed_share li.comments").find("b").html("("+data.comment_count+")");

                if(data.subscribed){
                    $(".submit_row .newsletter_row").css("padding-top", "5px").html('<span class="success">Thanks! An email has been sent to confirm your subscription.</span>');
                }

                $("#comment_text").val('');
                $("#comment_form .captcha_row").slideUp();
                bindComments_actions();
            }
            else {
                errdiv.html(data.error);
                toggleCommentsError(true);
            }
            if(!up && Recaptcha) Recaptcha.reload();
            bindCommentSubmit();
        }, 'json');

    });
    bindCommentFlag();
}
function bindCommentFlag(){
    $("#comments_div ul li a.flag_comment").unbind('click').click(function(e){
        e.preventDefault();
        if($(this).hasClass("flagged")) return;
        var comm_id = $(this).parent().parent().parent().find("input.comment_id").val();
        var is_post = ($(".feed_share_holder .feed_share li.comments").length>0)?1:0;

        $.post(config.base_path+'/comments/aj', {a:'flag', comment_id:comm_id, is_feed_post:is_post}, function(data){
            $("#comments_div ul li input.comment_id[value="+data.comment_id+"]").parent().find("a.flag_comment").addClass("flagged").html('flagged');
        }, 'json');
    });
}
function toggleCommentsError(show){
    var errdiv = $("#comment_form .comment_errors");
    if(show){
        if(!errdiv.is(":visible")) errdiv.slideDown();
    }
    else {
        if(errdiv.is(":visible")) errdiv.slideUp();

    }
}

function initNewsletterModule(){
    var newsletter_default = "enter your email address";
    $(".newsletter_module .input_holder .email_input").focus(function(){
        var i = $.trim($(this).val()).toLowerCase();
        if(i==newsletter_default) $(this).css("color", "#000000").val('');
    }).blur(function(){
        var i = $.trim($(this).val());
        if(i=="") $(this).css("color", "#989898").val(newsletter_default);
    }).keypress(function(e){
         if (e.which == '13') {
            e.preventDefault();
            $(".newsletter_module .submit_holder").trigger('click');
         }
    });
    $(".newsletter_module .submit_holder").click(function(){
        var e = $(this).parent().find(".input_holder .email_input").val();
        $(".newsletter_module .status_msg").hide();
        if(!validateEmail(e)){
            $(".newsletter_module .status_msg span").removeClass().addClass("error").html("Invalid Email");
            $(".newsletter_module .status_msg").fadeIn();
            return false;
        }

	$.getJSON(config.base_path + "/user/subscribe", {'email': e}, function(r){
            if (r.status=="OK"){
                $(".newsletter_module .status_msg span").removeClass().addClass("success").html("Success: An email has been sent to confirm subscription");
                setTimeout('$(".newsletter_module .status_msg").fadeOut();$(".newsletter_module .input_holder .email_input").val("").blur();', 6000)
            }
            else {
                $(".newsletter_module .status_msg span").removeClass().addClass("error").html(r.error);
            }
            $(".newsletter_module .status_msg").fadeIn();
	});
        return false;
    });
}

function initProfile(){
	//Profile Save-Edit-Cancel
	var origVal = new Array($("#profile-info .section").length);
	for(i=0; i<origVal.length; i++) origVal[i] = new Array();
	$("#profile-info .section").each(function(i){ 
		$(this).find("input,select").each(function(){ 
			origVal[i].push($(this).val()); 
		}) 
	});
	$("#profile-info .save-cancel a, #profile-info .edit a").click(function(e){
            e.preventDefault();
		var contents=$(this).parents(".section");
		if($(this).html() == "edit"){
			$(this).parent().hide().prev().show();
			if(contents.hasClass("picture")){
				var lc = $(".load-content",contents);
				lc.html("<span class='loading'><img src='/sec/images/ajax-loader.gif' /></span>").show();
                                $.get(config.base_path + "/user/pics", function(data){
					lc.html('<ul class="images"></ul><div id="pagination"><ul class="pages"></ul><div class="clearer"></div></div><div class="clearer"></div>');
					for(i=0; i<data.images.length; i++){
						var curr_image = ($("#user_avatar").attr("src")==data.images[i].src) ? 'class="selected"' : '';
						$("ul.images",lc).append('<li><img src="' + data.images[i].src + '" height="57" width="57" ' + curr_image + '/><br /><input type="radio" name="user-picture" value="' + data.images[i].imageNum + '"></li>');
					}
					
					lc.find("img, span").show();
					lc.find("img").click(function(){
						$(".load-content input:radio[name=user-picture]:checked").prev().prev().removeClass("selected");
						$(this).addClass("selected").next().next().click();
					});
					$("#pagination").nymPag({
						start:1,
						count: avatarCount,
						display: avatarCount,
						list:"ul.pages",
						onClick: function(e, i){
							getMorePics(i, lc);
						}
					});
				},"json");
				
			} else {
				contents.find("input, label, span").show().end().find("p").hide();
				contents.find("select").addClass("selectOn").show();
			}
		} else {
			var index = $("#profile-info .section").index(contents);
			if($(this).html() == "save") {
				if(contents.hasClass("picture")){
					if($(".load-content input:radio[name=user-picture]:checked").length == 0){
                                            showMessage('Select an Image!', 'Profile Updated');
                                            return false;
					} else {
                                            $("p img",contents)[0].src = $(".load-content input:radio[name=user-picture]:checked").prev().prev()[0].src;
					}
				} else {
					var p = contents.find("p");
					p.html("");
					contents.find("input,select").each(function(i){ 
						if($(this)[0].id.indexOf("confirm") < 0){
							if(!contents.hasClass("password")){
								p.html(p.html() + $(this).val() + " ");
								origVal[index][i] = $(this).val();
							} else {
								p.html("**********");
								$(this).val("");
							}
						} else {
							$(this).val(origVal[index][i]);
						}
					})
				}
                                $.post(config.base_path + '/user/pics', {'picture' : $("p img",contents)[0].src}, function(data){
                                    if(data != "OK") {showMessage("Unable to save picture","Profile Error");}
                                });
			} else {
				contents.find("input,select").each(function(i){$(this).val(origVal[index][i]);});
			}
			$(this).parent().hide().next().show();
			contents.find("p").show().end().find("input, label, span").hide();
			contents.find("select").removeClass("selectOn").hide();
			if(contents.hasClass("picture")) contents.find(".load-content").hide();
		}
		return false;
	});	
	
}

function getMorePics(i, lc){
	var images = $("ul.images",lc);
	images.html("");
	lc.prepend("<span class='loading'><img src='/sec/images/ajax-loader.gif' /></span>").show();
    $.get(config.base_path + "/user/pics?page="+i, function(data){
		$("span.loading",lc).remove();
		for(i=0; i<data.images.length; i++){
			var curr_image = ($("#user_avatar").attr("src")==data.images[i].src) ? 'class="selected"' : '';
			images.append('<li><img src="' + data.images[i].src + '" height="57" width="57" ' + curr_image + '/><br /><input type="radio" name="user-picture" value="' + data.images[i].imageNum + '"></li>');
		}
				
		lc.find("img").click(function(){
			$(".load-content input:radio[name=user-picture]:checked").prev().prev().removeClass("selected");
			$(this).addClass("selected").next().next().click();
		});
	},"json");	
}

function reloadPage() {
    location.reload(true);
    return false;
}

function showAnonsendError(err) {
    var popup = $("#popup");

    loadLoginPopup(function(){
        submitPostSendAfterLogin();
    });

    if (err == 1) {
        $("h3", popup).html("Max send limit reached");
    } else if(err==500) {
        $("h3", popup).html("Max anonymous send recipients reached");
    } else if(err==600) {
        $("h3", popup).html("Max anonymous daily recipients reached");
    } else {
        $("h3", popup).html("Max recipients reached");
    }
}

function submitSearch() {
    if($(".global-search input.terms").val() == "search for something") $(".global-search input.terms").val("");
    var t = $(".global-search input.terms").val();
    location.href = config.base_path+"/search/"+encodeURIComponent(t);
}

/***** FEED FUNCTIONS *****/
function submitPostSend() {
    if($(".submit-preview .send-btn").hasClass("locked")) return false;
    $(".submit-preview .send-btn").addClass("locked");

    var message = $("#message").val();
    var date = $("input#deliv-date").val();
    var to  = $("#recip-email").getReceivers();
    var num = 0;
    var send_type = $("select#send_type option:selected").val();
    var is_anonymous = $("#is_anonymous").val();
    var allowed_num_for_anonymous = $("#allowed_num_for_anonymous").val();

    if(!Boolean(typeof to!='undefined' && to) || to.length<=0 || (typeof to == "string")){
        if(typeof to == "string") showMessage(to, "Alert");
        else showMessage("You must specify recipient(s)", "Alert");
        $(".submit-preview .send-btn").removeClass("locked");
        return false;
    }

    num = to.length;

    if(num > 25){
        showMessage("Only 25 recipients allowed at a time.", "Alert");
        $(".submit-preview .send-btn").removeClass("locked");
        return false;
    }

    if (is_anonymous == 1) {
        var sender_name  = $("#senders-name").val();
        var sender_email = $("#senders-email").val();
        var captcha_response = $("#recaptcha_response_field").val();
        var captcha_challenge = $("#recaptcha_challenge_field").val();

        if($.trim(captcha_response)==''){
            showMessage("Please enter the captcha words as you see them.", "Alert");
            $(".submit-preview .send-btn").removeClass("locked");
            $(".submit-preview .ajax_spinner").hide();
            return false;
        }

        if (!validateEmail(sender_email)) {
            showMessage("Error: The address in the \"From\" field is an an unrecognized format.", "Alert");
            $(".submit-preview .send-btn").removeClass("locked");
            return false;
        }

        if (num > allowed_num_for_anonymous) {
            showAnonsendError(2);
            $(".submit-preview .send-btn").removeClass("locked");
            return false;
        }

        $("input:hidden#sendcard_sender_name").val(sender_name);
        $("input:hidden#sendcard_sender_email").val(sender_email);
        $("input:hidden#captcha_response").val(captcha_response);
        $("input:hidden#captcha_challenge").val(captcha_challenge);
    }


    var to_formatted = new Array();
    for(var t in to){
        if(Boolean(typeof to[t].email!='undefined' && to[t].email))
            to_formatted.push(to[t].email);
    }

    $("input:hidden#sendcard_message").val(message);
    $("input:hidden#sendcard_to").val(to_formatted.join(", "));
    $("input:hidden#sendcard_date").val(date);
    $("input:hidden#sendcard_send_type").val(send_type);

    $("input:hidden#sendcard_subscribe").val( $("#news-opt-in").attr('checked') ? 1 : 0);
    $("input:hidden#sendcard_notify").val( $("#notify").attr('checked') ? 1 : 0);
    $("input:hidden#sendcard_send_copy").val( $("#send-copy").attr('checked') ? 1 : 0);
    $("input:hidden#sendcard_notify_miss").val( $("#notify-three-day").attr('checked') ? 1 : 0);

	//Convert to Military Time
	var time =  $("#time").val();
	if((time != "Now") && (time != "Midnight") && (time != "Noon")){
        var am = (time.substring(time.length-2)=="am") ? true : false;
        var h = parseInt(time.substring(0,2));
        if(time.length == 6) time = "0"+time;
		if(am){
			if(h == 12) h=0;
		} else {
			if(h < 12) h+= 12;
		}
		if(h < 10) h = "0"+h;
		time = h + time.substring(2,5);
	}
    $("input:hidden#sendcard_when").val(time);

    $(".submit-preview .ajax_spinner").show();

    var form_data = $('form#sendcard_form').serializeArray();

    $.ajax({
            'url': config.base_path + '/post/send',
            'async': false,
            'dataType': 'json',
            'type': 'post',
            'data': form_data,
            'success': function(data) {
                if (data.status == 'OK') {
                    var hash = data.hash;
                    location.href = "/post/confirm-send/" + hash;
            }
            else {
                    //popup.jqmHide();
                    var errNum = data.errorNum;
                    if (errNum == 3)
                        showCommonError();
                else if(errNum == 100){
                    showMessage("There was an error sending your card. Please try again later.", "Alert");
                }
                else if(errNum == 200){
                    showMessage("The captcha you entered was incorrect.", "Alert");
                    Recaptcha.reload();
                }
                    else
                        showAnonsendError(errNum);

                    $(".submit-preview .send-btn").removeClass("locked");
                    $(".submit-preview .ajax_spinner").hide();
                }
            }

        });

    return false;

}

function submitPostSendAfterLogin() {
     $("#is_anonymous").val(0);
    submitPostSend();
}

function feed_lazyload(){
    $(".feed_holder li.feed_item img.feed_lazyload").each(function(){
        if($(this).attr("title")==undefined || $(this).hasClass("loaded")) return;
        if( ($(this).offset().top-100) <= ($(window).scrollTop()+$(window).height()) ){
            $(this).attr("src", $(this).attr("title")).addClass("loaded");
        }
    });
    $("iframe.social_lazy").each(function(i, el){
        if($(this).attr("title")==undefined) {return;}
        if( ($(this).offset().top-100) <= ($(window).scrollTop()+$(window).height()) ){
            $(this).attr("src", $(this).attr("title")).removeAttr("title").removeClass("social_lazy");
        }
    });
}

function feed_fancybox(){
    $(document).ready(function() { 
        $("a.fancybox").fancybox({'hideOnContentClick': true, 'overlayOpacity':0.6, 'overlayColor':'#000', 'autoScale':false});
    });
}

function report_user_post(id){
    $.get(config.base_path+'/user-posts/aj', {a:'flag', pid:id}, function(data){
        
    }, 'json');
}

function track_jserror(msg, url, line){
    var u = location.href;
    var cid = $.cookies.get('tjse_cid', false);
    if(!cid) cid = 0;
    var m = "Url: "+url+" [Line "+line+"]\nMsg: "+msg;
    var bsz = $(window).width()+" x "+$(window).height();
    var scr = screen.width+" x "+screen.height;
    $.post(config.base_path + '/tjse', {u:u, cid:cid, e:m, bsz:bsz, scr:scr}, function(data){
        var expire=new Date();
        expire.setDate(expire.getDate()+30);
        $.cookies.set('tjse_cid', data.cid, {path: '/', expiresAt: expire});
    }, 'json');
}

$(document).ready(function(){
    $(".feed_share .fbpost a").unbind('click').click(function(e){
        e.preventDefault();
        toggleFBDock("#mc #fb"+$(this).attr("id"));
    });

    bindCommentSubmit();

});


