// Version 1.2 (29-11-2011)
// Brando Meniconi (meniconi.brando@gmail.com) per FUORICENTRO STUDIO (www.fuoricentrostudio.it)
// Copyright Nov 2011
  
  
  Shadowbox.init({ skipSetup: true }); 

 $(document).ready(function(){
	
	viewportSize = sideMargin = lBound = rBound = startY = startX = 0; // SET GLOBALS
	
	
	/* Custom Scrollbar testo con drag */
	$(".custom-scrollbar").scrollbar({arrows: false })
	.mousedown(function(e){       
		e.preventDefault();
		startY = e.pageY;
		$(this).mousemove( function(e) {mouseMoveText(e,this)});
	})
	.mouseup(   function(e){ $(this).unbind("mousemove"); })
	.mouseleave(function(e){ $(this).unbind("mousemove"); });

	/* Placeholder Form */
	/*$("input, textarea").bind('click', function(e) {  
											if ( ($(this).data('placeholder') == null) || ($(this).val() == $(this).data('placeholder')) ) {
												$(this).data('placeholder', $(this).val()).val("");
												} 
											});
	 $("input, textarea").bind('focusout', function(e) { if ($(this).val() == '' ) { $(this).val($(this).data('placeholder')); }  });*/	
	
	/* Ciclo Pagine */
	$("#content div.mini_page").hide();
	$("#content div.active").show();
		
	$("#menu a.mini-page").click(function(e) {
		$("#menu a").removeClass('current');
		$(this).addClass('current');
		e.preventDefault();
		sel_id = $(this).attr('href');
		$("#content div.mini_page").removeClass('active').fadeOut(400);
		$("#content "+sel_id).addClass('active').fadeIn(400);
	});

	/* Scroller Immagini */
	
	function moveLeft() {$('#slider #scroller').animate({ marginLeft: marginLimiter(480) }, 800, 'swing');}
	function moveRight() {$('#slider #scroller').animate({ marginLeft: marginLimiter(-480) }, 800, 'swing');}
	function moveCustom(diff) { $('#slider #scroller').css('margin-left', marginLimiter(diff));  }
	
	function calculateBoundaries(){
	
		viewportSize = $(window).width();
		sideMargin = (viewportSize-$("#lower").width())/2;
		lBound = sideMargin;
		rBound = -($('#scroller').width()-(viewportSize-sideMargin));
	
	}
	
	$(window).resize(calculateBoundaries);
	
	calculateBoundaries();
	
	function marginLimiter(requested) {

		currentM = parseInt($('#slider #scroller').css('margin-left'));	
		
		newM = currentM+requested;
		
		if (newM > lBound || newM < rBound )
			return currentM;
		else 
			return newM;
	}
	
	
	$('#slider #scroll-left').click( moveLeft );
	$('#slider #scroll-right').click( moveRight );
	

	
	function mouseMove(e)  {
		  e.preventDefault();
		  
		  currentX = e.pageX;
		  diff =  currentX - startX;  
		  if(diff) moveCustom(diff);
		  startX = currentX;
	
	}
	
	function mouseMoveText(e,elem)  {
		  e.preventDefault();
		  
		  currentY = e.pageY;
		  diff =  currentY - startY;  
		  
		  if(diff) $(elem).scrollbar("dragby",diff);
		  startY = currentY;
	}
		
	$("#slider")
	.mousedown(function(e){       
		e.preventDefault();
		startX = e.pageX;
		$(this).mousemove(mouseMove);
	})  
	.mouseup( function(e){ $(this).unbind("mousemove"); })
	.mouseleave(function(e){ $(this).unbind("mousemove"); });
	
		
	/* More Box */	
	$('#upper .toggle').click(function(){
			$(this).toggleClass('active').siblings('.more-text').toggle(400);		
	});
	
 
	/* FORM VALIDATION */
 
	
	function pop_success_box() { 
		
		
		if(window.location.hash == '#contact') 
		{
			Shadowbox.open({
				content:    '<div id="form-success" class="dialog-inner">Thanks. We will reply as soon as possible.</div>',
				player:     "html",
				title:      "Request Sent",
				height:     100,
				width:      350
			});
		} 
	}
	
	window.onload = pop_success_box;
	
	 $('.open_policy').click(function() 
	 	{
			var policy = "<div id=\"form-policy\" class=\"dialog-inner \" ><h2>Informativa ai sensi dell'articolo 13 del d.lgs n. 196/03</h2>Vi informiamo che i dati relativi allo svolgimento di attività economiche e burocratiche di trasferimento agli organi competenti che Vi sta richiedendo, saranno sottoposti ad operazioni automatizzate di trattamento, fra cui in particolare raccolta, registrazione, elaborazione, conservazione nella banca dati e saranno utilizzati ai fini di marketing diretto e di realizzazione di prodotti e servizi editoriali ed informativi, attuabili anche mediante la loro comunicazione e diffusione a terzi. I medesimi dati potranno anche essere comunicati da proprie società controllate ai sensi dell\'art. 2359 del codice civile e saranno trattati da queste ultime, in seguito ad elaborazione nell'ambito dei loro archivi informatici, per le stesse finalità sopra descritte. La fornitura di tali dati da parte Vostra è facoltativa e l'eventuale rifiuto non avrà altre conseguenze che l\'impossibilità di dare attuazione alle predette finalità. Potete esercitare i diritti in cui gli articoli 7 e seguenti del Codice civile in materia di protezione dei dati personali, tra cui: \
			<ol>\
			<li>1) Ottenere la conferma dell\'esistenza di tali dati presso il Titolare;</li>\
			<li>2) avere conferma della loro origine, della logica e delle finalità su cui si basa il trattamento;</li>\
<li>3) Ottenere la cancellazione, la trasformazione in forma anonima o il blocco dei dati trattati in violazione della legge, nonché l'aggiornamento, la rettificazione o se vi è interesse l'integrazione dei dati;</li>\
<li>4) Opporsi al trattamento dei dati al fine dello svolgimento dell'attività commerciali. Potete esercitare tali diritti rivolgendovi all\'attenzione del responsabile del trattamento dei dati.</li></ol></div>";
			
			Shadowbox.open({
				content:    policy,
				player:     "html",
				title:      "Privacy Policy",
				height:     500,
				width:      500
			});
		 
		}	 
	 )
	 
	  $('.open_info').click(function() 
	 	{
			var policy = "<div id=\"form-policy\" class=\"dialog-inner \" >\
			<ol>\
			<li>Where are you from? | <i>Qual'è la tua città?</i></li>\
			<li>What kind of ceremony you want? | <i>Quale tipo di cerimonia vorresti?</i></li>\
			<li>When would you marry (year, month and day)? | <i>Quando vorresti sposarti (anno, mese e giorno)?</i></li>\
			<li>Number of guests | <i>Numero degli invitati</i></li></ol></div>";
			
			Shadowbox.open({
				content:    policy,
				player:     "html",
				title:      "Please fill out the form with this informations | Compila il form con queste informazioni :",
				height:     115,
				width:      630
			});
		 
		}	 
	 )
	
	$('form').submit(function(e) {
	  
		 errlog_html = "";
		 
		 namefield = $(this).find('input[name="name"]');
		 
		 if ( ((namefield.val()).length < 2) ) {
			 Shadowbox.open({
				content:    '<div id="form-error" class="dialog-inner">Please Insert Your Name.</div>',
				player:     "html",
				title:      "Form Error",
				height:     100,
				width:      350
			});
			e.preventDefault();
			return false;
		 }
		 
		 var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		 
		 emailfield = $(this).find('input[name="email"]');
		
		 if ( reg.test( emailfield.val()) == false ) {
			 Shadowbox.open({
				content:    '<div id="form-error" class="dialog-inner">Please Insert a Valid Email.</div>',
				player:     "html",
				title:      "Form Error",
				height:     100,
				width:      350
			});
			e.preventDefault();
			return false;
		 }
		  
		 dreamfield = $(this).find('textarea[name="dream"]');
		 
		 if ( ((dreamfield.val()).length < 1)) {
			 Shadowbox.open({
				content:    '<div id="form-error" class="dialog-inner">Please insert a brief description of your dream.</div>',
				player:     "html",
				title:      "Form Error",
				height:     100,
				width:      350
			});
			e.preventDefault();
			return false;
		 }
	 
	});
 
 });
