
reportingService.controller.viewManagers.altViewsViewManager = new reportingService.controller.AbstractReportViewManager();

Object.extend(
	reportingService.controller.viewManagers.altViewsViewManager, {
		reportName:reportingService.constants.viewTypes.ALT_VIEWS_VIEW,
		isWaitReport:true,
		isWaitComplete:false,
		model: Object.extend(gidLib.clone(reportingService.controller.viewManagers.commonViewManager.model), {
            productId: '',
            pageName: '',
            products: ''
        }),
		controller:{
            setReportModel:function() {
                var altViewsModel = reportingService.controller.viewManagers.altViewsViewManager.model;                
                var brandAbbr = (window['viewLarger'] != undefined) ? reportingService.controller.viewManagers.viewLargerViewManager.model.commonProductBrandAbbr : altViewsModel.commonProductBrandAbbr;
            	var app = this.app;
 
                Object.extend(altViewsModel, {
                	origPageName: altViewsModel.commonCurrentPageName,
                	originalHier1: s.hier1,
                    pageName: altViewsModel.getShortPageName() + ':alt view',
                    events: app.isFromViewLargerPopup ? 'event20' : "event23",
                    products: [brandAbbr, this.app.objP.strProductId, null, null, app.isFromViewLargerPopup ? 'event20=1' : "event23=1"].join(';') + ';',
                    pageType: app.isFromViewLargerPopup ? 'alt view view larger' : 'alt view prod detail',    
                    altView: app.isFromViewLargerPopup ? 'alt view view larger' : '',
                    altViewNano: app.isFromViewLargerPopup ? '': 'alt view nano'
                });
                if (window['objSBS'] && window['objSBS'].isFilterEngaged) {
               		var shopBySizeAppManager = reportingService.controller.appManagers.shopBySizeAppManager;
	            	shopBySizeAppManager.setShopBySize();
	                altViewsModel.strHierarchy = shopBySizeAppManager.strHierarchy;
	                altViewsModel.strSizeCategorySelections = shopBySizeAppManager.strSizeCategorySelections;
	                altViewsModel.strSizeCategoryNameList = shopBySizeAppManager.strSizeCategoryNameList;
                }
                else {
                	altViewsModel.strHierarchy = altViewsModel.strSizeCategorySelections = altViewsModel.strSizeCategoryNameList = '';
                }
            },
			setReportTransmissionVars:function() {
                var altViewsModel = reportingService.controller.viewManagers.altViewsViewManager.model;
                s.pageName = altViewsModel.pageName;
                s.hier1 = altViewsModel.pageName;
                s.eVar29 = altViewsModel.altView;
                s.eVar33 = altViewsModel.altViewNano;
				s.prop2 = altViewsModel.strSizeCategoryNameList;
				s.prop3 = altViewsModel.strHierarchy;
				s.prop4 = altViewsModel.strSizeCategorySelections;
				s.prop5 = altViewsModel.strSizeCategoryNameList;            
                s.prop33 = altViewsModel.pageType;
                s.events= altViewsModel.events;
                s.products = altViewsModel.products;
                /**
                 * set to empty for no visibility requirement
                 */
				s.prop11 = '';
                s.eVar4 = '';
                s.eVar12 = '';
                s.eVar15 = '';
                s.eVar19 = '';
                s.eVar20 = '';
                s.eVar23 = '';
                s.eVar30 = '';
                s.eVar31 = '';
                s.eVar39 = '';
            },
            getReportRequest:function(app) {
				var reportingManager = reportingService.controller.reportingManager;
				var viewManager = reportingService.controller.viewManagers.altViewsViewManager;
				viewManager.isWaitComplete = true;
                viewManager.controller.app = app;
                reportingManager.getReportingRequest(viewManager);
			},
			setCleanUp:function() {
				// Reset s.pageName back to original.
                var altViewsModel = reportingService.controller.viewManagers.altViewsViewManager.model;
                s.pageName = altViewsModel.origPageName;
                s.prop2 = '';
                s.prop3 = '';
                s.prop4 = '';
                s.prop5 = '';
                s.eVar33 = '';
                s.hier1 = altViewsModel.originalHier1;
			}
        }
	}
);