﻿var _image;
var _timeout = null;
var _loading = false;
var _groutMenuHider = null;
var MENUSHOWDELAY = 250;
var MENUHIDEDELAY = 500;
var _origTitle = document.title;
var _groutMenuOverTimer = null;
function groutMenuClick()
{
	clearGroutMenuOverTimer();
	if(!groutMenuVisible())
	{
		showGroutMenu(true);
	}
}
function clearGroutMenuOverTimer()
{
	if(_groutMenuOverTimer != null)
	{
		clearTimeout(_groutMenuOverTimer);
	}
}
function setGroutMenuOverTimer()
{
	_groutMenuOverTimer = setTimeout("groutMenuClick();", MENUSHOWDELAY);
}

function showGroutMenu(vl)
{
	clearGroutMenuOverTimer();
    var o = $get("groutMenu");
    if(o != null)
    {
        var disp = "none";
        if(vl)
        {
            disp = "";
        }
        else
        {
			groutMenuTimer(false);
        }
        
        o.style.display = disp;
    }
    
}

function selectGrout(o, rgb)
{
    $get("groutSelectedSwatch").style.backgroundColor = "#" + rgb;
    $get("groutSelectedName").innerHTML = $get("groutLabel" + rgb).innerHTML;
    $get("grGroutColor").value = rgb;
    groutOver(o, false);
    showGroutMenu(false);
}

function groutMenuVisible()
{
    return $get("groutMenu").style.display == "";
}

function groutOver(o, vl)
{
    groutMenuTimer(!vl);

    var back = "#ffffff";
    var bord = "#ffffff";
    if(vl)
    {
        back = "#e6ecf2";
        bord = "#5582ab";
    }
    
    o.style.backgroundColor = back;
    //o.style.borderTop = "1px solid " + bord;
}

function groutMenuOver()
{
    if(!groutMenuVisible())
    {
		setGroutMenuOverTimer();
    }
}

function groutMenuTimer(hide)
{
	clearGroutMenuOverTimer();
    if(!hide)
    {
        clearTimeout(_groutMenuHider);
    }
    else
    {
        _groutMenuHider = setTimeout("showGroutMenu(false);", MENUHIDEDELAY);
    }
}
function makePosInt(vl)
{
    vl = parseInt(vl, 10);
    if(isNaN(vl) || vl < 0)
    {
        vl = 0;
    }
    return vl;
}

function fixDimensions()
{
        var widFt = $get("grWidthFt").value;
        var widIn = $get("grWidthIn").value;
        var hgtFt = $get("grHeightFt").value;
        var hgtIn = $get("grHeightIn").value;

        widFt = makePosInt(widFt);
        widIn = makePosInt(widIn);
        hgtFt = makePosInt(hgtFt);
        hgtIn = makePosInt(hgtIn);
        
        if(widIn > 11)
        {
            widFt += parseInt(widIn / 12, 10);
            widIn = widIn % 12;
        }
        
        if(hgtIn > 11)
        {
            hgtFt += parseInt(hgtIn / 12, 10);
            hgtIn = hgtIn % 12;
        }
        
         $get("grWidthFt").value = widFt;
         $get("grWidthIn").value = widIn;
         $get("grHeightFt").value = hgtFt;
         $get("grHeightIn").value = hgtIn;
}

function enableEmailButton(vl)
{
    $get("btnSendEmail").disabled = !vl;
    
    var imgSuf = "off";
    if(vl)
    {
        imgSuf = "on";
    }
    $get("btnSendEmail").src = "images/gradientblendtool/btn_send_" + imgSuf + ".gif";
}

function sendEmail()
{
    var emailAddress = $get("email").value;
    var emailMessage = $get("email_message").value;
    var emailFrom = $get("email_fromemail").value;
    var emailFromName = $get("email_fromname").value;
    var re = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
    if(!re.test(emailAddress))
    {
        alert("To Email address is invalid.");
        $get("email").focus();
        return;
    }
    else if (trim(emailFromName).length == 0)
    {
        alert("Your Name is required.");
        $get("email_fromname").focus();
        return;
    }
    else if (!re.test(emailFrom))
    {
        alert("Your Email address is invalid.");
        $get("email_fromemail").focus();
        return;
    }

    PageMethods.SendEmail(
        emailAddress,
        emailMessage,
        emailFrom,
        emailFromName,
        $get("gradientData").value,
        $get("imgGradient").src,
        emailDone);
}

function emailDone(result)
{
    if(eval(result))
    {
        alert("Your email was sent successfully.");
    }
    else
    {
        alert("An error occurred and the email was not sent.");
    }
}

function trim(vl)
{
    return new String(vl).replace(/^\s+|\s+$/g, "");
}
