//	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 container = $j('#container');
	var colonnaSx = $j('#colonnaSx');
	var colonnaDx = $j('#colonnaDx');
	var container_offsetHeight = container.height();
	var page_dimensions = getPageSize();
	var column_height;
	
	if($j('#field')) 
	{
		container_offsetHeight += 250;
	}
	if(main.hasClass('home')){}
	column_height = Math.max(colonnaSx.height(),Math.max(container_offsetHeight,colonnaDx.height()));
	colonnaSx.height(column_height);
	container.height(column_height);
	colonnaDx.height(column_height);
	main.height(column_height);
	
	if($j('#linguetta-newsletter')) $j('#linguetta-newsletter').click(function() {showNewsletter(); return false;});
	
	$(document).bind('keydown', 'Ctrl+m', function (evt){findString();});
	//overMenu();
}
catch(e) {toDebug(e);}
}

function findString() 
{
try
{		
		
		var box = $j('#find-string');
		var stringa;
		var button = $j('#go');
		box.show();
		$j('#string-to-find').focus();
 		$j('#string-to-find').keyup(function()
		{
			if($j('#string-to-find').attr('value')!='')
			{
				stringa = $j('#string-to-find').attr('value').toUpperCase();
				$j('#container').removeHighlight().each(function(){$.highlight(this, stringa)});
				animateHighlight();
				
				$j('#colonnaDx').removeHighlight().each(function(){$.highlight(this, stringa)});
			}
			else
			{
				$j('#container').removeHighlight();	
				$j('#colonnaDx').removeHighlight();
			}
		});

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

function animateHighlight()
{
try
{
	var currentFontSize = $j('.highlight').css('font-size');
    var currentFontSizeNum = parseFloat(currentFontSize, 10);
    var newFontSize = currentFontSizeNum;
	$j('.highlight').css('font-size', newFontSize);
	$j('.highlight').animate(
	{ 
		'padding': '2px'
	}, 50 );

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

//--------------------------------------------------------------------
//	inizio funzioni di scroll
var moving = false;
var timer;
var top = 0;
function scrollGallery()
{
try
{
	var freccia_su = $j('img.freccia-su');
	var freccia_giu = $j('img.freccia-giu');
	freccia_su.show();
	freccia_giu.show();
//	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('#wrapper-offerte');
	if(gallery.offset().top >150)
	{
		moving: false;
		return false;
	}
	moving = true;
	top +=1;
	gallery.animate({ 
		top:top
      }, 5 );
	if(moving) timer = setTimeout(scrollUp,5);
	else return false;
}

function scrollDown()
{
	var gallery = $j('#wrapper-offerte');
	if(gallery.offset().top < -(gallery.height()-450)){return false;}
	moving = true;
	top -=1;
	gallery.animate({ 
		top:top
      }, 5 );
	if(moving) timer = setTimeout(scrollDown,5);
	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 div');
	link_array.hover(function()
	{
		$j(this).addClass('active');

	},
	function()
	{
		$j(this).removeClass('active');

	});
}

//--------------------------------------------------------------------
// 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
{
	$.scrollTo( '#flash', 200, {easing:'linear', onAfter:function(){$j('#newsletter-box').slideDown();}});
	var original_value;
	$j('.input-text').focus(function()
	  {
		  
		 original_value = $(this).attr('originalvalue');
		 if($(this).attr('value')=='' || $(this).attr('value')== original_value)
		 {
			 $(this).attr('value','');
		 }
		 $(this).css({
						'padding-left':'0px',
						'width': '156px'
					 });
	  });
	
	$j('.input-text').blur(function()
								  {
									 if($(this).attr('value')=='') $(this).attr('value',original_value);
									 $(this).css({
													'padding-left':'10px',
													'width': '146px'
												 });
								  });
	$j('#chiudi-newsletter').click(function(){ $j('#newsletter-box').slideUp('fast'); return false;});
}
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 sifrElements()
{
	var path ='swf/'

	if($j('#offerte h3')) $j('#offerte h3').sifr({path: path, font: 'aka', fontSize:'60px', color:'#fff447'});
//	if($j('#indirizzi-sx')) $j('#indirizzi-sx').sifr({path: path, font: 'helvetica', fontSize:'12px'});
//	if($j('#indirizzi-dx')) $j('#indirizzi-dx').sifr({path: path, font: 'helvetica', fontSize:'12px', color:'#64545d'});
	//if($j('#contenuto h2')) $j('#contenuto h2').sifr({path: path, font: 'edwardian', fontSize:'47px', color:'#ffffff'});
	
	
	
	if($j('#contenuto h2')) $j('#contenuto h2').sifr({path: path, font: 'edwardian' , color:'#ffffff'});
	
	
//	if($j('#submenu-titolo')) $j('#submenu-titolo h3').sifr({path: path, font: 'helvetica', fontSize:'16px', color:'#e20079'});

	if($j('#menu a'))
	{
		$j('#menu a div').sifr({path: path, font: 'helvetica', fontSize:'14px', color:'#ffffff'});
	}
}
//--------------------------------------------------------------------

// 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();
//		$.preloadCssImages();
	});
	
	
	jQuery('.clickprivacy').click(function() {
	
		jQuery("#privacyUI").dialog({
			bgiframe: false,
			resizable: false,
			height: 400,
			width: 560,
			bgiframe: true, 
			overlay: {opacity: 0.8, background: "black"},
			modal: true,
			open: function() {
				//display correct dialog content
				
			jQuery('#privacyUI div').show();				
		}
		})
	});	

	$j('#loader').hide();
	/*fine lightbox init*/	
//	sifrElements();
});

$j(window).load(function()
{
	mainHeight();
	if($j('#offerte')) scrollGallery();
	
});





