// Hide instruction text for password field
function txt2pwd(obj, pwd){
	obj.style.visibility = "hidden";
	findElementById(pwd).focus();
}
// Display instruction text for password field
function pwd2txt(obj, txt){
	if(obj.value.length==0){
		findElementById(txt).style.visibility = "visible";
	}
}
// Display instruction text [str] if field is blank
// Clear instruction text if field is clicked
function resetField(obj,str){
	if(obj.value.length==0){
		obj.value=str;
		return;
	}
	if(obj.value==str){
		obj.value="";
	}
}

//Utility function to find element by id Cross Browser
function findElementById(id)
{
	return ( document.all+"" != "undefined" ? document.all[id] : document.getElementById(id) );
}


// Tab switcher
// container = ID of tab container, must be used if more than one tab module is used on page (optional usage if only one tab module is displayed on a page )
// tab = ID of tab (mandatory)
function showTab(tab, container){
	if(typeof(container)=='undefined') {
		container='';
	}
	var i=1;
	do{
		findElementById(container+"tab"+i).className = "tab";
		findElementById(container+"tab"+i+"content").style.display="none";
		i++;
	}
	while(findElementById(container+"tab"+i));
	findElementById(container+tab+"content").style.display="block";
	findElementById(container+tab).className = "activeTab";
}

// Flash detection for Call-to-action teaser
function hasFlash(){
  var ver=6;
	if(navigator.appVersion.indexOf("MSIE")!=-1&&navigator.appVersion.indexOf("Windows")>-1) {
	  document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & '+ver+'))) \n</script\> \n');
		if(window.hasFlash!=null)
		  return window.hasFlash
	}
	if(navigator.mimeTypes&&navigator.mimeTypes["application/x-shockwave-flash"]&&navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) {
	  var desc=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description;
		return parseInt(desc.charAt(desc.indexOf(".")-1))>=ver;
	}
	return false;
} // hasFlash


function replaceCTABox(){
	if (hasFlash()) {
		//get data from html-box
		var cta = findElementById('ctaLayer');
		var ctaMod = cta.parentNode;
		if (ctaMod!=null && cta!=null) {
			var h1,s,a,l,u,t; h1=s=a=l=u=t='';
			if (cta.getElementsByTagName("h1")[0]!=null) h1= encodeURI(cta.getElementsByTagName("h1")[0].innerHTML);
			if (cta.getElementsByTagName("p")[0]!=null) s = encodeURI(cta.getElementsByTagName("p")[0].innerHTML);
			var w = cta.offsetWidth;
        var h = cta.offsetHeight;
			var flashVars = "head="+h1+"&sub="+s+"&boxw="+w+"&boxh="+h;
			var a = cta.getElementsByTagName("a")[0];
			if (a!=null) {
		    	var l = encodeURI(a.innerHTML);
		    	var u = encodeURI(a["href"]);
		    	var t = a["target"];
          flashVars+="&link="+l+"&url="+u+"&target="+t;
			}
			// hide html-box
			cta.className="ctaLayer hide";
			// and place flash cta box
			var flashURL = "../resnew/swf/calltoactionbox.swf?"+flashVars;
			var ctaObjStr = "<object class='ctaLayer' type='application/x-shockwave-flash' data='"+flashURL+"' width='"+w+"' height='"+h+"' id='calltoactionbox'>"
			                +   "<param name='allowScriptAccess' value='sameDomain' />"
									    +   "<param name='movie' value='"+flashURL+"' />"
									    +   "<param name='quality' value='high' />"
									    + "</object>";
		  document.write(ctaObjStr);
		}
	}
} // replaceCTABox


// fold and unfold option sections on shopping cart page
function scFold(optId) {
  var optHeader = findElementById(optId);
	if (optHeader!=null) {
		var pattern = new RegExp("(^|\\s)"+optId+"(\\s|$)");
		var trList = document.getElementsByTagName('tr');
	  if (optHeader.className=="scOptShow") {
		  // hide options
			for (i=0; i<trList.length; i++) {
			  if (pattern.test(trList[i].className)) {
				  trList[i].className=optId+" hidden";
				}
			}
      optHeader.className="scOptHide";			
		} else {
		  // show options
			for (i=0; i<trList.length; i++) {
			  if (pattern.test(trList[i].className)) {
				  trList[i].className=optId;
				}
			}			
      optHeader.className="scOptShow";			
		}
	}
} // scFold


