var params = {};
params.allowScriptAccess = 'sameDomain';
params.menu = 'false';
params.scale = 'showAll';
params.wmode	=	'transparent';
params.allowFullScreen = 'false';

function setLabel (id, label) {	
	var vars = {};	
	if ($(id).down('a')) {
		vars.showText = $(id).down('a').innerHTML;
		vars.callBack = escape($(id).down('a').readAttribute('href'));
	}
	else
		vars.showText = label;		
	if ($(id).hasClassName('black'))
		vars.colore = '0x333333';	
	swfobject.embedSWF('/swf/label.swf', id, '380', '40', '8.0.0','/swf/expressInstall.swf', vars, params);
	$(id).insert({after:'<br />'});
}

function caricaPlayer_flv(video){
	swfobject.embedSWF('/swf/player_flv.swf', video, '320', '273', '9.0.45','/swf/expressInstall.swf', {cnt:video}, {menu: 'false', wmode: 'opaque', allowFullScreen: 'true'}, {id: video});
	document.write("<div id="+video+" style='width:320px; height:273px;'></div>");
}

function setDida () {
	$$('.dida').each(function (d) {
		d.previous('a[rel]').writeAttribute('title',d.innerHTML);
	});
}

/*SLIDE SHOW */
var slideImgs=new Array();
var slideInd=0;
var slideReady=false;
var img=new Image;
function initCascinaSlide () {
	slideImgs=$('islide').value.split(',');	
	loadImage()
	new PeriodicalExecuter(showZoom, 3);
}

function loadImage() {	
	slideReady=false;
	slideInd++;
	if (slideInd==slideImgs.size())
		slideInd=0;		
	img.src='/cascina/images/slide/'+slideImgs[slideInd];
	img.observe('load', function () {
		slideReady=true;
	});
}

function showZoom () {
	if (slideReady) {
		$('zoom').down('img').fade({duration: .3, from: 1, to: 0, afterFinish:function () {
			$('zoom').down('img').src=img.src;
			loadImage();
			$('zoom').down('img').appear({duration: .5});
		}});		
	}
}

/* THUMB SLIDE */
var slide_step=59;

/*function initCascinaSlide () {
	$$('#slide a').each (function (a) {
		a.observe('click', function (event) {
			event.stop();
			var img=new Image();
			$('zoom').down('img').setOpacity(.4);
			img.src=this.readAttribute('href');
			img.observe('load', function (event) {				
				$('zoom').down('img').remove();														
				$('zoom').insert({top: img});
			});			
			return false;
		});
	});
	initScroll ('slide',0,false,true);
	$$('#arrows a').each (function (a) {
		a.observe('click', moveSlide);
	});
}*/

function moveSlide (event) {
	event.stop();
	var src=Event.findElement(event,'A');
	var delta=src.className=='bleft'?-118:118;
	
	scrollLeft(delta);
	
	return false;
}

function scrollLeft (_delta) {
	var _inc=0;
	var _sign=(_delta>0?1:-1);
	new PeriodicalExecuter(function(pe) {
		$('slide').scrollLeft+=(slide_step*_sign);
		_inc+=(slide_step*_sign);
		if (Math.abs(_inc)>=Math.abs(_delta))
			pe.stop();			
		}, .05);
}

/*SHOP THUMB */
function initProductThumbs () {
	$$('#thumb_image a').each (function (a) {
		Event.observe (a, 'click', loadMedium); 
	});			
}

function loadMedium (event) {
	event.stop();
	var src=Event.findElement(event,'A');				
		
	$$('#pimage .show').each (function (s) {
		s.removeClassName('show');
		s.hide();
	});
		
	var id=src.down('img').id.substring(6);
	if ($('big_'+id)) {
		$('big_'+id).show();
		$('big_'+id).addClassName('show');
	}
	if ($('medium_'+id)) {
		$('medium_'+id).show();
		$('medium_'+id).addClassName('show');
	}
	
	return false;
}

