﻿/*****************************************************************************
//
// Copyright (C) Beeline. All rights reserved.
//
// ModuleName:          AdminForHour
//
// FileName:            /_js/DefaultButton.js
//
// Author:              SILabutin
//
// Description:         Module for handle "enter" key in text fields and pressing correspond buttons (instead of normal form postback from default button)
//
//*****************************************************************************/

//Инициализация пары текст-кнопка
function RegisterDefaultButton(buttonID, textID)
{
    var text=document.getElementById(textID);
    if (text)
    {
        text.defaultButtonPostBack=buttonID;
        if (typeof(text.addEventListener)!="undefined")
        {
            text.addEventListener("keydown",DefaultButton_KeyDown,false);
		} 
		else if (typeof(text.attachEvent)!="undefined")
		{
		    text.attachEvent("onkeydown",DefaultButton_KeyDown);
		} 
		else 
		{
		    text.onkeydown = DefaultButton_KeyDown;
		}
    }
}
function DefaultButton_KeyDown(e) 
{
    var keyCode=0;
    if (typeof(window.event)!="undefined")
    {
        keyCode=window.event.keyCode;
        if (keyCode==13)
	    {
            window.event.returnValue=false;
            window.event.cancel = true; 
        }
    }
    if (e!=null && typeof(e.target)!="undefined")
	{
		keyCode=e.keyCode;
		if (keyCode==13 && typeof(e.preventDefault)!="undefined")
		{
		    e.preventDefault();
		    e.stopPropagation();
		}
	}
	if (keyCode==13)
	{
	    var src = getEventSourceElement(e);
	    if (typeof(src.defaultButtonPostBack)!="undefined")
	    {
	        document.getElementById(src.defaultButtonPostBack).click();
	    }    
	}
}
