// Support Script (674)
function colorAsRGBHex(s)
{
	return swapRedBlue(colorAsHex(s));
}

function colorAsHex(s)
{
	lColor = parseColor(s);
	color = lColor.toString(16);
	while (color.length < 6)
		color = "0" + color;

	return color;
}

function swapRedBlue(s)
{
	retColor = s;
	if (s.length == 6 && !isNaN(parseInt("0x" + s)))
	{
			r = s.substr(4,2);
			g = s.substr(2,2);
			b = s.substr(0,2);
			retColor = r + g + b;
	}
	else alert("swapRedBlue: Illegal input " + s);

	return retColor;
}

function parseColor(s)
{
	sInit = s;
	retColor = 0x0F000000;  // illegal color value

	s = s.replace(/^\s+/, "");  // trim leading and trailing white space
	s = s.replace(/\s+$/, "");

	if (s.substr(0,3) == "rgb")     // rgb(rrr,ggg,bbb)
		s = s.substr(3, s.length);

	if (s.substr(0,1) == "(")       // (rrr,ggg,bbb)
	{
		s = s.substr(0, s.length -1);
		s = s.substr(1, s.length -1);
		rgb = s.split(",");
		retColor = parseInt(rgb[0])*0x10000 + parseInt(rgb[1])*0x100 + parseInt(rgb[2]);
	}
	else
	{
		if (s.charAt(0) == "#")                          // #rrggbb
		{
			s = s.substr(1,6);
			retColor = parseInt("0x" + s);
		}
		else
		{
			if (s.substr(0,2) == "0x" && s.length > 2)       // Oxrrggbb OR 0xHHH (not 6 digit hex)
			{
				s = s.substr(2, s.length);
				retColor = parseInt("0x" + s);
			}
			else
			{
				if (!isNaN(parseInt(s)))                       // ddddddd (decimal) OR 0xrrggbb (hex)
				{
					retColor = parseInt(s);
				}
			}
		}
	}

	if (isNaN(retColor) || retColor == 0x0F000000)
	{
		retColor = 0xC0C0C0;
		alert("parseColor: color value not parsed (using default gray) " + sInit);
	}

	return retColor;
}

