/* =====================================================================================
		SETTING UP THE SCRIPT'S VARIABLES
   ===================================================================================== */
var intLayerIn, intLayerOut, intOpacStart, intOpacEnd, blnCanFade, intThisArea, intNextArea, intActiveCount;
intOpacStart = 0;
intOpacEnd = 100;
intLayerIn = 1;
blnCanFade = false;
intThisArea = 1;
intActiveCount = 0;
var intAnimFrames = 3;
var showh, showv, structure, viseq, dispeq, closingb, dispb, dispn, coloreq;
showh = "'hidden'";
showv = "'visible'";
dispb = "'block'";
dispn = "'none'";

structure = "document.getElementById('";
viseq = "').style.visibility = ";
dispeq = "').style.display = ";
coloreq = "').style.color = ";
closingb = "')";

function testElement(id)
{
 test = eval(structure +id + closingb);
 if (!test) {return false;}
 return true;
}

function fn_elementDisplay(strID,state)
{
 if (!testElement(strID)) {return false;}
 var strDisp = ((state == 1) ? dispb : dispn);
 eval(structure + strID + dispeq + strDisp)
}

function Animation(intid,strName,intTotal)
{
 this.intID = intid;
 this.name = strName;
 this.position = 1;
 this.totalframes = intTotal;
 this.active = "false";
}

var arrStdAnims = new Array();
arrStdAnims[1] = new Animation(1,'Standard',2);

//alert(arrStdAnims.length);

function animDiv(intID,strName)
{
 this.id = "anim_" + strName + "_" + intID;
 this.opacity = 0;
}

for (intcount = 1; intcount < arrStdAnims.length; intcount++)
{
 for (intcount2 = 1; intcount2 <= arrStdAnims[intcount].totalframes; intcount2++)
 {
  arrStdAnims[intcount][intcount2] = new animDiv(intcount2,arrStdAnims[intcount].name);
 }
}

/* =====================================================================================
		FUNCTIONS TO OPERATE THE FADING ACTION
   ===================================================================================== */
//change the opacity for different browsers 
function changeOpac(opacity, intID)
{
 if(!blnCanFade){return;}
 if(!testElement(arrStdAnims[intThisArea][intID].id)){return;}
 arrStdAnims[intThisArea][intID].opacity = opacity;
 var object = document.getElementById(arrStdAnims[intThisArea][intID].id).style; 
 object.opacity = (opacity / 100); 
 object.MozOpacity = (opacity / 100); 
 object.KhtmlOpacity = (opacity / 100); 
 object.filter = "alpha(opacity=" + opacity + ")";
 if((intID == 1) && (opacity < 1)){fn_elementDisplay(arrStdAnims[intThisArea][intID].id,0);}
}

function fn_fadeLayers()
{
 var speed = Math.round(5); 
 var timer = 0; 
 var intFadeOut;
 fn_elementDisplay(arrStdAnims[intThisArea][intLayerIn].id,1)
 for(intcount = 0; intcount <= 100; intcount++) 
 { 
  intFadeOut = intOpacEnd-intcount;
  setTimeout("changeOpac(" + intcount + ",'" + intLayerIn + "')",(timer * speed)); 
  setTimeout("changeOpac(" + intFadeOut + ",'" + intLayerOut + "')",(timer * speed)); 
  timer++;
 } 
}

function fn_switchLayers()
{
 fn_elementDisplay(arrStdAnims[intThisArea][intLayerOut].id,0);
 fn_elementDisplay(arrStdAnims[intThisArea][intLayerIn].id,1);
}

/* =====================================================================================
		FUNCTIONS TO RUN THE DEFAULT LOOPING
   ===================================================================================== */
var cmd_doLoop;

cmd_doLoop = setTimeout("",500);
var onContentTimeout = "doLoop()";

var intDelay;
function doLoop()
{
 intThisArea = 1
 intLayerOut = arrStdAnims[1].position;
 intLayerIn = intLayerOut + 1;
 arrStdAnims[1].position = intLayerIn;
 if (blnCanFade) {fn_fadeLayers();}
 else {fn_switchLayers();}
}

/* =====================================================================================
		FUNCTIONS CALLED BY BROWSER EVENTS
   ===================================================================================== */
 var blnSetup, blnYachtPage, intFirstDelay
 blnYachtPage = false;
 function fn_setupAnimFades()
{
 var tmpStyleObject = document.getElementById(arrStdAnims[1][1].id).style;
 if ((navigator.platform.indexOf('Win') > -1)) // if it's on anything other than Windows don't fade (because Mac's are tooooo sllooooowwwwwwwww ... 
 {
  if ((tmpStyleObject.opacity != "undefined") || (tmpStyleObject.MozOpacity != "undefined") || (tmpStyleObject.KhtmlOpacity != "undefined") || (tmpStyleObject.filter != "undefined"))
  {
   blnCanFade = true;
   for (intcount = 1; intcount < arrStdAnims.length; intcount++)
   {
    intThisArea = intcount;
    for (intcount2 = 1; intcount2 <= arrStdAnims[intcount].totalframes; intcount2++)
    {changeOpac(0, intcount2);}
    changeOpac(100, 1);
   }
   intThisArea = 1;
  }
 }
 blnSetup = true;
 fn_elementDisplay(arrStdAnims[1][1].id,1);
 intFirstDelay = (blnYachtPage ? 1000 : 250);
 if(blnYachtPage){eval(structure + 'YachtDetail' + viseq + showv);}
 cmd_doLoop = setTimeout(onContentTimeout,intFirstDelay);
}
