// JavaScript Document

/*
	funzione per il flash del menu con le icone
	restituisce un json con gli elementi di menu e le posizioni
*/

function getMenuItems() {	
	var menu = $$('.menu a');
	var width = 0;
	var arr = [];
	menu.each(function(el){		
		arr.push({
			id : el.rel,
			enabled: !el.getParent().hasClass('disabled'),
			cx: parseInt(width + el.getParent().getSize().x/2),
			selected: el.hasClass('selected')
		});
		width += el.getParent().getSize().x;
	});
	return JSON.encode(arr);			
}

function showCartolina() {
	document.getElement('.cartolinapreview').setStyle('display','');
}

function scrollWallpapers($page) {
	var imgcont = $('elencoimmagini');

	var index = $page*5;
	var scroller = null;
	if($defined(imgcont.retrieve('scroller'))) {
		scroller = imgcont.retrieve('scroller');
	} else {
		scroller = new Fx.Scroll(imgcont, {	offset: { 'x': 0, 'y': 0 }});
	}
	imgcont.store('scroller', scroller);
	var toX = parseInt(600)*$page;
	scroller.start(toX, 0);	
}

window.addEvent('domready', function() {
								
	
	if($defined(document.getElement('input[name="vb_login_username"]')) && $defined(document.getElement('input[name="vb_login_password"]'))) {
	
			/*var elems = {};
			elems.userEl = document.getElement('input[name="vb_login_username"]');
			elems.passwEl = document.getElement('input[name="vb_login_password"]');
			
			if(elems.userEl.value != "username" && elems.passwEl.value == "password") elems.passwEl.value = "";
			
			elems.userEl.addEvent('focus', function(event){
				if(this.userEl.value == "username") this.userEl.value = '';
				else if(this.passwEl.value == "password") this.passwEl.value = "";
			}, elems);
			
			elems.userEl.addEvent('blur', function(event){
				if(this.userEl.value == '') this.userEl.value = "username";
			}, elems);
						
			elems.passwEl.addEvent('focus', function(event){
				if(this.userEl.value != "username") return;
				if(this.passwEl.value == "password") this.passwEl.value = '';
			}, elems);
			
			elems.passwEl.addEvent('blur', function(event){
				if(this.userEl.value != "username") return;
				if(this.passwEl.value == '') this.passwEl.value = "password";
			}, elems);
			*/
			
			$$('input[name="vb_login_username"]').each(function(el){
				el.addEvent('focus', function(event){
					if(this.value == "username") this.setProperty('value', "");
				}, el);
				el.addEvent('blur', function(event){
					if(this.value == '') this.setProperty('value', "username");
				}, el);
			});	
			
			$$('input[name="vb_login_password"]').each(function(el){		
				/*var switchtype = function($el, $type) {					
					try { 
						if($el.value == 'password') 
						$el.setProperty('type',$type);					
					} catch(e) {}
					try { 
						if($el.value == 'password') 
						$el.type = $type;					
					} catch(e) {}
				}
				switchtype(el,'text');*/
				el.addEvent('focus', function(event){
					if(this.value == "password") {
						this.setProperty('value', "");
						//switchtype(this,'password');
					}
				}, el);
				el.addEvent('blur', function(event){
					if(this.value == '') {
						this.setProperty('value', "password");
						//switchtype(this,'text');
					}
				}, el);		
			});
	
	}
	
	$$('.menu li.disabled a').each(function(el){ el.setOpacity(.5); });
	
	var menuW = 0;
	$$('.menu li').each(function(el){ menuW += el.getSize().x }, this);
	menuW+=6;
	document.getElement('.menu').setStyle('width', menuW);
	document.getElement('.menu').setStyle('margin-left', -menuW/2);		
	
	new Swiff('/be/public/inc/swf/dock.swf', {
   	 	id: 'dockSwf',
		container: $('dock'),
    	width: menuW,
    	height: 80,
    	params: {
	        wmode: 'transparent',
			allowscriptaccess: 'always'
	    }
	});
	
	$('dock').setStyle('width', menuW);
	$('dock').setStyle('margin-left', -menuW/2);	
	
	document.getElement('body').onScroll = function() {
		document.getElement('body').scrollTo(0);	
	}
	
	checkBodyPosition.periodical(500);
	
	//if($defined($('cartolinapreviewSWF'))) $('cartolinapreview').addEvent('click', closeCartolina);
});
	
function closeCartolina() {
	$('cartolinapreview').setStyle("display", "none");
	$$('.lb').setStyle("display", "none");
	$('player').destroy();
}

function setSfondoPageSelected() {
	var selectedSfondoId = parseInt($('sfondoId').value);
	if(selectedSfondoId>0) {
		$$('.elencoimmagini a').setOpacity(.5);
		$$('.elencoimmagini a').each(function(el,i){
			if(el.get("rel") == selectedSfondoId) {
				el.setOpacity(1);				
				var page = Math.ceil(i/5)-1;				
				scrollWallpapers(page);
			}
		});
	}
}

function onCanzoneTabClick(ev) {
	var $event = new Event(ev);
	var target = $event.target;
	$$('.canzonitabs a').removeClass("selected");
	target.addClass("selected");
	var group = target.get("rel");
	$$('.groupcanzoni').addClass("hidden");
	$(group).removeClass("hidden");
}

function changeFraseAmore($id) {
	var messageId = 'message' + $id;
	$$('.fraseamore').addClass('hidden');
	$(messageId).removeClass('hidden');
	if($defined($(messageId).getNext())) $(messageId).getNext().removeClass('hidden');
	else $(messageId).getPrevious().removeClass('hidden');
	
	if($defined($(messageId).getNext().getNext())) $(messageId).getNext().getNext().removeClass('hidden');
	else $(messageId).getPrevious().getPrevious().removeClass('hidden');
   	
	$('elencofrasiamore').scrollTo(0);	
}

