Shadowbox.init();
var contW;
function getDati(cont, qs, fun) {
	var req = new Request({
		evalScripts: true,
		method: 'get',
		url: "_get.php",
		onSuccess: function(resp) {
			cont.set('html', resp);
			if ($type(fun) == 'function')
				fun();
			
		},
		onFailure: function(xhr) {
			//alert('Errore'+xhr);
		}
	}).send(qs);
}

function funPage(pageID) {
	switch (parseInt(pageID)) {
		case 2:
			$$('#fotoMyLife a').each(function(el) {
				el.addEvent('click', function(e) {
					e.stop();
					var hrLink = this.get('href');
					Shadowbox.open({
							content:    hrLink,
							player:     "img"
						});
				});
			});
			break;
		case 3:
			var contW = $('infoTrackOut').getCoordinates().width;
			var infoSlider;
			var funRotella;
			$$('#tblTracks .info a').each(function(el) {
				el.addEvent('click', function(e) {
					e.stop();
					var id = this.get('id').substr(6);
					getDati($('infoTrack'), 'pageID=3&infoTrack='+id, function() {
						var scrollCorpo;
						var inScroll = false;
						var currPos = 0;
						
						var slider = $('info-scroll');
						var knob = $('info-knob');
						
						var cont = $('cont-info');
						var el = $('infoTrack');
						var div = $('infoTrackOut');
						div.setStyle('overflow', 'hidden');
							
						if ($type(infoSlider) == 'object') {
							infoSlider.set(currPos);
							infoSlider.detach();
							cont.removeEvent('mousewheel', funRotella);
							slider.setStyle('display', 'none');
							div.setStyle('width', (contW)+'px');
						}
						
						funRotella = function(e) {
								e.stop();
								
								if (e.wheel < 0) {
									currPos +=10;
									if (currPos > (altCon - altFin))
										currPos = altCon - altFin;
									infoSlider.set(currPos);
								}
								if (e.wheel > 0) {
									currPos -=10;
									if (currPos < 0)
										currPos = 0;
									infoSlider.set(currPos);
								}
							}
						var altFin = div.getCoordinates().height;
						var altCon = el.getCoordinates().height;
						if (altCon > altFin) {
							
							div.setStyle('width', (contW-10)+'px');
							slider.setStyle('display', 'block');
							scrollCorpo = new Fx.Scroll(div, {
													link: 'cancel'
												});
					
							scrollCorpo.addEvent('start', function() { 
													inScroll = true;
												});
					
							scrollCorpo.addEvent('complete', function() { 
													inScroll = false;
													infoSlider.set(currPos);
												});
					
							infoSlider = new Slider(slider, knob, {
								onChange: function(pos){
										scrollCorpo.set(0,pos);
										currPos = pos;
									},
								mode: 'vertical',
								steps: altCon - altFin
							});
							
							
							cont.addEvent('mousewheel', funRotella);
						}
					});
				});
			});
		break;
		case 5:
			var funCalcola = function() {
				var qta = parseInt($('ordine_qta').get('value'));
				if (!($type(qta) == 'number')) {
					//$('ordine_qta').set('value', '0');
					qta=0;
				}
				
				var prezzoTot = prezzo_cd * qta;
				
				if ($('radio_contrassegno').get('checked'))
					prezzoTot += prezzo_contrassegno;
				
				var strPrezzo = ''+Math.floor(prezzoTot);
				strPrezzo += ',';
				var cent = Math.floor(prezzoTot *100) - (Math.floor(prezzoTot)*100);
				if (cent < 10) strPrezzo += '0';
				strPrezzo += ''+cent;
				$('prezzo_tot').set('html', strPrezzo);
			}
			$('ordine_qta').addEvent('keypress', function(e) {
				if (!((e.code >= 48 && e.code <= 57) || e.code == 8 ))
					e.stop();
			});
			$('ordine_qta').addEvent('keyup', funCalcola);
			$('ordine_qta').addEvent('change', funCalcola);
			$('radio_contrassegno').addEvent('click', funCalcola);
			$('radio_bonifico').addEvent('click', funCalcola);
			
		case 6:
			$('priv_link').addEvent('click', function(e) {
				e.stop();
				var cont = $('cont-out');
				var contIn = $('cont-in');
				var id = 7;
				var tw = cont.get('tween');
				var hCont = cont.getCoordinates().height;
				
				var funRiempi = function() {
					getDati(document.getElement('title'), 'pageTitle='+id, $empty);
					
					getDati(contIn, 'pageID='+id, function() {
						attivaScroll();
						tw.removeEvent('complete', funRiempi);
						tw.start('top', '0px');
						isUp = false;
						funPage(id);
					});
				}
				
				if (!isUp) {
					tw.addEvent('complete', funRiempi);
					tw.start('top', -hCont+'px');
					isUp = true;
				}
				else {
					funRiempi();
				}
			});
			
			var fv = new FormValidator('formContatti', {
					onElementPass : function(el) {
							el.removeClass('formKO');
							el.addClass('formOK');
						},
					onElementFail : function(el) {
							el.removeClass('formOK');
							el.addClass('formKO');
						}
				});
			$('formContatti').addEvent('submit', function(e) {
				e.stop();
				this.set('send', {
					url: '_get.php?pageID='+pageID,
					method: 'post',
					onSuccess: function(resp) {
						$('cont-in').set('html', resp);
					},
					onFailure: function(xhr) {
						//alert('Errore'+xhr);
					}
				});
				if (fv.validate()) {
					if (!$('form_norma').get('checked')) {
						alert('Prima di continuare prendere visione dell\'Informativa sulla Privacy');
						return;
					}
					this.send();
					$('btnSubmit').setStyle('display', 'none');
					$('imgLoading').setStyle('display', 'inline');
				}
			});
		break;
	}
}

