function init()
 {
     parent::init();
     Requirements::css(THIRDPARTY_DIR . '/jquery-ui-themes/smoothness/jquery-ui.css');
     Requirements::javascript(THIRDPARTY_DIR . '/jquery-ui/jquery-ui.js');
     Requirements::customScript("jQuery(document).ready(function(\$) {\n            \$('#consulting','.marketplace-nav').addClass('current');\n        });");
     Requirements::css("themes/openstack/css/chosen.css", "screen,projection");
     Requirements::javascript(Director::protocol() . "maps.googleapis.com/maps/api/js?sensor=false");
     Requirements::combine_files('marketplace_consultants_directory_page.js', array("marketplace/code/ui/frontend/js/markerclusterer.js", "marketplace/code/ui/frontend/js/oms.min.js", "marketplace/code/ui/frontend/js/infobubble-compiled.js", "marketplace/code/ui/frontend/js/google.maps.jquery.js", "themes/openstack/javascript/chosen.jquery.min.js", "marketplace/code/ui/frontend/js/consultants.directory.page.js"));
     Requirements::customScript($this->GATrackingCode());
     $this->consultant_repository = new SapphireConsultantRepository();
     $this->region_repository = new SapphireRegionRepository();
     $this->consultants_locations_query = new ConsultantsOfficesLocationsQueryHandler();
     $this->consultants_service_query = new ConsultantsServicesQueryHandler();
     $google_geo_coding_api_key = null;
     $google_geo_coding_client_id = null;
     $google_geo_coding_private_key = null;
     if (defined('GOOGLE_GEO_CODING_API_KEY')) {
         $google_geo_coding_api_key = GOOGLE_GEO_CODING_API_KEY;
     } else {
         if (defined('GOOGLE_GEO_CODING_CLIENT_ID') && defined('GOOGLE_GEO_CODING_PRIVATE_KEY')) {
             $google_geo_coding_client_id = GOOGLE_GEO_CODING_CLIENT_ID;
             $google_geo_coding_private_key = GOOGLE_GEO_CODING_PRIVATE_KEY;
         }
     }
     $this->manager = new ConsultantManager($this->consultant_repository, new SapphireMarketPlaceVideoTypeRepository(), new SapphireMarketPlaceTypeRepository(), new SapphireOpenStackApiVersionRepository(), new SapphireOpenStackComponentRepository(), new SapphireOpenStackReleaseRepository(), new SapphireRegionRepository(), new SapphireSupportChannelTypeRepository(), new SapphireSpokenLanguageRepository(), new SapphireConfigurationManagementTypeRepository(), new SapphireConsultantServiceOfferedTypeRepository(), new ConsultantAddPolicy($this->consultant_repository, new SapphireMarketPlaceTypeRepository()), new CompanyServiceCanAddResourcePolicy(), new CompanyServiceCanAddVideoPolicy(), new ConsultantFactory(), new MarketplaceFactory(), new ValidatorFactory(), new OpenStackApiFactory(), new GoogleGeoCodingService(new SapphireGeoCodingQueryRepository(), new UtilFactory(), SapphireTransactionManager::getInstance(), $google_geo_coding_api_key, $google_geo_coding_client_id, $google_geo_coding_private_key), null, new SessionCacheService(), SapphireTransactionManager::getInstance());
 }
 function init()
 {
     parent::init();
     Requirements::css("themes/openstack/css/chosen.css", "screen,projection");
     Requirements::css(THIRDPARTY_DIR . '/jquery-ui-themes/smoothness/jquery-ui.css');
     Requirements::javascript(THIRDPARTY_DIR . '/jquery-ui/jquery-ui.js');
     Requirements::combine_files('marketplace_training_landing.js', array("themes/openstack/javascript/chosen.jquery.min.js", "marketplace/code/ui/frontend/js/training.directory.page.js"));
     Requirements::customScript("jQuery(document).ready(function(\$) {\n            \$('#training','.marketplace-nav').addClass('current');\n        });");
     $this->training_facade = new TrainingFacade($this, new TrainingManager(new SapphireTrainingServiceRepository(), new SapphireMarketPlaceTypeRepository(), new TrainingAddPolicy(), new TrainingShowPolicy(), new SessionCacheService(), new MarketplaceFactory(), SapphireTransactionManager::getInstance()), new SapphireCourseRepository(new MarketplaceFactory()));
     $this->course_location_query = new TrainingCoursesLocationQueryHandler();
     $this->course_level_query = new TrainingCoursesLevelQueryHandler();
     Requirements::customScript($this->GATrackingCode());
 }
 function init()
 {
     parent::init();
     Requirements::css(THIRDPARTY_DIR . '/jquery-ui-themes/smoothness/jquery-ui.css');
     Requirements::javascript(THIRDPARTY_DIR . '/jquery-ui/jquery-ui.js');
     Requirements::customScript("jQuery(document).ready(function(\$) {\n            \$('#distros','.marketplace-nav').addClass('current');\n        });");
     Requirements::css("themes/openstack/css/chosen.css", "screen,projection");
     Requirements::combine_files('marketplace_distros_landing.js', array("themes/openstack/javascript/chosen.jquery.min.js", "marketplace/code/ui/frontend/js/implementation.directory.page.js"));
     Requirements::customScript($this->GATrackingCode());
     $this->distribution_repository = new SapphireDistributionRepository();
     $this->appliance_repository = new SapphireApplianceRepository();
     $this->appliance_manager = new ApplianceManager($this->appliance_repository, new SapphireMarketPlaceVideoTypeRepository(), new SapphireMarketPlaceTypeRepository(), new SapphireGuestOSTypeRepository(), new SapphireHyperVisorTypeRepository(), new SapphireOpenStackApiVersionRepository(), new SapphireOpenStackComponentRepository(), new SapphireOpenStackReleaseRepository(), new SapphireRegionRepository(), new SapphireSupportChannelTypeRepository(), new SapphireOpenStackReleaseSupportedApiVersionRepository(), new ApplianceAddPolicy($this->appliance_repository, new SapphireMarketPlaceTypeRepository()), new CompanyServiceCanAddResourcePolicy(), new CompanyServiceCanAddVideoPolicy(), new ApplianceFactory(), new MarketplaceFactory(), new ValidatorFactory(), new OpenStackApiFactory(), null, new SessionCacheService(), SapphireTransactionManager::getInstance());
     $this->distribution_manager = new DistributionManager($this->distribution_repository, new SapphireMarketPlaceVideoTypeRepository(), new SapphireMarketPlaceTypeRepository(), new SapphireGuestOSTypeRepository(), new SapphireHyperVisorTypeRepository(), new SapphireOpenStackApiVersionRepository(), new SapphireOpenStackComponentRepository(), new SapphireOpenStackReleaseRepository(), new SapphireRegionRepository(), new SapphireSupportChannelTypeRepository(), new SapphireOpenStackReleaseSupportedApiVersionRepository(), new DistributionAddPolicy($this->distribution_repository, new SapphireMarketPlaceTypeRepository()), new CompanyServiceCanAddResourcePolicy(), new CompanyServiceCanAddVideoPolicy(), new DistributionFactory(), new MarketplaceFactory(), new ValidatorFactory(), new OpenStackApiFactory(), null, new SessionCacheService(), SapphireTransactionManager::getInstance());
     $this->implementations_services_query = new OpenStackImplementationServicesQueryHandler();
 }
 function init()
 {
     parent::init();
     Requirements::css(THIRDPARTY_DIR . '/jquery-ui-themes/smoothness/jquery-ui.css');
     Requirements::javascript(THIRDPARTY_DIR . '/jquery-ui/jquery-ui.js');
     Requirements::customScript("jQuery(document).ready(function(\$) {\n            \$('#consulting','.marketplace-nav').addClass('current');\n        });");
     Requirements::css("themes/openstack/css/chosen.css", "screen,projection");
     $this->InitGoogleMapLibs();
     Requirements::combine_files('marketplace_consultants_directory_page.js', array("themes/openstack/javascript/chosen.jquery.min.js", "marketplace/code/ui/frontend/js/consultants.directory.page.js"));
     Requirements::customScript($this->GATrackingCode());
     $this->consultant_repository = new SapphireConsultantRepository();
     $this->region_repository = new SapphireRegionRepository();
     $this->consultants_locations_query = new ConsultantsOfficesLocationsQueryHandler();
     $this->consultants_service_query = new ConsultantsServicesQueryHandler();
     $this->manager = new ConsultantManager($this->consultant_repository, new SapphireMarketPlaceVideoTypeRepository(), new SapphireMarketPlaceTypeRepository(), new SapphireOpenStackApiVersionRepository(), new SapphireOpenStackComponentRepository(), new SapphireOpenStackReleaseRepository(), new SapphireRegionRepository(), new SapphireSupportChannelTypeRepository(), new SapphireSpokenLanguageRepository(), new SapphireConfigurationManagementTypeRepository(), new SapphireConsultantServiceOfferedTypeRepository(), new ConsultantAddPolicy($this->consultant_repository, new SapphireMarketPlaceTypeRepository()), new CompanyServiceCanAddResourcePolicy(), new CompanyServiceCanAddVideoPolicy(), new ConsultantFactory(), new MarketplaceFactory(), new ValidatorFactory(), new OpenStackApiFactory(), new GoogleGeoCodingService(new SapphireGeoCodingQueryRepository(), new UtilFactory(), SapphireTransactionManager::getInstance()), null, new SessionCacheService(), SapphireTransactionManager::getInstance());
 }
 function init()
 {
     parent::init();
     $cloud_type = $this->getCloudTypeForJS();
     Requirements::css(THIRDPARTY_DIR . '/jquery-ui-themes/smoothness/jquery-ui.css');
     Requirements::javascript(THIRDPARTY_DIR . '/jquery-ui/jquery-ui.js');
     Requirements::customScript("\n\t\tvar cloud_type = '{$cloud_type}'\n\t\tjQuery(document).ready(function(\$) {\n            \$('#{$cloud_type}','.marketplace-nav').addClass('current');\n        });");
     Requirements::css("themes/openstack/css/chosen.css", "screen,projection");
     Requirements::javascript(Director::protocol() . "maps.googleapis.com/maps/api/js?sensor=false");
     Requirements::combine_files('marketplace_clouds_directory_page.js', array("marketplace/code/ui/frontend/js/markerclusterer.js", "marketplace/code/ui/frontend/js/oms.min.js", "marketplace/code/ui/frontend/js/infobubble-compiled.js", "marketplace/code/ui/frontend/js/google.maps.jquery.js", "themes/openstack/javascript/chosen.jquery.min.js", "marketplace/code/ui/frontend/js/clouds.directory.page.js"));
     Requirements::customScript($this->GATrackingCode());
     $this->cloud_repository = $this->buildCloudRepository();
     $this->pricing_schema_repository = new SapphirePricingSchemaRepository();
     //google geo coding settings
     $google_geo_coding_api_key = null;
     $google_geo_coding_client_id = null;
     $google_geo_coding_private_key = null;
     if (defined('GOOGLE_GEO_CODING_API_KEY')) {
         $google_geo_coding_api_key = GOOGLE_GEO_CODING_API_KEY;
     } else {
         if (defined('GOOGLE_GEO_CODING_CLIENT_ID') && defined('GOOGLE_GEO_CODING_PRIVATE_KEY')) {
             $google_geo_coding_client_id = GOOGLE_GEO_CODING_CLIENT_ID;
             $google_geo_coding_private_key = GOOGLE_GEO_CODING_PRIVATE_KEY;
         }
     }
     $this->manager = $this->buildCloudManager($this->cloud_repository, new SapphireMarketPlaceVideoTypeRepository(), new SapphireMarketPlaceTypeRepository(), new SapphireGuestOSTypeRepository(), new SapphireHyperVisorTypeRepository(), new SapphireOpenStackApiVersionRepository(), new SapphireOpenStackComponentRepository(), new SapphireOpenStackReleaseRepository(), new SapphireRegionRepository(), new SapphireSupportChannelTypeRepository(), new SapphireOpenStackReleaseSupportedApiVersionRepository(), $this->buildCloudAddPolicy(), new CompanyServiceCanAddResourcePolicy(), new CompanyServiceCanAddVideoPolicy(), $this->buildCloudFactory(), new MarketplaceFactory(), new ValidatorFactory(), new OpenStackApiFactory(), new GoogleGeoCodingService(new SapphireGeoCodingQueryRepository(), new UtilFactory(), SapphireTransactionManager::getInstance(), $google_geo_coding_api_key, $google_geo_coding_client_id, $google_geo_coding_private_key), null, new SessionCacheService(), SapphireTransactionManager::getInstance());
     $this->clouds_locations_query = $this->buildCloudLocationsQuery();
     $this->clouds_services_query = $this->buildCloudServicesQuery();
 }
 function init()
 {
     parent::init();
     $cloud_type = $this->getCloudTypeForJS();
     Requirements::css(THIRDPARTY_DIR . '/jquery-ui-themes/smoothness/jquery-ui.css');
     Requirements::javascript(THIRDPARTY_DIR . '/jquery-ui/jquery-ui.js');
     Requirements::customScript("\n\t\tvar cloud_type = '{$cloud_type}'\n\t\tjQuery(document).ready(function(\$) {\n            \$('#{$cloud_type}','.marketplace-nav').addClass('current');\n        });");
     Requirements::css("themes/openstack/css/chosen.css", "screen,projection");
     $this->InitGoogleMapLibs();
     Requirements::combine_files('marketplace_clouds_directory_page.js', array("themes/openstack/javascript/chosen.jquery.min.js", "marketplace/code/ui/frontend/js/clouds.directory.page.js"));
     Requirements::customScript($this->GATrackingCode());
     $this->cloud_repository = $this->buildCloudRepository();
     $this->pricing_schema_repository = new SapphirePricingSchemaRepository();
     $this->manager = $this->buildCloudManager($this->cloud_repository, new SapphireMarketPlaceVideoTypeRepository(), new SapphireMarketPlaceTypeRepository(), new SapphireGuestOSTypeRepository(), new SapphireHyperVisorTypeRepository(), new SapphireOpenStackApiVersionRepository(), new SapphireOpenStackComponentRepository(), new SapphireOpenStackReleaseRepository(), new SapphireRegionRepository(), new SapphireSupportChannelTypeRepository(), new SapphireOpenStackReleaseSupportedApiVersionRepository(), $this->buildCloudAddPolicy(), new CompanyServiceCanAddResourcePolicy(), new CompanyServiceCanAddVideoPolicy(), $this->buildCloudFactory(), new MarketplaceFactory(), new ValidatorFactory(), new OpenStackApiFactory(), new GoogleGeoCodingService(new SapphireGeoCodingQueryRepository(), new UtilFactory(), SapphireTransactionManager::getInstance()), null, new SessionCacheService(), SapphireTransactionManager::getInstance());
     $this->clouds_locations_query = $this->buildCloudLocationsQuery();
     $this->clouds_services_query = $this->buildCloudServicesQuery();
 }
 function init()
 {
     parent::init();
     Requirements::javascript("marketplace/code/ui/frontend/js/driver.page.js");
 }