// config and bootstrap...
			
(function() {

    // debugging on/off
    Ioko.namespace('config').debug = false;
    //Ioko.namespace('config').log_panel = true;

    // path to where Ioko dir lives
    Ioko.namespace('config').base_code_path = Ioko.namespace('config').base_url + 'js/';

    // set application name
    // - this is the directory and namespace of application specific code 
    // - directory should live at same level as Ioko directory
    //Ioko.namespace('config').app_name = 'MyApp';

    // bootstrap function for the SiteController to use to get the correct controller for the page
    Ioko.namespace('config').bootStrap = function() {

        var SC = Ioko.controllers.SiteController;

        // default controller - common across all pages
        SC.addPageController('DefaultController');

        // map body ids to page controller classes...

        SC.addPageController('corporateHomePage', 'CorporateHomeController');
        SC.addPageController('genericHomePage', 'GenericHomeController');
        SC.addPageController('treatmentsPage', 'TreatmentsController');
        SC.addPageController('hospitalVacanciesPage', 'HospitalVacanciesController');
        SC.addPageController('hospitalNewsPage', 'HospitalNewsController');
        SC.addPageController('hospitalContactUsPage', 'HospitalContactUsController');
        SC.addPageController('gpconnectReferral', 'GPConnectReferralController');
        SC.addPageController('campaignLowerPage', 'CampaignLowerController');
        SC.addPageController('sitemapPage', 'SitemapController');
        SC.addPageController('corporateJobAlertsPage', 'CorporateJobAlertsController');
        SC.addPageController('corporateTreatmentPage', 'CorporateTreatmentController');
    }

    // load site controller and dependencies
    Ioko.loadModule('Ioko.controllers.SiteController');




    // theme vars selection based on body class when site first loads
    Ioko.onWindowLoad(function() {

        var body_el = $$('body')[0];
        var currXML;
        if (Ioko.namespace('config').currentPageXML != undefined && Ioko.namespace('config').currentPageXML != null) {
            currXML = Ioko.namespace('config').base_url + Ioko.namespace('config').currentPageXML;
        }
        else {
            currXML = null;
        }
        // default to merge into
        Ioko.namespace('storage').theme_vars = {
            map_non_zoomed_colour: '8FAB95',
            map_zoomed_colour: 'BFD0C1',
            map_xml_url: Ioko.namespace('config').base_url + 'hospital.xml',
            map_hospital_normal_colour: 'FFFFFF',
            map_hospital_disabled_colour: 'CCCCCC',
            map_hospital_enabled_colour: 'FFFFFF',
            map_hospital_over_colour: 'ED7F1C',
            header_xml_url: currXML,
            body_map_xml_url: Ioko.namespace('config').base_url + 'swf/xml/bodymap.xml',
            cosmetic_body_map_xml_url: Ioko.namespace('config').base_url + 'swf/xml/cosmeticbodymap.xml',
            video_player_swf_url: Ioko.namespace('config').base_url + 'swf/VideoPlayer.swf',
            body_map_xml_url: Ioko.namespace('config').base_url + 'swf/xml/bodymap.xml'
        }

        switch (true) {
            case body_el.hasClass('cosmetic'):
                Ioko.namespace('storage').theme_vars = $merge(
					Ioko.namespace('storage').theme_vars,
					{
					    map_non_zoomed_colour: '8586A3',
					    map_zoomed_colour: 'D1D2E0',
					    header_xml_url: currXML
					}
				);
                break;
            case body_el.hasClass('hospital'):
                Ioko.namespace('storage').theme_vars = $merge(
					Ioko.namespace('storage').theme_vars,
					{
					    map_non_zoomed_colour: '8FAB95',
					    map_zoomed_colour: 'BFD0C1',
					    header_xml_url: currXML
					}
				);
                break;
            case body_el.hasClass('weightloss'):
                Ioko.namespace('storage').theme_vars = $merge(
					Ioko.namespace('storage').theme_vars,
					{
					    map_non_zoomed_colour: '7DC12E',
					    map_zoomed_colour: 'BEE096',
					    header_xml_url: currXML
					}
				);
                break;
            case body_el.hasClass('gpconnect'):
                Ioko.namespace('storage').theme_vars = $merge(
					Ioko.namespace('storage').theme_vars,
					{
					    map_non_zoomed_colour: '7398AB',
					    map_zoomed_colour: 'B9CBD5',
					    header_xml_url: currXML
					}
				);
                break;
            case body_el.hasClass('corporate'):
            default:
                break;

        }
    })


})();