var isUp, currPage = 0;
window.addEvent('domready', function() {
	var cont = $('cont-out');
	var contIn = $('cont-in');
	contW = contIn.getCoordinates().width;
	cont.set('tween', {
		transition: Fx.Transitions.Quint.easeOut,
		duration: 1000,
		link: 'chain'
	});
	
	attivaScroll();
	
	var hCont = cont.getCoordinates().height;
	
	
	if (cont.hasClass('home'))
		isUp = true;
	else
		isUp = false;
	
	$$('#mainMenu area').each(function(el) {
		el.addEvent('click', function(e) {
			e.stop();
			var id = this.get('id').substr(9);
			var tw = cont.get('tween');
			
			var funRiempi = function() {
				if (!Browser.Engine.trident)
					getDati(document.getElement('title'), 'pageTitle='+id, $empty);
				
				getDati(contIn, 'pageID='+id, function() {
					attivaScroll();
					tw.removeEvent('complete', funRiempi);
					tw.start('top', '0px');
					isUp = false;
					funPage(id);
					currPage = id;
					contIn.getElements('img').each(function(el) {
						el.onload = function() {attivaScroll();}
					});
				});
			}
			
			
			if (!isUp) {
				if (currPage == id) {
					currPage = 1;
					if (!Browser.Engine.trident)
						getDati(document.getElement('title'), 'pageTitle='+currPage, $empty);
				}
				else {
					tw.addEvent('complete', funRiempi);
				}
				tw.start('top', -hCont+'px');
				isUp = true;
			}
			else {
				funRiempi();
			}
			
			
		});
	});
	
});

var mySlider;
var funRotella;

function attivaScroll() {
	
	var scrollCorpo;
	var inScroll = false;
	var currPos = 0;
	
	var cont = $('cont-out');
	var div = $('contenuto');
	div.setStyle('overflow', 'hidden');
	var el = $('cont-in');
	var slCont = $('slider-cont');
	var slider = $('mainSlider');
	var knob = $('mainKnob');
	
	if ($type(mySlider) != false) {
		mySlider.set(currPos);
		mySlider.detach();
		cont.removeEvent('mousewheel', funRotella);
	}
	
	funRotella = function(e) {
			e.stop();

			if (e.wheel < 0) {
				currPos +=10;
				if (currPos > (altCon - altFin))
					currPos = altCon - altFin;
				mySlider.set(currPos);
			}
			if (e.wheel > 0) {
				currPos -=10;
				if (currPos < 0)
					currPos = 0;
				mySlider.set(currPos);
			}
		}
	
	var altFin = div.getCoordinates().height;
	var altCon = el.getCoordinates().height+20;
	if (altCon > altFin) {
		
		el.setStyle('width', (contW-20)+'px');
		slCont.setStyle('display', 'block');
		scrollCorpo = new Fx.Scroll(div, {
								link: 'cancel'
							});

		scrollCorpo.addEvent('start', function() { 
								inScroll = true;
							});

		scrollCorpo.addEvent('complete', function() { 
								inScroll = false;
								mySlider.set(currPos);
							});
		
		mySlider = new Slider(slider, knob, {
			onChange: function(pos){
					scrollCorpo.set(0,pos);
					currPos = pos;
				},
			mode: 'vertical',
			steps: altCon - altFin
		});
		
		
		cont.addEvent('mousewheel', funRotella);
	}
	else {
		el.setStyle('width', (contW)+'px');
		slCont.setStyle('display', 'none');
	}
}

