function loadFrame (url,target){
         frames[target].location.href = url;
}
function imgChange(name,address){
         document.images[name].src = "images/" + address;
}

var activevideo = 1;
var activemusic = 0;
var activetrackurl = 0;
var activetrackrealname = 0;
var activepastshows = 2009;
var activepastyears = 2009;


////////////////////////////////////////////////////////
/* FUNKTION ZUR STEUERUNG VON FLASH MIT JAVASCRIPT *////
////////////////////////////////////////////////////////
function getFlashMovieObject(movieName)
{
  if (window.document[movieName])
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName];
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}


///////////////////////////////////////////////////////////////
function valuechangephoto(wert){
         document.getElementsByName("photo")[0].value = wert;
         document.getElementsByName("start")[0] = focus();
}
function valuechangevideo(wert){
         document.getElementsByName("video")[0].value = wert;
         document.getElementsByName("start")[0] = focus();
}


////////////////////////////////////////////////////////
/* FUNKTION zum Öffnen der Videos */////////////////////
////////////////////////////////////////////////////////
function openMovie(videonummer,moviename){
         if(activevideo == videonummer){
                 document.images["video" + activevideo].src="images/link_video_over.gif";
                 document.getElementById("youtube").innerHTML = '';
                 document.getElementById("videoid" + videonummer).className = 'redlink';
                 activevideo = 0;
         }
         else {
                 document.images["video" + videonummer].src="images/link_video_active.gif";
                 document.getElementById("videoid" + videonummer).className = 'redlinkactive';
                 if(activevideo != 0){
                         document.images["video" + activevideo].src="images/link_video.gif";
                         document.getElementById("videoid" + activevideo).className = 'redlink';
                 }
                 document.getElementById("youtube").innerHTML = '<object width=320 height=265><param name=movie value=\"http://www.youtube.com/v/' + moviename + '\"></param><param name=allowFullScreen value=true></param><param name=allowscriptaccess value=sameDomain></param><param name=wmode value=transparent><embed src=\"http://www.youtube.com/v/' + moviename + '\" type=application/x-shockwave-flash allowscriptaccess=sameDomain allowfullscreen=true wmode=transparent width=320 height=265></embed></object>';
                 activevideo = videonummer;
         }
}
function videoLinkOver(videonummer){
         if(activevideo != videonummer){
                 document.images["video" + videonummer].src="images/link_video_over.gif";
         }
}
function videoLinkOut(videonummer){
         if(activevideo != videonummer){
                 document.images["video" + videonummer].src="images/link_video.gif";
         }
}


////////////////////////////////////////////////////////
/* PAST SHOWS */////////////////////////////////////////
////////////////////////////////////////////////////////
function pastShows(year){
         if (activepastshows == year){
                 document.getElementById("live" + activepastshows).style.display = 'none';
                 document.getElementById("pastshows" + activepastshows).className = 'redlink';
                 document.images["year" + activepastshows].src="images/link_video_over.gif";
                 activepastshows = 0;
         }
         else {
                 document.getElementById("live" + year).style.display = 'block';
                 document.images["year" + year].src="images/link_video_active.gif";
                 document.getElementById("pastshows" + year).className = 'redlinkactive';
                 if(activepastshows != 0){
                         document.getElementById("live" + activepastshows).style.display = 'none';
                         document.getElementById("pastshows" + activepastshows).className = 'redlink';
                         document.images["year" + activepastshows].src="images/link_video.gif";
                 }
                 activepastshows = year;
         }
}
function pastShowsOver(year){
         if(activepastshows != year){
                 document.images["year" + year].src="images/link_video_over.gif";
         }
}
function pastShowsOut(year){
         if(activepastshows != year){
                 document.images["year" + year].src="images/link_video.gif";
         }
}


