var activemusic = 0;
var activetrackurl = 0;
var activetrackrealname = 0;

////////////////////////////////////////////////////////
/* 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);
  }
}


////////////////////////////////////////////////////////
/* Flash-Player-Check */////////////////////////////////
////////////////////////////////////////////////////////
function flashCheck(){
         flash = false;
         if ((navigator.mimeTypes) && (navigator.mimeTypes.length > 0)){
                 for (a = 0; a < navigator.mimeTypes.length; a++){
                        if (navigator.mimeTypes[a].type.indexOf("application/x-shockwave-flash")>= 0){
                                 flash = true;
                        }
                 }
        }
}


////////////////////////////////////////////////////////
/* allgemeine photoChange-Funktion *////////////////////
////////////////////////////////////////////////////////
function photoChange(dername,picurl){
         pic1 = new Image();
         pic1.src = picurl;
         document.images[dername].src = pic1.src;
}


////////////////////////////////////////////////////////
/* allgemeine classChange-Funktion *////////////////////
////////////////////////////////////////////////////////
function classChange(idname,classname){
         if (document.getElementById){
                 document.getElementById(idname).className = classname;
         }
}


////////////////////////////////////////////////////////
/* neue Seite öffnen *//////////////////////////////////
////////////////////////////////////////////////////////
function openUrl(urlName){
        parent.location.href = urlName;
}


///////////////////////////////////////////////////////////////
/* 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.fayvish.de/music/' + trackurl + '\"></param><param name=wmode value=transparent></param><param name=allowscriptaccess value=sameDomain></param><embed src=\"music/player.swf?trackurl=http://www.fayvish.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 = '<span style=\"color:#ffffff;\">Du h&ouml;rst<br><b>' + trackrealname +'</b><div style=\"padding-top:4px;\"><a style=\"cursor:pointer;\" onmousedown=\"stopAnyMusic();\">&nbsp;STOP&nbsp;</a></div></span>';
         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 = '<span style=\"color:#ffffff;\">Du h&ouml;rst<br><b>' + activetrackrealname +'</b><div style=\"padding-top:4px;\"><a style=\"cursor:pointer;\" onmousedown=\"stopAnyMusic();\">&nbsp;STOP&nbsp;</a></div></span>';
}


////////////////////////////////////////////////////////
/* NEWSLETTER Formular E-Mail checken */////////////////
////////////////////////////////////////////////////////
function checkformNewsletter(formular){
//überprüfung, ob überhaupt etwas eingetragen wurde
if (document.getElementById("email" + formular).value == '' || document.getElementById("email" + formular).value == 'E-Mail'){
         alert('Bitte geben Sie Ihre E-Mail an.');
         document.getElementById("email" + formular).focus();
         return(false);
}

//email adresse auf leerzeichen überprüfen
if(document.getElementById("email" + formular).value.search(/ /) != '-1'){
         alert('Die e-Mail-Adresse darf keine Leerzeichen enthalten.');
         document.getElementById("email" + formular).focus();
         return(false);
}

//email-Format überprüfen
s = document.getElementById("email" + formular).value.split(/@/);

//bei einem @ kann es nur 2 teile geben
if((s.length !=2) || s[0] == '' || s[1] == ''){
         alert('Die e-Mail-Adresse hat ein falsches Format.');
         document.getElementById("email" + formular).focus();
         return(false);
}

//nach dem @ zeichen ein punkt
if (s[1].indexOf(".") == '-1'){
         alert('Die e-Mail-Adresse muss nach dem @ mindestens einen Punkt enthalten.');
         document.getElementById("email" + formular).focus();
         return(false);
}

var a,b;

a = document.getElementById("email" + formular).value.split(/[.]/);
b = a.reverse();
if (b[0].length != "2" &&  b[0].length != "3" && b[0].length != "4"){
         alert('Die TopLevelDomain der e-Mail ist ungültig.');
         document.getElementById("email" + formular).focus();
         return(false);
}
//uncrypt recipient
var recipientStat = document.getElementById("recipient_" + formular).value;
document.getElementById("recipient_" + formular).value = decryptString(recipientStat,-2);
document.getElementsByName("kontakt").reset();
}



////////////////////////////////////////////////////////
/* Formular auf Name und E-Mail checken *///////////////
////////////////////////////////////////////////////////
function checkform(formular){
//überprüfung, ob überhaupt etwas eingetragen wurde
if (document.getElementById("realname" + formular).value == '' || document.getElementById("realname" + formular).value == 'Name'){
         alert('Bitte geben Sie Ihren Namen an.');
         document.getElementById("realname" + formular).focus();
         return(false);
}
if (document.getElementById("email" + formular).value == '' || document.getElementById("email" + formular).value == 'E-Mail'){
         alert('Bitte geben Sie Ihre E-Mail an.');
         document.getElementById("email" + formular).focus();
         return(false);
}

//email adresse auf leerzeichen überprüfen
if(document.getElementById("email" + formular).value.search(/ /) != '-1'){
         alert('Die e-Mail-Adresse darf keine Leerzeichen enthalten.');
         document.getElementById("email" + formular).focus();
         return(false);
}

//email-Format überprüfen
s = document.getElementById("email" + formular).value.split(/@/);

//bei einem @ kann es nur 2 teile geben
if((s.length !=2) || s[0] == '' || s[1] == ''){
         alert('Die e-Mail-Adresse hat ein falsches Format.');
         document.getElementById("email" + formular).focus();
         return(false);
}

//nach dem @ zeichen ein punkt
if (s[1].indexOf(".") == '-1'){
         alert('Die e-Mail-Adresse muss nach dem @ mindestens einen Punkt enthalten.');
         document.getElementById("email" + formular).focus();
         return(false);
}

var a,b;

a = document.getElementById("email" + formular).value.split(/[.]/);
b = a.reverse();
if (b[0].length != "2" &&  b[0].length != "3" && b[0].length != "4"){
         alert('Die TopLevelDomain der e-Mail ist ungültig.');
         document.getElementById("email" + formular).focus();
         return(false);
}
//uncrypt recipient
var recipientStat = document.getElementById("recipient_" + formular).value;
document.getElementById("recipient_" + formular).value = decryptString(recipientStat,-2);
document.getElementsByName("kontakt").reset();
}


////////////////////////////////////////////////////////
/* 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);
         }
}



////////////////////////////////////////////////////////
/* 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);
}