var abspath = "http://www.borghiazio.com/";
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var ie6, ie7;
$(document).ready(function(){
	((document.all)&&(navigator.appVersion.indexOf("MSIE 7.")!=-1)) ? (ie7=true) : (ie7=false);	
	((document.all)&&(navigator.appVersion.indexOf("MSIE 6.")!=-1)) ? (ie6=true) : (ie6=false);
	
	if($('#layout').height() < $(window).height()) {
		setLayout();
		}

	if(ie6) $(document).pngFix();
	
	$('a[@rel*=lightbox]').lightbox({
		fileLoadingImage: abspath + 'img/shared/lightbox/loading.gif',
		fileBottomNavCloseImage: 'img/shared/lightbox/closelabel.gif'
		});
	
	$('a.privacy').click(function(e) {
		e.preventDefault();
		window.open(e.target,'neww', 'left=0,top=0,menubar=no,location=yes,titlebar=no,directories=no,resizable=yes,scrollbars=yes,status=no,width=500,height=420');
	});
	
	$('a#credits').attr('target', '_blank');
	
	price_an.listen();

});

var price_an = {
	listen : function() {
		$('a.prezzi').click(function(e) {
			var url = $(this).attr('href');
			e.preventDefault();
			price_an.buildWin()
			price_an.loadContent(url);
			});
	},
	buildWin : function() {
		backgroundDiv = "<div class='overlay'></div>";
		contentDiv = "<div class='formHolder'><a href='javascript:price_an.close()' id='closeLayer'><img src=\""+abspath+"img/shared/close.png\" /></a><div class=\"content\"></div></div>";
		var scrollPos = getScroll();
		$('body').append(backgroundDiv);
		$('body').append(contentDiv);
		$('div.overlay').css('opacity',0);
		$('div.formHolder').css({
			'top': ($(window).height()/2) + scrollPos['scrollTop'] - ($('div.formHolder').height()/2),
			'left': ($(window).width()/2) + scrollPos['scrollLeft'] - ($('div.formHolder').width()/2)
		});
		$('div.overlay').fadeTo('fast',0.8, function() {
			$('div.formHolder').fadeIn('fast', function() {
			});
		});
	},
	loadContent : function(url) {
		$('.formHolder .content').load(abspath + url, null, function() {
			$('.submit input').bind('click', function(e) {
				price_an.submitForm(e);
				});
			$('a.form-privacy').bind('click', function(e) {
				e.preventDefault();
				window.open(e.target,'neww', 'left=0,top=0,menubar=no,location=yes,titlebar=no,directories=no,resizable=yes,scrollbars=yes,status=no,width=500,height=420');
				});
			});
	},
	submitForm : function(event) {
			event.preventDefault();
			$('.formHolder form').ajaxSubmit({
			beforeSubmit: price_an.validate,
			beforeSend : function() {
				$('form label').removeClass(); // reset label errors
				$('.submit').html('<img src="'+abspath+'/img/shared/loader.gif" />'); }, 
			success : function(response) {
				if(response=='ok') {
					$('.submit').html('<p class="confirm">La sua richiesta &egrave; stata inoltrata.<br />Un nostro addetto le risponder&agrave; quanto prima con l\'analisi prezza richiesta. <a href="javascript:price_an.close();">Chiudi Finestra</a></p>');
				} else {
					$('.holder .content').html(response).find('.submit input').bind('click', function(e) {
						submitForm(e);
					});
				}
			}
		});
	},
	validate : function(formData, jqForm, options) {
		$('form label').removeClass(); // reset label errors
		var error_txt = '';
		var name = $('input[@name="name"]').fieldValue();
		var email = $('input[@name="email"]').fieldValue();
		var address = $('input[@name="address"]').fieldValue();
		var city = $('input[@name="city"]').fieldValue();
		var prov = $('input[@name="prov"]').fieldValue();
		var privacy = $('input[@name="privacy"]').fieldValue();
		if(name == '') {
			error_txt += 'Inserire il nome o la ragione sociale\n';
			$('#lbl-name').addClass('error');
			}
		if(email == '' || reg.test(email) == false) {
			error_txt += 'Inserire un indirizzo email valido\n';
			$('#lbl-email').addClass('error');
			}
		if(address == '') {
			error_txt += 'Inserire l\'indirizzo\n';
			$('#lbl-address').addClass('error');
			}
		if(city == '') {
			error_txt += 'Inserire la cittā\n';
			$('#lbl-city').addClass('error');
			}
		if(prov == '') {
			error_txt += 'Inserire la provincia\n';
			$('#lbl-prov').addClass('error');
			}
		if(privacy == '') {
			error_txt += 'Il consenso al trattamento dei dati č obbligatorio';
			$('#lbl-privacy').addClass('error');
			}
		
		if(error_txt != '') {
			alert(error_txt);
			return false;
			}
		},
	close : function() {
		$('div.formHolder').fadeOut('fast', function() {
			$('div.overlay').fadeOut('fast', function() {
				$('div.formHolder').remove();
				$('div.overlay').remove();
			});
		});
	}	
}

