function pause(numSeconds) 
// Assumes: numSeconds >= 0 // Results: pauses execution for numSeconds seconds 
{
	var now, goalTime; now = new Date(); goalTime = now.getTime() + 1000*numSeconds; while (now.getTime() < goalTime) { now = new Date(); } 
}

function $j(argument)
{
	var result = jQuery(argument);
	if (result.length == 0) return null;
	else return result;
}

/*BOF GUESTBOOK*/
function submitTherealguestbook()
{
	var d = new Date()
	param = d.getTime();
	var form = $j('#guestbooksign');
	
	document.forms['guestbooksign'].secure.value = param;

//inizio validazione
	var error_found = 0;			
	if(validateFormElement($j('#frm_nome'))) error_found++;
	
	if(validateFormEmail($j('#frm_email'))) error_found++;
//fine validazione	
//Effect.BlindUp('form_guestbook_all_fields');

	if(error_found==0)
	{
		$j('#form_guestbook_all_fields').slideUp('slow');

		var options = { 
		
			beforeSubmit: function()
			{
				$j('#form_guestbook_loading').slideDown('slow');					
			},
			resetForm: true,
			error: function()
			{
				toConsole('Errore di invio');
				return false;
			},
		    success: function() 
		    { 			    			        

				$j('#form_guestbook_loading').slideUp('slow');
				$j('#form_guestbook_thanks').slideDown('slow');		
			  return false; 			        
			
		    } 
		}; 					 
		$('#guestbooksign').ajaxForm(options); 
	    $('#guestbooksign').ajaxSubmit(options); 
//	document.forms['guestbooksign'].submit();		
	
	}	
	return false;

}

function submitConfirm()
{
	var d = new Date()
	param = d.getTime();

	
//inizio validazione
	var error_found = 0;			
	if(validateFormElement($j('#frm_nome'))) error_found++;
	if(validateFormEmail($j('#frm_email'))) error_found++;
//fine validazione	


	if(error_found==0)
	{
		$j('#form_confirm_all_fields').slideUp('slow');

		var options = 
			{ 		
				beforeSubmit: function()
				{
					$j('#form_confirm_loading').slideDown('slow');					
				},
				resetForm: true,
				error: function()
				{
					toConsole('Errore di invio');
					return false;
				},
			    success: function() 
			    { 			    			        
	
					$j('#form_confirm_loading').slideUp('slow');
					$j('#form_confirm_thanks').slideDown('slow');		
				  return false; 			        
				
			    } 
			}; 					 
		$('#confirm_form').ajaxForm(options); 
	    $('#confirm_form').ajaxSubmit(options); 


	}	
	return false;
	
}

/*EOF GUESTBOOK*/


/*BOF FORM CONTATTI*/

function HasNoValue(string)
{
	if(string==null || string == undefined || string == '')
	return true;
	else return false;
}


function validateFormElement(elem)
{
					
	if(HasNoValue(elem.attr('value')))
	{
		errorOnFormElement(elem);
		return true;
	}
	else 
	{
		elem.css({'background':'#ffffff'});
		return false;
	}
}

function validateHiddenElement(element)
{

	if(validateFormElement(element))
	{
		errorOnFormElement('fieldset_dettagli_richiesta');
		errorOnFormElement('fieldset_dettagli_preventivo');
		return true;
	}	
	else return false;
}

function validateCheckBoxElement(elem)
{
	if(HasNoValue(elem.attr('checked')))
	{
		errorOnFormElement(elem.parent());			
		return true;
	}
	else
	{
		elem.css({'background':'#ffffff'});
		return false;
	}
}

function validateFormEmail(elem)
{
	var emailRegexp = RegExp('^[A-Za-z0-9._-]+[@]([A-Za-z0-9-]+[.])+([A-za-z]{2,4})$', 'i');
		
	if (emailRegexp.test(elem.attr('value')))
	{
		elem.css({'background':'#ffffff'});
		return false;
	}
	else
	{
		errorOnFormElement(elem);
		return true;
	}
}

function errorOnFormElement(elem)
{
//	alert(elem);

	elem.css({'position':'relative'});
	elem.css({'background':'#ffee5b'});
	elem.animate({left: '-10'},120).animate({left: '+10'},120).animate({left: '-10'},120).animate({left: '0'},120);
	
}

function showOnClick(element)
{
	if(element == 'frm_dettagli_richiesta')
	{		
		$j('#'+element).slideToggle('slow');
		if($j('#frm_dettagli_preventivo:visible')) $j('#frm_dettagli_preventivo').slideToggle('slow');
		document.forms['guestbooksign'].frm_tipo_richiesta.value = 'richiesta informazioni';

	}
	else
	{

		$j('#'+element).slideToggle('slow');
		if($j('#frm_dettagli_richiesta:visible')) $j('#frm_dettagli_richiesta').slideToggle('slow');
		document.forms['guestbooksign'].frm_tipo_richiesta.value = 'richiesta preventivo';

	}

}

