﻿var WebVoice =
{
    _buttons: null
    ,_textboxes: null
    ,_updating: false
    ,_allowInternationalCalls: false
    ,_validationMessage: null

    ,update: function()
    {
        var updating = this.get_Updating();

        for (var i in this._buttons)
        {
            var b = $get(this._buttons[i]);
            if (b != null)
            {
                b.enabled = !updating;
                if (!b.enabled)
                    b.className = b.className + '_inactive';
            }
        }

        for(var i in this._textboxes)
        {
            var t = $get(this._textboxes[i]);
            if (t != null)
            {
                t.onfocus = (updating ? function() { this.blur(); } : null);
                t.style.color = (updating ? 'gray' : '');
            }
        }
    }
    
    ,validate: function()
    {
		var isValid = true;
		var div = $('input[type=hidden][id$=MyNumbers]');
		var cli = (div.size() > 0 ? div.val() : $('#' + this.get_TextBoxes()[0]).val());
		var cld = $('#' + this.get_TextBoxes()[1]).val();
		var international = false;
		
		if($validators.is_validPhoneNumber(cli) && cli.startsWith('00'))
			international = true;
		if(!international && $validators.is_validPhoneNumber(cld) && cld.startsWith('00'))
			international = true;
		
		//if(!this.get_allowInternationalCalls() && international)
		//{
		//	isValid = false;
		//	_alert(this.get_validationMessage());
		//}
		
		if(isValid)
		{
			Page_ClientValidate('webvoice');
			WebVoice.set_Updating(true);
		}
			
		return(isValid);
    }

	,get_validationMessage: function(){return this._validationMessage;}
	,set_validationMessage: function(value){this._validationMessage = value; }

	,get_allowInternationalCalls: function() { return this._allowInternationalCalls; }
	,set_allowInternationalCalls: function(value) { this._allowInternationalCalls = value; }

    // Buttons Property
    ,get_Buttons: function() { return this._buttons; }
    ,set_Buttons: function(value) { this._buttons = value; }

    ,get_TextBoxes: function() { return this._textboxes; }
    ,set_TextBoxes: function(value) { this._textboxes = value; }

    ,get_Updating: function() { return this._updating; }
    ,set_Updating: function(value) { this._updating = value; }
    
}