var video = {
	open : function(videofile, vid_width, vid_height) {
		backgroundDiv = "<div class='overlay'></div>";
		contentDiv = "<div class='videoHolder'><a href='javascript:video.close()' id='closeLayer'><img src=\""+abspath+"img/shared/close.png\" /></a><div id=\"video\"></div><div class=\"bottom\"><a href='javascript:video.close()' id='closeLayer'>Close Video</a></div></div>";
		var scrollPos = getScroll();
		$('body').append(backgroundDiv);
		$('body').append(contentDiv);
		$('div.overlay').css('opacity',0);
		$('div.videoHolder').css({
			'width' : vid_width,
			'height' : vid_height + 30,
			'top': ($(window).height()/2) + scrollPos['scrollTop'] - ((vid_height + 30)/2),
			'left': ($(window).width()/2) + scrollPos['scrollLeft'] - (vid_width/2)
		});
		
		$('div.overlay').fadeTo('fast',0.8, function() {
			$('div.videoHolder').fadeIn('fast', function() {
				$('#video').flash({ swf: abspath+'docs/video/'+videofile, height:vid_height, width:vid_width });
				$('div.overlay').bind('click', video.close);
			});
		});
	},
	close : function() {
		$('div.videoHolder').fadeOut('fast', function() {
			$('div.overlay').fadeOut('fast', function() {
				$('div.videoHolder').remove();
				$('div.overlay').remove();
			});
		});
	}	
}
	

function getScroll() {
		scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0;
		scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || 0;
		return {scrollTop:scrollTop,scrollLeft:scrollLeft};
	}

function setLayout() {
	w_h = $(window).height();
	$('#body').height(w_h - 222);
	}
		



