// JavaScript Document

login = false;

function showlogin()
{
    $("#login_area").slideDown(500);
    $("#blackout").fadeIn(500);
    login = false;
    return false;
}

function hidelogin()
{
    $("#login_area").slideUp(500);
    $("#blackout").fadeOut(500);
    login = false;
}

function cancellogin()
{
    $("#login_form").slideDown(500);
    $("#login_message").slideUp(300);
    login = false;
}

function logout(page) {
    $("#login_message").html("Logging out . . . &nbsp; &nbsp; &nbsp;<input type='button' onclick='hidelogin();' value='Cancel' />");
    $("#login_form").css("display", "none");
    $("#login_message").css("display", "block");
    $("#login_area").slideDown(500);
    $("#blackout").fadeIn(500);

    $.post(page, {},
    function(data, textStatus){
        processlogout(data, textStatus);
    });

    login = true;

    return false;
}

function ajaxlogin(form, page) {
    if(form.username.value == "") {
        $("#login_message").html("<span style='color: red; font-weight: bold;'>Please enter a username</span>");
        $("#login_message").slideDown(500);
    }
    else if(form.password.value == "") {
        $("#login_message").html("<span style='color: red; font-weight: bold;'>Please enter a password</span>");
        $("#login_message").slideDown(500);
    }
    else {
        $.post(page, { username: form.username.value, password: form.password.value, anon:1, ACT:9, RET:-2, FROM:"", site_id:1 },
        function(data, textStatus){
            processlogin(data, textStatus);
        });

        login = true;

        $("#login_message").html("Logging in . . . &nbsp; &nbsp; &nbsp;<input type='button' onclick='cancellogin();' value='Cancel' />");
        $("#login_form").slideUp(300);
        $("#login_message").slideDown(500);
    }
    return false;
}

function processlogin(data, textStatus) {
    if(login) {
        if(textStatus != "success") {
            $("#login_message").html("<span style='color: red; font-weight: bold;'>Connection Error &nbsp; &nbsp;<input type='button' onclick='cancellogin();' value='Restart' /></span>");
            return;
        }
        var code = getMessage(data);
        if(code.indexOf('password you submitted was not correct') > -1) {
            $("#login_message").html("<span style='color: red; font-weight: bold;'>Invalid Password</span>");
            $("#login_form").slideDown(500);
        }
        else if(code.indexOf('username you submitted was not found') > -1) {
            $("#login_message").html("<span style='color: red; font-weight: bold;'>Invalid Username</span>");
            $("#login_form").slideDown(500);
        }
        else if(code.indexOf('You are only permitted to make') > -1) {
            $("#login_message").html("<span style='color: #0a0; font-weight: bold;'>Too many login attempts, please wait a minute and try again &nbsp; &nbsp;<input type='button' onclick='cancellogin();' value='Back' /></span>");
        }
        else if(code.indexOf('You are now logged in') > -1) {
            $("#login_message").html("<span style='color: #0a0; font-weight: bold;'>Please wait . . .</span>");
            $("#user_tools_loggedout").css("display", "none");
            $("#screen_name_loggedin").html(''); // getUsername(data) does not currently work
            $("#user_tools_loggedin").css("display", "inline");
            location.reload();
        }
        else {
            $("#login_message").html("<span style='color: red; font-weight: bold;'>Unknown error, please try again</span>");
            $("#login_form").slideDown(500);
        }
    }
}

function processlogout(data, textStatus) {
    if(login) {
        if(textStatus != "success") {
            $("#login_message").html("<span style='color: red; font-weight: bold;'>Connection Error &nbsp; &nbsp;<input type='button' onclick='hidelogin();' value='Close' /></span>");
            return;
        }
        var code = getMessage(data);
        if(code.indexOf('You are now logged out') > -1) {
            $("#login_message").html("<span style='color: #0a0; font-weight: bold;'>Successfully logged out, please wait . . .</span>");
            $("#user_tools_loggedout").css("display", "inline");
            $("#user_tools_loggedin").css("display", "none");
            location.href="http://www.christianfilmmakers.org/";
        }
        else {
            $("#login_message").html("<span style='color: red; font-weight: bold;'>Unknown error &nbsp; &nbsp;<input type='button' onclick='hidelogin();' value='Close' /></span>");
        }
    }
}

function getMessage(data) {
    var start = data.indexOf('<!--content:');
    var end = data.indexOf(':content-->');
    return data.substring(start + 12, end);
}
function getUsername(data) {
    var start = data.indexOf('<!--user:');
    var end = data.indexOf(':user-->');
    return data.substring(start + 9, end);
}


// Daniel H. (Function to make external links open in a new window.
 $(document).ready(function() {
	var hostname = window.location.hostname;
	hostname = hostname.replace("www.","").toLowerCase();
	$("a").each(function () {
		if ($(this).attr("href") && $(this).attr("href").indexOf("http://") != -1 && $(this).attr("href").indexOf(hostname)==-1) {
			if ($(this).attr("href").indexOf("http://", 6) != -1) {
				$(this).attr("href", $(this).attr("href").substr(7));
			}
			$(this).addClass("external").attr("target", "_blank");
		}
	});
	$("div[class=postbody] img").each(function () {
		if ($(this).width() > 578) {
			$(this).css("width", "578px");
			var parent = $(this).parent().get(0).tagName.toLowerCase();
			if (parent != "a") {
				$(this).click(function () {
					var imgTag = $(this).parent().html();
					$(this).parent().prepend("<div id='imgModalBox'>"+imgTag+"</div>");
					$("#imgModalBox img").width("");
					$("#imgModalBox img").height("");
/*					console.log($("#imgModalBox img").width());
					if ($("#imgModalBox img").width() > $(document).width()) {
						$("#imgModalBox img").width($(document).width() - 40);
					}*/
					if ($(window).width() < $(window).height()) {
//						if ($("#imgModalBox img").width() > $("#imgModalBox img").height()) {
						console.log("narrow width");
						var modalWidth = $(window).width();
						var modalHeight = ($("#imgModalBox img").height() / $("#imgModalBox img").width()) * modalWidth;
						modalWidth -= 50;
						modalHeight -= 50;
					} else {
						console.log("narrow height");
						if ($("#imgModalBox img").height() > $(window).height()) {
							console.log("large width");
							var modalHeight = $(window).height();
							var modalWidth = ($("#imgModalBox img").width() / $("#imgModalBox img").height()) * modalHeight;
							//modalWidth -= 50;
							//modalHeight -= 50;
						} else {
							console.log("large height");
							var modalHeight = $(window).height();
							var modalWidth = ($("#imgModalBox img").width() / $("#imgModalBox img").height()) * modalHeight;
							modalWidth -= 50;
							modalHeight -= 50;
						}
					}
					$("#imgModalBox img").width("100%");
					$("#imgModalBox img").height("90%");
					$("#imgModalBox").dialog({
											bgiframe: true,
											title: $(this).attr("src"),
											height: modalHeight,
											width: modalWidth,
											modal: true
					});
				});
			}
		}
	});
});

//End Daniel H.'s code.