// Support Script (779)
// Copyright (c) 1998 by Elemental Software, Inc. - ALL RIGHTS RESERVED.
//
// This class finds the named object in either 4.0 DOM and 
// gathers information about it.
//
function objectInfo(objName)
{
	this.fullName = ""; // if this does not get filled the object could not be found.

	if (objName.length == 0) return;

	this.hide = objectInfoHide;
	this.show = objectInfoShow;
	this.setLeft = objectInfoSetLeft;
	this.setTop  = objectInfoSetTop;
	this.getPosition  = objectInfoGetPosition;
	this.isValid      = objectInfoIsValid;
	this.isValidIE    = objectInfoIsValidIE;
	this.getZindex    = objectInfoGetZindex;
	this.setZindex    = objectInfoSetZindex;
	this.getDimension = objectInfoGetDimension;
	this.setDimension = objectInfoSetDimension;
 this.shiftTo      = objectInfoShiftTo;

	// find the named object in the DOM and then get the properties

	if (document.all) // IE
	{
		while (true)
		{
			if (eval("document.all.DBStyle" + objName))
			{
				if (eval("document.all.DBStyle" + objName + ".offsetWidth"))
				{
					this.fullName = "document.all.DBStyle" + objName;
					this.tagName  = this.fullName;
				}
			}
			else if (eval("document.all." + objName))
			{
				if (eval("document.all." + objName + ".offsetWidth"))
				{
					// Text in DIV tags are caught here
					this.fullName = "document.all." + objName;
					this.tagName  = this.fullName;
				}
				else if (eval("document.all." + objName + "." + objName) != null)
				{
					// Other tags are caught here.
					if (eval("document.all." + objName + "[1].tagName")  != "DIV")
					{
						this.fullName = "document.all." + objName + "[0]";
						this.tagName  = "document.all." + objName + "[1]";
					}
				}
			}

			// strip underscores out of input and try one more time
			if (this.fullName.length > 0) break;
			objName2 = objName.replace(/_/, "");
			if (objName2 == objName) break;
			objName = objName2;
		}

		
		if (this.fullName.length > 0)
		{
			this.styleKey = '.style'; // used to access style info
			this.width  = eval(this.fullName + ".offsetWidth");
			this.height = eval(this.fullName + ".offsetHeight");
		}
	}
	else  // NC
	{
		if (document.layers)
		{
			sectionNumber = 0;
			while (true)
			{
				sectionName = "LyrSection" + sectionNumber.toString();
				if (eval("document.layers." + sectionName) == null) break;  // can't find object in DOM

				// see if this is an object in the DOM
				if (eval("document.layers." + sectionName + ".document"))
				{
					while (true)
					{
						if (eval("document.layers." + sectionName + ".document.layers.LyrDBStyle" + objName))
						{
							this.fullName = "document.layers." + sectionName + ".document.layers.LyrDBStyle" + objName;
							this.tagName  = "document.layers." + sectionName + ".document." + objName; 
							break;
						}
						else if (eval("document.layers." + sectionName + ".document.layers.Lyr" + objName))
						{
							this.fullName = "document.layers." + sectionName + ".document.layers.Lyr" + objName;
							this.tagName  = "document.layers." + sectionName + ".document." + objName; 
							break;
						}
						else if (eval("document.layers." + sectionName + ".document.layers." + objName))
						{
							this.fullName = "document.layers." + sectionName + ".document.layers." + objName;
							this.tagName  = "document.layers." + sectionName + ".document." + objName; 
							break;
						}

						// strip underscores out of input and try one more time
						if (this.fullName.length > 0) break;
						objName2 = objName.replace(/_/, "");
						if (objName2 == objName) break;
						objName = objName2;
					}

				} else alert("objectInfo: " + "document.layers." + sectionName + ".document" + " is not an object");

				sectionNumber++;
			} // end while (looping over all SectionN relative positioning layers)

			if (this.fullName.length > 0 && "undefined" != typeof(eval(this.fullName + ".pageX")))
			{
				this.styleKey = '';

				if (eval(this.fullName + ".dbWidth"))
				{
					// we have previously set the values - get them from here, since if we changed
					// the clipping region the size will be wrong (it will be clipping size - not native size).
					this.width  = eval(this.fullName + ".dbWidth");
					this.height = eval(this.fullName + ".dbHeight");
				}
				else
				{
					// get the clipping size and save it off since we haven't yet clipped this guy.
					this.width  = eval(this.fullName + ".clip.width");
					this.height = eval(this.fullName + ".clip.height");
					eval(this.fullName + ".dbWidth  = this.width");
					eval(this.fullName + ".dbHeight = this.height");
				}
			}
			else
			{
				this.fullName = "";
				this.tagName  = "";
			}
		}  // end if (document.layers  e.g. NC)
	}
	this.object = null;
	if (this.fullName.length > 0)
		this.object = eval(this.fullName);
}

function objectInfoHide()
{	
	if (this.fullName.length > 0)
		eval(this.fullName + this.styleKey + ".visibility = 'hidden';");
}

function objectInfoShow()
{
	if (this.fullName.length > 0)
		eval(this.fullName + this.styleKey + ".visibility = 'visible';");
}

function objectInfoSetLeft(left)
{
	if (this.fullName.length > 0)
		eval(this.fullName + this.styleKey + ".left = left");
}

function objectInfoSetTop(top)
{
	if (this.fullName.length > 0)
		eval(this.fullName + this.styleKey + ".top = top");
}

function objectInfoGetPosition()
{
	ret = null;
	if (this.fullName.length > 0)
	{
		if ("undefined" != typeof(eval(this.fullName + ".offsetLeft")))
		{
			ret = new Object;
			ret.left   = eval(this.fullName + ".offsetLeft");
			ret.top    = eval(this.fullName + ".offsetTop");
		}
		else if ("undefined" != typeof(eval(this.fullName + ".pageX")))
		{
			ret = new Object;
			ret.left = eval(this.fullName + ".pageX");
			ret.top  = eval(this.fullName + ".pageY");
		}
	}
	return ret;
}

