// $Revision: 6$
// $Date: 7/24/2007 7:03:11 PM$
// $Author: Donnie Tognazzini$
// $NoKeywords$

/******************************************************************************
  SMS_MobileNumberControl C'tor

    Mobile number control class.

    Parameters:
        [in/out] countryCodeDropDown
        [in/out] mobileNumberField

******************************************************************************/
function SMS_MobileNumberControl( countryCodeDropDown, mobileNumberField )
{
    try
    {
        var menuItemFactory = function( displayName )
        {
            return new CB_ComboBoxMenuItem( displayName );
        };

        EXT_extend( this, new SMS_MobileNumberControlBase( new CB_ComboBox( countryCodeDropDown ), menuItemFactory ) );

        // set up some helper methods
        this.SetMobileNumberData = function( mobileNumber )
        {
            document.getElementById( mobileNumberField ).value = mobileNumber;
        };

        this.GetMobileNumberData = function()
        {
            return document.getElementById( mobileNumberField ).value;
        };

        this.GetMobileNumberObj = function()
        {
            return document.getElementById( mobileNumberField );
        };

        // Setup control event handlers
        var self = this;
        this.GetMobileNumberObj( ).onblur = function( )
        {
            self.OnNumberFieldLoseFocus( );
        };

        this.GetMobileNumberObj( ).onfocus = function( )
        {
            self.OnNumberFieldGainFocus( );
        };

        this.GetMobileNumberObj( ).onkeyup = function( )
        {
            self.OnNumberFieldChange( );
        };

        // Initialize controls
        this.InitializeMobileNumberControl( );
    }
    catch ( e )
    {
        EX_ASSERT_NO_EXCEPTIONS( e, "SMS_MobileNumberControl::SMS_MobileNumberControl( )" );
    }
}
