//-----------------------------------------------------------------------------------------
//
// Effect Script
// 
// Author: Marco Caputo
//
// Copyrights by Marco Caputo
//
//-----------------------------------------------------------------------------------------

var languageEnvironment;

var loopCounter;
var szeneObject;
var szeneCounter;
var szeneObjectList;

function setLanguageEnvironment(environment) {
   languageEnvironment = environment;
}

function exchangeLanguageStyle(multilanguageObject) {
     if(languageEnvironment && languageEnvironment!=null) {
      this.actualClassValue = multilanguageObject.className;
      this.lastPositionIndex = this.actualClassValue.lastIndexOf("_");
      if(this.lastPositionIndex>-1) {
         this.actualClassValue = this.actualClassValue.substring(0,this.lastPositionIndex); 
      }
      multilanguageObject.className = this.actualClassValue+"_"+languageEnvironment;
   }
}

function startAnimation(elementNameList, masterTimespan) {
   szeneCounter = 0;
   szeneObjectList = new Array();
   for(i=0; i<elementNameList.length; i++) {
       szene = document.getElementById(elementNameList[i]);
       if(szene) { exchangeLanguageStyle(szene); szeneObjectList.push(szene); }
   }
   fadeObject(masterTimespan);
}

function fadeObject(masterTimespan) {
   if(szeneCounter<szeneObjectList.length) {
      szeneObject = szeneObjectList[szeneCounter];
      szeneCounter++;
      milliSeconds = masterTimespan * 1000;
      timeLoops = (milliSeconds/50);
      loopCounter = 0;
      increaseTransparency(timeLoops, masterTimespan);
   }
}

function increaseTransparency(timespan, masterTimespan) {
   if(loopCounter<100) {
      setTransparency(loopCounter);
      loopCounter = loopCounter+2;
      setTimeout("increaseTransparency("+timespan+","+masterTimespan+")", timespan);
   } else {
      fadeObject(masterTimespan);
   }
}


function setTransparency(value) {
   szeneObject.style.opacity = value/100;
   szeneObject.style.filter = "alpha(opacity="+value+");"
}


function showInternationalObject(elementId) {
   this.focusedElement = document.getElementById(elementId);
   if(this.focusedElement) {
      exchangeLanguageStyle(this.focusedElement);
      this.focusedElement.style.visibility = "visible";  
   }
}

function linkInternationalPage(page, key) {
   if(page) {
      if(languageEnvironment && languageEnvironment!=null) {
         if(key) { page = page+key+languageEnvironment; }
      }
      location.href = page;
   }
}

function exchangeInternationalText(textList, defaultText) {
   try { if(languageEnvironment && languageEnvironment!=null) {
            return textList[languageEnvironment];
         } else {
            return defaultText;
         }
   } catch(Exception) { return defaultText; }         
}

