﻿jQuery(document).ready(function() {
  initScrollBars();
  initArrangements();
  initArrangementsFrontpage();
  initSingleArrangement();
  initCo3Gallery();
  tagcloud();
  initBlogLang();
  initPrintPageFormland();

  var possDownload = jQuery(".imageList").attr("download");
  if (possDownload == "True") { jQuery(".imageList_download_header").css("display", "block"); } else { jQuery(".imageList_flere_header").css("display", "block"); }
});

window.onload = function() {
  initBanners();
}

var foldOutBtn = null;
var foldInBtn = null;
var ArrangementerUdklappelig = null;
var arrangementer = null;
function initArrangementsFrontpage() {
  foldOutBtn = jQuery("#ArrangementKnapper img#foldOut");
  foldInBtn = jQuery(".filters.udklappelig img#foldIn");
  ArrangementerUdklappelig = jQuery("#ArrangementerUdklappelig");
  var arrangementTypes = [];

  if (foldOutBtn.length > 0) {
    arrangementer = jQuery("#ArrangementerUdklappelig .arrangement");

    //alert("totalAreaHeight: " + totalAreaHeight);

    foldOutBtn.click(function() {
      toggleArrangementList();
    });

    foldInBtn.click(function() {
      toggleArrangementList();
    });
  }

  if (ArrangementerUdklappelig.length > 0) {
    var filterEles = ArrangementerUdklappelig.find(".arrangement"); //.categoryName div
    //alert(filterEles.length);
    filterEles.each(function() {
      var ele = jQuery(this);

      var categoryNameHtml = ele.attr("categoryName");

      categoryNameHtml = categoryNameHtml.trim();
      categoryNameHtml = categoryNameHtml.substring(categoryNameHtml.indexOf(' ') + 1);
      ele.attr("categoryName", categoryNameHtml);

      var found = false;
      for (var i = 0; i < arrangementTypes.length; i++) {
        if (arrangementTypes[i].indexOf(categoryNameHtml) > -1) {
          found = true;
          break;
        }
      }
      if (!found) {
        //alert(categoryNameHtml);
        arrangementTypes[arrangementTypes.length] = categoryNameHtml;
      }
    });

    var filtType = jQuery(".filters select.filterSel");
    for (var i = 0; i < arrangementTypes.length; i++) {
      filtType.append('<option value="' + arrangementTypes[i] + '">' + arrangementTypes[i] + '</option>');
    }

    filtType.bind("change", function() {
      var filterSel = jQuery(this);
      toggleArrangementList(true, function() {
        var chosenCatName = filterSel.children("option:selected").attr("value");
        arrangementer.removeClass("hidden");
        if (chosenCatName !== "0") {
          arrangementer.not("[categoryName=" + chosenCatName + "]").addClass("hidden");
        }
        toggleArrangementList();
      });
    });
  }
}

function toggleArrangementList(closeIt, fn) {
  //alert(arrangementer.height() + " * " + arrangementer.not(".hidden").length + " : " + Math.round(arrangementer.not(".hidden").length / 4) + " + " + (arrangementer.not(".hidden").length % 4 > 0 ? arrangementer.height() : 0));
  var newSize = arrangementer.height() * Math.ceil(arrangementer.not(".hidden").length / 4);  //+ (arrangementer.not(".hidden").length % 4 > 0 ? arrangementer.height() : 0);
  //alert(ArrangementerUdklappelig.height() + " == " + newSize);
  var isClosing = false;
  if (ArrangementerUdklappelig.height() == newSize && !closeIt) {
    newSize = arrangementer.height();
    isClosing = true;
    //alert("newSize: " + newSize);
  }
  if (closeIt) {
    newSize = 0;
    isClosing = true;
  }
  ArrangementerUdklappelig.animate({ height: newSize }, 500, function() {
    if (fn) {
      fn();
    } else {
      var opac = 1;
      if (isClosing) {
        opac = 0;
        foldOutBtn.attr("src", "files/Billeder/MCH_Portal/gfx/VisAlleArrangementer.png");
      } else {
        if (foldInBtn.css("display") === "block") {
          return;
        }
        foldInBtn.css("opacity", 0).css("display", "block");
        foldOutBtn.attr("src", "files/Billeder/MCH_Portal/gfx/SkjulArrangementerButtom.png");
      }
      foldInBtn.animate({ opacity: opac }, 500, function() {
        if (isClosing) {
          foldInBtn.css("display", "none");
        }
      });
    }
  });
}

function initScrollBars() {
  var settings = {
    width: 185,
    height: 300,
    scrollSpeed: 400,
    hideScrollbars: false,
    upEvents: [{ selector: ".ArrangementBox .uparrow",
      startEvent: "mouseover",
      endEvent: "mouseout",
      hideWhenNotNeeded: false
    },
                { selector: ".ArrangementBox .uparrow",
                  startEvent: "mousedown",
                  endEvent: "mouseup",
                  scrollSpeed: 800,
                  hideWhenNotNeeded: false}],
    downEvents: [{ selector: ".ArrangementBox .downarrow",
      startEvent: "mouseover",
      endEvent: "mouseout",
      hideWhenNotNeeded: false
    },
                { selector: ".ArrangementBox .downarrow",
                  startEvent: "mousedown",
                  endEvent: "mouseup",
                  scrollSpeed: 1000,
                  hideWhenNotNeeded: false}],
    mouseWheelEvent: [{ axis: "y"}]
  };
  var co3Scroll = jQuery(".scrollContent").wrapInScrollbar(settings);
}