function hideLogin()
{
	try
	{
		var loginBox = findElementById("loginModule");
		if( loginBox )
			loginBox.style.visibility = "hidden";
	}
	catch( e )
	{
	}
}

SlideAutoInterval = function(){}
SlideAutoInterval.SlidingInterval = 20000; //default autoslider interval
SlideAutoInterval.CurrentTimer = null;
SlideAutoInterval.boxCounter = new Array(); //0;
SlideAutoInterval.direction = 1;
SlideAutoInterval.lockAtSlider = null;


SliderManager = function(){}
SliderManager.PIXELSTEP = 20;
SliderManager.SWAP_TIMEOUT = 50;
SliderManager.CurrentTimer = null;
SliderManager.CurrentSlideMainContent = new Array(); //null;
SliderManager.CurrentSlideBox = new Array(); //null;
SliderManager.MAINCONTENT = "MainContent";
SliderManager.SINGLECONTENT = "SingleContent";
SliderManager.BUTTONBOX = "ButtonBox"

SliderManager.SlideNext = function( slideBaseId, auto )
{
	if( SliderManager.CurrentSlideMainContent[slideBaseId] == null )
	{
		SliderManager.CurrentSlideBox[slideBaseId] = findElementById( slideBaseId );
		SliderManager.CurrentSlideMainContent[slideBaseId] = findElementById( slideBaseId + SliderManager.MAINCONTENT );
		var slideMainCurrentTop = SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop;
		var slideMainCurrentHeight = SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight;
		var slideHeight = findElementById( slideBaseId + SliderManager.SINGLECONTENT ).offsetHeight;
		var newTop = slideMainCurrentTop-slideHeight;
		if( SlideAutoInterval.lockAtSlider==slideBaseId )
		{
			if(SlideAutoInterval.boxCounter[slideBaseId]==null || SlideAutoInterval.boxCounter[slideBaseId]=="undefined")
				SlideAutoInterval.boxCounter[slideBaseId]=0;
			
			SlideAutoInterval.boxCounter[slideBaseId]++;
			if(auto!=1)
			{
				clearTimeout(SlideAutoInterval.CurrentTimer);
				auto=0;
			}
		}
		if( newTop > 0-slideMainCurrentHeight )
			SliderManager.Slide( newTop, slideBaseId );
		else
			SliderManager.CurrentSlideMainContent[slideBaseId] = null;
	}
}

SliderManager.SlidePrev = function( slideBaseId, auto )
{
	if( SliderManager.CurrentSlideMainContent[slideBaseId] == null )
	{
		SliderManager.CurrentSlideBox[slideBaseId] = findElementById( slideBaseId );
		SliderManager.CurrentSlideMainContent[slideBaseId] = findElementById( slideBaseId + SliderManager.MAINCONTENT );
		var slideMainCurrentTop = SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop;
		var slideMainCurrentHeight = SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight;
		var slideHeight = findElementById( slideBaseId + SliderManager.SINGLECONTENT ).offsetHeight;
		var newTop = slideMainCurrentTop+slideHeight;
		if( SlideAutoInterval.lockAtSlider==slideBaseId )
		{
			if(SlideAutoInterval.boxCounter[slideBaseId]==null || SlideAutoInterval.boxCounter[slideBaseId]=="undefined")
				SlideAutoInterval.boxCounter[slideBaseId]=0;
				
			SlideAutoInterval.boxCounter[slideBaseId]--;
			if(auto!=1)
			{
				clearTimeout(SlideAutoInterval.CurrentTimer);
				auto=0;
			}
		}
		if( slideMainCurrentTop < newTop && newTop <= 0 )
			SliderManager.Slide( newTop, slideBaseId );
		else
			SliderManager.CurrentSlideMainContent[slideBaseId] = null;
	}
}