////////////////////////////////////////////////////////
/* PAST YEARS */////////////////////////////////////////
////////////////////////////////////////////////////////
function pastYears(year){
         if (activepastyears == year){
                 document.getElementById("diary" + activepastyears).style.display = 'none';
                 document.getElementById("pastyears" + activepastyears).className = 'redlink';
                 document.images["diarypic" + activepastyears].src="images/link_video_over.gif";
                 activepastyears = 0;
         }
         else {
                 document.getElementById("diary" + year).style.display = 'block';
                 document.images["diarypic" + year].src="images/link_video_active.gif";
                 document.getElementById("pastyears" + year).className = 'redlinkactive';
                 if(activepastyears != 0){
                         document.getElementById("diary" + activepastyears).style.display = 'none';
                         document.getElementById("pastyears" + activepastyears).className = 'redlink';
                         document.images["diarypic" + activepastyears].src="images/link_video.gif";
                 }
                 activepastyears = year;
         }
}
function pastYearsOver(year){
         if(activepastyears != year){
                 document.images["diarypic" + year].src="images/link_video_over.gif";
         }
}
function pastYearsOut(year){
         if(activepastyears != year){
                 document.images["diarypic" + year].src="images/link_video.gif";
         }
}



///////////////////////////////////////////////////////////////
/* MUSIC PLAYER *//////////////////////////////////////////////
///////////////////////////////////////////////////////////////
function playTrack(trackurl,trackposition,trackrealname){
         document.getElementById("speaker_" + trackposition).innerHTML = '<object classid=\"CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0\" id=musicplayer width=13 height=11><param name=movie value=\"music/player.swf?trackurl=http://www.yesolar.de/music/' + trackurl + '\"></param><param name=wmode value=transparent></param><param name=allowscriptaccess value=sameDomain></param><embed src=\"music/player.swf?trackurl=http://www.yesolar.de/music/' + trackurl + '\" type=application/x-shockwave-flash wmode=transparent allowscriptaccess=sameDomain swliveconnect=true name=musicplayer width=13 height=11 type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"></embed></object>';
         document.getElementById("track_" + trackposition).innerHTML = '<a><span onmousedown=\"playMusic();\" style=\"cursor:pointer;\">' + trackrealname + '</span></a>';
         document.getElementById("track_" + trackposition).className = 'trackactive';
         document.getElementById("youarelisteningto").innerHTML = '<a style=\"cursor:pointer;\" onmousedown=\"stopAnyMusic();\">&nbsp;Y O U&nbsp;&nbsp;A R E&nbsp;&nbsp;L I S T E N I N G&nbsp;&nbsp;T&nbsp;O&nbsp;&nbsp;<b>' + trackrealname +'</b>&nbsp;&nbsp;S T O P&nbsp;&nbsp;M U S I C&nbsp;</a>';
         if(activemusic != 0 && activemusic != trackposition){
                 document.getElementById("speaker_" + activemusic).innerHTML = '<img src=\"images/link_play.gif\" border=0>';
                 document.getElementById("track_" + activemusic).innerHTML = '<a><span onmousedown=\"playTrack(\'' + activetrackurl + '\',\'' + activemusic + '\',\'' + activetrackrealname + '\');\" style=\"cursor:pointer;\">' + activetrackrealname + '</span></a>';
                 document.getElementById("track_" + activemusic).className = 'track';
         }
         activemusic = trackposition;
         activetrackurl = trackurl;
         activetrackrealname = trackrealname;
}
function stopAnyMusic(){
         document.getElementById("speaker_" + activemusic).innerHTML = '<img src=\"images/link_play.gif\" border=0>';
         document.getElementById("track_" + activemusic).innerHTML = '<a><span onmousedown=\"playTrack(\'' + activetrackurl + '\',\'' + activemusic + '\',\'' + activetrackrealname + '\');\" style=\"cursor:pointer;\">' + activetrackrealname + '</span></a>';
         document.getElementById("track_" + activemusic).className = 'track';
         activemusic = 0;
         document.getElementById("youarelisteningto").innerHTML = '&nbsp;';
}
function playMusic(){
         var flashMovie=getFlashMovieObject("musicplayer");
         flashMovie.Play();
         //embed.nativeProperty.anotherNativeMethod();
}
function stopPlayerFlash(){
         document.getElementById("youarelisteningto").innerHTML = '&nbsp;';
}
function startPlayerFlash(){
         document.getElementById("youarelisteningto").innerHTML = '<a style=\"cursor:pointer;\" onmousedown=\"stopAnyMusic();\">&nbsp;Y O U&nbsp;&nbsp;A R E&nbsp;&nbsp;L I S T E N I N G&nbsp;&nbsp;T&nbsp;O&nbsp;&nbsp;<b>' + activetrackrealname +'</b>&nbsp;&nbsp;S T O P&nbsp;&nbsp;M U S I C&nbsp;</a>';
}