function objectInfoIsValid()
{
	return (this.fullName.length > 0 && this.object);
}

function objectInfoIsValidIE()
{
	return (this.fullName.length > 0 && this.object && document.all);
}


function objectInfoGetZindex()
{
	  if (this.fullName.length > 0)
  	{
	   ret = eval(this.fullName + this.styleKey + ".zIndex");
	   return (ret);
  	}
}

function objectInfoSetZindex(ind)
{
  if (this.fullName.length > 0 )
  {
    eval(this.fullName + this.styleKey + ".zIndex = ind");
  }
}

function objectInfoGetDimension()
{

   ret = null;
   ret = new Object;
   if (document.all) {  // IE
      ret.width = eval(this.fullName + ".offsetWidth");
      ret.height = eval(this.fullName + ".offsetHeight");
   }
   else {  // NC
      if (eval(this.fullName + ".dbWidth")) {
         ret.width  = eval(this.fullName + ".dbWidth");
         ret.height = eval(this.fullName + ".dbHeight");
      }
      else {
         ret.width = eval(this.fullName + ".clip.width");
         ret.height = eval(this.fullName + ".clip.height");
      }
   }
    
   return (ret);
}       

function objectInfoSetDimension(w, h)
{
   if (document.all) { // IE
     eval(this.fullName + this.styleKey + ".width = w");
     eval(this.fullName + this.styleKey + ".height = h");
   }
   else { // NC
     if (eval(this.fullName + ".clip.width")) {
        eval(this.fullName + ".clip.width = w");
        eval(this.fullName + ".clip.height = h");
     }
     eval(this.fullName + ".dbWidth = w");
     eval(this.fullName + ".dbHeight = h");
   }
   this.width = w;
   this.height = h;
}

function objectInfoShiftTo(x, y)
{
   if (document.all) { // IE
      eval(this.fullName + this.styleKey + ".left = x");
      eval(this.fullName + this.styleKey + ".top  = y");
   }
   else { // NC
      eval(this.fullName + ".moveTo(x,y)");
   }
}
// Support Script (776)
function AddToValidateArray(strElementName)
{
    var strName = strElementName

    if (!document.ValidateArray) 
    {
        document.ValidateArray = new Array
    }

    document.ValidateArray[document.ValidateArray.length] = strName
}

// Support Script (655)
function ValidateNonBlank()
{
  var msg = "";
  var val = this.getText();  

  if (StripChars(" \n\t\r",val).length == 0)
  {
    if (Trim(this.ErrorMsg) != "")
      msg = "Dato necessario. " + this.ErrorMsg
    else
      msg = "Dato necessario. Inserisci un valore corretto."
  }

  return msg;
}

// Support Script (800)
function StripChars(theFilter,theString)
{
	var strOut,i,curChar

	strOut = ""
	for (i=0;i < theString.length; i++)
	{		
		curChar = theString.charAt(i)
		if (theFilter.indexOf(curChar) < 0)	// if it's not in the filter, send it thru
			strOut += curChar		
	}	
	return strOut
}

function AllInRange(x,y,theString)
{
	var i, curChar
	
	for (i=0; i < theString.length; i++)
	{
		curChar = theString.charAt(i)
		if (curChar < x || curChar > y) //the char is not in range
			return false
	}
	return true
}


function reformat (s)
{
    var arg;
    var sPos = 0;
    var resultString = "";

    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) 
           resultString += arg;
       else 
       {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}

