﻿var WidgetLibrary_SetInputPrompt_prompts = new Array();

function WidgetLibrary_SetInputPrompt_bootstrap(inputId, prompt)
{
    var input = document.getElementById(inputId);
    
    WidgetLibrary_SetInputPrompt_prompts[inputId] = prompt;
    
    var focusFunc = new Function("WidgetLibrary_SetInputPrompt_OnFocus('" + inputId + "');");
    var changeFunc = new Function("WidgetLibrary_SetInputPrompt_OnChange('" + inputId + "');");
    var keydownFunc = new Function("WidgetLibrary_SetInputPrompt_OnChange('" + inputId + "');");
    var blurFunc = new Function("WidgetLibrary_SetInputPrompt_OnBlur('" + inputId + "');");

    if (input.addEventListener)
    {
        input.addEventListener('focus', focusFunc, false);
        /* input.addEventListener('change', keydownFunc, false); */
	 input.addEventListener('change', changeFunc, false);
        input.addEventListener('keydown', keydownFunc, false);
        input.addEventListener('blur', blurFunc, false);                        
    }
    else if (input.attachEvent)
    {
        input.attachEvent('onfocus', focusFunc);
        input.attachEvent('onchange', changeFunc);
        input.attachEvent('onkeydown', keydownFunc);
        input.attachEvent('onblur', blurFunc);
    }

    if (input.form)
    {
        if (input.form.onsubmit)
        {
            var oldSubmit = input.form.onsubmit;
            input.form.onsubmit = function() { WidgetLibrary_SetInputPrompt_OnBeforeSubmit(inputId); return oldSubmit(); };
        }
        else
        {
            input.form.onsubmit = new Function("WidgetLibrary_SetInputPrompt_OnBeforeSubmit('" + inputId + "');");
        }
    }
    
    WidgetLibrary_SetInputPrompt_OnBlur(inputId);
}

function WidgetLibrary_SetInputPrompt_OnFocus(inputId)
{
    var input = document.getElementById(inputId);
    input.setAttribute("hasFocus", "true");
    if (input.getAttribute("isEmpty") == "true")
    {
        input.value = "";
        input.style.color = "";
    }
}

function WidgetLibrary_SetInputPrompt_OnChange(inputId)
{
    var input = document.getElementById(inputId);
    input.setAttribute("isEmpty", input.value == "" ? "true" : "false");

    if( input.getAttribute("isEmpty") == "false" )
	input.style.color = "";
}

function WidgetLibrary_SetInputPrompt_OnBlur(inputId)
{
    var input = document.getElementById(inputId);
    input.setAttribute("hasFocus", "false");
    input.setAttribute("isEmpty", input.value == "" ? "true" : "false");
    if (input.value == "")
    {
        input.style.color = "#BBBBBB";
        input.value = WidgetLibrary_SetInputPrompt_prompts[inputId];
    }
}

function WidgetLibrary_SetInputPrompt_OnBeforeSubmit(inputId)
{
    var input = document.getElementById(inputId);
    if (input.getAttribute("isEmpty") == "true")
    {
        input.value = "";
        input.style.color = "";
    }
}