///////////////////////////////////////////////////////////////
/* DOWNLOAD PHOTOS *///////////////////////////////////////////
///////////////////////////////////////////////////////////////
function photochange(nummer){
         document.images["photodownload"].src = "images/YESOLAR_" + nummer + ".jpg";
}


///////////////////////////////////////////////////////////////
/* ID anzeigen/verstecken *////////////////////////////////////
///////////////////////////////////////////////////////////////
function display(divID){
            var new_stat = 'block';
            if (document.getElementById){
                      var elem = document.getElementById(divID);
                      new_stat = elem.style.display == 'block' ? 'none' : 'block';
                      elem.style.display = new_stat;
            }
            return new_stat;
}


///////////////////////////////////////////////////////////////
/* TRACKLIST */////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
function openTracklist(name){
         //displayID(name);
         var stat = document.images["d_" + name].src;
         var stat_split = stat.split("/"); //stat splitten
         var l_stat_split = stat_split.length;
         var stat_aktuell = stat_split[l_stat_split-1];
         if (stat_aktuell == "link_video_over.gif"){
                 document.images["d_" + name].src = "images/link_video_active.gif";
                 document.getElementById(name).style.display = 'block';
                 document.getElementById("tracklist_" + name).className = 'redlinkactive';
         }
         else {
                 document.images["d_" + name].src = "images/link_video_over.gif";
                 document.getElementById(name).style.display = 'none';
                 document.getElementById("tracklist_" + name).className = 'redlink';
         }
}
function picTracklistOver(name){
         var stat = document.images[name].src;
         var stat_split = stat.split("/"); //stat splitten
         var l_stat_split = stat_split.length;
         var stat_aktuell = stat_split[l_stat_split-1];
         if (stat_aktuell != "link_video_active.gif"){
                 document.images[name].src = "images/link_video_over.gif";
         }
}
function picTracklistOut(name){
         var stat = document.images[name].src;
         var stat_split = stat.split("/"); //stat splitten
         var l_stat_split = stat_split.length;
         var stat_aktuell = stat_split[l_stat_split-1];
         if (stat_aktuell != "link_video_active.gif"){
                 document.images[name].src = "images/link_video.gif";
         }
}

function picOver(name,address){
         pic1 = new Image();
         pic1.src = "images/" + address;
         document.images[name].src = pic1.src;
}

///////////////////////////////////////////////////////////////
/* positionsermittlung *///////////////////////////////////////
///////////////////////////////////////////////////////////////
function getposition(){
         alert(document.body.scrollTop + " Pixel");
}

function displayPhotos(address,ph){
         document.images['photos_big'].src = "images/" + address;
         var y; // ERMITTLUNG DER AKTUELLEN SCROLLPOSITION
         if (self.pageYOffset){ // all except Explorer
                 y = self.pageYOffset;
         }
         else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict
                 y = document.documentElement.scrollTop;
         }
         else if (document.body){ // all other Explorers
                 y = document.body.scrollTop;
         }
         document.getElementById('photos_bg').style.height = document.body.scrollHeight;
         document.getElementById('photos_layer').style.top = y + ((document.getElementById('id_body').offsetHeight)/2) + "px";
         document.getElementById('photos_layer').style.marginTop = '-' + (ph/2) + 'px';
         if (document.getElementById){
                 var elem = document.getElementById('photos_bg');
                 new_stat = elem.style.display == 'block' ? 'none' : 'block';
                 elem.style.display = new_stat;
         }
         if (document.getElementById){
                 var elem = document.getElementById('photos_layer');
                 new_stat = elem.style.display == 'block' ? 'none' : 'block';
                 elem.style.display = new_stat;
         }
}

