var scroll = '';
var anchorToSet = '';
var benevolesStatusSlide = '';
var donsStatusSlide = '';
var status = '';
var myBenevolesTimer = '';
var myDonsTimer = '';

window.addEvent('domready', function() {
	
	BrowserDetect.init();

	scroll = new Fx.Scroll(window, {
		wait: false,
		duration: 750,
		offset: {'x': 0, 'y': 0},
		transition: Fx.Transitions.Quad.easeInOut
	});
	
	myWindowTween = new Fx.Tween(window);
	
	
	/* START ajax BenevoleForm --- */
	
	status = {
		'true': 'open',
		'false': 'close'
	};	
	benevolesStatusSlide = new Fx.Slide('benevolesResultStatus');
	benevolesStatusSlide.hide();
	
	$('benevolesSubmit').addEvent('click', function(event) {
		
		//prevent the page from changing
		event.stop();
		
		//make the ajax call, replace text
		var req = new Request.HTML({
		    method: 'post',
		    url: 'http://fondationrivieres.org/api/registerBenevole.php',
		    data: {
				'firstname' : $('benevoles_firstname').get('value'),
				'lastname' : $('benevoles_lastname').get('value'),
				'email' : $('benevoles_email').get('value'),
				'phoneNumber' : $('benevoles_phoneNumber').get('value'),
				'experience' : $('benevoles_experience').get('value')
			},		    
		    onComplete: function(response) {
			
			response = response[0].data;
			var parsed = response.split('|');
			var code = parsed[0];
			var message = parsed[1];		
			
			if(code == '0') {
				switch(message) {
					case 'error_missingInfo' : {
						message = 'Veuillez remplir tous les champs obligatoires.';
						break;
					}
					case 'error_emailAlreadyExist' : {
						message = 'Quelqu\'un s\'est déjà inscrit avec cette adresse courriel.';
						break;
					}
					case 'error_badEmailFormat' : {
						message = 'L\'adresse courriel est invalide.';
						break;
					}
					case 'error_badPhoneFormat' : {
						message = 'Le numéro de téléphone est invalide.';
						break;
					}				
				}
				$('benevolesResultStatus').set('html', message);
				$('benevolesResultStatus').setStyle('color','#FF3333');
				benevolesStatusSlide.slideIn();
				
			
				
			}else {
				$('benevolesResultStatus').set('html', '');
				$('benevoles_firstname').set('value', '');
				$('benevoles_lastname').set('value', '');
				$('benevoles_email').set('value', '');
				$('benevoles_phoneNumber').set('value', '');
				$('benevoles_experience').set('value', '');
				
				message = 'Merci!';
				$('benevolesResultStatus').set('html', message);
				$('benevolesResultStatus').setStyle('color','#33FF33');
				benevolesStatusSlide.slideIn();
				
				//Set a time to clear the error message.
				$clear(myBenevolesTimer);
				myBenevolesTimer = slideOutbenevolesStatus.delay(3000);	
			}			
		    }
		}).send();
	});
	
	/* END OF AJAX BENEVOLES --- */
		
	
	/* START ajax Merci --- */
	if(requestedPostName == 'dons') {		
		
		donsStatusSlide = new Fx.Slide('donsResultStatus');	
		donsStatusSlide.hide();
		
		$('donsSubmit').addEvent('click', function(event) {
			
			//prevent the page from changing
			event.stop();
			
			//make the ajax call, replace text
			var req = new Request.HTML({
			    method: 'post',
			    url: 'http://fondationrivieres.org/api/registerDons.php',
			    data: {
					'firstname' : $('dons_firstname').get('value'),
					'lastname' : $('dons_lastname').get('value'),
					'email' : $('dons_email').get('value'),
					'phoneNumber' : $('dons_phoneNumber').get('value'),
					'amount' : $('dons_amount').get('value'),
					'type' : $('dons_type').get('value')					
				},		    
			    onComplete: function(response) {
				
				response = response[0].data;
				var parsed = response.split('|');
				var code = parsed[0];
				var message = parsed[1];		
				
				if(code == '0') {
					switch(message) {
						case 'error_missingInfo' : {
							message = 'Veuillez remplir tous les champs obligatoires.';
							break;
						}					
						case 'error_badEmailFormat' : {
							message = 'L\'adresse courriel est invalide.';
							break;
						}
						case 'error_badPhoneFormat' : {
							message = 'Le numéro de téléphone est invalide.';
							break;
						}				
					}
					$('donsResultStatus').set('html', message);
					$('donsResultStatus').setStyle('color','#FF3333');
					donsStatusSlide.slideIn();
					
					//Set a time to clear the error message.
					$clear(myDonsTimer);
					myDonsTimer = slideOutDonsStatus.delay(3000);				
					
				}else {
					$('donsResultStatus').set('html', '');
					$('dons_firstname').set('value', '');
					$('dons_lastname').set('value', '');
					$('dons_email').set('value', '');
					$('dons_phoneNumber').set('value', '');
					$('dons_amount').set('value', '');
					$('dons_type').set('value', '');					
					$clear(myDonsTimer);
					slideOutDonsStatus();
					donsFormSlide = new Fx.Slide('donsFormDiv', {
						onComplete: function(){
							//scroll.toElement('merci');
						}
					});
					donsFormSlide.slideOut();				
				}			
			    }
			}).send();
		});
	}
	
	/* END OF AJAX MERCI --- */ 
	
    
	if(requestedPostName != "" && requestedPostName != "info") {
		requestedPostName = (requestedPostName == 'dons') ? 'merci' : requestedPostName;
		
		if(BrowserDetect.browser == "Safari") {
			
			switch(requestedPostName) {
				case 'partenaires': {
					window.scrollTo(2000, 950);
					break;
				}
				case 'contact': {
					window.scrollTo(1000, 600);
					break;
				}
				default: {
					var position = $(requestedPostName).getPosition();
					window.scrollTo(position['x'], position['y']);
				}
			}
			
		}else {
			scroll.toElement(requestedPostName);
		}		
	}
	
	//Create Menu script events	
	$('menuMission').addEvent('click', function(event) {
		event = new Event(event).stop();
		if(BrowserDetect.browser == "Safari") {
			var position = $('mission').getPosition();
			window.scrollTo(position['x'], position['y']);
		}else {
			scroll.toElement('mission');
		}
		anchorToSet = 'mission';
	});
		
	$('menuEquipe').addEvent('click', function(event) {
		event = new Event(event).stop();		
		if(BrowserDetect.browser == "Safari") {
			var position = $('equipe').getPosition();
			window.scrollTo(position['x'], position['y']);
		}else {
			var position = $('equipe').getPosition();
			scroll.start(position['x'], position['y'] - 76);
		}
		anchorToSet = 'equipe';
	});
	
	$('menuPartenaires').addEvent('click', function(event) {
		event = new Event(event).stop();
		var partposx = 2000;
		var partposy = 950;
		
		//IE6 needs different positionning (the 155 margin)
		if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6.0") {
			partposx = partposx + 155;
		}
		
		if(BrowserDetect.browser == "Safari") {
			window.scrollTo(partposx, partposy);
		}else {
			scroll.start(partposx,partposy);
		}
		anchorToSet = 'partenaires';
	});
	
	/*
	$('menuOutils').addEvent('click', function(event) {
		event = new Event(event).stop();
		scroll.toElement('outils');
		anchorToSet = 'outils';
	});
	
	*/
	
	$('menuContribuer').addEvent('click', function(event) {
		event = new Event(event).stop();
		if(BrowserDetect.browser == "Safari") {
			var position = $('contribuer').getPosition();
			window.scrollTo(position['x'], position['y']);
		}else {
			scroll.toElement('contribuer');
		}
		anchorToSet = 'contribuer';
	});
	
	/*
	$('menuBenevoles').addEvent('click', function(event) {
		event = new Event(event).stop();
		scroll.toElement('benevoles');
		anchorToSet = 'benevoles';
	});
	
	$('menuBoutique').addEvent('click', function(event) {
		event = new Event(event).stop();
		scroll.toElement('boutique');
		anchorToSet = 'boutique';
	});
	
	*/
	
	$('menuContact').addEvent('click', function(event) {
		event = new Event(event).stop();
		var contactposx = 1000;
		var contactposy = 600;
		
		//IE6 needs different positionning (the 155 margin)
		if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6.0") {
			contactposx = contactposx + 155;
		}
		
		if(BrowserDetect.browser == "Safari") {
			window.scrollTo(contactposx, contactposy);
		}else {
			scroll.start(contactposx, contactposy);
		}
		anchorToSet = 'contact';
	});	
	
});

function slideOutbenevolesStatus() {
	benevolesStatusSlide.slideOut();
}

function slideOutDonsStatus() {
	donsStatusSlide.slideOut();
}



var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
		return '';
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return '';
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