function checkBodyPosition() {
	document.getElement('body').scrollTo(0,0);
	document.getElement('html').scrollTo(0,0);
}

function onMenuItemMouseOver() {
	try{
		$('dockSwf').showByID(this.rel);
	} catch(e) {}
}
function onMenuItemMouseOut() {
	try{
		$('dockSwf').hideByID(this.rel);
	} catch(e) {}
}


window.addEvent('domready', function(){	
									 
	var menuItems = document.getElements('.menu li');
	menuItems.each(function(el){
		el.addEvent('mouseover', onMenuItemMouseOver.bind(el.getFirst()));
		el.addEvent('mouseout', onMenuItemMouseOut.bind(el.getFirst()));
	});
	
	if($defined(document.getElement('.register'))) document.getElement('.register').addEvent('click', showRegisterForm);
	if($defined($('formlogin'))) $('formlogin').addEvent('submit', onSubmitLoginForm);
	if($defined(document.getElement('.logout'))) document.getElement('.logout').addEvent('click', onLogout);
	
	var lastMenuItem = $$('.menu li.last')[0];
	var menuParent = $$('.container')[0];
	var submenu = $$('.menubottom')[0];
	
	var posX = lastMenuItem.getPosition(menuParent).x;
	submenu.setStyle('left', posX + (lastMenuItem.getSize().x - submenu.getSize().x));
});

function onIFrameLoaded()
{
	var fm = document.getElement('.formregistrazione');
	if(fm.getStyle('display')!='none') return;
	
	var lb = document.getElement('.lb');
	Tweener.addTween(lb, 'opacity', 0, { duration: 0 });	
	lb.setStyle('display', 'block');	
	Tweener.addTween(lb, 'opacity', .7, { delay: 0,  duration: 350, transition: Fx.Transitions.Quint.easeOut });
	fm.setStyle('display', 'block');
}

function showRegisterForm(url) {
	if($type(url)=='event' || !$defined(url)) url = '/be/main.php?page=fe_registrati';

	if(!$defined($('registerIframe').retrieve('onLoadListener'))) {
		$('registerIframe').addEvent('load', onIFrameLoaded.bind($('registerIframe')));
		$('registerIframe').store('onLoadListener', 1);		
	}
	$('registerIframe').setProperty('src', url);			
}


function hideRegisterForm() {
	var lb = document.getElement('.lb');
	Tweener.addTween(lb, 'opacity', 0, { duration: 350, transition: Fx.Transitions.Quint.easeOut });
	var fm = document.getElement('.formregistrazione');
	fm.setStyle('display', 'none');
	
	new Request({ url: '/be/servizi/unsetErrors.php' }).get();
}

function onSubmitLoginForm($event) {

	if($('formlogin').retrieve('enabled')) return;
	
	var onCheckLoginForm = function($response, $event) {

		switch($response.result.action) {
			case "toActivate":
				alert("L'utenza inserita deve essere ancora attivata.");	
				break;
			case "ok":
				$('formlogin').store('enabled', 1);
				$('formlogin').set('send', { onComplete: function() { document.location.reload(); }});				
				$('formlogin').send();				
				break;
			case "registra":
				alert("I tuoi dati sono stati recuperati da...");
				showRegisterForm();
				break;
			case "fail":
				alert("Username o password errati.");
				break;
			case "banned":
				alert("Attenzione! Sono stati effettuati troppi tentativi di login, ti preghiamo di ritentare tra 15 minuti.");
				break;
		}
	}
	
	var ev = new Event($event);
	ev.stop();	
	
	var requestParams = {
		url: "/be/servizi/getAlgidaInfo.php?c=" + Math.round(Math.random() * 1000000), 
		onComplete: onCheckLoginForm
	}	
	var postVars = {
		username: document.getElement('.login-username').value,
		password: document.getElement('.login-password').value
	}
	
	new Request.JSON(requestParams).post(postVars);
}


function onLogout($event) 
{
	var ev = new Event($event);
	ev.stop();
	var link = ev.target.href;
	new Request({ url: link, onComplete: function() { document.location.reload(); } }).get();	
}


function showFooterPage($page, $text) 
{
	
	var page = document.getElement('.' + $page);
	if($defined($text)){
			$('alertText').set('html',$text);
		}
	
	Tweener.addTween(page, 'opacity', 0, { duration: 0 });
	page.setStyle('display', 'block');	
	Tweener.addTween(page, 'opacity', 1, { delay: 0,  duration: 350, transition: Fx.Transitions.Quint.easeOut });
	
	var lb = document.getElement('.lb');
	Tweener.addTween(lb, 'opacity', 0, { duration: 0 });	
	lb.setStyle('display', 'block');	
	Tweener.addTween(lb, 'opacity', .7, { delay: 0,  duration: 350, transition: Fx.Transitions.Quint.easeOut });		
}

function closeFooterPage($page)
{
	var page = document.getElement('.' + $page);
	page.setStyle('display', 'none');
	var lb = document.getElement('.lb');
	lb.setStyle('display', 'none');	
	
}


function chooseWallpaper($id) {
	
	$('sfondoId').value = $id;
	$$('.sfondocartolina').each(function(el) {
		el.setOpacity(.5);
	});
	document.getElement('.sfondocartolina[rel="'+$id+'"]').setOpacity(1);
	
}

function chooseSong($id) {
	
	$('songId').value = $id;
	$$('.canzonecartolina').each(function(el) {
		el.setOpacity(.5);
	});
	document.getElement('.canzonecartolina[rel="'+$id+'"]').setOpacity(1);
	
}




