SliderManager.Slide = function( stopTop, slideBaseId )
{
	var currentTop = SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop;
	var newTop;
	if( currentTop > stopTop )
	{
		newTop = currentTop - SliderManager.PIXELSTEP;
		if( newTop < stopTop )
			newTop = stopTop;
	}	
	else
	{
		newTop = currentTop + SliderManager.PIXELSTEP;
		if( newTop > stopTop )
			newTop = stopTop;
	}
	
	
	if( newTop == 0 )
		SliderManager.CurrentSlideMainContent[slideBaseId].style.marginTop = "-1px";
	else
		SliderManager.CurrentSlideMainContent[slideBaseId].style.marginTop = newTop + "px";
	
	if( newTop != stopTop )
		window.setTimeout( "SliderManager.Slide(" + stopTop + ",'" + slideBaseId + "')", SliderManager.SWAP_TIMEOUT );
	else
		SliderManager.onEndSlide( slideBaseId );
}

SliderManager.onEndSlide = function( slideBaseId ) 
{
	var currentSlideBoxId = SliderManager.CurrentSlideBox[slideBaseId].id;
	var buttonBox = findElementById( currentSlideBoxId + SliderManager.BUTTONBOX );
	if( buttonBox )
	{
		if( SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop == 0 || SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop == -1 )
		{
			findElementById( currentSlideBoxId + "PrevButton" ).style.display = "none";
			if( SlideAutoInterval.lockAtSlider==slideBaseId )
				SlideAutoInterval.direction = 1;
		}
		else
			findElementById( currentSlideBoxId + "PrevButton" ).style.display = "block";
		
		var slideHeight = findElementById( currentSlideBoxId + SliderManager.SINGLECONTENT ).offsetHeight;
		if( SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop - slideHeight + SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight == 0
			|| SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop - slideHeight + SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight == -1  )
		{
			findElementById( currentSlideBoxId + "NextButton" ).style.display = "none";
			if( SlideAutoInterval.lockAtSlider==slideBaseId )
				SlideAutoInterval.direction = 0;
		}
		else
		{
			findElementById( currentSlideBoxId + "NextButton" ).style.display = "block";
		}
	}
	SliderManager.CurrentSlideMainContent[slideBaseId] = null;
	SlideAutoInterval.ExecuteFunct( currentSlideBoxId );
}

SliderManager.initSlider = function( slideBaseId, seconds )
{
	var sliderBox = findElementById( slideBaseId );
	var sliderContent = findElementById( slideBaseId + "MainContent" );
	if( sliderBox.offsetHeight == sliderContent.offsetHeight )
	{
		var buttonBox = findElementById( slideBaseId + SliderManager.BUTTONBOX );
		if( buttonBox )
			buttonBox.style.display = "none";
	}
	if(seconds==0)
		return false;
	if(seconds!=null && seconds!="" && seconds!="undefined"){
		SlideAutoInterval.SlidingInterval = (seconds*1000);
	}	
	
	//avvio temporizzatore
	SlideAutoInterval.ExecuteFunct( slideBaseId, slideBaseId );
	
}

SlideAutoInterval.ExecuteFunct = function( slideBaseId, roundSlider )
{
	if(SlideAutoInterval.lockAtSlider==null){
		SlideAutoInterval.lockAtSlider=roundSlider;
	}
	if(slideBaseId==SlideAutoInterval.lockAtSlider)
	{
		if(SlideAutoInterval.direction==0 && SlideAutoInterval.boxCounter[slideBaseId]==0)
			SlideAutoInterval.direction=1;
		switch(SlideAutoInterval.direction)
		{
			case 0:
				SlideAutoInterval.CurrentTimer = window.setTimeout( "SliderManager.SlidePrev('" + slideBaseId + "', 1)", SlideAutoInterval.SlidingInterval );
				break;
			case 1:
				SlideAutoInterval.CurrentTimer = window.setTimeout( "SliderManager.SlideNext('" + slideBaseId + "', 1)", SlideAutoInterval.SlidingInterval );
				break;
		}
	}
}


