window.addEvent('domready', function() {


    var myDatepickers = new PBBDatePickers(
		'.thisisadatepicker',
		{
		    offsets: { x: 0, y: 30 },
		    dateformat: 'Y-m-d',
		    days: ['sunday', 'monday', 'thursday', 'wednesday', 'tuesday', 'friday', 'saturday'],
		    months: ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']
		}
	);


    var nbCountries = 32
    var form = $('formSend');
    var youAre = $('youAre');
    var countries = $('country');
    $('btn-submit').removeProperty('disabled');
    // --- Affichage adresse si pas email
    var adresses = [
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Algeria',
					                        'Algeria',
					                        'NESTLE WATERS ALGERIE SPA',
					                        'Haid Sidi El Kibir<br />09000 BLIDA',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'ArabianPeninsula',
					                        'Arabian Peninsula',
					                        'AL MANHAL WATER FACTORY<br />L.L.C. BAHRAIN',
					                        'P.O. BOX 500 RIYAD 11383',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Argentina',
					                        'Argentina',
					                        'ECO DE LOS ANDES',
					                        '12 de Octubre y Gran Canaria<br />(1878) Quilmes<br />BUENOS AIRES',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'fabio.brusa@waters.nestle.com', 'fabienne.scheyvaerts@waters.nestle.com', '',
					                        'Belgium',
					                        'Belgium',
					                        'NESTLE WATERS BENELUX',
					                        'Rue de Birmingham 221<br />1070  BRUXELLES',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Brazil',
					                        'Brazil',
					                        'NESTLE WATERS BRASIL',
					                        'Av.Chucri Zaidan, 246 - 20º andar<br />Vila Cordeiro - SAO PAULO/SP',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['0', '0', '0', '1', 'nestlewaters@casupport.com', 'jane.lazgin@waters.nestle.com', 'stacy.roth@waters.nestle.com', '',
					                        'Canada',
					                        'Canada',
					                        'NESTLE WATERS NORTH AMERICA<br />Canadian Division',
					                        '101 Brock, Rd. S. R.R. #3<br />GUELPH, ON. N1H 6H9',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'China',
					                        'China',
					                        'NESTLE CHINA WATER BUSINESS UNIT (NESTLE SOURCES SHANGHAI LTD)',
					                        'Jinqiao Export Processing Zone, Pudong 88,<br />Ningqiao Rd<br />SHANGHAI PRC 201 206',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Cuba',
					                        'Cuba',
					                        'LOS PORTALES SA',
					                        'Ave.3ra N° 3404 esq. A 34 Calle<br />MIRAMAR CIUDAD DE LA HABANA',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Egypt',
					                        'Egypt',
					                        'NESTLE WATERS EGYPT S.A.E.',
					                        'Garden City <br />6  rue Dar El Chefa <br />CAIRO 11451',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['0', '0', '0', '1', 'serviceconsofrance@waters.nestle.com', 'fabio.brusa@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'France',
					                        'France',
					                        'NESTLE WATERS France',
					                        '4 avenue du Mal Juin<br /> 92364 MEUDON LA FORET',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Germany',
					                        'Germany',
					                        'NESTLE WATERS DEUTSCHLAND AG',
					                        'Wilhem-Theodor-Römheld-Strasse 22<br />55130 MAINZ',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['0', '0', '0', '1', 'enquiries@waters.nestle.com', 'frederique.henry@waters.nestle.com ', 'rebecca.white@waters.nestle.com', '',
					                        'GreatBritain',
					                        'Great Britain',
					                        'NESTLE WATERS UK Ltd',
					                        'Trinity Court - Church Street<br />RICKMANSWORTH,<br />Hertfordshire WD3 1LD',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'catherine.morris@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Greece',
					                        'Greece',
					                        'NESTLE HELLAS', '4, Patroklou st.<br />15125 MAROUSSI',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Hungary',
					                        'Hungary',
					                        'KEKKUTI ASVANYVIZ RT.', 'Lechner Odon Fasor  7<br />1095 BUDAPEST',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'vanessa.perez@waters.nestle.com', '',
					                        'IberianPeninsula',
					                        'Iberian Peninsula',
					                        'NESTLE WATERS ESPANA SA',
					                        'Calle Aragon, 210°  Atico1a<br />08011 BARCELONA',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Iran',
					                        'Iran',
					                        'ANAHITA POLOUR MINERAL WATERS INDUSTRIES CO',
					                        '(Vozara) Khaled Eslamboli Ave  N°3,<br /> 21st Street IR 15139 34611 <br />TEHRAN',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'prisca.peroni@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Italy',
					                        'Italy',
					                        'SANPELLEGRINO S.p.A.',
					                        'Via Lodovico il Moro, 35<br />20143 MILANO',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Japan',
					                        'Japan',
					                        'NESTLE JAPAN<br />WATER BUSINESS UNIT',
					                        'Tennohzu Yusen Bldg<br />2-2-20,Higashi-Shinagawa,<br />Shinagawaku,TOKYO 140-0002',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Jordan',
					                        'Jordan',
					                        'GHADEER MINERAL WATER CO',
					                        'Bayader Wadi Al Sier<br />Safar Ben Ka\'ab St.<br />P.O. Box 142393<br />AMMAN 11844',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Korea',
					                        'Korea',
					                        'PULMUONE WATERS CO LTD',
					                        'Songpa-Gu Songpa-Dong 4F  ECMD B/D<br />185/5 KP 138 854 SEOUL ',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Lebanon',
					                        'Lebanon',
					                        'SOHAT',
					                        'Hazmieh Square Bldg.,Bloc B,<br />Damascus Int\'l Road - Hazmieh P.O. <br />Box 11-2706 BEIRUT',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Mexico',
					                        'Mexico',
					                        'NESTLE WATERS MEXICO',
					                        'Edificio José Cuervo<br />Guillermo Gonzàles Camarena N°800<br />2° Piso, Col. Zedec Santa Fe<br />01210 MEXICO D.F.',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Nigeria',
					                        'Nigeria',
					                        'NESTLE NIGERIA PLC',
					                        '22/24 Industrial Avenue<br />ILLUPEJU',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Pakistan',
					                        'Pakistan',
					                        'NESTLE PAKISTAN LTD',
					                        'Tufail Road 172 Park Lane Tower<br />LAHORE',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Poland',
					                        'Poland',
					                        'NESTLE WATERS POLSKA S.A.',
					                        'ul. Domaniewska 41<br />"ORION"  Building <br />02672 WARSZAWA',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'SouthAfrica',
					                        'South Africa',
					                        'NESTLE WATERS SOUTH AFRICA',
					                        '192 Bram Fischer Drive, 8 Anslow Crescent<br />BRYANSTON, 2021',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'marieke.breugem@waters.nestle.com', 'info@nestlewaters.ch', '',
					                        'Switzerland',
					                        'Switzerland',
					                        'NESTLE WATERS (SUISSE) SA',
					                        'Z.I. Treize Cantons<br />1525 HENNIEZ',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Thailand',
					                        'Thaïland',
					                        'PERRIER VITTEL (THAILAND) LTD',
					                        '38th Floor The Offices at Central World<br />999/9 Rama I Road<br />Kwaeng Pathuwan, Khet Pathumwan<br />BANGOK 10330',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Turkey',
					                        'Turkey',
					                        'NESTLE WATERS GIDA VE MESRUBAT SANAANYI TICARET A.S.',
					                        'Babacan Sok. N3K Nilüfer Erikli Plaza/Camlica<br />Mah. 16110 BURSA',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '1', '1', '1', '', '', '', '',
					                        'UAE',
					                        'United Arab Emirates',
					                        'NESTLE WATERS MT DUBAI',
					                        'H.H. The Rulers Estate Office N° 518<br />315-13St., Oud Metha, PO Box 32243<br />DUBAI',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['0', '0', '0', '1', 'nestlewaters@casupport.com', 'jane.lazgin@waters.nestle.com', 'stacy.roth@waters.nestle.com', '',
					                        'USA',
					                        'USA',
					                        'NESTLE WATERS NORTH AMERICA',
					                        '900 Long Ridge Road<br />Building 2<br/>STAMFORD, CT  06902-1138',
					                        'http://www.nestle-watersna.com/index'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Uzbekistan',
					                        'Uzbekistan',
					                        'NESTLE UZBEKISTAN LLC',
	    				                    'Proezd 7, A.Kahlor Street<br />100025 TASHKENT',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm'],
					 ['1', '0', '0', '1', '', 'frederique.henry@waters.nestle.com ', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Vietnam',
					                        'Vietnam',
					                        'LA VIE',
					                        '360 Ben Van Don Ward1 District 4<br />HO CHI MINH CITY',
					                        'http://www.careers.nestle.com/NR/exeres/1D41522E-6945-4627-BC3A-0F9D81B20166.htm']
				   ];

    // --- toggle select You Are
    // --- init	
    function showHide() {
        [$('containerJob'), $('containerJournalist'), $('containerConsumers')].each(function(div) {
            div.addClass('dispNone');
            div.getElements('input, select').each(function(field) {
                field.addClass('inactive');
            });
        });
    }

    function fillCountries() {

        countries.empty();
        countries.appendChild(new Element('option', {
            'value': '--',
            'id': 'countryValue0'
        }).appendText('--'));
        for (var k = 0; k <= nbCountries; k++) {

            selected_option = "";
            if (value_country == adresses[k][8]) {
                selected_option = "selected";
            }

            countries.appendChild(new Element('option', {
                'value': adresses[k][8],
                'selected': selected_option
            }).appendText(adresses[k][9]));
        }

    }


    function getXCol() {
        var idxCol = 0;

        switch (youAre.value) {
            case 'Consumers':
                idxCol = 0; //Consumers
                break;
            case 'Journalist':
                idxCol = 1; //Journalist
                break;
            case 'Looking_for_sponsoring':
                idxCol = 2; //Looking_for_sponsoring
                break;
            case 'Searching_for_a_job':
                idxCol = 3; //Searching_for_a_job
                break;
        }

        return idxCol;

    }

    function setSelectedCountrieFormContent(el) {
        $$('.address').dispose();

        $('btn-submit').removeProperty('disabled');
        var currentOption = el.options[el.selectedIndex].value;
        var idxCol = getXCol();

        adresses.each(function(tab) {
            if (tab[8] == currentOption) {

                var container = new Element('div', {
                    'class': 'rowExtraLarge address bloc-contact-msg'
                });

                var address_elts = {
                    'class': 'address',
                    'style': 'font-size:14px; margin-left:0px; padding-bottom:20px;color:#000000',
                    'html': tab[10] + '<br />' + tab[11] + '</span>'
                };

                if (tab[4 + idxCol] != '') {
                    $('sendTo').value = tab[4 + idxCol];
                    $$('.adress .invite').dispose();
                    $$('#formSend .mail_available').setStyle('display', 'block');
                }
                else if (tab[idxCol] == 1) {
                    $$('#formSend .mail_available').setStyle('display', 'none');
                    address_elts['html'] = '<span class="invite">Please contact directly our subsidiary in <strong>' + tab[9] + '</strong>:</span><br />' + address_elts['html'];
                    $('btn-submit').setProperty('disabled', true);
                }
                // 25-05-10
                // Modification il faut que sa soit à un 1 et différent de search of job
                if (tab[idxCol] == 1 && idxCol == 3 && tab[12] != "") {
                    address_elts['html'] += '<br/><br/><a href="' + tab[12] + '" target="_blank"><strong>and click here to visit our local careers website</strong></a>'
                }

                var address = new Element('p', address_elts);
                address.inject(container);
                container.inject(countries.getParent().getParent().getParent(), 'after');
            }
        });
    }


    showHide();
    fillCountries();
    $$('#formSend .mail_available').setStyle('display', 'none');

    youAre.addEvent('change', function(e) {
        showHide();

        if (!$('sendTo').value == '') {
            $('sendTo').value = '';
        }

        switch (this.value) {
            case 'Consumers':
                $('containerConsumers').removeClass('dispNone');
                $('containerConsumers').getElements('input, select').each(function(field) {
                    field.removeClass('inactive');
                });
                break;
            case 'Journalist':
                $('containerJournalist').removeClass('dispNone');
                $('containerJournalist').getElements('input, select').each(function(field) {
                    field.removeClass('inactive');
                });
                break;
            case 'Searching_for_a_job':
                $('containerJob').removeClass('dispNone');
                $('containerJob').getElements('input, select').each(function(field) {
                    field.removeClass('inactive');
                });
                break;
            default:
                [$('containerJob'), $('containerJournalist'), $('containerConsumers')].each(function(div) {
                    div.addClass('dispNone');
                    div.getElements('input, select').each(function(field) {
                        field.addClass('inactive');
                    });
                });
                break;
        }

        if (countries.options[countries.selectedIndex].value != '--') {
            setSelectedCountrieFormContent(countries);
        }

    });

    countries.addEvent('change', function(e) {
        setSelectedCountrieFormContent(this);
    });

    // --- validation, comptage des errors	
    form.addEvent('submit', function(e) {
        new Event(e).stop();
        var errors = 0;
        var MailValue = '';
        $$('.error').dispose();
        form.getElements('input[type=text], select').each(function(input) {
            if (!input.hasClass('inactive')) {
                if ((input.hasClass('required')) && (!input.hasClass('mail'))) {
                    var error = new Element('span', {
                        'class': 'error',
                        'html': 'This field is mandatory'
                    });
                    if (input.type == "text" && !input.value) {
                        errors++;
                        error.inject(input.getParent());
                    }
                    else
                        if (input.type != "text" && input.value == "--") {
                        errors++;
                        error.inject(input.getParent());
                    }
                }
                if ((input.hasClass('postcode')) && (!input.value.match(new RegExp("^[0-9]{5}$"))) && (input.value)) {
                    errors++;
                    var error = new Element('span', {
                        'class': 'error',
                        'html': 'Invalid postcode'
                    });
                    error.inject(input.getParent());
                }
                if ((input.hasClass('letters')) && (!input.value.match(/^[-\u00E9\u00e8\u00e0\u00e7\u00f4\u00ee\u00eaA-Za-z\s]+$/)) && (input.value)) {
                    errors++;
                    var error = new Element('span', {
                        'class': 'error',
                        'html': 'Special characters are not allowed'
                    });
                    error.inject(input.getParent());
                }
                if ((input.hasClass('mail')) && (!input.value.match(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,6}$/i))) {
                    errors++;
                    var error = new Element('span', {
                        'class': 'error',
                        'html': 'Invalid email address'
                    });
                    error.inject(input.getParent());
                }
                if ((input.hasClass('mailConfirm')) && (!input.value.match(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,6}$/i))) {
                    errors++;
                    var error = new Element('span', {
                        'class': 'error',
                        'html': 'Invalid email address'
                    });
                    error.inject(input.getParent());
                }
                if ((input.hasClass('equalsto'))) {
                    if (input.hasClass('mail')) {
                        MailValue = input.value;
                    }
                    if (input.value != MailValue) {
                        errors++;
                        var error = new Element('span', {
                            'class': 'error',
                            'html': 'Different email address'
                        });
                        error.inject(input.getParent());
                    }
                }

                if ((input.hasClass('date')) && (!input.value.match(/^\d{4}(\-)\d{2}\1\d{2}$/))) {
                    errors++;
                    var error = new Element('span', {
                        'class': 'error',
                        'html': 'Invalid date format'
                    });
                    error.inject(input.getParent());
                }


            }
        });
        form.getElements('input[type=file], select').each(function(input) {
            if (!input.hasClass('inactive')) {
                if (input.hasClass('uploadCv')) {
                    if (input.value != '' && !input.value.match(new RegExp("^(.)*\.(doc|docx|pdf)$"))) {
                        alert(input.value);
                        errors++;
                        var error = new Element('span', {
                            'class': 'error',
                            'html': 'Invalid file format(must be docx, doc, pdf)'
                        });
                        error.inject(input.getParent());
                    }
                }
            }
        });
        if (errors == 0)
            form.submit();
    });
});

