window.addEvent('domready', function()
{


	var myDatepickers = new PBBDatePickers(
		'.thisisadatepicker',
		{
			offsets: {x: 0, y: 30},
			dateformat : 'Y-m-d',
			days : ['dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi'],
			months : ['janvier','février','mars','avril','mai','juin','juillet','août','septembre','octobre','novembre','décembre']
		}
	);
	

	var nbCountries = 33
	var form = $('formSend');
	var youAre = $('youAre');
	var countries = $('country');
	$('btn-submit').removeProperty('disabled');
	// --- Affichage adresse si pas email
    var adresses = [
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Afrique du Sud',
					                        'Afrique du Sud',
					                        'NESTLE WATERS SOUTH AFRICA',
					                        '38 Milkyway Avenue<br />Linbro Business Park<br />SANDTON',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'contact@nestle-waters-dz.com',
					                        'Algérie',
					                        'Algérie',
					                        'SPA SOURCE TABERKACHENT',
					                        'Zone d\'activité ATLAS Lot 93<br />Route de Béni Tamou<br />BLIDA<br />Adresse postale : BP75 Ouled Yaich<br />09100 BLIDA',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'Anke.Pleines@waters.nestle.com',
					                        'Allemagne',
					                        'Allemagne',
					                        'NESTLE WATERS DEUTSCHLAND AG',
					                        'Wilhem-Theodor-Römheld-Strasse 22<br />55130 MAINZ',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'pgramire@nestleaguas.com.ar',
					                        'Argentine',
					                        'Argentine',
					                        'ECO DE LOS ANDES',
					                        '12 de Octubre y Gran Canaria<br />(1878) Quilmes<br />BUENOS AIRES',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'fabienne.scheyvaerts@waters.nestle.com', '',
					                        'Belgique',
					                        'Belgique',
					                        'NESTLE WATERS BENELUX',
					                        'Rue de Birmingham 221<br />1070  BRUXELLES',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'carlos.maia@nestle-waters.com.br',
					                        'Brésil',
					                        'Brésil',
					                        'NESTLE WATERS BRASIL',
					                        'Av.Chucri Zaidan, 246 - 20º andar<br />Vila Cordeiro - SAO PAULO/SP<br />CEP 04583-110<br />Brasil',
					                        ''],
					 ['0', '0', '0', '0', 'nestlewaters@casupport.com', 'jane.lazgin@waters.nestle.com', 'stacy.roth@waters.nestle.com', 'NWCareers@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.nestle-watersnasponsor.com'],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'nssl.hr@cn.nestle.com',
					                        'Chine',
					                        'Chine',
					                        'NESTLE CHINA WATER BUSINESS UNIT (NESTLE SOURCES SHANGHAI LTD)',
					                        'Jinqiao Export Processing Zone, Pudong 88,<br />Ningqiao Rd<br />SHANGHAI PRC 201 206',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'mhan@pulmuone.com',
					                        'Corée',
					                        'Corée',
					                        'PULMUONE WATERS CO LTD',
					                        'Songpa-Gu Songpa-Dong 4F  ECMD B/D<br />185/5 KP 138 854 SEOUL ',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@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',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Egypte',
					                        'Egypte',
					                        'NESTLE WATERS EGYPT S.A.E.',
					                        'Garden City <br />6  rue Dar El Chefa <br />CAIRO 11451',
					                        ''],
					 ['1', '1', '1', '1', '', '', '', '',
					                        'UAE',
					                        'Emirats Arabes Unis',
					                        'NESTLE WATERS MT DUBAI',
					                        'H.H. The Rulers Estate Office N° 518<br />315-13St., Oud Metha, PO Box 32243<br />DUBAI',
					                        ''],
					 ['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',
					                        ''],
					 ['0', '0', '0', '0', 'enquiries@waters.nestle.com', 'christelle.lebonniec@waters.nestle.com', 'rebecca.white@waters.nestle.com', 'recruitment@waters.nestle.com',
					                        'Grande-Bretagne',
					                        'Grande-Bretagne',
					                        'NESTLE WATERS UK Ltd',
					                        'Trinity Court - Church Street<br />RICKMANSWORTH,<br />Hertfordshire WD3 1LD',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Grèce',
					                        'Grèce',
					                        'NESTLE HELLAS', '4, Patroklou st.<br />15125 MAROUSSI',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Hongrie',
					                        'Hongrie',
					                        'KEKKUTI ASVANYVIZ RT.', 'Vaci Ut 99 <br />1139 BUDAPEST',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Ouzbekistan',
					                        'Ouzbekistan',
					                        'NESTLE UZBEKISTAN LLC',
					                        '111A Buyuk Ipak Yuli Str.<br />UZ 700077 TASHKENT',
					                        ''],
					 					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Peninsule Arabe',
					                        'Peninsule Arabe',
					                        'AL MANHAL WATER FACTORY<br />L.L.C. BAHRAIN',
					                        'P.O. BOX 500 RIYAD 11383',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'vanessa.perez@waters.nestle.com', 'ESContact@waters.nestle.com',
					                        'Peninsule Ibérique',
					                        'Peninsule Ibérique',
					                        'NESTLE WATERS ESPANA SA',
					                        'Calle Aragon, 210°  Atico1a<br />08011 BARCELONA',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@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',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'selezione.milano@it.nestle.com',
					                        'Italie',
					                        'Italie',
					                        'SANPELLEGRINO S.p.A.',
					                        'Via Lodovico il Moro, 35<br />20143 MILANO',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Japon',
					                        'Japon',
					                        'NESTLE JAPAN<br />WATER BUSINESS UNIT',
					                        'Tennohzu Yusen Bldg<br />2-2-20,Higashi-Shinagawa,<br />Shinagawaku,TOKYO 140-0002',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Jordanie',
					                        'Jordanie',
					                        'GHADEER MINERAL WATER CO',
					                        'Bayader Wadi Al Sier<br />Safar Ben Ka\'ab St.<br />P.O. Box 142393<br />AMMAN 11844',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Liban',
					                        'Liban',
					                        'SOHAT',
					                        'Hazmieh Square Bldg.,Bloc B,<br />Damascus Int\'l Road - Hazmieh P.O. <br />Box 11-2706 BEIRUT',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'Marcela.Jacob@nestlewaters.com.mx',
					                        'Mexique',
					                        'Mexique',
					                        '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.',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Nigeria',
					                        'Nigeria',
					                        'NESTLE NIGERIA',
					                        'Private Mail Bag<br />21164 NG IKEJA',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Pakistan',
					                        'Pakistan',
					                        'NESTLE PAKISTAN LTD',
					                        'Office #1&2, Park Lane Tower Tufail Road<br />LAHORE',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Pologne',
					                        'Pologne',
					                        'NESTLE WATERS POLSKA S.A.',
					                        'ul. Domaniewska 41<br />"ORION"  Building <br />02672 WARSZAWA',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'Irina.semenova@ru.nestle.com',
					                        'Russie',
					                        'Russie',
					                        'NESTLE WATERS LLC',
					                        '2 Paveletskaya Square Bld1<br />115054 MOSCOW',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'info@nestlewaters.ch', 'Jobs@nestlewaters.ch',
					                        'Suisse',
					                        'Suisse',
					                        'NESTLE WATERS (SUISSE) SA',
					                        '1525 HENNIEZ',
					                        ''],
					 ['1', '0', '0', '1', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', '',
					                        'Thailande',
					                        'Thaïlande',
					                        'PERRIER VITTEL (THAILAND) LTD',
					                        '38th Floor The Offices at Central World<br />999/9 Rama I Road<br />BANGOK 10330',
					                        ''],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'insan.kaynaklari@erikli.nestlewaters.com.tr',
					                        'Turquie',
					                        'Turquie',
					                        'NESTLE WATERS  GIDA VE<br />MESRUBAT SANAANYI TICARET A.S.',
					                        'Kavacik, Ruzgarli bahce Mh. Yeni Parseller<br />Sokak. No 6 Beykoz - 34805  ISTANBUL',
					                        ''],
					 ['0', '0', '0', '0', 'nestlewaters@casupport.com', 'jane.lazgin@waters.nestle.com', 'stacy.roth@waters.nestle.com', 'NWCareers@waters.nestle.com',
					                        'USA',
					                        'USA',
					                        'NESTLE WATERS NORTH AMERICA',
					                        '777 West Putnam Avenue<br />CT, 06830 GREENWICH',
					                        'http://www.nestle-watersnasponsor.com'],
					 ['1', '0', '0', '0', '', 'christelle.lebonniec@waters.nestle.com', 'sandrine.meunissier@waters.nestle.com', 'jobs@laviewater.com ',
					                        'Vietnam',
					                        'Vietnam',
					                        'LA VIE',
					                        '360 Ben Van Don Ward1 District 4<br />HO CHI MINH CITY',
					                        '']
				   ];

    // --- 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++) {
			countries.appendChild(new Element('option', {
				'value': adresses[k][8]
			}).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'
				});
				
				var address_elts = {
					'class': 'address',
					'style': 'font-size:110%; margin-left:210px;',
					'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">Veuillez contacter directement notre filiale en (au) <strong>' + tab[9] + '</strong>:</span><br />' + address_elts['html'];
					$('btn-submit').setProperty('disabled', true);
				}

				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();
	});
});