//----------------------
// search form functions
//----------------------

// search form HTML string
var sb = "";

// draw the search box
function drawSearchBox(formName,formURL)
{
	sb="<table width=\"435\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" background=\"/res/img/new_header/login_right_ground_cerca.gif\" style=\"background-repeat:no-repeat;\">"+
	    "<form name=\"" + formName + "\" target=\"_top\" method=\"POST\" action=\"" + formURL + "\" onSubmit=\"return validateSearchForm(this);\">"+ 
		"<tr valign=\"top\"><td height=\"35\" width=\"210\" >&nbsp;</td>"+
		"<td width=\"105\" align=\"left\"><img class=\"h_ten\" src=\"/res/img/new_header/login_cosa_cerchi.gif\" alt=\"Cosa cerchi?\"></td><td ><input type=\"text\"  name=\"criteria\" class=\"find\" style=\"margin-top:6px;\">&nbsp;&nbsp;</td>"+
		"<td width=\"120\"><!--a href=\"#\"--><input type=\"image\" onFocus=\"if(this.blur)this.blur()\" src=\"/res/img/new_header/btn_login_vai.gif\" border=\"0\" alt=\"Vai\" title=\"Vai\"/><!--/a-->&nbsp;<a href=\"javascript:hideSearchBox();\"><img src=\"/res/img/new_header/btn_login_chiudi.gif\" alt=\"Chiudi\"  border=\"0\"  title=\"Chiudi\"></a></td>"+
		"</tr></form></table>";
	if(!isNS4()) document.write(sb);
}

// draw the search box
function draw_139_SearchBox(formName,formURL)
{	
	sb="<table width=\"139\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" background=\"/res/img/new_header/new_loginbar/ricerca_139_back.gif\" style=\"background-repeat:no-repeat;\">"+
	    "<form name=\"" + formName + "\" target=\"_top\" method=\"POST\" action=\"" + formURL + "\" onsubmit=\"return validateSearchForm(this)\">"+ 
		"<tr valign=\"top\">"+
		"<td width=\"65\" height=\"35\" style=\"padding-top:6px;\"><input type=\"text\"  name=\"criteria\" style=\"width:60px;font-size:10px;margin-right:2px;margin-left:3px;\"></td>"+
		"<td width=\"74\" align=\"right\"><input type=\"image\" onFocus=\"if(this.blur)this.blur()\" src=\"/res/img/new_header/new_loginbar/btn_freccie_vai_139.gif\" border=\"0\" alt=\"Vai\" title=\"Vai\"/><a href=\"javascript:hideSearchBox();\" onfocus=\"this.blur();\"><img style=\"margin-left:3px;margin-right:6px;\" src=\"/res/img/new_header/new_loginbar/btn_chiudi_139.gif\" alt=\"Chiudi\"  border=\"0\"  title=\"Chiudi\"></a></td>"+
		"</tr></form></table>";
	if(!isNS4()) document.write(sb);	
}

// draw the search box
function draw_168_SearchBox(formName,formURL)
{	
	sb="<table width=\"168\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" background=\"/res/img/new_header/new_loginbar/ricerca_168_back.gif\" style=\"background-repeat:no-repeat;\">"+
	    "<form name=\"" + formName + "\" target=\"_top\" method=\"POST\" action=\"" + formURL + "\" onsubmit=\"return validateSearchForm(this)\">"+ 
		"<tr valign=\"top\">"+
		"<td width=\"76\" align=\"left\" height=\"35\" style=\"padding-top:6px;\"><input type=\"text\"  name=\"criteria\" style=\"width:70px;font-size:10px;margin-right:3px;margin-left:3px;\"></td>"+
		"<td width=\"92\" align=\"right\"><input type=\"image\" onFocus=\"if(this.blur)this.blur()\" src=\"/res/img/new_header/new_loginbar/btn_login_w_freccie.gif\" border=\"0\" alt=\"Vai\" title=\"Vai\"/><a href=\"javascript:hideSearchBox();\" onfocus=\"this.blur();\"><img style=\"margin-left:3px;margin-right:6px;\" src=\"/res/img/new_header/new_loginbar/btn_login_chiudi.gif\" alt=\"Chiudi\"  border=\"0\"  title=\"Chiudi\"></a></td>"+
		"</tr></form></table>";
	if(!isNS4()) document.write(sb);	
}



