
var EDPWidget = DropDownWidget.build( {
style: {
frame: 'widget-frame',
focused_frame: 'widget-frame onFocus',
border: 'widget-border',
dropdown: 'widget-dropdown',
dropdown_active: 'widget-dropdown-active',
disabled: 'widget-disabled',
list: 'widget-dropdown-list',
choice: 'widget-dropdown-list-item',
selected: 'widget-dropdown-list-item selected',
scroll_frame: 'widget-scroll-frame',
scroll_border: 'widget-scroll-border',
scroll_up: 'widget-scroll-up',
scroll_up_active: 'widget-scroll-up-active',
scroll_down: 'widget-scroll-down',
scroll_down_active: 'widget-scroll-down-active',
scrub_frame: 'widget-scroll-scrub-frame',
scrub: 'widget-scroll-scrub'
}
} );
EDP = Class.create( {
initialize: function ( config ) {
this.modules = {};
this.event = config.event;
this.venue_info = config.venue_info;
this.merchandise = config.merchandise;
},
select_initial_mode: function() {
var mode;
var modes = $H(this.modules).keys();
if ( this.event.get_enabled_ticket_types().length ) {
var cookie = new CookieTree( '_E' ).get( 'mode' );
mode = cookie && cookie[1];
if ( !mode || cookie[0] != this.event.event_id || !this.modules[mode] )
mode = modes[0];
if ( modes.length == 1 )
this.classic_only = true;
else
this.classic_only = false;
}
else {
mode = 'classic';
$('edp_mode_selector').hide();
if ( $('purchase_tab_onsale' ) ) {
$('purchase_tab_onsale').hide();
$('purchase_tab_offsale').show();
}
this.classic_only = true;
}
this.select_mode( mode );
click_track.set_required_parameters( { edp_mode: this.active_mode } );
if ( this.active_mode == 'isc' ){
var enabled_tts = this.event.get_enabled_ticket_types();
var tts = 0;
for ( var i = 0; i < enabled_tts.length; i++ ) {
if ( !enabled_tts[i].parent ) {
tts++;
}
}
click_track.set_arrival_parameters( { tt_count: tts } );
if ( !this.isc.cart.allow_single_seats ) {
click_track.set_arrival_parameters( { edit_single:'' } );
}
if ( $('isc-password-section').visible() ) {
click_track.set_arrival_parameters( { password_module:'' } );
}
}
click_track.on_arrival();
},
add_mode: function( mode, module ) {
this.modules[mode] = {
module: module,
is_initialized: false
};
if ( $H(this.modules).keys().length > 1 )
$('edp_mode_selector').show();
},
get_module: function( mode ) {
return this.modules[mode].module;
},
select_mode: function( mode ) {
if ( !this.modules[mode].is_initialized ) {
if ( this.modules[mode].module.mode_init ) {
this.modules[mode].module.mode_init();
}
this.modules[mode].is_initialized = true;
}
$('footer_pusher').show();
if ( this.active_mode )
this.modules[this.active_mode].module.hide();
this.active_mode = mode;
this.modules[this.active_mode].module.show();
$('footer_pusher').hide();
if ( this.classic_only )
new CookieTree( '_E' ).remove( 'mode' );
else
new CookieTree( '_E' ).set( 'mode', [ this.event.event_id, mode ] );
document.fire('edp:mode', { 'mode': mode });
},
toggle_mode: function () {
var first_mode;
var select_next = false;
for ( var mode in this.modules ) {
if ( typeof( first_mode ) == 'undefined' )
first_mode = mode;
if ( select_next ) {
this.select_mode( mode );
return false;
}
if ( mode == this.active_mode )
select_next = true;
}
this.select_mode( first_mode );
return false;
}
} );

