
var dirtyState = false;
var contactActive = true;

function navigateTo(step) {
    if (dirtyState) {
        removeDirtyState();
    }
    if (!contactActive) {
        showKontaktForm();
    }
    if (step == navigation.length) {
        openImpressum();
    } else {
        var url = document.URL;
        var index = url.indexOf("#");
        if (index != -1) {
            url = url.substring(0, index);
        }
        document.location.href=url+"#"+getHash(step);
        for(var i = 1; i <= navigation.length; i++) {
            document.getElementById("nav-" + i).className = "";
        }
        document.getElementById("nav-" + step).className = "active";
        if (step < navigation.length && step > 0) {
            stepcarousel.stepTo('mygallery', step);
        }
    }
    return false;
}

function navigateStepBy(step) {
    if (dirtyState) {
        removeDirtyState();
    }
    showKontaktForm();
    var id = parseInt(getStep(), 10);
    id = id + parseInt(step,10);
    if (id >= navigation.length) {
        id = navigation.length-1;
    }
    var url = document.URL;
    var index = url.indexOf("#");
    if (index != -1) {
        url = url.substring(0, index);
    }
    document.location.href=url+"#"+getHash(id);
    var config=stepcarousel.configholder['mygallery'];
    var pindex=config.currentpanel+parseInt(step,10)+1;
    if (pindex == 0) {
        pindex = 1;
    } else if (pindex == navigation.length) {
        pindex = navigation.length-1;
    }
    for(var i = 1; i <= navigation.length; i++) {
        document.getElementById("nav-" + i).className = "";
    }
    document.getElementById("nav-" + pindex).className = "active";
    stepcarousel.stepBy('mygallery', parseInt(step,10));
    return false;
}

function updateArrows(statusA) {
    var navId = statusA;
    var step = getStep();
    if (step != 0) {
        navId = step;
    }
    if (sliderSpeed > 0) {
        document.getElementById("nav-" + navId).className = "active";
    }
    if (navId == 1) {
        document.getElementById("arrow-left").src="img/arrow-right.png";
        document.getElementById("arrow-left").setAttribute("step", "1");
        document.getElementById("arrow-right").src="img/arrow-right.png";
        document.getElementById("arrow-right").setAttribute("step", "1");
    } else if (navId == navigation.length-1) {
        document.getElementById("arrow-left").src="img/arrow-left.png";
        document.getElementById("arrow-left").setAttribute("step", "-1");
        document.getElementById("arrow-right").src="img/arrow-left.png";
        document.getElementById("arrow-right").setAttribute("step", "-1");
    } else {
        document.getElementById("arrow-left").src="img/arrow-left.png";
        document.getElementById("arrow-left").setAttribute("step", "-1");
        document.getElementById("arrow-right").src="img/arrow-right.png";
        document.getElementById("arrow-right").setAttribute("step", "1");
    }
}

function isValidEmail(para) {
    if (para.indexOf("@")== -1 || para.indexOf(".")== -1 || para.indexOf(" ")!= -1 || para.indexOf("\"")!= -1 || para.indexOf("'")!= -1 || para.indexOf("<")!= -1 || para.indexOf(">")!= -1) {
        return false;
    } else {
        return true;
    }
}

function isEmpty(para) {
    var Ergebnis=para.search(/\S+/);
    if (Ergebnis != -1 || Ergebnis.length<4) {
        return false;
    } else {
        return true;
    }
}

function sendForm() {

    var name = document.forms["contact"].name.value;
    var email = document.forms["contact"].email.value;
    var firma = document.forms["contact"].firma.value;
    var tel = document.forms["contact"].tel.value;
    var nachricht = document.forms["contact"].nachricht.value;

    removeDirtyState();
    if (isEmpty(name) || isEmpty(nachricht) || !isValidEmail(email)) {
        dirtyState = true;
        var focus = false;
        if(isEmpty(name)) {
            document.getElementById("name").className="error";
            if (!focus) {
                document.getElementById("name").select();
                document.getElementById("name").focus();
                focus = true;
            }
        }
        if(!isValidEmail(email)) {
            document.getElementById("email").className="error";
            if (!focus) {
                document.getElementById("email").select();
                document.getElementById("email").focus();
                focus = true;
            }
        }
        if(isEmpty(nachricht)) {
            document.getElementById("nachricht").className="error";
            if (!focus) {
                document.getElementById("nachricht").select();
                document.getElementById("nachricht").focus();
                focus = true;
            }
        }
        alert(unescape("Bitte %DCberpr%FCfen Sie die rot markierte Felder !"));
    } else {
        dirtyState = false;
        $.ajax({
            url: './content/kontakt/mail.php',
            async: true,
            type: 'POST',
            data: 'name='+name+'&email='+email+'&firma='+firma+'&tel='+tel+'&nachricht='+nachricht,
            success: function(data) {
                //$('.result').html(data);
                showKontaktAnswer();
            }
        });

    }
    return false;
}

