////////////////////////////////////////////////////////
/* 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(picurl,dername){
         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;
}

////////////////////////////////////////////////////////
/* Thumbnails */////////////////////////////////////////
////////////////////////////////////////////////////////
var thumbnailactive = "thumbnail01";
function thumbnailOver(dername){
         document.images[dername].src = "images/thumbnail_active.jpg";
}
function thumbnailOut(dername){
         if(dername != thumbnailactive){
                 document.images[dername].src = "images/thumbnail.jpg";
         }
}
function thumbnailClick(dername){
         document.images[dername].src = "images/thumbnail_active.jpg";
         if(thumbnailactive != 0){
                 document.images[thumbnailactive].src = "images/thumbnail.jpg";
         }
         thumbnailactive = dername;
}

////////////////////////////////////////////////////////
/* divId auf-/zuschieben *//////////////////////////////
////////////////////////////////////////////////////////
function displayID(divID){
         if (document.getElementById){
                 if (document.getElementById(divID).style.display == 'none'){
                         Effect.Appear(divID, { duration: 0.3 });
                 }
                 else {
                         Effect.Fade(divID, { duration: 0.3 });
                 }
         }
}

////////////////////////////////////////////////////////
/* nav1 *///////////////////////////////////////////////
////////////////////////////////////////////////////////
function displayNav1(divID){
         if (document.getElementById){
                 document.getElementById("nav" + divID).className = 'navover';
                 if (document.getElementById(divID).style.display == 'none'){
                         window.status = divID + ',' + navactive1;
                         Effect.Appear(divID, { duration: 0.3 });
                         if(navactive1 != 0){
                                 Effect.Fade(navactive1, { duration: 0 });
                                 document.getElementById("nav" + navactive1).className = 'nav';
                         }

                         // Projects Subnavigation
                         if(divID == 'projectsindex'){
                                 Effect.Appear('subnavprojects', { duration: 0.4 });
                         }
                         if(navactive1 == 'projectsindex'){
                                 Effect.Fade('subnavprojects', { duration: 0 });
                         }

                         navactive1 = divID;
                 }
         }
}

////////////////////////////////////////////////////////
/* nav2 *///////////////////////////////////////////////
////////////////////////////////////////////////////////
function displayNav2(divID){
         if (document.getElementById){
                 if (document.getElementById(divID).style.display == 'none'){
                         window.status = divID + ',' + navactive2;
                         Effect.Appear(divID, { duration: 0.3 });
                         document.getElementById("nav" + divID).className = 'navover';
                         if(navactive2 != 0){
                                 Effect.Fade(navactive2, { duration: 0 });
                                 document.getElementById("nav" + navactive2).className = 'nav';
                         }
                         navactive2 = divID;
                 }
                 else {
                         if(navactive2 != divID){
                                 Effect.Fade(divID, { duration: 0 });
                                 document.getElementById("nav" + divID).className = 'nav';
                                 navactive2 = 0;
                         }
                 }
         }
}

////////////////////////////////////////////////////////
/* hide/show Box2 */////////////////////////////////////
////////////////////////////////////////////////////////
function hideBox2(){
         if (document.getElementById){
                 Effect.Fade('Box2', { duration: 0 });
         }
}
function showBox2(){
         if (document.getElementById){
                 Effect.Appear('Box2', { duration: 0.3 });
         }
}

////////////////////////////////////////////////////////
/* change selected works *//////////////////////////////
////////////////////////////////////////////////////////
var selectedworksactive = 'selectedworks0';
function changeSelectedworks(workName, workNameFormular){
         if (document.getElementById){
                 Effect.Fade(selectedworksactive, { duration: 0 });
                 Effect.Appear(workName, { duration: 0.3 });
                 Effect.Fade(selectedworksactive + 'info', { duration: 0 });
                 Effect.Appear(workName + 'info', { duration: 0.3 });
         }
         selectedworksactive = workName;
         // Formularinhalt ändern
         document.getElementById('selectedwork').value = workNameFormular;
}

////////////////////////////////////////////////////////
/* picpreviewOver/Out/On *//////////////////////////////
////////////////////////////////////////////////////////
var picpreviewactive = 'picpreview0';
function picpreviewOver(idName){
         document.getElementById(idName).className = 'picpreviewtdover';
}
function picpreviewOut(idName){
         if(idName != picpreviewactive){
                 document.getElementById(idName).className = 'picpreviewtd';
         }
}
function picpreviewOn(idName, workName, workNameFormular){
         if (idName != picpreviewactive){
                 document.getElementById(idName).className = 'picpreviewtdover';
                 document.getElementById(picpreviewactive).className = 'picpreviewtd';
                 picpreviewactive = idName;
                 return changeSelectedworks(workName, workNameFormular);
         }
}

////////////////////////////////////////////////////////
/* changeImgArtists *///////////////////////////////////
////////////////////////////////////////////////////////
var imgartistsactive = 0;
function changeImgArtists(artistname){
         if (document.getElementById('imgartists_' + artistname).style.display == 'none'){
                 if(imgartistsactive != 0){
                         Effect.Fade('imgartists_' + imgartistsactive, { duration: 0.3 });
                 }
                 Effect.Appear('imgartists_' + artistname, { duration: 0.3 });
                 imgartistsactive = artistname;
         }
}



////////////////////////////////////////////////////////
/* Formular auf Name und E-Mail checken *///////////////
////////////////////////////////////////////////////////
/*
function checkform(formular){
//überprüfung, ob überhaupt etwas eingetragen wurde
if (document.getElementById("name" + formular).value == ''){
         document.getElementById("name" + formular).style.border = "1px solid #E00536";
         alert('Bitte geben Sie Ihren Namen an.');
         document.getElementById("name" + formular).focus();
         return(false);
}
if (document.getElementById("email" + formular).value == ''){
         document.getElementById("email" + formular).style.border = "1px solid #E00536";
         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).style.border = "1px solid #E00536";
         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).style.border = "1px solid #E00536";
         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).style.border = "1px solid #E00536";
         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).style.border = "1px solid #E00536";
         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);
}