/* SHOP */
function doLogin (){
	var err=false;
	$$('#FLOG .required').each (function (i) {
		i.removeClassName('input_error');
		if (i.value=='') {
			i.addClassName('input_error');
			err=true;
		}			
	});
	
	if (err)
		return false;
		
	var strSubmit=$('FLOG').serialize(true);

	ajaxCall('/include/process.php',strSubmit,loginResponse);
	
	return false;
}

function loginResponse () {	
	var post=$(arguments)[0];
	var res=$(arguments)[1];
	
	if (!res.isJSON()) {
		printError ('WRONG: '+res);
		return false;
	}
	
	var data=res.evalJSON();
	if (!data.res) {
		printError ('ERROR: '+data.cnt);
		return false;
	}

	window.location.href=data.cnt;	
}

function initRegistrationForm () {
	$('prz_type').observe('change', function (event) {		
		if (this.value.startsWith('G')) {
			$('type').show();
			$('type').down('input').addClassName('required');
		}
		else {
			$('type').hide();
			$('type').down('input').removeClassName('required');
		}
	});
}

function doRegistration (){
	var err=false;
	var emailREG = /^(\w+[\.\-\_\s])*\w+@(\w+[\.\-\_\s])+[A-Za-z]+$/;
	var userREG = /^(\w+[\.\-\_\s])*\w+$/;
	var pwdREG = /^(\w+[\_])*\w+$/;
	
	$$('#FREG .required').each (function (i) {
		i.removeClassName('input_error');
		if (i.value=='') {
			i.addClassName('input_error');
			err=true;
		}
	});
	
	if (err) {
		alert ('Compila i campi obbligatori');
		return false;
	}
	
	//CHECK TYPE
	if ($('prz_type').value==''){
		alert ('Seleziona un tipo account');
		return false;
	}
	
	//CHECK USER
	if (!userREG.test($('r_user').value)) {
		$('r_user').addClassName('inerr');
		alert ('Username non valido');
		return false;
	}
	//CHECK PWD
	if (!pwdREG.test($('r_pwd').value)) {
		$('r_pwd').addClassName('inerr');
		alert ('Password non valida');
		return false;
	}
	if ($('r_pwd').value != $('r_pwd2').value) {
		$('r_pwd').addClassName('inerr');
		$('r_pwd2').addClassName('inerr');
		alert ('Le password non corrispondono');
		return false;
	}
	//CHECK EMAIL
	if (!emailREG.test($('email').value)) {
		$('email').addClassName('inerr');
		alert ('Email non valida');
		return false;
	}
	
	var strSubmit=$('FREG').serialize(true);	
	
	ajaxCall('/include/process.php',strSubmit,registrationResponse);
	
	return false;
}

function registrationResponse () {
	var post=$(arguments)[0];
	var res=$(arguments)[1];
	
	if (!res.isJSON()) {
		printError ('WRONG: '+res);
		return false;
	}
	
	var data=res.evalJSON();
	if (!data.res) {
		printError ('ERROR: '+data.cnt);
		return false;
	}

	$('main_login').innerHTML='';
	$('main_login').insert({top: data.cnt});
}

/*OTHERS*/
function ajaxCall() { // url, vars, callback function
	if ($(arguments)[0]=='') {
		alert ('ajaxCall missing first parameter');
		return false;
	}
	
	var _postVars='';
	var _callBack=false;
	var _callVars=Array();
	
	$A(arguments).each (function (a,i) {
		switch (i) {
		case 0:
			var _url=a;
			break;
		case 1:
			_postVars=a;	
			break;
		case 2:
			_callBack=a;
			break;
		default:
			_callVars.push(a);
			break;
		}
	});	
	
	new Ajax.Request($(arguments)[0], {
		method: 'post', 
		parameters: _postVars, 
		onSuccess: function(transport) {
			res=transport.responseText;
			if (!res.isJSON())
				printError ('ERROR\r\n\n'+res);
			else {
				if (_callBack)
					_callBack(_postVars,res,_callVars);
			}				
		},
		onFailure: function (transport) {
			alert(transport.responseText);
		},
		onException: function (request, exception) {
			alert("Js Exception: " + exception);
		}
	});
}

function printError(msg) {
	alert (msg);
}
  
