if (!ask) var ask = {};
if (!ask.nav) ask.nav = {};

ask.nav.TVProviderDialogController = {

    init : function () {
//        alert("TVProviderDialogControllerInit");
//        this.displayed = false;
    },

    getProviders : function () {
        a10.ajax.get(_tvProviderFetchUrl + '?tvzip='+ _tvzipJs + '&tvlid='+_tvLineupIdJs, ask.nav.TVProviderDialogController.providerRetrieved, ask.nav.TVProviderDialogController.providerFailed)

 },

    providerRetrieved : function (request) {
         _proxy_jslib_assign('', $('tvprovider'), 'innerHTML', '=', (''));
         _proxy_jslib_assign('', $('tvprovider'), 'innerHTML', '=', (request.responseText));
        if (!_tvdialogDisplayedJs) {
            tvproviderDialog.show();
            _tvdialogDisplayedJs = true;
        }
    },

    providerFailed : function () {
        alert("Unable to retrieve providers. Please try again.");
    },

    afterClose : function () {
//        alert('in after close');
        _tvdialogDisplayedJs = false;
    },

    changeZip : function() {
        _tvzipJs =  _proxy_jslib_handle($('tvzip'), 'value', '', 0, 0);
        ask.nav.TVProviderDialogController.getProviders();
    },

    cancel : function() {
        tvproviderDialog.hide();
        _tvdialogDisplayedJs = false;
    },

    saveLocation : function() {
        //get provider value.
        var value = "";
        var formEl = $('providerForm');
        if (formEl) {
            var rbGroup = formEl.selectedprovider;
            if (rbGroup) {
                for (i=0;i<rbGroup.length;i++) {
                    if ( _proxy_jslib_handle(rbGroup, (i), 0, 0).checked) {
                         value= _proxy_jslib_assign_rval('', 'value', '=', (  _proxy_jslib_handle( _proxy_jslib_handle(rbGroup, (i), 0, 0), 'value', '', 0, 0)), value);
                        break;
                    }
                }
            }
        }

        if ( _proxy_jslib_handle(null, 'value', value, 0, 0) == '') {
            alert("Please select a provider.");
            return;
        }

        var zipcode = "zipcode=" + _tvzipJs;
        var provider = "provider=" +  _proxy_jslib_handle(null, 'value', value, 0, 0);

        //set cookie if value has changed
        var cookieValue = Cookie.getCookie("vopt");
        var refresh = true;
        if (cookieValue && cookieValue.indexOf(provider) != -1) {
            refresh = false;
        }

        var nextYr = new (Date)();
        nextYr.setFullYear(nextYr.getFullYear() + 2);
         _proxy_jslib_assign('', document, 'cookie', '=', ( "vopt=" + zipcode + "&" + provider +"; expires=" + nextYr.toGMTString() + "; path=/; domain=.ask.com"));

        tvproviderDialog.hide();
        _tvdialogDisplayedJs = false;

        if (refresh) {
             _proxy_jslib_assign('', window, 'location', '=', ( _proxy_jslib_handle( _proxy_jslib_handle( _proxy_jslib_handle(null, 'top', top, 0, 0), 'location', '', 0, 0), 'href', '', 0, 0)));
        }

    },

    validateOnOK : function() {
    }


};

ask.nav.TVProviderDialogController.init();
 ;
_proxy_jslib_flush_write_buffers() ;