s1JS.Jobs.addLoader(function() {
    /*
     *  If we don't have a core skill, try to set one based on keywords (for ads)
     */
    if(window.page_data && !page_data.core_skill)
    {         
        var query = s1JS.Jobs.createObjFromQuery(page_data.query_string);
        
        if(query['keywords_required'] || query['keywords_optional'])
        {            
            var keywords = (query['keywords_required']) ? query['keywords_required'].toLowerCase() : '';
            keywords    += (query['keywords_optional']) ? ' ' + query['keywords_optional'].toLowerCase() : '';
              
            cs = new Object;
            cs['accountancy'] = ['acca','accountant','accounts','audit','bookkeeper','cima','compliance','credit','insolvency','payroll','purchase\\+ledger','sage','sap','tax','treasury'];
            cs['admin_secretarial_pa'] = ['admin','administration','administrator','assistant','data\\+entry','mailroom','pa','reception','receptionist','secretary'];
            cs['architecture'] = ['architect','architect','draughtsman'];
            cs['call_contact_centres'] = ['call\\+centre','collections','french','german','inbound','italian','polish','spanish','telesales'];
            cs['construction_trades_property'] = ['builder','cdm','construction','electrician','estimator','joiner','labourer','planner','procurement','property','quantity\\+surveyor','surveyor','water'];
            cs['customer_services'] = ['complaints','customer\\+service'];
            cs['education'] = ['lecturer','teacher','music'];
            cs['emergency_services_military_security'] = ['police','prison','security'];
            cs['engineering_technical'] = ['autocad','cad','clerk\\+of\\+works','cnc','electrical','electrical','electronics','engineer','facilities','maintenance','mechanical','nuclear','quality','safety','technician','welder'];
            cs['executive_management'] = ['director'];
            cs['financial_services_investment'] = ['bank','banking','finance','financial','investment','mortgage','pensions','risk'];
            cs['hairdressing_beauty'] = ['hairdressing','beauty'];
            cs['heritage_culture_library'] = ['librarian','library'];
            cs['hospitality_catering_tourism'] = ['bar','bar\\+staff','cabin\\+crew','catering','chef','food','hotel','housekeeper','tourism','travel','waiter','waitress'];
            cs['hr_training_recruitment'] = ['hr','recruitment','trainer','training'];
            cs['insurance'] = ['fraud','insurance','policy'];
            cs['it_telecommunications'] = ['\\.net','c\\+\\+','ccna','cisco','communications','data\\+analyst','database','developer','flash','helpdesk','html','internet','it','itil','java','mcse','network','oracle','php','software','sql','support','technical\\+support','telecommunications','unix','web'];
            cs['legal'] = ['legal','paralegal'];
            cs['logistics_distribution'] = ['distribution','driver','driving','forklift','gis','logistics','supply\\+chain','warehouse'];
            cs['marketing_pr'] = ['advertising','event','marketing','PR','research'];
            cs['media_design'] = ['creative','design','designer','editor','graphic','mac','media','photographer','photoshop','print','printing'];
            cs['medical_dental_health_care'] = ['accident','ambulance','chemist','dental','elderly','health','medical','mental','nhs','nurse','nursing','pharmaceutical','psychologist'];
            cs['oil_gas'] = ['energy','gas','offshore','oil'];
            cs['procurement'] = ['buyer','purchasing'];
            cs['production_manufacturing'] = ['production','manufacturing'];
            cs['retail'] = ['retail'];
            cs['sales'] = ['business\\+development','fmcg','motor','sales'];
            cs['scientific'] = ['chemist','chemistry','environment','environmental','physics'];
            cs['social_services_housing_childcare'] = ['housing','nanny','nursery','social'];
            
            for(var skill in cs)
            {
                if(cs[skill].isIn(keywords))
                {
                   page_data.core_skill = skill;
                   break;
                }
            }        
        }
    }    
    
    
    if(page_data.count > page_data.number_per_page)
    {
        var sel = s1JS.Jobs.createPageSelect(page_data);
        $('.page-dropdown').html(sel).prepend("showing ").append(" of " + page_data.count);
        $('.page-dropdown select').each(function () { 
            this.selectedIndex = page_data.page - 1;
        });
        $('.page-dropdown select').change(function() { 
            var page = $(this).val();
            document.location.href = '/search/results.cgi?' + page_data.query_string + '&page=' + page;
        });
    }

    var query = s1JS.Jobs.createObjFromQuery(page_data.query_string);        
    var base_link = 'http://' + document.location.host + page_data.script + '?' + s1JS.Jobs.createQueryFromObj(query, {order_by: true});    


    var sort_data = [{ text: 'most recent', val: 'date_posted', selected: (!query['order_by'] || query['order_by'] == 'date_posted')},
            { text: 'title a-z', val: 'job_title', selected: (query['order_by'] == 'job_title')},
            { text: 'title z-a', vak: '_job_title', selected: (query['order_by'] == '_job_title')},
            { text: 'location a-z', val: 'location', selected: (query['order_by'] == 'location')},    
            { text: 'location z-a', val: '_location', selected: (query['order_by'] == '_location')},         
            { text: 'company a-z', val: 'company', selected: (query['order_by'] == 'company')}, 
            { text: 'company z-a', val: '_company', selected: (query['order_by'] == '_company')}];    
   

    var sel = document.createElement('SELECT');    
    var sel_ind = 0;    
    for(var i = 0; i< sort_data.length; i++)
    {
        sel_ind = sort_data[i].selected ? i : sel_ind;
        $(sel).append('<option value="' + sort_data[i].val + '"' + sel_ind + '>' + sort_data[i].text + '</option>');
    }    
    sel.selectedIndex = sel_ind;
    
    $('.sort-dropdown').html(sel);
    $('.sort-dropdown select').change(function() {
        var order_by = $(this).val();        
        document.location.href = base_link + '&order_by=' + order_by;
    });


    $('#store-search-link').click(function() {
        $('#tip').show();
        return false;
    });
    
    if(s1JS.Jobs.loggedIn())
    {
        $('.js-store').click(function() {
            var url = $(this).attr('href') + '&js=1';
            $.get(url, function(data) {
                $('#store-message').addClass('friendly-message').html(data).show();
                $('#tip').hide();
            });
            return false;
        });
    }

    s1JS.Jobs.featuredEmployers(6, 'li');
});
               
       
                 
            