// hide the search box
function hideSearchBox()
{
        MM_showHideLayers('hdInnerRicercaOff','','show');
        MM_showHideLayers('hdInnerRicercaOn','','hide');
}

// show the search box
function showSearchBox()
{
        if (isNS4()) setTextOfLayerCouple(sb, "hdOuterRicerca", "hdInnerRicercaOn");
        MM_showHideLayers('hdInnerRicercaOff','','hide');
        MM_showHideLayers('hdInnerRicercaOn','','show');
}

function isStringValid(inputString, compareString)
{
        var length = inputString.length;
        var index;

        for (index = 0; index < length; index++)
        {
                if (compareString.indexOf(inputString.charAt(index), 0) < 0)
                {
                        return false;
                }
        }

        return true;
}

function submitValidateSearchForm(theForm)
{
        if (theForm.criteria.value.length == 0)
        {
                alert("Spiacente: ricerca non eseguibile.\n" + String.fromCharCode(201) + " necessario inserire una stringa di ricerca");
                theForm.criteria.focus();
                return false;
        }

        var graveChars = String.fromCharCode(249,224,232,233,242,236);
        var euroChar = String.fromCharCode(8364); // the euro char

        if (!isStringValid(theForm.criteria.value, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + 
                                                    graveChars + "'+ -./&_\"" + euroChar))
        {
                alert("Spiacente: ricerca non eseguibile.\nHai utilizzato dei caratteri non validi nella tua ricerca");
                theForm.criteria.focus();
                return false;
        }
		theForm.submit()
        return true;
}

// search form validation
function validateSearchForm(theForm)
{
        if (theForm.criteria.value.length == 0)
        {
                alert("Spiacente: ricerca non eseguibile.\n" + String.fromCharCode(201) + " necessario inserire una stringa di ricerca");
                theForm.criteria.focus();
                return false;
        }

        var graveChars = String.fromCharCode(249,224,232,233,242,236);
        var euroChar = String.fromCharCode(8364); // the euro char

        if (!isStringValid(theForm.criteria.value, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + 
                                                    graveChars + "'+ -./&_\"" + euroChar))
        {
                alert("Spiacente: ricerca non eseguibile.\nHai utilizzato dei caratteri non validi nella tua ricerca");
                theForm.criteria.focus();
                return false;
        }

        return true;
}

function openPopup(strurl, w, h, scrollbars, tk, popupName) {

  strurl = strurl + '&tk='+ tk +',c' + '&popup=true';

  if (scrollbars==''){
    scrollbars='no';
  }

  tools = 'width='+w+','+'height='+h+','+'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+scrollbars+',resizable=yes,top=5,left=5';

  window.open(strurl, popupName, tools);
}

function openWindowPopup(strurl, w, h, scrollbars, tk, area, popupName, check) {

  strurl = strurl + '&tk=' + tk + ',' + area;

  if (scrollbars=='') {
    scrollbars='no';
  }

  if (check == 0) {
    var c = 'no';
    strurl = strurl + '&popup=true';
  } else {
    var c = 'yes';
  }

  tools = 'width='+w+','+'height='+h+','+'toolbar='+c+',location='+c+',directories='+c+',status='+c+',menubar='+c+',scrollbars='+scrollbars+',resizable=yes,top=5,left=5';

  window.open(strurl, popupName, tools);
}

function MM_openBrWindow(theURL,winName,features) {
//pos=window.location.pathname.indexOf("Luoghi_Opere.htm")
 	if (navigator.appName == "Microsoft Internet Explorer")
		indir = theURL ;
	else
		if (navigator.appName == "Netscape")
			indir = theURL;
window.open(indir,winName,features);
}
