__OpenURL = DefineClass({

    init: function(id) {
        this.lang = Locale.Gadgets.OpenURL;
        this.Core = new __StdModuleCore(this, id, 'logo3', this.lang.title, this.lang.desc);
        $(this.Content).addClassName('OpenURL');
        this.Content.style.overflow = 'hidden';
        this.Content.update('<form><input type="text" value=""><br>'+ this.lang['RefreshEvery'] +' <select><option value="0">--</option><option value="5">'+ this.lang.period['5sec'] +'</option><option value="10">'+ this.lang.period['10sec'] +'</option><option value="20">'+ this.lang.period['20sec'] +'</option><option value="60">'+ this.lang.period['1min'] +'</option><option value="300">'+ this.lang.period['5min'] +'</option><option value="600">'+ this.lang.period['10min'] +'</option><option value="3600">'+ this.lang.period['1hour'] +'</option></select><br><input type="submit" class="button" value="'+ Locale['OK'] +'"></form>');
        var inputs = this.Content.getElementsByTagName('input');
        this.URLField = inputs[0];
        var form = this.Content.getElementsByTagName('form');
        form[0].onsubmit = this.Go.bindAsEventListener(this);
        this.Core.RemoveControl('options');
    },

    ResizeURLField: function() {
        var parentWidth = $($(this.URLField).parentNode).getWidth();
        $(this.URLField).style.width = parentWidth - $(this.URLField).parentNode.getOuterWidth() + 'px';
    },

    onStartResize: function() {
        $(this.URLField).hide();
    },

    onStopResize: function() {
        this.ResizeURLField();
        $(this.URLField).show();
    },

    Go: function(event) {
        var url = $F(this.Content.getElementsByTagName('input')[0]);
        if (!url) {
            alert(this.lang.msg['NeedCorrectURL']);
            this.Content.getElementsByTagName('input')[0].focus();
            return;
        }
        
        
        if (!(/http:\/\//).test(url)) url = 'http://'+url;
        this.Content.getElementsByTagName('input')[0].value = url;
        var update = this.Content.getElementsByTagName('select')[0].value;
		NavBar.go(url);
        
        //var options = {url: url	, TabID: TabID}
		//Update.request('OpenURL', 'module', 'test_url', {id: this.id}, options, true);
        
        return(false);
    }

})

//-------------------------------------------------------------------------------
__OpenURL.prototype.CB_testURL = function(data) {
	
	if(!data || !data.variables) return false;
	
	if(sizeof(data.errors) > 0) { alert(data.errors[0].message); return false;}

	var vars = data.variables;
		
	var TabID = vars.TabID;
	
	//<iframe frameborder="0" name="Browser.14" id="Browser.14" style="height: 320px;"/>
	
	var iframeObj = $('Browser.'+TabID);
	
	if(!iframeObj) return false;
	
	//проверка на сервере прошла удачно
	//открываем во фрейме на прямую
	if(vars.result && vars.testStatus && vars.testStatus == 'clean') {	
		//Desktop.State.cMain.content[account.TabID]
		iframeObj.src = vars.url;
	
	//проверка на сервере не прошла
	//открываем во фрейме через proxy
	}else{
		
		iframeObj.src = '/prxy/_'+vars.url;
		
	}
	
	
}
//-------------------------------------------------------------------------------
__OpenURL.prototype.Relay = function(data, part) {
	
	switch(data.event.action)
	{
		case 'test_url':
			this.CB_testURL(data);
			break;	

		default:
			//this.parent.ctrlCallback(dataObj, section);
			return false;
			break;
	}

	 if (!part) this.Core.HideLoadingIcon();
	
	
}

