﻿var leftMargin = 0;

function KRHrun() {
    
        //CenterContent();
        MaximizeContentColumn();
        //CalcWidestTable();
        PrepareContactWP();

    
    ExtendHoriNavi();
    ExtendBanner();
    //SetHeight();
    DisableStylesInRTE();
    ChangeBreadcrumbRootName();
    PrepareSearchPaging();
    AddSubTextToPicture();
    IE6Warn();
    ActivateFontSizeFromCookie();
}

function CenterContent() {
    if (window.innerWidth > 980) {
        leftMargin = (window.innerWidth - 980) / 2;
        document.getElementById("mms-TopRowCenter").style.marginLeft = leftMargin + "px";
        document.getElementById("mms-SiteLogoRow").style.marginLeft = leftMargin + "px";
        document.getElementById("mms-HoriNaviAndBanner").style.marginLeft = leftMargin + "px";
        document.getElementById("ctl00_MSO_ContentDiv").style.marginLeft = leftMargin + "px";
        document.getElementById("mms-FooterCenter").style.marginLeft = leftMargin + "px";
    }
}

function MaximizeContentColumn() {
    if (!document.getElementById("mms-MenuControl")) {
        document.getElementById("mms-LeftNaviBar").style.display = "none";
        document.getElementById("mms-Content").style.marginLeft = "0";
        document.getElementById("mms-Content").style.width = "980px";
    }
}

function CalcWidestTable() {
    var widest = 0;
    var leftWidth = document.getElementById("mms-LeftNaviBar").offsetWidth;
    var tables = document.getElementById("mms-Content").getElementsByTagName("table");
    for (var i = 0; i < tables.length; i++) {
       
        if (widest < tables[i].offsetWidth) {
            widest = tables[i].offsetWidth;
        }
    }  
    if (widest + leftWidth + leftMargin > document.documentElement.clientWidth)
        document.getElementById("s4-bodyContainer").style.width = widest + leftWidth + leftMargin + "px";
}

// Open SharePoint Modal PopUp.
function portal_openModalDialog(url) {
    var options = SP.UI.$create_DialogOptions();
    options.url = url;
    SP.UI.ModalDialog.showModalDialog(options);
}

function PrepareContactWP() {
    if ($(".mms-Contacts").length) {
        // 1. Get and manipulate maximal label width.
        // 2. Hide empty labels
        var maxLabelWidth = 0;
        var labels = $(".mms-ContactLabel");
        if (labels.length) {
            labels.each(function () {
                if ($(this).width() > maxLabelWidth) {
                    maxLabelWidth = $(this).width();
                }
                // Hide empty labels
                if ($(this).find("span").html() == "") {
                    $(this).css("display", "none");
                }
            });
            labels.css("width", maxLabelWidth);
        }
    }
}

function ExtendHoriNavi() {
    var i = 0;
    if (document.getElementById("mms-HorizontalNavi") && document.getElementById("ShortIhrKlinikum")) {
        $("#mms-HorizontalNavi > div > div > ul > li").each(
        function () {
            i++;
            if (this.getElementsByTagName("ul").length > 0) {
                var neu = document.createElement("li");
                var neutext = document.createTextNode(GetShortDescription(i));
                neu.className = "shortDescHoriNavi";
                neu.appendChild(neutext);
                this.getElementsByTagName("ul")[0].insertBefore(neu, this.getElementsByTagName("ul")[0].firstChild);
            }
            if (this.className.indexOf("selected") != -1)
                document.getElementById("ShortIhrKlinikum").parentNode.className = i;
        });
    }
}

function ExtendBanner() {
    if (document.getElementById("ShortIhrKlinikum")) {
        var sel = document.getElementById("ShortIhrKlinikum").parentNode.className;
        if (sel) {
            if (!(sel == 1 && location.href.split("/").length > 6)) {
                var neu = document.createElement("div");
                var neutext = document.createTextNode(GetLongDescription(parseInt(sel)));
                neu.className = "bannerLongDesc";
                neu.appendChild(neutext);
                document.getElementById("mms-ImageBanner").insertBefore(neu, document.getElementById("mms-ImageBannerImg"));
            }
            else
                document.getElementById("bannerLongDescTitle").style.display = "none";
        }
    }
}

function GetShortDescription(nr) {
    switch(nr) {
        case 1: return $("#ShortIhrKlinikum > input")[0].value;break;
        case 2: return $("#ShortPatienten > input")[0].value;break;
        case 3: return $("#ShortAerzte > input")[0].value;break;
        case 4: return $("#ShortUnternehmen > input")[0].value;break;
        case 5: return $("#ShortBeruf > input")[0].value;break;
    }
}

function GetLongDescription(nr) {
    switch (nr) {
        case 1: return $("#LongIhrKlinikum > input")[0].value; break;
        case 2: return $("#LongPatienten > input")[0].value; break;
        case 3: return $("#LongAerzte > input")[0].value; break;
        case 4: return $("#LongUnternehmen > input")[0].value; break;
        case 5: return $("#LongBeruf > input")[0].value; break;
    }
}

function DisableStylesInRTE() {
    if(document.getElementById("Ribbon.EditingTools.CPEditTab.Styles"))
        document.getElementById("Ribbon.EditingTools.CPEditTab.Styles").style.display = "none";
    if(document.getElementById( "Ribbon.EditingTools.CPEditTab.Font.Fonts-Medium"))
        document.getElementById("Ribbon.EditingTools.CPEditTab.Font.Fonts-Medium").style.display = "none";
    if(document.getElementById("Ribbon.EditingTools.CPEditTab.Font.FontSize-Medium"))
        document.getElementById("Ribbon.EditingTools.CPEditTab.Font.FontSize-Medium").style.display = "none";
}

