﻿function SmartView_EnterKeyHandler(event, submitControlIdSuffix, mode)
{
    if (!event) event = window.event;
    var domEvent = new Sys.UI.DomEvent(event);
    
    if (domEvent.charCode != 13)
        return true;
    
    var t = domEvent.target;
    if (
        (t.tagName == "INPUT" && t.type == "SUBMIT")
        || (t.tagName == "TEXTAREA")
        || (t.tagNAME == "A")
        || (t.tagName == "INPUT" && t.type == "IMAGE")
        )
        return true;
    
    var td;
    var tr;
    while (t != null && (t.tagName != "TABLE" || !t.getAttribute("smartview") ))
    {
        if (t.tagName == "TD" || t.tadName == "TH") td = t;
        if (t.tagName == "TR") tr = t;
        t = t.parentNode;
    }
    if (t == null)
        throw Error.invalidOperation("SmartView_EnterKeyHandler handler was called on a control outside of a table.");
        

    var id;        
    if (mode == 0) //grid
    {
        id = tr.id;
        t = tr;
    }
    else if (mode == 1)//details
    {
        var cols = t.getElementsByTagName("col"); 
        id = cols[td.cellIndex].id;
    }
    else if (mode == 2)//details w/fieldmerge
    {
        var cols = t.getElementsByTagName("col");
        for (var i = 0; i < cols.length; i++)
        {
            if (!!cols[i].id)
                id = cols[i].id;
        }
    }

    var inputs = t.getElementsByTagName("input");
    for (var i = 0; i < inputs.length; i++)
    {
        if (inputs[i].id == id + "_" + submitControlIdSuffix)
        {
            inputs[i].click();
            return false;
        }
    }

    
    domEvent.preventDefault();
    domEvent.stopPropagation();
    
    return false;
}
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();