// pop-up function
var newWin = null;
function closeWin(){
	if (newWin != null){
		if(!newWin.closed)
			newWin.close();
	}
}
function popUp(strURL,strType,strHeight,strWidth) {
closeWin();
var strOptions="";
if (strType=="console") strOptions="resizable,height="+strHeight+",width="+strWidth;
if (strType=="fixed") strOptions="status,height="+strHeight+",width="+strWidth;
if (strType=="elastic") strOptions="toolbar,menubar,scrollbars,resizable,location,height="+strHeight+",width="+strWidth;
newWin = window.open(strURL, 'newWin', strOptions);
newWin.focus();
}

//	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 = $j('#main');
	var head = $j('#head');
	var container = $j('#container');
	var container_offsetHeight = container.height();
	var colonnaSx = $j('#colonnaSx');
	var footer = $j('#footer');
	var page_dimensions = getPageSize();
	var column_height;
	var total_height;
	if($j('#frm_dettagli_richiesta')) container_offsetHeight += 350;
	column_height = Math.max(colonnaSx.height(),container_offsetHeight);
	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);
	footer.css({'top':total_height-footer.height()+'px'});
	main.height(total_height);
	
	/* margino le immagini in float */
	/*
	var img_array = $j('#content img');
	for(var i=0;i<img_array.length;i++)
	{
		var img = img_array[i];
	
	}
	*/
	//overMenu();

}
catch(e) {toDebug(e);}
}
//--------------------------------------------------------------------
//	inizio funzioni di scroll
var moving = false;
var timer;
var top = 0;
function scrollGallery()
{
try
{
	var freccia_su = $j('div.freccia-su');
	var freccia_giu = $j('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 = $j('#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 = $j('#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 = $j('#miniature a');
	link_array.click(function()
	{ 
		$j('#big-image').attr('src',this.href);
		return false;
	 });
}
catch(e) {toDebug(e);}
}

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

function overMenu() {
	var link_array = $j('#menu a');
	link_array.hover(function()
	{
		$j(this).animate(
		{
			paddingLeft: 42
		}, 500);
		$j(this).css({'background':'url("images/background/menu-on.gif") no-repeat left top;', 'color':'#ffffff;'});
	},
	function()
	{
		if(!$j(this).hasClass('active'))
		{
			$j(this).animate(
			{
				paddingLeft: 31
			}, 500);
			$j(this).css({'background':'url("images/background/menu-off.gif") no-repeat left top;', 'color':'#906c3e;'});
		}
	});
}

//--------------------------------------------------------------------
// 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 = $j('#my_overlay');
	var box = $j('#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 = $j('#my_overlay');
	var box = $j('#box-newsletter');
	box.slideToggle('fast',function(){overlay.fadeOut('fast');});
}
catch(e) {toDebug(e);}
}




/*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)
{
	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; 			        
			        
			    } 
			}; 					 
			$('#guestbooksign').ajaxForm(options); 
		    $('#guestbooksign').ajaxSubmit(options); 
	    
//	document.forms['guestbooksign'].submit();		
	
	}	
	return false;
}

/*EOF FORM CONTATTI*/
/*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*/


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;
}

function loadAjaxUrl(url)
{
	/* -------------------------------- ALTEZZA E LARGHEZZA DEL DIV ------------------*/
/**/	var altezza_div = 570;
/**/	var larghezza_div = 570;
/*----------------------------------------------------------------------------------------------------*/

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

	$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':'#000000',
		'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]+'px',
		'left':'50%',
		'z-index': '350',
		'display':'none',
		'margin-left':'-285px',
		'background':'#ffffff'
	});
	
	offset = $j('#externalHtml').offset();

	$j('#myOverlay').one("click", function(){
		unloadAjaxUrl();
	});
	$j('#myOverlay').show();
	$j('#myOverlay').fadeTo('slow',0.5,function(){$j('#externalHtml').slideToggle('slow');});
	$j('#externalHtml').load(url);
	$j('#externalHtml').append('<div id="didascaliaHtml"></div>');
	$j('#didascaliaHtml').css(
	{
		'position': 'absolute',
		'width': larghezza_div+'px',
		'height': '40px',
		'top':altezza_div+'px',
		'left':'0px',
		'z-index': '350',
		'display':'none',
		'background':'#ffffff'
	});
	$j('#didascaliaHtml').html('<p>didascalia</p>');
	$j('#didascaliaHtml').slideToggle('slow');
}

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


//--------------------------------------------------------------------

// esecuizione delle funzioni a caricamento effettuato

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


$j(document).ready(function()
{
	/*inizio lightbox init*/
	$(function(){$('a[@rel*=lightbox]').lightBox();});
	/*fine lightbox init*/	
});
$j(window).load(function()
{
	$j('#loader').css({'height':getPageSize()[3],'opacity':'0.8'});
	mainHeight();
	$j('#loader').hide();
});