function submitGuestBook()
{
	var d = new Date()
	param = d.getTime();
		
	var form = $j('#guestbooksign');
	document.forms['guestbooksign'].secure.value = param;


	//copio testo della text area
/*	
	if (document.forms['guestbooksign'].frm_tipo_richiesta.value=="richiesta preventivo")
	{
		document.forms['guestbooksign'].frm_messaggio.value=document.forms['guestbooksign'].frm_messaggio_a.value;
	}
	else
	{
		document.forms['guestbooksign'].frm_messaggio.value=document.forms['guestbooksign'].frm_messaggio_b.value;	
	}
*/

//inizio validazione
	var error_found = 0;
	
	if(validateFormElement($j('#frm_nome'))) error_found++;
	if(validateFormEmail($j('#frm_email'))) error_found++;
	if(validateFormElement($j('#frm_telefono'))) error_found++;
	if(validateCheckBoxElement($j('#frm_privacy_a')) && validateCheckBoxElement($j('#frm_privacy_b'))) error_found++;
	if(validateHiddenElement($j('#frm_tipo_richiesta'))) error_found++;
//fine validazione	

	if(error_found==0)
	{
			$j('#form_email_all_fields').slideUp('slow');

			var options = { 
			
				beforeSubmit: function()
				{
					$j('#form_email_loading').slideDown('slow');					
				},
				resetForm: true,
				error: function()
				{
					toConsole('Errore di invio');
					return false;
				},
			    success: function() 
			    { 			    			        

					$j('#form_email_loading').slideUp('slow');
					$j('#form_email_thanks').slideDown('slow');		
				  return false; 			        
			        
			    } 
			}; 					 
			$j('#guestbooksign').ajaxForm(options); 
		    $j('#guestbooksign').ajaxSubmit(options); 
	    
//	document.forms['guestbooksign'].submit();		
	
	}	
	return false;
}

/*EOF FORM CONTATTI*/




//	inizio funzioni di debug
debug_msg = false;
function toDebug(string)
{
	if (debug_msg)
	{
		if((typeof window.console=="undefined")) {alert(string);}
		else {
			console.error();
			console.group(string);
			console.trace();
			console.groupEnd();
		}
	}
}
function toConsole(string)
{
	if((typeof window.console=="undefined")) {alert(string);}
	else console.log(string);
}
//	fine funzioni di debug
//--------------------------------------------------------------------
function mainHeight()
{
try
{	
	
	
	var main = $('#main');
	var head = $('#head');
	var container = $('#container');
	var colonnaSx = $('#colonnaSx');
	var colonnaDx = $('#colonnaDx');
	var footer = $('#footer');
	var column_height;
	var total_height;
	column_height = Math.max(colonnaSx.height(),Math.max(colonnaDx.height(),container.height()));
	total_height = head.height() + column_height + footer.height();
	colonnaSx.css({'top':head.height()+'px'});
	colonnaSx.height(column_height);
	container.css({'top':head.height()+'px'});
	container.height(column_height);
	colonnaDx.css({'top':head.height()+'px'});
	colonnaDx.height(column_height);
	footer.css({'top':total_height-footer.height()+'px'});
	main.height(total_height);
//	overMenu();
	/* margino le immagini in float 
	if(document.getElementById('contenuto'))
	{
		var array_img = document.getElementById('contenuto').getElementsByTagName('IMG');
		if(array_img.length > 0)
		{
			for(var i=0;i<array_img.length;i++)
			{
				if($j(array_img[i]).attr('style').match('float:left') || $j(array_img[i]).attr('style').match('float: left')) {array_img[i].style.marginRight = '10px';}
				else if($j(array_img[i]).attr('style').match('float:right') || $j(array_img[i]).attr('style').match('float: right')) {array_img[i].style.marginLeft = '10px';}
			}
		}
	}
	*/
	
	

}
catch(e) {toDebug(e);}
}

function preloadIMG()
{	
	var images = document.getElementsByTagName('img');
	var immagini=new Array();	
	var cont = 0;
	//percorro tutte le immagini		
	for (var i=0; i<images.length; i++)
	{
		var image = images[i];
		var relAttribute = String(image.getAttribute('name'));
		//se hanno match preload... associo funzioni di preload
		if (relAttribute.toLowerCase().match('preload'))
		{
			immagini[cont]=new Image();
			immagini[cont].src=image.src;
			
			cont++;
		}

	}
	
}



//--------------------------------------------------------------------
//	inizio funzioni di scroll
var moving = false;
var timer;
var top = 0;
function scrollGallery()
{
try
{
	var freccia_su = $('div.freccia-su');
	var freccia_giu = $('div.freccia-giu');
	linkImages();
	freccia_su.hover(function(){scrollUp();},function(){moving = false;clearTimeout(timer);});
	freccia_giu.hover(function(){scrollDown()},function(){moving = false;clearTimeout(timer);});
}
catch(e) {toDebug(e);}
}

function scrollUp()
{
	var gallery = $('#miniature');
	if(gallery.offset().top >= 298) return false;
	moving = true;
	top +=5;
	gallery.animate({ 
		top:top
      }, 10 );
	if(moving) timer = setTimeout(scrollUp,10);
	else return false;
}