function ChangeBreadcrumbRootName() {
    if (document.getElementById("mms-krhBreadcrumb")) {
        var atags = document.getElementById("mms-krhBreadcrumb").getElementsByTagName("a");
        for (var i = 0; i < atags.length; i++) {
            if (atags[i].className.indexOf("s4-breadcrumbRootNode") != -1) {
                // name of 1st breadcrumb segment
                var titel = "Startseite";
                atags[i].innerHTML = titel;
                var noRootNote = true;
            }
        }
        // if RootNote = CurrentNote
        if (atags.length == 0) {
            var spans = document.getElementById("mms-krhBreadcrumb").getElementsByTagName("span");
            for (var j = 0; j < spans.length; j++) {
                if (spans[j].className.indexOf("s4-breadcrumbCurrentNode") != -1) {
                    // name of single breadcrumb segment
                    var titel2 = "Startseite";
                    spans[j].innerHTML = titel2;
                }
            }
        }
    }
}



function PrepareSearchPaging() {
    var href = document.location.href;
        
    if (href.indexOf("Results.aspx") != -1) {
        // Add separators to paging list
        var links = $(".srch-Page > a, .srch-Page > strong");
        for (var i = 0; i < links.length; i++) {
            // no separator for the first pagenumber            
            if (links[i].previousSibling == null || links[i].previousSibling.nodeName.indexOf("SPAN") != -1) {
                continue;
            }
            
            var img = document.createElement('div');
            img.setAttribute("class", "mms-SrchPagingSeparator");
            links[i].parentNode.insertBefore(img, links[i]);
        }

        // Add prev text to paging list
        var pagings = $(".srch-Page");
        for (var i = 0; i < pagings.length; i++) {
            var txt = document.createElement('div');
            txt.setAttribute("class", "mms-SrchPagingText");
            txt.innerHTML = "Seite:";
            pagings[i].insertBefore(txt, pagings[i].childNodes[0]);
        }
    }
}

function SetHeight() {
//    var MSOContentDiv = document.getElementById("ctl00_MSO_ContentDiv");
//    var sum = document.getElementById("s4-ribbonrow").offsetHeight + document.getElementById("s4-statusbarcontainer").offsetHeight + document.getElementById("s4-workspace").offsetHeight - MSOContentDiv.offsetHeight;

//    if (sum < document.documentElement.clientHeight) {
//        MSOContentDiv.style.minHeight = MSOContentDiv.offsetHeight + (document.documentElement.clientHeight - sum) + 25 + "px";
//    }

}

function AddSubTextToPicture() {
    $(function () {
        var caption = '', aClass = '', bClass = '', width = 0, height = 0;

        $('img.ms-rteImage-subText').each(function () {
            caption = $(this).attr('alt');
            aClass = $(this).attr('class').indexOf('links') != -1 ? 'ms-rtePosition-links' : 'ms-rtePosition-rechts';
            aClass += $(this).attr('class').indexOf('Oben') != -1 ? 'Oben' : '';
            width = $(this).width() - 10; // 10px = 5px padding-right + 5px padding-left;
            height = $(this).height();
            $(this).wrap('<div class=' + aClass + '></div>');
            bClass = $(this).attr('class').indexOf('links') ? 'mms-BildunterschriftLi' : 'mms-BildunterschriftRe';
            $(this).after('<div class=' + bClass + ' style="width:' + width + 'px;">' + caption + '</div>');
            $(this).attr("style", "margin:0 !important; ");
            $(this).css("float", "none");
            $(this).attr("class", "");
            $(this).css('width', width + 10 + 'px');
            $(this).css('height', height + 'px');
        });
    });
}

function IE6Warn() {
    if (navigator.userAgent.indexOf("MSIE 6.") != -1 && navigator.userAgent.indexOf("MSIE 8.") == -1) {
        var neutext = document.createTextNode("Wussten Sie schon, dass Ihr Internet Explorer nicht mehr aktuell ist? Bitte aktualisieren Sie auf Internet Explorer 7 oder 8.");
        var neu = document.createElement("div");
        neu.className = "mms-IE6Warn";
        neu.appendChild(neutext);
        document.getElementById("s4-statusbarcontainer").appendChild(neu);
    }
}

function FontSize(value) {
    if (value == 1) {
        document.getElementsByTagName("body")[0].style.cssText = "font-size: 70.1% !important";
        eraseCookie("FontSizeValue");
        createCookie("FontSizeValue", "1", 30);
    }
    else if (value == 2) {
        document.getElementsByTagName("body")[0].style.cssText = "font-size: 75.1% !important";
        eraseCookie("FontSizeValue");
        createCookie("FontSizeValue", "2", 30);
    }
    else if (value == 3) {
        document.getElementsByTagName("body")[0].style.cssText = "font-size: 85.1% !important";
        eraseCookie("FontSizeValue");
        createCookie("FontSizeValue", "3", 30);
    }
}

function ActivateFontSizeFromCookie() {
    FontSize(readCookie("FontSizeValue"));
}

/*HELPER*/
function createCookie(name, value, days) {
    if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.toGMTString(); } else { var expires = ""; } document.cookie = name + "=" + value + expires + "; path=/";
}
function readCookie(name) {
    var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null;
}
function eraseCookie(name) {
    createCookie(name, "", -1);
}