function initArrangements() {
  var largeList = jQuery(".largeList");
  var arrangementTypes = [];
  if (jQuery(".largeList").length > 0) {
    var filterEles = largeList.find(".arrRow"); //.categoryName div
    filterEles.filter(":first").addClass("firstTd");

    filterEles.each(function() {
      var ele = jQuery(this);
      var catDiv = ele.find(".categoryName div");
      var categoryNameHtml = ele.attr("categoryName");

      categoryNameHtml = categoryNameHtml.trim();
      categoryNameHtml = categoryNameHtml.substring(categoryNameHtml.indexOf(' ') + 1);
      ele.attr("categoryName", categoryNameHtml);
      catDiv.text(categoryNameHtml).css("display", "block");
      var found = false;
      for (var i = 0; i < arrangementTypes.length; i++) {
        if (arrangementTypes[i].indexOf(categoryNameHtml) > -1) {
          found = true;
          break;
        }
      }
      if (!found) {
        arrangementTypes[arrangementTypes.length] = categoryNameHtml;
      }
    });
    var filterElesClone = filterEles;
    var filtType = jQuery(".largeList select.filterSel");
    for (var i = 0; i < arrangementTypes.length; i++) {
      filtType.append('<option value="' + arrangementTypes[i] + '">' + arrangementTypes[i] + '</option>');
    }
    //jQuery(".filters").append(filtType);
    filtType.bind("change", function() {
      var filterSel = jQuery(this);

      var chosenCatName = filterSel.children("option:selected").attr("value");


      var newFilterClone = filterElesClone.clone();
      filterElesClone.remove();
      jQuery(".largeList tr.headerRow").after(newFilterClone);

      if (chosenCatName !== "0") {
        newFilterClone.not("[categoryName=" + chosenCatName + "]").remove();
      }
      filterElesClone = newFilterClone;
    });
  }
  //Arranger Footeren
  jQuery("tr.footerRow td").prepend(jQuery("#ArrangementDL").css("display", "block"));
  var feedLink = jQuery(".largeList .rssFeed");
  feedLink.attr("href", feedLink.next(".rssFeedDW").find("a").attr("href"));
}

//Trim Function
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

//Finds the closest parent that meets the selector requirements
jQuery.fn.findParent = function(selector) {
  var correctParent = this.eq(0).parent();
  while (correctParent.filter(selector).length === 0) {
    correctParent = correctParent.parent();
    if (correctParent.filter("html").length > 0) {
      correctParent = correctParent.slice(0, correctParent.length - 1);
      break;
    }
  }
  return correctParent;
};



function initBanners() {
  var settings = {
    globalShowTime: 5000,
    bannerSelector: ".banner",
    shiftStyle: "fade",
    fadefrontColor: "#ffffff",
    shiftSpeed: 3000,
    resizeSpeed: 500
  }

  jQuery("#topBannerWrap").startBannerShift(settings);

  jQuery(".bannerWrap").each(function() {
    jQuery(this).startBannerShift(settings);
  });
}

function initCo3Gallery() {
  var imageLists = $(".imageList");
  var settings = {
    imageInformationHeight: 40,
    imageInformationTemplate: '[description]'
  }
  jQuery(".imageList img").each(function() {
    var img = jQuery(this);
    var header = img.attr("description").replace(".jpg", "").replace("_", " ").replace("-", " ");
    img.attr("description", header);
  });
  imageLists.each(function() {
    var imageList = jQuery(this);
    if (imageList.attr("download") && imageList.attr("download").toLowerCase() === "true") {
      settings.imageInformationTemplate += '<br /><a href="[downloadHref]">Download billedet</a>';
    }
    jQuery(this).children("img").CreateGallery(settings)
  });
}

function initSingleArrangement() {
  var arrangement = jQuery("#Arrangement");
  if (arrangement.length > 0) {
    arrangement.find(".infoBlock").each(function() {
      var thisInfo = jQuery(this);
      if (thisInfo.attr("showBlock") && thisInfo.attr("showBlock").toLowerCase() === "true") {
        thisInfo.css("display", "block");
      }
    });
  }
}

function sendToFriend() {
  window.open('/Admin/Public/SendToFriend.aspx?ID=1&amp;M=SendFriend&amp;url=' + location.href, 'sendfriend', 'width=322,height=250')
}

function tagcloud() {
	var allAChilds = $(".tagcloud a");
	for (i=1;i<allAChilds.length;i++) {
	      $(allAChilds[i]).addClass("tagcloud_sz"+Math.round(Math.random()*5));
	}
}


function initBlogLang() {
	if(areaId == 8) { jQuery("#blog_indlaeg_rel_v a").text("> ALLE BEITRÄGE"); }
}


function initPrintPageFormland() {
 // jQuery(".printLink").click(function() {
 //   printPageFormland(jQuery(this).attr("printID"));
  //});
}

function printPageFormland(PrintTemplateID) {
  PrintTemplateID = PrintTemplateID ? PrintTemplateID : "2";
  var splitter = location.href.indexOf("?") > -1 ? "&" : "?";
  printWin = window.open(location.href + splitter + 'Printerfriendly=' + PrintTemplateID, 'printit', '');
}