function Trim(theString)
{
 var i,firstNonWhite

 if (StripChars(" \n\r\t",theString).length == 0 ) return ""

	i = -1
	while (1)
	{
		i++
		if (theString.charAt(i) != " ")
			break	
	}
	firstNonWhite = i
	//Count the spaces at the end
	i = theString.length
	while (1)
	{
		i--
		if (theString.charAt(i) != " ")
			break	
	}	

	return theString.substring(firstNonWhite,i + 1)

}
// Support Script (768)
function getForm()
{
	var f;
	if (document.forms && document.forms[0])
	{
		// This is the case where there are only hidden form elements in an
		// all 4.0 browser page and Comm is hitting the page - and all IE cases.
		f = document.forms[0];
	}

	if (f == null)
	{
		if ((document.layers) && (document.layers.length > 0))
		{
			var d;
			iLayer = 0;
			while (true)
			{
				d = document.layers[iLayer].document.layers[0].document;
				if (d.forms && d.forms[0]) // normal case
				{
					f = d.forms[0];
					break;
				}
				iLayer = iLayer + 2;
			
				if (document.layers[iLayer] == null)
					break;
			}
		}
	}

	if (f == null)
		alert("Form not submitted - internal error: Drumbeat can not find Form object in DOM. There may not be a form on this page.");

	return f;
}

// Support Script (810)
function subAwithBinC(a,b,c)
{

	var i = c.indexOf(a);
	var l = b.length;

	while (i != -1)	{
		c = c.substring(0,i) + b + c.substring(i + a.length,c.length);
  i += l
		i = c.indexOf(a,i);
	}
	return c;

}
// Support Script (770)
function Validate(stopOnFailure)
{
	var ErrorMsg = "";
	var i
	var msg
	var tofocus = true;
	var ErrorMsg = "";
	
	// Go through the Validate Array that may or may not exist
	// and call the Validate function for all elements that have one.
	if (document.ValidateArray)
	{
		for (i = 0; i < document.ValidateArray.length; i ++)
		{
			msg = eval( document.ValidateArray[i] + ".Validate()")
			if (msg != "")
			{
				ErrorMsg += "\n\n" + document.ValidateArray[i] + ":  " + msg;
				if (tofocus) 
				{
					eval(document.ValidateArray[i] + ".focus()")
					tofocus = false;
				}
				
				if (stopOnFailure == "1") return ErrorMsg;
			}
  	}
  }
	return ErrorMsg;
}

function document_onLoad() {
var sbcolor = colorAsRGBHex("15724527");
sbcolor = '#'+sbcolor;
changeScrollbarColor(sbcolor)
if ((kera.elementResolved()) && (document.all))
{
 keraoInfo = new objectInfo("kera");
 eval (keraoInfo.tagName + keraoInfo.styleKey + ".width =" + "433");
}
cerca.Validate=ValidateNonBlank;
cerca.ErrorMsg = "Cosa desideri Cercare?"
AddToValidateArray("cerca")
 }
function kera__onChange() {
var v = kera.getSelectedValue();
if (v.length > 1) // one char is a noop
  window.location.href = v;
 }
function _kera__onChange() { if (kera) return kera.onChange(); }
function Marche__onChange() {
var v = Marche.getSelectedValue();
if (v.length > 1) // one char is a noop
  window.location.href = v;
 }
function _Marche__onChange() { if (Marche) return Marche.onChange(); }
function ImageButton2_onClick() {
// We do not call onSubmit() with this contract

var formObj = getForm()
if (formObj != null)
{
var addChar = "?" 
var j
var Result
var okToSubmit = false

if ("".length > 1)
{
    formObj.action = subAwithBinC(" ", "%20", "")
}

// We have to
// put the source in the query string so the generic database contracts
// still work.

// NOTE: this only works if the method of the form is POST

act = formObj.action
if (act.indexOf("?") != -1)
{    
    addChar = "&"
}

act += addChar + "ImageButton2=1"
formObj.action = act


if ("1" == "1")
{
    Result = Validate("0"); // don't stop on first error
    if (Result == "") okToSubmit = true;
    else alert("The form could not be submitted:" + Result);
}
else 
{
    okToSubmit = true
}


if (okToSubmit) formObj.submit();
}
 }
function _ImageButton2_onClick() { if (ImageButton2) return ImageButton2.onClick(); }

