
// Default constants for the textboxes
var DEFAULT_USERNAME = "Username";
var DEFAULT_PASSWORD = "Password";
var DEFAULT_EMP_NUM = "Honda Employee Number";
var AJAX_HANDLER = "https://hondaweb.com/auth/ajaxHandler.ashx";
//AJAX_HANDLER = "ajaxHandler.ashx";

// On Load Event
$(document).ready(function () {
	
	// Check if the username has been set already (e.g. from FireFox Password Manager)
	if($('#username').val() != "Username" && $('#username').val() != "" )
	{
	    // Yes, something set the username, so lets display in a populated state
	    $('#passwordDummy').css("display", "none");
        $('#password').css("display", "block");
        $('#password').focus();
        $('#password').css("border", "1px solid #4578de");
	    $('#password').css("color", "#666666");
        $('#username').css("border", "1px solid #4578de");
	    $('#username').css("color", "#666666");	    
	}
	else
	{
	    $('#username').val(DEFAULT_USERNAME);
	}
	$('#passwordDummy').val(DEFAULT_PASSWORD);
	$('#employeeNumber').val(DEFAULT_EMP_NUM);
	
	// Check if SSO is enabled
	if($('#enableSSO').val() == "Y")
	{       
        // Check if there is an error code in our URL (and if so, don't try SSO)
        if(window.location.search.substring(1).indexOf("err=") == -1)
        {
            // Kickoff an AJAX call to test if we can SSO with SPNEGO (based on our IP)
            $.post(AJAX_HANDLER, { requestType: "ipCheck" },  function(data){ if(data == "Y"){ showSSO(); } }, "html");
        }
    }
    
    // Display any messages
    showInfoMessages();
    
});

function showInfoMessages()
{
    return;
    
    // Construct the message
    var message = "<h3>Important Notice</h3>\n";
    message += "Hondaweb.com will be unavailable from approximately 6:00am PST thru 8:00am PST on Sunday, November 22nd, 2009 ";
    message += "for scheduled server maintenance. <br/><br/>We apologize for any inconvenience this may cause.<br/>";
    message += "<br/>";
    message += " - The Hondaweb.com team";
    
    // Set the message
    $('#infoMessage').html(message);
    //$('#infoMessage').css("display", "block");
    $('#infoMessage').fadeIn(250);
    
}

function showSSO()
{
    $('#loginForm').fadeOut(250, function () { $("#ssoButton").fadeIn(250);$("#enterUsernameLink").fadeIn(250); });
}
function hideSSO()
{
    $('#ssoButton').fadeOut(250, function () { $("#loginForm").fadeIn(250); });
    $("#enterUsernameLink").fadeOut(250);
}
function toggleSlideoutPanel(override) {

    // Check if it's already showing
    if($("#slideoutPanel").position().top > 180 && override == false)
    {
        // Yes, so hide it
        $("#slideoutPanel").css("z-index","-1");
        $("#slideoutPanel").animate({ 
		top: "-230px"
	      }, 500, function () { });
    }
    else
    {
        // Show the child content and slide out the panel
        $('#employeeNumber').attr('maxlength', '25');
        $('#employeeNumber').val(DEFAULT_EMP_NUM);
        $('#employeeNumber').css('color', '');
        $('#employeeNumber').css('text-transform', 'none');

        // Fade out the results and fade in the lookup pane
        $("#slideoutPanelResults").fadeOut(250, function () { $("#slideoutPanelLookup").fadeIn(250); });
        
        $('#slideoutPanel').animate({ 
		    top: "-6px"
	          }, 500, function () { $('#slideoutPanel').css("z-index","100");});
    }
    
	return false;

}

function lookupEmployee(companyAbbrv) {

    try 
    {
        // Get and validate teh emp num
        var employeeNumber = $('#employeeNumber').val();
        if(employeeNumber == "" || employeeNumber == null || employeeNumber == DEFAULT_EMP_NUM)
        {
            alert("Please enter your Honda Employee Number!");
            return false;
        }

        // Clear the companyAbbrv if it wasn't passed in
        if(companyAbbrv == null)
        {
            companyAbbrv = "";
        }

        // Show activity
        $("#slideoutPanelResults").html("<h1>Looking up...</h1>");    
        
        // Fade out the lookup and fade in the results pane
        $("#slideoutPanelLookup").fadeOut(250, function () { $("#slideoutPanelResults").fadeIn(250); });
        
        // Post data back and when we get the response, dump it into the results pane
        $.post(AJAX_HANDLER, { requestType: "userLookup", employeeNumber: employeeNumber, companyAbbrv: companyAbbrv },  function(data){ $("#slideoutPanelResults").html(data); }, "html");
    }
    catch (exception)
    {
        alert("ERROR");
    }
    
    return false;
    
}
function setUsername(username) {
    
    // Set the username, focus it and hide the panel
    $('#username').focus();
    $('#username').val(username);
    toggleSlideoutPanel(false);
    $('#slideoutPanelResults').fadeOut(1000, function() { $('#slideoutPanelResults').val(""); } );
}
function switchPassword(showDummy){

    if(showDummy)
    {
        // Check if we've set a password yet
        if($('#password').val() == "")
        {
            // No, so swap the dummy back
            $('#password').css("display", "none");
            $('#passwordDummy').css("display", "block");
            // $('#passwordDummy').focus();
        }
    }
    else
    {
        $('#passwordDummy').css("display", "none");
        $('#password').css("display", "block");
        $('#password').focus();
    }

}
function inputFocus(element) {

	$(element).css("border", "1px solid #4578de");
	$(element).css("color", "#666666");
	
	// Check if the current val is our default text
	if($(element).val() == DEFAULT_USERNAME || $(element).val() == DEFAULT_PASSWORD || $(element).val() == DEFAULT_EMP_NUM)
	{
	    // Check if Emp Num
	    if($(element).val() == DEFAULT_EMP_NUM)
	    {
	       // Capitilize input & constrain to 6 chars
	       $('#employeeNumber').css('text-transform', 'uppercase');
	       $('#employeeNumber').val('');
           $('#employeeNumber').attr('maxlength', '6');
	    }
	    
	    // Clear the text
	    $(element).val("");
	    
	    
	}
}
function inputBlur(element) {

	// Always remove the border when we lose focus
	$(element).css("border", "1px solid #cccccc");
   
		
	// Check if a val was set and reset to default
	if($(element).val() == "")
	{
	    // No value, so reset the color
	    $(element).css("color", "");
	    
	    // And reset the text
		if($(element).attr("id") == "username")
		{
			$(element).val(DEFAULT_USERNAME);
		}
		else if($(element).attr("id") == "passwordDummy")
		{
			$(element).val(DEFAULT_PASSWORD);
		}
		else if($(element).attr("id") == "employeeNumber")
		{
			$('#employeeNumber').attr('maxlength', '25');
			$('#employeeNumber').css('text-transform', 'none');
			$(element).val(DEFAULT_EMP_NUM);
		}
	}
}