function scrollDown()
{
	var gallery = $('#miniature');
	if(gallery.offset().top < -(gallery.height()-710)){return false;}
	moving = true;
	top -=5;
	gallery.animate({ 
		top:top
      }, 10 );
	if(moving) timer = setTimeout(scrollDown,10);
	else return false;	
}
function linkImages()
{
try
{
	var link_array = $('#miniature a');
	link_array.click(function()
	{ 
		$('#big-image').attr('src',this.href);
		return false;
	 });
}
catch(e) {toDebug(e);}
}

//	fine funzioni di scroll
//--------------------------------------------------------------------

function overMenu()
{
	var link_array = $('#menu a');
	link_array.hover(function()
	{
		$(this).animate(
		{
			paddingLeft: 42
		}, 500);
		$(this).css({'background':'url("images/background/menu-on.gif") no-repeat left top;', 'color':'#ffffff;'});
	},
	function()
	{
		if(!$(this).hasClass('active'))
		{
			$(this).animate(
			{
				paddingLeft: 31
			}, 500);
			$(this).css({'background':'url("images/background/menu-off.gif") no-repeat left top;', 'color':'#906c3e;'});
		}
	});
}
//--------------------------------------------------------------------
function imageMargin()
{
	var img_array = $('#contenuto img');
	var float;
	for(var i=0;i<img_array.length;i++)
	{
		jQuery.each(img_array, function() 
		{
			if($(this).css('float')=='left') $(this).css({'margin-right':'10px'});
			else if($(this).css('float')=='right') $(this).css({'margin-left':'10px'}); 
		});
	}
} 
//--------------------------------------------------------------------
// inizio funzioni per prendere dimensioni finetra
function getPageSize() 
{
	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;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
};

function getPageScroll() 
{
	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;	
	}
	arrayPageScroll = new Array(xScroll,yScroll) 
	return arrayPageScroll;
};
// fine funzioni per prendere dimensioni finetra
//--------------------------------------------------------------------
function showNewsletter()
{
try
{
	var overlay = $('#my_overlay');
	var box = $('#box-newsletter');
	var overlay_height  = getPageSize();
	var page_scroll  = getPageScroll();
	overlay.css({'height': overlay_height[1], 'opacity':'0'});
	box.css({'top':page_scroll[1]});
	overlay.one("click", function(){
		hideNewsletter();
	});
	overlay.show();
	overlay.fadeTo('slow',0.5,function(){box.slideToggle('slow');});
}
catch(e) {toDebug(e);}
}
function hideNewsletter()
{
try
{
	var overlay = $('#my_overlay');
	var box = $('#box-newsletter');
	box.slideToggle('fast',function(){overlay.fadeOut('fast');});
}
catch(e) {toDebug(e);}
}
//--------------------------------------------------------------------


function loadAjaxUrl(url)
{


	if($j('#externalHtml') && $j('#myOverlay'))
	{
		$j('#externalHtml').remove();
		$j('#myOverlay').remove();
	}

	var larghezza_div = 350;
	var altezza_div = 270;	
	$j('body').append('<div id="myOverlay"></div>');
	$j('body').append('<div id="externalHtml"></div>');
	
	

	var overlay_height  = getPageSize();
	var page_scroll  = getPageScroll();
	$j('#myOverlay').css(
	{
		'position': 'absolute',
		'top':'0px',
		'left':'0px',
		'background':'#2c82e9',
		'width': '100%',
		'height': overlay_height[1]+'px',
		'opacity':'0',
		'z-index': '300'
	});
	$j('#externalHtml').css(
	{
		'position': 'absolute',
		'width': larghezza_div+'px',
		'height': altezza_div+'px',
		'top':page_scroll[1]+100+'px',
		'left':'50%',
		'z-index': '350',
		'overflow':'auto',
		'border':'15px solid #274a7d',
		'padding': '0px 15px 0px 15px',
		'display':'none',
		'margin-left':'-'+(larghezza_div/2)+'px',
		'background':'#ffffff'
	});
	$j('#myOverlay').one("click", function(){
		unloadAjaxUrl();
	});
	$j('#myOverlay').show();
	$j('#myOverlay').fadeTo('slow',0.5,function(){$j('#externalHtml').slideToggle('slow');});
	
	
	
	$j('#externalHtml').html('<img src="images/titolo-external-html.jpg" alt="">');
	try{
		$j('#externalHtml').load(url);
	}
	catch(e){toDebug(e.toString());}

}

function unloadAjaxUrl()
{
	$j('#externalHtml').slideToggle('fast',function(){$j('#myOverlay').fadeOut('fast');});
}



$(document).ready(function()
{
	preloadIMG();
	mainHeight();
//	scrollGallery();
	
	/*inizio lightbox init*/
	$(function() 
	{
		$('a[@rel*=lightbox]').lightBox(); 
	});
	/*fine lightbox init*/

	
});

$(window).load(function()
{
	$('#loader').hide();
});