/********************** UTILS ************************/
//pngfix
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(s($){3.1s.1k=s(j){j=3.1a({12:\'1m.1j\'},j);8 k=(n.P=="r 10 Z"&&U(n.v)==4&&n.v.E("14 5.5")!=-1);8 l=(n.P=="r 10 Z"&&U(n.v)==4&&n.v.E("14 6.0")!=-1);o(3.17.16&&(k||l)){3(2).L("1r[@m$=.M]").z(s(){3(2).7(\'q\',3(2).q());3(2).7(\'p\',3(2).p());8 a=\'\';8 b=\'\';8 c=(3(2).7(\'K\'))?\'K="\'+3(2).7(\'K\')+\'" \':\'\';8 d=(3(2).7(\'A\'))?\'A="\'+3(2).7(\'A\')+\'" \':\'\';8 e=(3(2).7(\'C\'))?\'C="\'+3(2).7(\'C\')+\'" \':\'\';8 f=(3(2).7(\'B\'))?\'B="\'+3(2).7(\'B\')+\'" \':\'\';8 g=(3(2).7(\'R\'))?\'1d:\'+3(2).7(\'R\')+\';\':\'\';8 h=(3(2).1c().7(\'1b\'))?\'19:18;\':\'\';o(2.9.y){a+=\'y:\'+2.9.y+\';\';2.9.y=\'\'}o(2.9.t){a+=\'t:\'+2.9.t+\';\';2.9.t=\'\'}o(2.9.w){a+=\'w:\'+2.9.w+\';\';2.9.w=\'\'}8 i=(2.9.15);b+=\'<x \'+c+d+e+f;b+=\'9="13:11;1q-1p:1o-1n;O:W-V;N:1l;\'+g+h;b+=\'q:\'+3(2).q()+\'u;\'+\'p:\'+3(2).p()+\'u;\';b+=\'J:I:H.r.G\'+\'(m=\\\'\'+3(2).7(\'m\')+\'\\\', D=\\\'F\\\');\';b+=i+\'"></x>\';o(a!=\'\'){b=\'<x 9="13:11;O:W-V;\'+a+h+\'q:\'+3(2).q()+\'u;\'+\'p:\'+3(2).p()+\'u;\'+\'">\'+b+\'</x>\'}3(2).1i();3(2).1h(b)});3(2).L("*").z(s(){8 a=3(2).T(\'N-S\');o(a.E(".M")!=-1){8 b=a.X(\'1g("\')[1].X(\'")\')[0];3(2).T(\'N-S\',\'1f\');3(2).Q(0).Y.J="I:H.r.G(m=\'"+b+"\',D=\'F\')"}});3(2).L("1e[@m$=.M]").z(s(){8 a=3(2).7(\'m\');3(2).Q(0).Y.J=\'I:H.r.G\'+\'(m=\\\'\'+a+\'\\\', D=\\\'F\\\');\';3(2).7(\'m\',j.12)})}1t 3}})(3);',62,92,'||this|jQuery||||attr|var|style|||||||||||||src|navigator|if|height|width|Microsoft|function|padding|px|appVersion|margin|span|border|each|class|alt|title|sizingMethod|indexOf|scale|AlphaImageLoader|DXImageTransform|progid|filter|id|find|png|background|display|appName|get|align|image|css|parseInt|block|inline|split|runtimeStyle|Explorer|Internet|relative|blankgif|position|MSIE|cssText|msie|browser|hand|cursor|extend|href|parent|float|input|none|url|after|hide|gif|pngFix|transparent|blank|line|pre|space|white|img|fn|return'.split('|'),0,{}));
/** Form plugin **/
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(5($){$.A.R=5(u){2(!3.F){S(\'R: 2G 9 2H - 2I 2J 1b\');6 3}2(T u==\'5\')u={U:u};u=$.1k({1l:3.M(\'1m\')||1c.2K.2L(),G:3.M(\'1Q\')||\'1R\'},u||{});4 v={};3.K(\'B-1S-1T\',[3,u,v]);2(v.1U){S(\'R: 9 1V 1n B-1S-1T K\');6 3}2(u.1s&&u.1s(3,u)===H){S(\'R: 9 1d 1n 1s 1W\');6 3}4 a=3.1t(u.2M);2(u.I){u.N=u.I;J(4 n 1u u.I){2(u.I[n]2N 15){J(4 k 1u u.I[n])a.C({7:n,8:u.I[n][k]})}D a.C({7:n,8:u.I[n]})}}2(u.1v&&u.1v(a,3,u)===H){S(\'R: 9 1d 1n 1v 1W\');6 3}3.K(\'B-9-1X\',[a,3,u,v]);2(v.1U){S(\'R: 9 1V 1n B-9-1X K\');6 3}4 q=$.1w(a);2(u.G.2O()==\'1R\'){u.1l+=(u.1l.2P(\'?\')>=0?\'&\':\'?\')+q;u.I=E}D u.I=q;4 w=3,W=[];2(u.1x)W.C(5(){w.1x()});2(u.1y)W.C(5(){w.1y()});2(!u.16&&u.17){4 x=u.U||5(){};W.C(5(a){$(u.17).2Q(a).O(x,1Y)})}D 2(u.U)W.C(u.U);u.U=5(a,b){J(4 i=0,L=W.F;i<L;i++)W[i].2R(u,[a,b,w])};4 y=$(\'X:2S\',3).18();4 z=H;J(4 j=0;j<y.F;j++)2(y[j])z=P;2(u.1Z||z){2($.1e.2T&&u.20)$.2U(u.20,1z);D 1z()}D $.2V(u);3.K(\'B-9-2W\',[3,u]);6 3;5 1z(){4 i=w[0];2($(\':X[@7=9]\',i).F){2X(\'2Y: 2Z 21 30 31 32 33 "9".\');6}4 j=$.1k({},$.22,u);4 s=1A.1k(P,{},$.1k(P,{},$.22),j);4 k=\'34\'+(1B 35().36());4 l=$(\'<1Z 37="\'+k+\'" 7="\'+k+\'" />\');4 m=l[0];2($.1e.23||$.1e.24)m.25=\'38:H;1C.39("");\';l.3a({3b:\'3c\',26:\'-27\',28:\'-27\'});4 o={1d:0,19:E,1f:E,3d:0,3e:\'n/a\',3f:5(){},29:5(){},3g:5(){},3h:5(){3.1d=1;l.M(\'25\',\'3i:3j\')}};4 g=j.2a;2(g&&!$.1D++)$.1g.K("3k");2(g)$.1g.K("3l",[o,j]);2(s.2b&&s.2b(o,s)===H){s.2a&&1A.1D--;6}2(o.1d)6;4 p=0;4 q=0;4 r=i.V;2(r){4 n=r.7;2(n&&!r.1h){u.N=u.N||{};u.N[n]=r.8;2(r.G=="Y"){u.N[7+\'.x\']=i.Z;u.N[7+\'.y\']=i.11}}}1i(5(){4 t=w.M(\'17\'),a=w.M(\'1m\');w.M({17:k,1Q:\'3m\',1m:j.1l});2(!u.3n){w.M({3o:\'2c/B-I\',3p:\'2c/B-I\'})}2(j.1E)1i(5(){q=P;12()},j.1E);4 b=[];2d{2(u.N)J(4 n 1u u.N)b.C($(\'<X G="3q" 7="\'+n+\'" 8="\'+u.N[n]+\'" />\').2e(i)[0]);l.2e(\'1o\');m.2f?m.2f(\'2g\',12):m.3r(\'2h\',12,H);i.9()}3s{w.M(\'1m\',a);t?w.M(\'17\',t):w.3t(\'17\');$(b).2i()}},10);5 12(){2(p++)6;m.2j?m.2j(\'2g\',12):m.3u(\'2h\',12,H);4 c=0;4 d=P;2d{2(q)3v\'1E\';4 f,Q;Q=m.2k?m.2k.1C:m.2l?m.2l:m.1C;2(Q.1o==E&&!c&&$.1e.24){c=1;p--;1i(12,2m);6}o.19=Q.1o?Q.1o.3w:E;o.1f=Q.2n?Q.2n:Q;o.29=5(a){4 b={\'3x-G\':j.16};6 b[a]};2(j.16==\'3y\'||j.16==\'3z\'){4 h=Q.1F(\'1G\')[0];o.19=h?h.8:o.19}D 2(j.16==\'2o\'&&!o.1f&&o.19!=E){o.1f=2p(o.19)}f=$.3A(o,j.16)}3B(e){d=H;$.3C(j,o,\'2q\',e)}2(d){j.U(f,\'U\');2(g)$.1g.K("3D",[o,j])}2(g)$.1g.K("3E",[o,j]);2(g&&!--$.1D)$.1g.K("3F");2(j.2r)j.2r(o,d?\'U\':\'2q\');1i(5(){l.2i();o.1f=E},2m)};5 2p(s,a){2(1c.2s){a=1B 2s(\'3G.3H\');a.3I=\'H\';a.3J(s)}D a=(1B 3K()).3L(s,\'1H/2o\');6(a&&a.2t&&a.2t.1p!=\'3M\')?a:E}}};$.A.3N=5(c){6 3.2u().2v(\'9.B-1q\',5(){$(3).R(c);6 H}).O(5(){$(":9,X:Y",3).2v(\'2w.B-1q\',5(e){4 a=3.B;a.V=3;2(3.G==\'Y\'){2(e.2x!=13){a.Z=e.2x;a.11=e.3O}D 2(T $.A.2y==\'5\'){4 b=$(3).2y();a.Z=e.2z-b.28;a.11=e.2A-b.26}D{a.Z=e.2z-3.3P;a.11=e.2A-3.3Q}}1i(5(){a.V=a.Z=a.11=E},10)})})};$.A.2u=5(){3.2B(\'9.B-1q\');6 3.O(5(){$(":9,X:Y",3).2B(\'2w.B-1q\')})};$.A.1t=5(b){4 a=[];2(3.F==0)6 a;4 c=3[0];4 d=b?c.1F(\'*\'):c.21;2(!d)6 a;J(4 i=0,L=d.F;i<L;i++){4 e=d[i];4 n=e.7;2(!n)1I;2(b&&c.V&&e.G=="Y"){2(!e.1h&&c.V==e)a.C({7:n+\'.x\',8:c.Z},{7:n+\'.y\',8:c.11});1I}4 v=$.18(e,P);2(v&&v.1r==15){J(4 j=0,2C=v.F;j<2C;j++)a.C({7:n,8:v[j]})}D 2(v!==E&&T v!=\'13\')a.C({7:n,8:v})}2(!b&&c.V){4 f=c.1F("X");J(4 i=0,L=f.F;i<L;i++){4 g=f[i];4 n=g.7;2(n&&!g.1h&&g.G=="Y"&&c.V==g)a.C({7:n+\'.x\',8:c.Z},{7:n+\'.y\',8:c.11})}}6 a};$.A.3R=5(a){6 $.1w(3.1t(a))};$.A.3S=5(b){4 a=[];3.O(5(){4 n=3.7;2(!n)6;4 v=$.18(3,b);2(v&&v.1r==15){J(4 i=0,L=v.F;i<L;i++)a.C({7:n,8:v[i]})}D 2(v!==E&&T v!=\'13\')a.C({7:3.7,8:v})});6 $.1w(a)};$.A.18=5(a){J(4 b=[],i=0,L=3.F;i<L;i++){4 c=3[i];4 v=$.18(c,a);2(v===E||T v==\'13\'||(v.1r==15&&!v.F))1I;v.1r==15?$.3T(b,v):b.C(v)}6 b};$.18=5(b,c){4 n=b.7,t=b.G,1a=b.1p.1J();2(T c==\'13\')c=P;2(c&&(!n||b.1h||t==\'1j\'||t==\'3U\'||(t==\'1K\'||t==\'1L\')&&!b.1M||(t==\'9\'||t==\'Y\')&&b.B&&b.B.V!=b||1a==\'14\'&&b.1N==-1))6 E;2(1a==\'14\'){4 d=b.1N;2(d<0)6 E;4 a=[],1O=b.3V;4 e=(t==\'14-2D\');4 f=(e?d+1:1O.F);J(4 i=(e?d:0);i<f;i++){4 g=1O[i];2(g.1b){4 v=$.1e.23&&!(g.3W[\'8\'].3X)?g.1H:g.8;2(e)6 v;a.C(v)}}6 a}6 b.8};$.A.1y=5(){6 3.O(5(){$(\'X,14,1G\',3).2E()})};$.A.2E=$.A.3Y=5(){6 3.O(5(){4 t=3.G,1a=3.1p.1J();2(t==\'1H\'||t==\'3Z\'||1a==\'1G\')3.8=\'\';D 2(t==\'1K\'||t==\'1L\')3.1M=H;D 2(1a==\'14\')3.1N=-1})};$.A.1x=5(){6 3.O(5(){2(T 3.1j==\'5\'||(T 3.1j==\'40\'&&!3.1j.41))3.1j()})};$.A.42=5(b){2(b==13)b=P;6 3.O(5(){3.1h=!b})};$.A.1b=5(b){2(b==13)b=P;6 3.O(5(){4 t=3.G;2(t==\'1K\'||t==\'1L\')3.1M=b;D 2(3.1p.1J()==\'2F\'){4 a=$(3).43(\'14\');2(b&&a[0]&&a[0].G==\'14-2D\'){a.44(\'2F\').1b(H)}3.1b=b}})};5 S(){2($.A.R.45&&1c.1P&&1c.1P.S)1c.1P.S(\'[46.B] \'+15.47.48.49(1Y,\'\'))}})(1A);',62,258,'||if|this|var|function|return|name|value|submit|||||||||||||||||||||||||||fn|form|push|else|null|length|type|false|data|for|trigger|max|attr|extraData|each|true|doc|ajaxSubmit|log|typeof|success|clk|callbacks|input|image|clk_x||clk_y|cb|undefined|select|Array|dataType|target|fieldValue|responseText|tag|selected|window|aborted|browser|responseXML|event|disabled|setTimeout|reset|extend|url|action|via|body|tagName|plugin|constructor|beforeSerialize|formToArray|in|beforeSubmit|param|resetForm|clearForm|fileUpload|jQuery|new|document|active|timeout|getElementsByTagName|textarea|text|continue|toLowerCase|checkbox|radio|checked|selectedIndex|ops|console|method|GET|pre|serialize|veto|vetoed|callback|validate|arguments|iframe|closeKeepAlive|elements|ajaxSettings|msie|opera|src|top|1000px|left|getResponseHeader|global|beforeSend|multipart|try|appendTo|attachEvent|onload|load|remove|detachEvent|contentWindow|contentDocument|100|XMLDocument|xml|toXml|error|complete|ActiveXObject|documentElement|ajaxFormUnbind|bind|click|offsetX|offset|pageX|pageY|unbind|jmax|one|clearFields|option|skipping|process|no|element|location|toString|semantic|instanceof|toUpperCase|indexOf|html|apply|file|safari|get|ajax|notify|alert|Error|Form|must|not|be|named|jqFormIO|Date|getTime|id|javascript|write|css|position|absolute|status|statusText|getAllResponseHeaders|setRequestHeader|abort|about|blank|ajaxStart|ajaxSend|POST|skipEncodingOverride|encoding|enctype|hidden|addEventListener|finally|removeAttr|removeEventListener|throw|innerHTML|content|json|script|httpData|catch|handleError|ajaxSuccess|ajaxComplete|ajaxStop|Microsoft|XMLDOM|async|loadXML|DOMParser|parseFromString|parsererror|ajaxForm|offsetY|offsetLeft|offsetTop|formSerialize|fieldSerialize|merge|button|options|attributes|specified|clearInputs|password|object|nodeType|enable|parent|find|debug|jquery|prototype|join|call'.split('|'),0,{}));
/**
 * jQuery Lightbox
 * Version 0.5 - 11/29/2007
 * @author Warren Krewenki
 *
 * Changes by:
 * @author Krzysztof Kotowicz <koto at webworkers dot pl>:
 *  - bugfix: multiple instances of Lightbox galleries allowed
 *    (using opts variable instead of $.fn.lightbox.defaults)
 *  - bugfix: use var for local variables in a few functions
 *  - added support for navbarOnTop setting
 *  - added support for displayTitle setting
 *  - added support for slideNavBar setting (with slideNavBarSpeed)
 *  - added support for displayHelp setting
 *  - added support for fitToScreen setting (ported Lightbox VinDSL hack)
 *    (see http://www.huddletogether.com/forum/comments.php?DiscussionID=307)
 *  - plugin now uses jQuery.width() and jQuery.height()
 *  - removed eval() calls
 *  - removed destroyElement - uses jQuery.remove()
 *  - use of prevLinkText, nextLinkText and help
 *  - all strings are now placed in opts.strings to allow for customization/translation
 *
 * Based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * Originally written to make use of the Prototype framework, and Script.acalo.us, now altered to use jQuery.
 *
 **/

(function($){
	var opts;

	$.fn.lightbox = function(options){
		// build main options
		opts = $.extend({}, $.fn.lightbox.defaults, options);

		// initalize the lightbox
		$.fn.lightbox.initialize();
		return this.each(function(){
			$(this).click(function(){
				$(this).lightbox.start(this);
				return false;
			});
		});
	};

	// lightbox functions
	$.fn.lightbox.initialize = function(){
		$('#overlay').remove();
		$('#lightbox').remove();
		opts.inprogress = false;
		var outerImage = '<div id="outerImageContainer"><div id="imageContainer"><img id="lightboxImage"><div id="hoverNav"><a href="javascript://" title="' + opts.strings.prevLinkTitle + '" id="prevLink"></a><a href="javascript://" id="nextLink" title="' + opts.strings.nextLinkTitle + '"></a></div><div id="loading"><a href="javascript://" id="loadingLink"></a></div></div></div>';
		var imageData = '<div id="imageDataContainer" class="clearfix"><div id="imageData"><div id="imageDetails"><span id="caption"></span><span id="numberDisplay"></span></div><div id="bottomNav">'

		if (opts.displayHelp)
			imageData += '<span id="helpDisplay">' + opts.strings.help + '</span>';

		imageData += '<a href="javascript://" id="bottomNavClose" title="' + opts.strings.closeTitle + '"></a></div></div></div>';

		var string;

		if (opts.navbarOnTop) {
		  string = '<div id="overlay"></div><div id="lightbox">' + imageData + outerImage + '</div>';
		  $("body").append(string);
		  $("#imageDataContainer").addClass('ontop');
		} else {
		  string = '<div id="overlay"></div><div id="lightbox">' + outerImage + imageData + '</div>';
		  $("body").append(string);
		}

		$("#overlay").click(function(){ $.fn.lightbox.end(); }).hide();
		$("#lightbox").click(function(){ $.fn.lightbox.end();}).hide();
		$("#loadingLink").click(function(){ $.fn.lightbox.end(); return false;});
		$("#bottomNavClose").click(function(){ $.fn.lightbox.end(); return false; });
		$('#outerImageContainer').width(opts.widthCurrent).height(opts.heightCurrent);
		$('#imageDataContainer').width(opts.widthCurrent);
	};

	$.fn.lightbox.getPageSize = function(){
		var xScroll, yScroll;

		if (window.innerHeight && window.scrollMaxY) {
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}

		var windowWidth, windowHeight;

		if (self.innerHeight) { // all except Explorer
			if(document.documentElement.clientWidth){
				windowWidth = document.documentElement.clientWidth;
			} else {
				windowWidth = self.innerWidth;
			}
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}

		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else {
			pageHeight = yScroll;
		}


		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){
			pageWidth = xScroll;
		} else {
			pageWidth = windowWidth;
		}

		var arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
		return arrayPageSize;
	};


	$.fn.lightbox.getPageScroll = function(){
		var xScroll, yScroll;

		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
			xScroll = self.pageXOffset;
		} else if (document.documentElement && document.documentElement.scrollTop){  // Explorer 6 Strict
			yScroll = document.documentElement.scrollTop;
			xScroll = document.documentElement.scrollLeft;
		} else if (document.body) {// all other Explorers
			yScroll = document.body.scrollTop;
			xScroll = document.body.scrollLeft;
		}

		var arrayPageScroll = new Array(xScroll,yScroll);
		return arrayPageScroll;
	};

	$.fn.lightbox.pause = function(ms){
		var date = new Date();
		var curDate = null;
		do{curDate = new Date();}
		while( curDate - date < ms);
	};

	$.fn.lightbox.start = function(imageLink){

		$("select, embed, object").hide();
		var arrayPageSize = $.fn.lightbox.getPageSize();
		$("#overlay").hide().css({width: '100%', height: arrayPageSize[1]+'px', opacity : opts.overlayOpacity}).fadeIn();
		opts.imageArray = [];
		imageNum = 0;

		var anchors = document.getElementsByTagName( imageLink.tagName);

		// if image is NOT part of a set..
		if(!imageLink.rel || (imageLink.rel == '')){
			// add single image to Lightbox.imageArray
			opts.imageArray.push(new Array(imageLink.href, opts.displayTitle ? imageLink.title : ''));
		} else {
		// if image is part of a set..
			$("a").each(function(){
				if(this.href && (this.rel == imageLink.rel)){
					opts.imageArray.push(new Array(this.href, opts.displayTitle ? this.title : ''));
				}
			})


			for(i = 0; i < opts.imageArray.length; i++){
				for(j = opts.imageArray.length-1; j>i; j--){
					if(opts.imageArray[i][0] == opts.imageArray[j][0]){
						opts.imageArray.splice(j,1);
					}
				}
			}
			while(opts.imageArray[imageNum][0] != imageLink.href) { imageNum++;}
		}

		// calculate top and left offset for the lightbox
		var arrayPageScroll = $.fn.lightbox.getPageScroll();
		var lightboxTop = arrayPageScroll[1] + (arrayPageSize[3] / 10);
		var lightboxLeft = arrayPageScroll[0];
		$('#lightbox').css({top: lightboxTop+'px', left: lightboxLeft+'px'}).show();


		if (!opts.slideNavBar)
			$('#imageData').hide();

		$.fn.lightbox.changeImage(imageNum);

	};

	$.fn.lightbox.changeImage = function(imageNum){
		if(opts.inprogress == false){
			opts.inprogress = true;
			opts.activeImage = imageNum;	// update global var

			// hide elements during transition
			$('#loading').show();
			$('#lightboxImage').hide();
			$('#hoverNav').hide();
			$('#prevLink').hide();
			$('#nextLink').hide();

			if (opts.slideNavBar) { // delay preloading image until navbar will slide up
				// $('#imageDataContainer').slideUp(opts.navBarSlideSpeed, $.fn.doChangeImage);
				$('#imageDataContainer').hide();
				$('#imageData').hide();
				$.fn.doChangeImage();
			} else {
			    $.fn.doChangeImage();
			}
		}
	};

	$.fn.doChangeImage = function(){

		imgPreloader = new Image();

		// once image is preloaded, resize image container
		imgPreloader.onload=function(){
		    var newWidth = imgPreloader.width;
		    var newHeight = imgPreloader.height;


			if (opts.fitToScreen) {
		        var arrayPageSize = $.fn.lightbox.getPageSize();
				var ratio;
				var initialPageWidth = arrayPageSize[2] - 2 * opts.borderSize;
				var initialPageHeight = arrayPageSize[3] - 200;

				if (imgPreloader.height > initialPageHeight)
				{
					newWidth = parseInt((initialPageHeight/imgPreloader.height) * imgPreloader.width);
					newHeight = initialPageHeight;
				}
				else if (imgPreloader.width > initialPageWidth)
				{
					newHeight = parseInt((initialPageWidth/imgPreloader.width) * imgPreloader.height);
					newWidth = initialPageWidth;
				}
			}

			$('#lightboxImage').attr('src', opts.imageArray[opts.activeImage][0])
							   .width(newWidth).height(newHeight);
			$.fn.lightbox.resizeImageContainer(newWidth, newHeight);
		}

		imgPreloader.src = opts.imageArray[opts.activeImage][0];
	}
	
	$.fn.lightbox.end = function(){
		$.fn.lightbox.disableKeyboardNav();
		$('#lightbox').hide();
		$('#overlay').fadeOut();
		$('select, object, embed').show();
	};

	$.fn.lightbox.preloadNeighborImages = function(){
		if((opts.imageArray.length - 1) > opts.activeImage){
			preloadNextImage = new Image();
			preloadNextImage.src = opts.imageArray[opts.activeImage + 1][0];
		}
		if(opts.activeImage > 0){
			preloadPrevImage = new Image();
			preloadPrevImage.src = opts.imageArray[opts.activeImage - 1][0];
		}
	};

	$.fn.lightbox.keyboardAction = function(e){
		if (e == null) { // ie
			var keycode = event.keyCode;
			var escapeKey = 27;
		} else { // mozilla
			var keycode = e.keyCode;
			var escapeKey = e.DOM_VK_ESCAPE;
		}

		var key = String.fromCharCode(keycode).toLowerCase();

		if((key == 'x') || (key == 'o') || (key == 'c') || (keycode == escapeKey)){ // close lightbox
			$.fn.lightbox.end();
		} else if((key == 'p') || (keycode == 37)){ // display previous image
			if(opts.activeImage != 0){
				$.fn.lightbox.disableKeyboardNav();
				$.fn.lightbox.changeImage(opts.activeImage - 1);
			}
		} else if((key == 'n') || (keycode == 39)){ // display next image
			if(opts.activeImage != (opts.imageArray.length - 1)){
				$.fn.lightbox.disableKeyboardNav();
				$.fn.lightbox.changeImage(opts.activeImage + 1);
			}
		}
	};

	$.fn.lightbox.resizeImageContainer = function(imgWidth, imgHeight){
		// get current width and height
		opts.widthCurrent = document.getElementById('outerImageContainer').offsetWidth;
		opts.heightCurrent = document.getElementById('outerImageContainer').offsetHeight;

		// get new width and height
		var widthNew = (imgWidth  + (opts.borderSize * 2));
		var heightNew = (imgHeight  + (opts.borderSize * 2));

		// scalars based on change from old to new
		opts.xScale = ( widthNew / opts.widthCurrent) * 100;
		opts.yScale = ( heightNew / opts.heightCurrent) * 100;

		// calculate size difference between new and old image, and resize if necessary
		wDiff = opts.widthCurrent - widthNew;
		hDiff = opts.heightCurrent - heightNew;

		$('#imageDataContainer').animate({width: widthNew},opts.resizeSpeed,'linear');
		$('#outerImageContainer').animate({width: widthNew},opts.resizeSpeed,'linear',function(){
			$('#outerImageContainer').animate({height: heightNew},opts.resizeSpeed,'linear',function(){
				$.fn.lightbox.showImage();
			});
		});


		// if new and old image are same size and no scaling transition is necessary,
		// do a quick pause to prevent image flicker.
		if((hDiff == 0) && (wDiff == 0)){
			if (jQuery.browser.msie){ $.fn.lightbox.pause(250); } else { $.fn.lightbox.pause(100);}
		}

		$('#prevLink').height(imgHeight);
		$('#nextLink').height(imgHeight);
	};

	$.fn.lightbox.showImage = function(){
		$('#loading').hide();
		$('#lightboxImage').fadeIn("fast");
		$.fn.lightbox.updateDetails();
		$.fn.lightbox.preloadNeighborImages();

		opts.inprogress = false;
	};

	$.fn.lightbox.updateDetails = function(){

		if(opts.imageArray[opts.activeImage][1]){
			$('#caption').html(opts.imageArray[opts.activeImage][1]).show();
		}

		// if image is part of set display 'Image x of x'
		if(opts.imageArray.length > 1){
			var nav_html;

			nav_html = opts.strings.image + (opts.activeImage + 1) + opts.strings.of + opts.imageArray.length;

			// display previous / next text links
			if ((opts.activeImage) > 0) {
				nav_html = '<a title="' + opts.strings.prevLinkTitle + '" href="#" id="prevLinkText">' + opts.strings.prevLinkText + "</a>" + nav_html;
			}

			if ((opts.activeImage + 1) < opts.imageArray.length) {
				nav_html += '<a title="' + opts.strings.nextLinkTitle + '" href="#" id="nextLinkText">' + opts.strings.nextLinkText + "</a>";
			}

			$('#numberDisplay').html(nav_html).show();
		}

		if (opts.slideNavBar) {
		    $("#imageData").slideDown(opts.navBarSlideSpeed);
		} else {
			$("#imageData").show();
		}

		var arrayPageSize = $.fn.lightbox.getPageSize();
		$('#overlay').height(arrayPageSize[1]);
		$.fn.lightbox.updateNav();
	};

	$.fn.lightbox.updateNav = function(){
		$('#hoverNav').show();

		// if not first image in set, display prev image button
		if(opts.activeImage != 0){
			$('#prevLink,#prevLinkText').show().click(function(){
				$.fn.lightbox.changeImage(opts.activeImage - 1); return false;
			});
		}

		// if not last image in set, display next image button
		if(opts.activeImage != (opts.imageArray.length - 1)){
			$('#nextLink,#nextLinkText').show().click(function(){

				$.fn.lightbox.changeImage(opts.activeImage +1); return false;
			});
		}

		$.fn.lightbox.enableKeyboardNav();
	};


	$.fn.lightbox.enableKeyboardNav = function(){
		document.onkeydown = $.fn.lightbox.keyboardAction;
	};

	$.fn.lightbox.disableKeyboardNav = function(){
		document.onkeydown = '';
	};

	$.fn.lightbox.defaults = {
		fileLoadingImage : 'images/loading.gif',
		fileBottomNavCloseImage : 'images/closelabel.gif',
		overlayOpacity : 0.8,
		borderSize : 10,
		imageArray : new Array,
		activeImage : null,
		inprogress : false,
		resizeSpeed : 350,
		widthCurrent: 250,
		heightCurrent: 250,
		xScale : 1,
		yScale : 1,
		displayTitle: true,
		navbarOnTop: false,
		slideNavBar: false, // slide nav bar up/down between image resizing transitions
		navBarSlideSpeed: 350,
		displayHelp: false,
		strings : {
			help: ' \u2190 / P - previous image\u00a0\u00a0\u00a0\u00a0\u2192 / N - next image\u00a0\u00a0\u00a0\u00a0ESC / X - close image gallery',
			prevLinkTitle: 'previous image',
			nextLinkTitle: 'next image',
			prevLinkText:  '&laquo; Precedente',
			nextLinkText:  'Successiva &raquo;',
			closeTitle: 'close image gallery',
			image: 'Immagine ',
			of: ' di '
		},
		fitToScreen: false		// resize images if they are bigger than window
	};
})(jQuery);

/* jquery.swfobject.license.txt */
(function(A){A.flashPlayerVersion=function(){var D,B=null,I=false,H="ShockwaveFlash.ShockwaveFlash";if(!(D=navigator.plugins["Shockwave Flash"])){try{B=new ActiveXObject(H+".7")}catch(G){try{B=new ActiveXObject(H+".6");D=[6,0,21];B.AllowScriptAccess="always"}catch(F){if(D&&D[0]===6){I=true}}if(!I){try{B=new ActiveXObject(H)}catch(E){D="X 0,0,0"}}}if(!I&&B){try{D=B.GetVariable("$version")}catch(C){}}}else{D=D.description}D=D.match(/^[A-Za-z\s]*?(\d+)(\.|,)(\d+)(\s+r|,)(\d+)/);return[D[1]*1,D[3]*1,D[5]*1]}();A.flashExpressInstaller="expressInstall.swf";A.hasFlashPlayer=(A.flashPlayerVersion[0]!==0);A.hasFlashPlayerVersion=function(C){var B=A.flashPlayerVersion;C=(/string|integer/.test(typeof C))?C.toString().split("."):C;return(C)?(B[0]>=(C.major||C[0]||B[0])&&B[1]>=(C.minor||C[1]||B[1])&&B[2]>=(C.release||C[2]||B[2])):(B[0]!==0)};A.flash=function(M){if(!A.hasFlashPlayer){return false}var C=M.swf||"",K=M.params||{},E=document.createElement("body"),B,L,H,D,J,I,G,F;M.height=M.height||180;M.width=M.width||320;if(M.hasVersion&&!A.hasFlashPlayerVersion(M.hasVersion)){A.extend(M,{id:"SWFObjectExprInst",height:Math.max(M.height,137),width:Math.max(M.width,214)});C=M.expressInstaller||A.flashExpressInstaller;K={flashvars:{MMredirectURL:window.location.href,MMplayerType:(A.browser.msie&&A.browser.win)?"ActiveX":"PlugIn",MMdoctitle:document.title.slice(0,47)+" - Flash Player Installation"}}}if(M.flashvars&&typeof K==="object"){A.extend(K,{flashvars:M.flashvars})}for(J in (I=["swf","expressInstall","hasVersion","params","flashvars"])){delete M[I[J]]}B=[];for(J in M){if(typeof M[J]==="object"){L=[];for(I in M[J]){L.push(I.replace(/([A-Z])/,"-$1").toLowerCase()+":"+M[J][I]+";")}M[J]=L.join("")}B.push(J+'="'+M[J]+'"')}M=B.join(" ");if(typeof K==="object"){B=[];for(J in K){if(typeof K[J]==="object"){L=[];for(I in K[J]){if(typeof K[J][I]==="object"){H=[];for(G in K[J][I]){if(typeof K[J][I][G]==="object"){D=[];for(F in K[J][I][G]){D.push(F.replace(/([A-Z])/,"-$1").toLowerCase()+":"+K[J][I][G][F]+";")}K[J][I][G]=D.join("")}H.push(G+"{"+K[J][I][G]+"}")}K[J][I]=H.join("")}L.push(window.escape(I)+"="+window.escape(K[J][I]))}K[J]=L.join("&amp;")}B.push('<PARAM NAME="'+J+'" VALUE="'+K[J]+'">')}K=B.join("")}if(!(/style=/.test(M))){M+=' style="vertical-align:text-top;"'}if(!(/style=(.*?)vertical-align/.test(M))){M=M.replace(/style="/,'style="vertical-align:text-top;')}if(A.browser.msie){M+=' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';K='<PARAM NAME="movie" VALUE="'+C+'">'+K}else{M+=' type="application/x-shockwave-flash" data="'+C+'"'}E.innerHTML="<OBJECT "+M+">"+K+"</OBJECT>";return A(E.firstChild)};A.fn.flash=function(C){if(!A.hasFlashPlayer){return this}var B=0,D;while((D=this.eq(B++))[0]){D.html(A.flash(A.extend({},C)));if(D[0].firstChild.getAttribute("id")==="SWFObjectExprInst"){B=this.length}}return this}}(jQuery));