// decrypt helper function
function decryptCharcode(n,start,end,offset){
        n = n + offset;
        if (offset > 0 && n > end){
                n = start + (n - end - 1);
                } else if (offset < 0 && n < start){
                n = end - (start - n - 1);
        }
        return String.fromCharCode(n);
}
// decrypt string
function decryptString(enc,offset){
        var dec = "";
        var len = enc.length;
        for(var i=0; i < len; i++){
                var n = enc.charCodeAt(i);
                if (n >= 0x2B && n <= 0x3A){
                        dec += decryptCharcode(n,0x2B,0x3A,offset);        // 0-9 . , - + / :
                } else if (n >= 0x40 && n <= 0x5A){
                        dec += decryptCharcode(n,0x40,0x5A,offset);        // A-Z @
                } else if (n >= 0x61 && n <= 0x7A){
                        dec += decryptCharcode(n,0x61,0x7A,offset);        // a-z
                } else {
                        dec += enc.charAt(i);
                }
        }
        return dec;
}
// decrypt spam-protected emails
function linkTo_UnCryptMailto(s){
        location.href = decryptString(s,-2);
}


////////////////////////////////////////////////////////
/* Formular auf Name und E-Mail checken *** ENGLISH *///
////////////////////////////////////////////////////////
function checkformEnglish(formular){
         //überprüfung, ob überhaupt etwas eingetragen wurde
         if (document.getElementById("realname" + formular).value == '' || document.getElementById("realname" + formular).value == 'name'){
                 alert('Please enter your name!');
                 document.getElementById("realname" + formular).focus();
                 return(false);
         }
         if (document.getElementById("mail" + formular).value == '' || document.getElementById("mail" + formular).value == 'email-address'){
                 alert('Please enter your email-address!');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
         //email adresse auf leerzeichen überprüfen
         if(document.getElementById("mail" + formular).value.search(/ /) != '-1'){
                 alert('Space characters are not alowed in email-addresses!');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
         //email-Format überprüfen
         s = document.getElementById("mail" + formular).value.split(/@/);
         //bei einem @ kann es nur 2 teile geben
         if((s.length !=2) || s[0] == '' || s[1] == ''){
                 alert('The email-address has a wrong format!');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
         //nach dem @ zeichen ein punkt
         if (s[1].indexOf(".") == '-1'){
                 alert('The email-address must include at least one dot after the @ !');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
         var a,b;
         a = document.getElementById("mail" + formular).value.split(/[.]/);
         b = a.reverse();
         if (b[0].length != "2" &&  b[0].length != "3" && b[0].length != "4"){
                 alert('The TopLevelDomain of the e-Mail is not valid!');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
}

////////////////////////////////////////////////////////
/* Formular auf E-Mail checken *** ENGLISH *////////////
////////////////////////////////////////////////////////
function checkformEnglishEmail(formular){
         if (document.getElementById("mail" + formular).value == '' || document.getElementById("mail" + formular).value == 'email-address'){
                 alert('Please enter your email-address!');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
         //email adresse auf leerzeichen überprüfen
         if(document.getElementById("mail" + formular).value.search(/ /) != '-1'){
                 alert('Space characters are not alowed in email-addresses!');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
         //email-Format überprüfen
         s = document.getElementById("mail" + formular).value.split(/@/);
         //bei einem @ kann es nur 2 teile geben
         if((s.length !=2) || s[0] == '' || s[1] == ''){
                 alert('The email-address has a wrong format!');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
         //nach dem @ zeichen ein punkt
         if (s[1].indexOf(".") == '-1'){
                 alert('The email-address must include at least one dot after the @ !');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
         var a,b;
         a = document.getElementById("mail" + formular).value.split(/[.]/);
         b = a.reverse();
         if (b[0].length != "2" &&  b[0].length != "3" && b[0].length != "4"){
                 alert('The TopLevelDomain of the e-Mail is not valid!');
                 document.getElementById("mail" + formular).focus();
                 return(false);
         }
}