    //<![CDATA[
    var regions_contacts = {
        'NORTH_AMERICA'                  :'z.matos@na.intercruises.com',
        'MEXICO_CARIBBEAN'               :'m.corbalan@intercruises.com',
        'SOUTH_AMERICA'                  :'m.corbalan@intercruises.com',
        'NORTHERN_EUROPE'                :'m.bidgood@intercruises.com',
        'CENTRAL_EUROPE'                 :'b.eering@intercruises.com',
        'SOUTHERN_EUROPE_MEDITERRANEAN'  :'v.quintairos@intercruises.com',
        'MIDDLE_EAST'                    :'b.eering@intercruises.com',
        'ASIA_PACIFIC'                   :'l.vlad@intercruises.com',
        'AFRICA'                         :'b.eering@intercruises.com',
        'DEFAULT'                        :'info@intercruises.com' // do not remove this line
    }
    
    function update_representatives(country) {
        $('#rep_name').html('');
        var reps =  representatives[country.value];
        var caption = '';
        
        for (var i=0; i<reps.length; i++) {
            caption = representatives[country.value][i].name;
            if (representatives[country.value][i].position) {
                caption += ' / ' + representatives[country.value][i].position;
            }
            $('#rep_name').append($(document.createElement("option")).attr("value",caption).text(caption));
        }
    }

    var representatives = {
        'NONE': [
            {name: 'Mark Robinson',           position: 'Managing Director'},
            {name: 'Olga Piqueras',           position: 'Operations Director'},
            {name: 'Anthony Newman',          position: 'Finance and Commercial Director'},
            {name: 'Laura Rodríguez',         position: 'Marketing and Communications Manager'},
            {name: 'María García',            position: 'Business Support Manager - Online Business'},
            {name: 'Beate Einhauser',         position: 'Head of Business Development'}
        ],
        'NORTH_AMERICA': [
            {name: 'Celeste Gladstone',       position: 'President North America'},
            {name: 'Tom Anderson',            position: 'Shore Tour Programs'},
            {name: 'Paul Matte',              position: 'President Canada'},
            {name: 'Louise Reece',            position: 'VP Business Analysis'},
            {name: 'Margaret Zacharis',       position: 'Ops Director Northeast'},
            {name: 'Mark Thorn',              position: 'Ops Director Mid Atlantic, Gulf and Florida'},
            {name: 'Greg Gordon',             position: ''},
            {name: 'John Matte',              position: ''},
            {name: 'Manon Vegneux',           position: ''},
            {name: 'Cindi Schuman',           position: ''},
            {name: 'Elizabeth Shearin',       position: ''}
        ],
        'CARIBBEAN': [
            {name: 'Marco Gasparoli',         position: 'National Manager Costa Rica and Dom. Rep.'}
        ],
        'MEDITERRANEAN': [
            {name: 'Virginia Quintairos',     position: 'Regional Director Mediterranean'},
            {name: 'Meritxell Corbalan',      position: 'Product Manager Mediterranean'},
            {name: 'Ana Barbosa',             position: 'National Manager Portugal'},
            {name: 'Marco Frigoli',           position: 'National Manager Greece'},
            {name: 'Berrin Caliskan',         position: 'National Manager Turkey'},
            {name: 'Maro Saulovic',           position: 'National Manager Croatia'},
            {name: 'Rosy',                    position: ''}
        ],
        'BARCELONA': [
            {name: 'Ramón Hurtado',           position: 'Manager Barcelona'}
        ],
        'UK_IRELAND': [
            {name: 'Martin Bidgood',          position: 'Regional Director UK and Ireland'},
            {name: 'Malcolm Payne',           position: 'Director Aragon Tours'},
            {name: 'Nicky Grant',             position: 'Manager UK'},
            {name: 'Simon O\'Sullivan',       position: 'Manager Shore Excursions UK and Ireland'},
            {name: 'Inga Arpadzic',           position: 'Manager Turnaround Services UK and Ireland'}
        ],
        'ASIA': [
            {name: 'Laura Vlad',              position: 'Regional Director Asia'},
            {name: 'Lawrence Pakianathan',    position: 'Manager Malaysia Brunei and Indonesia'},
            {name: 'Suprasit Suponcheewa',    position: 'Manager Thailand &amp; Vietnam'}
        ],
        'EMERGING_MARKETS': [
            {name: 'Bea Eering',              position: 'Regional Director Emerging Markets'},
            {name: 'Virgil Stan',             position: 'Manager Romania'},
            {name: 'Marina Doroshok',         position: 'Manager Ukraine'},
            {name: 'Kerstin Fischer',         position: 'Manager South Africa'},
            {name: 'Mohsen Elmokadem',        position: 'Manager Egypt'}
        ],
        'PORT_AGENT': [
            {name: 'Serafín Blázquez',        position: 'Port Agency Manager Spain, Port. and Gibraltar'}
        ]
    };

    function reset_contact_form() {
        $('#contact_frm input.input, #contact_frm select, #contact_frm textarea').val("");
        $('#contact_frm .error').removeClass('error');
        $('[generated=true]').remove();
        $('#privacypolicy').attr('checked', false);
    }
    function reset_work_form() {
        $('#combo_perfil_region').val("");
        $('#work_email_label, #work_email').hide();
    }
    function update_combo_perfil_region(el) {
        if (el.val() != '') {
            $('#work_email_label').show();
            if (regions_contacts[el.val()] != '') {
                $('#work_email').html(regions_contacts[el.val()]);
                $('#work_email').attr('href', 'mailto:' + regions_contacts[el.val()]);
            } else {
                $('#work_email').html(regions_contacts['DEFAULT']);
                $('#work_email').attr('href', 'mailto:' + regions_contacts['DEFAULT']);
            }
            $('#work_email').show();
        } else {
            reset_work_form();
        }
    }
    $(document).ready(function() {
        var combo_perfil = $('#combo_perfil');
        var combo_perfil_region = $('#combo_perfil_region');

        if (combo_perfil.val() == 'work') {
            $('#work').show();
            $('#contact').hide();
            update_combo_perfil_region(combo_perfil_region);
        } else if (combo_perfil.val() == 'contact') {
            $('#contact').show();
            $('#work').hide();
        } else {
            $('#contact, #work').hide();
        }

        $('select#country.c3').bind('change', function() {
            if ($(this).val() == '') {
                $('#to').val(regions_contacts['DEFAULT']);
            } else {
                $('#to').val(regions_contacts[$(this).val()]);
            }
        });
        
        combo_perfil.bind('change', function() {
            if ($(this).val() == 'work') {
                $('#work').show();
                $('#contact').hide();
                reset_contact_form();
            } else if ($(this).val() == 'contact') {
                $('#contact').show();
                $('#work').hide();
                reset_work_form();
            } else {
                $('#contact, #work').hide();
                reset_contact_form();
                reset_work_form();
            }
        });

        combo_perfil_region.bind('change', function() {
            update_combo_perfil_region($(this));
        });
       
        var validator = $("form#contact_frm").validate({
            rules: {
                'Req_Name#01':           { required: true },
                'Req_Surname#02':        { required: true },
                'Req_Country#03':        { required: true },
                'Req_City#04':           { required: true },
                'Req_Company#05':        { required: true },
                'Req_Email#06':          { required: true, email: true },
                repeat_email:            { required: true, email: true, equalTo: "#email" },
                'Req_Subject#07':        { required: true },
                privacypolicy:           { required: true },
                'Req_FirstName#01':      { required: true },
                'Req_LastName#02':       { required: true },
                'Req_Country#03':        { required: true },
                'Req_Company#04':        { required: true },
                'Req_Date#05':           { required: true },
                'Req_SuggestedTime1#06': { required: true },
                'Req_SuggestedTime2#07': { required: true },
                'Req_Phone#09':          { required: true, number: true },
                'Req_Email#10':          { required: true, email: true },
                'Req_Representative#01': { required: true },
                'Req_Date#03':           { required: true },
                'Req_SuggestedTime#04':  { required: true },
                'Req_FirstName#05':      { required: true },               
                'Req_LastName#06':       { required: true },
                'Req_Country#07':        { required: true },
                'Req_Company#08':        { required: true },
                'Req_Position#09':       { required: true },
                'Req_Phone#10':          { required: true, number: true },
                'Req_Email#11':          { required: true, email: true }
                
            },
            messages: {
                'Req_Name#01':           { required: "Mandatory field" },
                'Req_Surname#02':        { required: "Mandatory field" },
                'Req_Country#03':        { required: "Mandatory field" },
                'Req_City#04':           { required: "Mandatory field" },
                'Req_Company#05':        { required: "Mandatory field" },
                'Req_Email#06':          { required: "Mandatory field", email: "Invalid e-mail address" },
                repeat_email:            { required: "Mandatory field", email: "Invalid e-mail address", equalTo: "Please enter your e-mail address again" },
                'Req_Subject#07':        { required: "Mandatory field" },
                privacypolicy:           { required: "You must accept our privacy policy" },
                'Req_FirstName#01':      { required: "Mandatory field" },
                'Req_LastName#02':       { required: "Mandatory field" },
                'Req_Country#03':        { required: "Mandatory field" },
                'Req_Company#04':        { required: "Mandatory field" },
                'Req_Date#05':           { required: "Mandatory field" },
                'Req_SuggestedTime1#06': { required: "Mandatory field" },
                'Req_Phone#09':          { required: "Mandatory field", number: "Invalid phone number" },
                'Req_SuggestedTime2#07': { required: "Mandatory field" },
                'Req_Email#10':          { required: "Mandatory field", email: "Invalid e-mail address" },
                'Req_Representative#01': { required: "Mandatory field" },
                'Req_Date#03':           { required: "Mandatory field" },
                'Req_SuggestedTime#04':  { required: "Mandatory field" },
                'Req_FirstName#05':      { required: "Mandatory field" },               
                'Req_LastName#06':       { required: "Mandatory field" },
                'Req_Country#07':        { required: "Mandatory field" },
                'Req_Company#08':        { required: "Mandatory field" },
                'Req_Position#09':       { required: "Mandatory field" },
                'Req_Phone#10':          { required: "Mandatory field", number: "Invalid phone number" },
                'Req_Email#11':          { required: "Mandatory field", email: "Invalid e-mail address" }
            },
            errorPlacement: function(error, element) {
                if (element[0].id == 'privacypolicy') {
                    error.prependTo(element.parent('label').parent('div'));
                } else {
                    error.appendTo(element.parent('div'));
                }
            },
            errorElement: "label"
        });

        $('#reset').bind('click', function(){
            validator.resetForm();
        });
        
        if ($('#tradeshow_title')) {
            $('#asunto').val("Intercruises trade shows contact: " + $('#tradeshow_title').html());
        }
    });
    //]]>
