/* $Id: slider.min.js 6310 2009-09-29 10:58:05Z bhillebrand $ */
"use strict";
var itemsPerPage, numberPages, page = 1,
    slideModelConfigureOverviewTable_status = 0,
    slideModelOverviewTable_status = 0,
    slideTeaserSlider_status = 0,
    ulDatabase, ulDatabaseLength, ulTarget, ulTargetLength = 0,
    widthTeaserElement;

function getPage(a) {
    var c, b = page;
    if (a > 0) {
        for (c = 0; c < a; c += 1) {
            if (b === numberPages) {
                b = 1;
            } else {
                b += 1;
            }
        }
    } else {
        if (a < 0) {
            for (c = 0; c < a; c += 1) {
                if (b === 1) {
                    b = numberPages;
                } else {
                    b -= 1;
                }
            }
        } else {
            b = page;
        }
    }
    return b;
}
function generateSliderPageIdentificator() {
    var c, b, a = $("div#containerTeaserStage div.sliderPageIdenticator");
    $(a).empty();
    for (b = 1; b <= numberPages; b += 1) {
        if (b < page) {
            c = "slideTeaser(-1," + (page - b) + ")";
        } else {
            if (b > page) {
                c = "slideTeaser(+1," + (b - page) + ")";
            }
        }
        if (page === b) {
            $(a).append("<span class='pageActive'>&nbsp;</span>");
        } else {
            $(a).append("<span class='pagePassive' onclick='" + c + "'>&nbsp;</span>");
        }
    }
}
function generateTeaserItems(f, c, a) {
    var d, g, e, b;
    for (d = 0; d < itemsPerPage; d += 1) {
        b = d + (itemsPerPage * (f - 1));
        e = document.createElement("li");
        if (c === "last") {
            e.className = "last";
        }
        e.style.width = widthTeaserElement + "px";
        if (ulDatabase.getElementsByTagName("li")[b].className !== "spacer") {
            g = ulDatabase.getElementsByTagName("li")[b].getElementsByTagName(a)[0].cloneNode(true);
        } else {
            g = ulDatabase.getElementsByTagName("li")[b].getElementsByTagName(a)[0].cloneNode(true);
        }
        e.appendChild(g);
        ulTarget.appendChild(e);
    }
}
function initTeaserSlider() {
    var d, c, b, e, a;
    itemsPerPage = 3;
    page = 1;
    ulTarget = document.getElementById("displayTeaserSlider");
    ulDatabase = document.getElementById("teaserDatabase");
    ulDatabaseLength = ulDatabase.getElementsByTagName("li").length;
    numberPages = Math.ceil(ulDatabaseLength / itemsPerPage);
    widthTeaserElement = 292;
    $("#teaserScreen").append("<table class='progressIndicator'><tr><td valign='middle' align='center'><img src='/assets/images/global/ajax-loader.gif'/></td></tr></table>");
    if (ulDatabaseLength - ulDatabaseLength % itemsPerPage !== 0) {
        d = itemsPerPage - (ulDatabaseLength % itemsPerPage);
        for (c = 0; c < d; c += 1) {
            a = document.createElement("li");
            a.className = "spacer";
            b = document.createElement("div");
            b.className = "spacer";
            b.style.visibility = "hidden";
            b.style.width = widthTeaserElement + "px";
            e = document.createTextNode("-");
            b.appendChild(e);
            a.appendChild(b);
            ulDatabase.appendChild(a);
        }
        ulDatabaseLength = ulDatabase.getElementsByTagName("li").length;
    }
    $("#teaserScreen > table.progressIndicator").remove();
    if (numberPages > 2) {
        generateTeaserItems(numberPages, "last", "div");
        generateTeaserItems(page, "", "div");
        generateTeaserItems(getPage(+1), "", "div");
        $(ulTarget).css("left", "0px");
    } else {
        if (numberPages === 2) {
            generateTeaserItems(numberPages, "last", "div");
            generateTeaserItems(page, "", "div");
            generateTeaserItems(numberPages, "", "div");
            $(ulTarget).css("left", "0px");
        } else {
            if (numberPages === 1) {
                generateTeaserItems(page, "", "div");
                $(ulTarget).css("left", "0px");
            }
        }
    }
	
    if (numberPages > 1) {
        $(ulTarget).animate({
            left: "0px"
        }, 1100);
		
        $(ulTarget).animate({
            left: "-877px"
        }, 340, "easing", function () {
            $("ul#displayTeaserSlider li.last").css("visibility", "visible");
            generateSliderPageIdentificator();
            $("#containerTeaserStage").prepend("<div class='buttonLeft' onclick='slideTeaser(-1,1);'></div>");
            $("#containerTeaserStage").append("<div class='buttonRight' onclick='slideTeaser(+1,1);'></div>");
        });
    }
}
function doTeaserSlide(b, c, a) {
    slideTeaserSlider_status = 1;
    $(b).css("overflow", "hidden");
    $(b).animate({
        width: a
    }, 340, "easing", function () {
        var d, e;
        if (c === -1) {
            e = ulTarget.getElementsByTagName("li").length;
            d = ulTarget.getElementsByTagName("li")[(e - 1)];
            ulTarget.removeChild(d);
            e -= 1;
        } else {
            if (c === +1) {
                e = ulTarget.getElementsByTagName("li").length;
                d = ulTarget.getElementsByTagName("li")[0];
                ulTarget.removeChild(d);
            } else {
                alert("Unsupported Error.");
            }
        }
        slideTeaserSlider_status += 1;
        if (slideTeaserSlider_status > itemsPerPage) {
            slideTeaserSlider_status = 0;
            generateSliderPageIdentificator();
        }
        slideTeaserSlider_status = 0;
        generateSliderPageIdentificator();
    });
}
function slideTeaser(h, b) {
    var d, c, a = [],
        e, f, k, g;
	
    if (h === +1 && slideTeaserSlider_status === 0) {
        if (slideTeaserSlider_status === 0) {
            slideTeaserSlider_status += 1;
            for (d = 0; d < (itemsPerPage * b); d += 1) {
                if (d === 0 || d % itemsPerPage === 0) {
                    c = 0;
                    if (page === numberPages) {
                        page = 1;
                    } else {
                        page += 1;
                    }
                    if (page === numberPages) {
                        g = 1;
                    } else {
                        g = page + 1;
                    }
                }
                a[d] = ulTarget.getElementsByTagName("li")[d];
                k = document.createElement("li");
                k.style.width = widthTeaserElement + "px";
                f = ulDatabase.getElementsByTagName("li")[(c + (itemsPerPage * (g - 1)))].getElementsByTagName("div")[0].cloneNode(true);
                k.appendChild(f);
                ulTarget.appendChild(k);
                c += 1;
            }
            e = "0px;";
        }
    } else {
        if (h === -1 && slideTeaserSlider_status === 0) {
            slideTeaserSlider_status += 1;
            for (d = ((itemsPerPage * b)); d > 0; d -= 1) {
                if (d === ((itemsPerPage * b)) || d % itemsPerPage === 0) {
                    c = 2;
                    if (page === 1) {
                        page = numberPages;
                    } else {
                        page -= 1;
                    }
                    if (page === 1) {
                        g = numberPages;
                    } else {
                        g = page - 1;
                    }
                }
                k = document.createElement("li");
                f = ulDatabase.getElementsByTagName("li")[(c + (itemsPerPage * (g - 1)))].getElementsByTagName("div")[0].cloneNode(true);
                k.style.width = "0px";
                k.appendChild(f);
                $(ulTarget).prepend(k);
                a[(d - 1)] = k;
                c -= 1;
            }
            e = "292px;";
        }
    }
	
    doTeaserSlide(a, h, e);
}
function changeImage(d) {
    var b = $("ul.database.active li.active:first"),
        a, c = new Image();
    if (d === +1) {
        a = ($(b).next().length > 0) ? $(b).next() : $("ul.database.active li:first");
    } else {
        if (d === -1) {
            a = ($(b).prev().length > 0) ? $(b).prev() : $("ul.database.active li:last");
        } else {
            a = b;
        }
    }
    $(a).siblings().removeClass("active");
    $(a).addClass("active");
    $("div#sliderScreen").append("<div class='mLoad'></div>");
    $(c).load(function () {
        $("div#sliderScreen").find("img").remove();
        $("div#sliderScreen").append(c);
        $(this).fadeIn("slow", function () {
            $(this).css({
                filter: null
            });
        });
    }).error(function () {
        $("div.mLoad").remove();
    }).attr("src", $(a).text());
    $("div.mLoad").remove();
}
function initModelOverviewSlider() {
    $("ul#databaseExterior li:first").attr("class", "active");
    $("ul#databaseInterior li:first").attr("class", "active");
    $("div#mediaStageControlButtons div.control3").addClass("active");
    changeImage(0);
}
function changeDb(a) {
    $("div#mediaStageControlButtons div").removeClass("active");
    if (a === "interior") {
        $("ul#databaseExterior").removeClass("active");
        $("ul#databaseInterior").addClass("active");
        $("div#mediaStageControlButtons div.control4").addClass("active");
    } else {
        $("ul#databaseInterior").removeClass("active");
        $("ul#databaseExterior").addClass("active");
        $("div#mediaStageControlButtons div.control3").addClass("active");
    }
    changeImage(0);
}
function slideModelOverviewTable(g) {
    var b = document.getElementById("tableScreen").getElementsByTagName("table")[0],
        f = 3,
        e = 210,
        h = parseInt(b.getElementsByTagName("tr")[0].getElementsByTagName("td").length, 10),
        c, i = h - f,
        d = 0 - (i * e),
        a = 0;
    if (b.style.marginLeft) {
        c = parseInt(b.style.marginLeft, 10);
    } else {
        c = 0;
    }
    if (h > f && slideModelOverviewTable_status === 0) {
        if (g === 1 && c < a) {
            slideModelOverviewTable_status = 1;
            $(b).animate({
                marginLeft: c + e + "px"
            }, 300, "", function () {
                slideModelOverviewTable_status = 0;
            });
            if ((c + e) === 0) {
                $(".sliderButtonLeft").addClass("inactive");
            } else {
                $(".sliderButtonLeft").removeClass("inactive");
            }
            if ((c + e) > a) {
                $(".sliderButtonRight").addClass("inactive");
            } else {
                $(".sliderButtonRight").removeClass("inactive");
            }
        } else {
            if (g === 0 && c > d) {
                slideModelOverviewTable_status = 1;
                $(b).animate({
                    marginLeft: c - e + "px"
                }, 300, "", function () {
                    slideModelOverviewTable_status = 0;
                });
                if ((c - e) === 0) {
                    $(".sliderButtonLeft").addClass("inactive");
                } else {
                    $(".sliderButtonLeft").removeClass("inactive");
                }
                if ((c - e) <= d) {
                    $(".sliderButtonRight").addClass("inactive");
                } else {
                    $(".sliderButtonRight").removeClass("inactive");
                }
            }
        }
    }
}
function slideModelConfigureOverviewTable(g) {
    var b = document.getElementById("tableScreen").getElementsByTagName("table")[0],
        f = 4,
        e = 210,
        h = parseInt(b.getElementsByTagName("tr")[0].getElementsByTagName("td").length, 10),
        c, i = h - f,
        d = 0 - (i * e),
        a = 0;
    if (b.style.marginLeft) {
        c = parseInt(b.style.marginLeft, 10);
    } else {
        c = 0;
    }
    if (h > f && slideModelConfigureOverviewTable_status === 0) {
        if (g === 1 && c < a) {
            slideModelConfigureOverviewTable_status = 1;
            $(b).animate({
                marginLeft: c + e + "px"
            }, 300, "", function () {
                slideModelConfigureOverviewTable_status = 0;
            });
            if ((c + e) === 0) {
                $(".sliderButtonLeft").addClass("inactive");
            } else {
                $(".sliderButtonLeft").removeClass("inactive");
            }
            if ((c + e) > a) {
                $(".sliderButtonRight").addClass("inactive");
            } else {
                $(".sliderButtonRight").removeClass("inactive");
            }
        } else {
            if (g === 0 && c > d) {
                slideModelConfigureOverviewTable_status = 1;
                $(b).animate({
                    marginLeft: c - e + "px"
                }, 300, "", function () {
                    slideModelConfigureOverviewTable_status = 0;
                });
                if ((c - e) === 0) {
                    $(".sliderButtonLeft").addClass("inactive");
                } else {
                    $(".sliderButtonLeft").removeClass("inactive");
                }
                if ((c - e) <= d) {
                    $(".sliderButtonRight").addClass("inactive");
                } else {
                    $(".sliderButtonRight").removeClass("inactive");
                }
            }
        }
    }
}
function writeModelPrice() {
    var a = ulDatabase.getElementsByTagName("li")[(page - 1)].getElementsByTagName("p")[0].innerHTML;
    a = a + "<span class='price'>";
    a = a + ulDatabase.getElementsByTagName("li")[(page - 1)].getElementsByTagName("span")[0].innerHTML;
    a = a + "&nbsp;";
    a = a + ulDatabase.getElementsByTagName("li")[(page - 1)].getElementsByTagName("span")[1].innerHTML;
    a = a + "</span>";
    $("#modelnameViewer").html(a);
}
function updateModelThumbnailSlider() {
    var d, a, c, e, b;
    for (d = 0; d < ulDatabaseLength; d += 1) {
        a = ulDatabase.getElementsByTagName("li")[d].getElementsByTagName("img")[0].src;
        c = a.split(".png");
        e = document.getElementById("thumbnails").getElementsByTagName("li")[d];
        b = c[0] + "-thumbnail-active.jpg";
        e.style.backgroundImage = "url(" + b + ")";
    }
    $("#thumbnails").children("li").children("img").css("visibility", "visible");
    e = document.getElementById("thumbnails").getElementsByTagName("li")[(page - 1)].getElementsByTagName("img")[0];
    $(e).css("visibility", "hidden");
}
function initModelsSlider() {
    var d, a, b, c;
    itemsPerPage = 1;
    page = 1;
    ulTarget = document.getElementById("displayModelsSlider");
    ulDatabase = document.getElementById("modelsSliderDatabase");
    ulDatabaseLength = ulDatabase.getElementsByTagName("li").length;
    numberPages = Math.ceil(ulDatabaseLength / itemsPerPage);
    widthTeaserElement = 570;
    $(".containerViewAllModelsStage").append("<table class='progressIndicator'><tr><td valign='middle' align='center'><img src='/assets/images/global/ajax-loader.gif'/></td></tr></table>");
    if (numberPages > 2) {
        generateTeaserItems((numberPages - 1), "last", "a");
        generateTeaserItems(numberPages, "last", "a");
        generateTeaserItems(page, "", "a");
        generateTeaserItems(getPage(+1), "", "a");
        generateTeaserItems(getPage(+2), "", "a");
        $(ulTarget).css("left", "0px");
    } else {
        if (numberPages === 2) {
            generateTeaserItems(numberPages, "last", "a");
            generateTeaserItems(page, "", "a");
            generateTeaserItems(numberPages, "", "a");
            $(ulTarget).css("left", "0px");
        } else {
            if (numberPages === 1) {
                generateTeaserItems(page, "", "a");
                $(ulTarget).css("left", "0px");
            }
        }
    }
    if (numberPages > 1) {
        $(ulTarget).animate({
            left: "0px"
        }, 1100);
        $(ulTarget).animate({
            left: "-855px"
        }, 340, "easing", function () {
            $("ul#displayModelsSlider li.last").css("visibility", "visible");
            writeModelPrice();
        });
        $("#boxThumbnails").append("<ul id='thumbnails'></ul>");
        for (d = 0; d < ulDatabaseLength; d += 1) {
            a = ulDatabase.getElementsByTagName("li")[d].getElementsByTagName("img")[0].src;
            b = ulDatabase.getElementsByTagName("li")[d].getElementsByTagName("p")[0].innerHTML;
            c = a.split(".png");
            $("ul#thumbnails").append("<li onclick=''><img src='" + c[0] + "-thumbnail.jpg'/><span>" + b + "</span></li>");
        }
        $(document).ready(function () {
            var f = 0,
                e = $("ul#thumbnails").children("li").children("img");
            $.each(e, function () {
                var g = $(this).width();
                f = f + g;
                $(this).parent("li").css("width", g + "px");
                $(this).parent("li").children("span").css("width", g + "px");
            });
            $("ul#thumbnails").css("width", f + "px");
            $("ul#thumbnails").ready(function () {
                updateModelThumbnailSlider();
            });
        });
    }
}
function doModelSlide(b, c, a) {
    slideTeaserSlider_status = 1;
    $(b).css("overflow", "hidden");
    $(b).animate({
        width: a
    }, 340, "easing", function () {
        var d, e;
        if (c === -1) {
            e = ulTarget.getElementsByTagName("li").length;
            d = ulTarget.getElementsByTagName("li")[(e - 1)];
            ulTarget.removeChild(d);
            e -= 1;
        } else {
            if (c === +1) {
                e = ulTarget.getElementsByTagName("li").length;
                d = ulTarget.getElementsByTagName("li")[0];
                ulTarget.removeChild(d);
            } else {
                alert("Unsupported Error.");
            }
        }
        slideTeaserSlider_status += 1;
        if (slideTeaserSlider_status > itemsPerPage) {
            slideTeaserSlider_status = 0;
            updateModelThumbnailSlider();
        }
        slideTeaserSlider_status = 0;
        updateModelThumbnailSlider();
    });
}
function slideModels(g, d) {
    var b, f, h, e, a, c = [];
    if (g === +1 && slideTeaserSlider_status === 0) {
        if (slideTeaserSlider_status === 0) {
            slideTeaserSlider_status += 1;
            if (page === numberPages) {
                page = 1;
            } else {
                page += 1;
            }
            if (page === numberPages) {
                a = 1;
            } else {
                a = page + 1;
            }
            writeModelPrice();
            f = page + 1;
            if (f === numberPages) {
                f = 0;
            }
            if (f > numberPages) {
                f = 1;
            }
            c[0] = ulTarget.getElementsByTagName("li")[0];
            e = document.createElement("li");
            e.style.width = widthTeaserElement + "px";
            h = ulDatabase.getElementsByTagName("li")[f].getElementsByTagName("a")[0].cloneNode(true);
            e.appendChild(h);
            ulTarget.appendChild(e);
            b = "0px;";
        }
    } else {
        if (g === -1 && slideTeaserSlider_status === 0) {
            slideTeaserSlider_status += 1;
            if (page === 1) {
                page = numberPages;
            } else {
                page -= 1;
            }
            if (page === 1) {
                a = numberPages;
            } else {
                a = page - 1;
            }
            writeModelPrice();
            f = page - 3;
            if (f === -1) {
                f = (numberPages - 1);
            }
            if (f === -2) {
                f = (numberPages - 2);
            }
            e = document.createElement("li");
            h = ulDatabase.getElementsByTagName("li")[f].getElementsByTagName("a")[0].cloneNode(true);
            e.style.width = "0px";
            e.appendChild(h);
            $(ulTarget).prepend(e);
            c[0] = e;
            b = "570px;";
        } else {}
    }
    doModelSlide(c, g, b);
}