function showKontaktForm() {
    contactActive=true;
    document.getElementById("kontaktformular").style.visibility="visible";
    document.getElementById("kontaktantwort").style.visibility="hidden";
}

function showKontaktAnswer() {
    contactActive=false;
    document.getElementById("kontaktformular").style.visibility="hidden";
    document.getElementById("kontaktantwort").style.visibility="visible";
    document.forms["contact"].name.value = "";
    document.forms["contact"].email.value = "";
    document.forms["contact"].firma.value = "";
    document.forms["contact"].tel.value = "";
    document.forms["contact"].nachricht.value = "";
}

function removeDirtyState() {
    dirtyState = false;
    document.getElementById("name").className="";
    document.getElementById("email").className="";
    document.getElementById("firma").className="";
    document.getElementById("tel").className="";
    document.getElementById("nachricht").className="";
}

function openImpressum() {
    Mediabox.open('#mb_impressum', '', '500 550');
    return false;
}

function openIdeaImage() {
    Mediabox.open('#mb_ideenImg', 'IdeenImg', '500 550');
    return false;
}

var currentIdeaImageIndex = 0;
function rotateIdeaImages(step) {
    currentIdeaImageIndex = currentIdeaImageIndex + (parseInt(step, 10));
    if(currentIdeaImageIndex>=(ideenImages.length/3)) {
        currentIdeaImageIndex=0;
    } else if (currentIdeaImageIndex<0) {
        currentIdeaImageIndex=(ideenImages.length/3) - 1;
    }
    FadeInImage('ideenImg','./content/ideen/gallery/'+ ideenImages[(currentIdeaImageIndex*3)],'ideenImgDiv');
    document.getElementById("ideenImgLink1").href="./content/ideen/gallery/"+ ideenImages[(currentIdeaImageIndex*3)+1];
    document.getElementById("ideenImgLink2").href="./content/ideen/gallery/"+ ideenImages[(currentIdeaImageIndex*3)+1];
    return false;
}

function setIdeaImageTitle(elem) {
    elem.title=ideenImages[(currentIdeaImageIndex*3)+2];
}

function preloadIdeaGallery() {
    document.write("<div style=\"display:none\">");
    for(i = 1; i < ideenImages.length; i=i+3) {
        document.write("<a href=\"./content/ideen/gallery/"+ideenImages[i]+"\" rel=\"lightbox[ideen]\" title=\"" + ideenImages[i+1] + "\">img</a>");
    }
    document.write("</div>");
}

var currentProductImageIndex = 0;
function rotateProductImages(step) {
    currentProductImageIndex = currentProductImageIndex + (parseInt(step, 10));
    if(currentProductImageIndex>=(productImages.length/3)) {
        currentProductImageIndex=0;
    } else if (currentProductImageIndex<0) {
        currentProductImageIndex=(productImages.length/3) - 1;
    }
    FadeInImage('productImg','./content/produkte/gallery/'+ productImages[(currentProductImageIndex*3)],'productImgDiv');
    document.getElementById("productImgLink").href="./content/produkte/gallery/"+ productImages[(currentProductImageIndex*3)+1];
    return false;
}

function setProductImageTitle(elem) {
    elem.title=productImages[(currentProductImageIndex*3)+2];
}


function preloadProductGallery() {
    document.write("<div style=\"display:none\">");
    for(i = 1; i < productImages.length; i=i+3) {
        document.write("<a href=\"./content/produkte/gallery/"+productImages[i]+"\" rel=\"lightbox[product]\" title=\"" + productImages[i+1] + "\">img</a>");
    }
    document.write("</div>");
}

var currentTeamImageIndex = 0;
function rotateTeamImages(step) {
    currentTeamImageIndex = currentTeamImageIndex + (parseInt(step, 10));
    if(currentTeamImageIndex>=(teamImages.length/4)) {
        currentTeamImageIndex=0;
    } else if (currentTeamImageIndex<0) {
        currentTeamImageIndex=(teamImages.length/4) - 1;
    }
    FadeInImage('teamImg','./content/team/gallery/'+ teamImages[(currentTeamImageIndex*4)],'teamImgDiv');
    document.getElementById("teamImgText").innerHTML='<span style="color:#000000;font-weight:bold">'+teamImages[(currentTeamImageIndex*4)+2]+"</span><br>"+teamImages[(currentTeamImageIndex*4)+3];
    return false;
}

function getStep() {
    var pageId = 1;
    var hash=location.hash;
    if (hash != "") {
        hash = hash.substring(1).toLowerCase();
        for(var i = 0; i < navigation.length; i++) {
            if (hash == navigation[i]) {
                pageId = i+1;
                break;
            }
        }
    }
    return parseInt(pageId, 10);
}

function getHash(step) {
    var stepInt = parseInt(step, 10);
    return navigation[stepInt-1];
}
