//MulitpleSelect
var statusLoD2;

$(function() {
 $("MultipleSelect").multipleSelect({
  selectAll: false,
  //openOnHover: true,
  onClick: function(view) {
   //EventListener - Show selected tileset
   if (view.selected == true) {
    if (view.value == 1) {
     tileset_str.show = true;
     viewer.zoomTo(tileset_str);
    }
    if (view.value == 2) {
     tileset_str2.show = true;
     tileset_str2_outerfloor.show = true;
     tileset_str2_roof.show = true;
     tileset_str2_roof.style = roofStyle;
     viewer.zoomTo(tileset_str2);
     statusLoD2 = "active";
    }
    if (view.value == 3) {
     tileset_fernseh.show = true;
     tileset_fernseh_roof.show = true;
     tileset_fernseh_window.show = true;
     tileset_fernseh_outerfloor.show = true;
     tileset_fernseh_installation.show = true;
     viewer.zoomTo(tileset_fernseh);
    }
    if (view.value == 4) {
     tileset_steub.show = true;
     tileset_steub_roof.show = true;
     viewer.zoomTo(tileset_steub);
    }
    if (view.value == 5) {
     tileset_justiz.show = true;
     tileset_justiz_door.show = true;
     tileset_justiz_installation.show = true;
     tileset_justiz_outerfloor.show = true;
     tileset_justiz_roof.show = true;
     tileset_justiz_window.show = true;
     viewer.zoomTo(tileset_justiz);
    }
    if (view.value == 6) {
     tileset_veg_implicit_geom.show = true;
    }
    if (view.value == 7) {
     tileset_faechergeometrie.show = true;
    }
    if (view.value == 8) {
     tileset_plantcover.show = true;
    }
    if (view.value == 9) {
     if (statusLoD2 == "active") {
      tileset_str2_roof.style = pvPotentialYield;
      if ($("#selection").is(".activated") == true) {
       $("#selection").trigger("click");
       $("#selection").prop("disabled", true);
       $("#selection").removeClass("activated");
       pvAnalysis();
      } else {
       $("#selection").prop("disabled", true);
       pvAnalysis();
      }
     } else {
      tileset_str2.show = true;
      tileset_str2_outerfloor.show = true;
      tileset_str2_roof.show = true;
      viewer.zoomTo(tileset_str2);
      tileset_str2_roof.style = pvPotentialYield;
      if ($("#selection").is(".activated") == true) {
       $("#selection").trigger("click");
       $("#selection").prop("disabled", true);
       $("#selection").removeClass("activated");
       pvAnalysis();
      } else {
       $("#selection").prop("disabled", true);
       pvAnalysis();
      }
     }
    }
   }
   //EventListener - Hide deselected tileset
   if (view.selected == false) {
    if (view.value == 1) {
     tileset_str.show = false;
    }
    if (view.value == 2) {
     tileset_str2.show = false;
     tileset_str2_outerfloor.show = false;
     tileset_str2_roof.show = false;
     statusLoD2 = "notactive";
    }
    if (view.value == 3) {
     tileset_fernseh.show = false;
     tileset_fernseh_roof.show = false;
     tileset_fernseh_window.show = false;
     tileset_fernseh_outerfloor.show = false;
     tileset_fernseh_installation.show = false;
    }
    if (view.value == 4) {
     tileset_steub.show = false;
     tileset_steub_roof.show = false;
    }
    if (view.value == 5) {
     tileset_justiz.show = false;
     tileset_justiz_door.show = false;
     tileset_justiz_installation.show = false;
     tileset_justiz_outerfloor.show = false;
     tileset_justiz_roof.show = false;
     tileset_justiz_window.show = false;
    }
    if (view.value == 6) {
     tileset_veg_implicit_geom.show = false;
    }
    if (view.value == 7) {
     tileset_faechergeometrie.show = false;
    }
    if (view.value == 8) {
     tileset_plantcover.show = false;
    }
    if (view.value == 9) {
     if (statusLoD2 == "active") {
      tileset_str2_roof.style = roofStyle;
      deactivatePvAnalysis();
      $("#selection").prop("disabled", false);
     } else {
      tileset_str2.show = false;
      tileset_str2_outerfloor.show = false;
      tileset_str2_roof.show = false;
      deactivatePvAnalysis();
      $("#selection").prop("disabled", false);
     }
    }
   }
  },
  onOptgroupClick: function(view) {
   //EventListener - Show selected tilesets
   if (view.selected == true) {
    if (view.label == "Basisdaten Stuttgart") {
     tileset_str.show = true;
     tileset_str2.show = true;
     tileset_str2_outerfloor.show = true;
     tileset_str2_roof.show = true;
     tileset_str2_roof.style = roofStyle;
     viewer.zoomTo(tileset_str);
     statusLoD2 = "active";
    }
    if (view.label == "Modelle aus PA2") {
     tileset_fernseh.show = true;
     tileset_fernseh_roof.show = true;
     tileset_fernseh_window.show = true;
     tileset_fernseh_outerfloor.show = true;
     tileset_fernseh_installation.show = true;
     tileset_steub.show = true;
     tileset_steub_roof.show = true;
     tileset_justiz.show = true;
     tileset_justiz_door.show = true;
     tileset_justiz_installation.show = true;
     tileset_justiz_outerfloor.show = true;
     tileset_justiz_roof.show = true;
     tileset_justiz_window.show = true;
     viewer.zoomTo(tileset_fernseh);
    }
    if (view.label == "Vegetation") {
     tileset_veg_implicit_geom.show = true;
     tileset_faechergeometrie.show = true;
     tileset_plantcover.show = true;
    }
    if (view.label == "Analyse SimStadt") {
     if (statusLoD2 == "active") {
      tileset_str2_roof.style = pvPotentialYield;
      if ($("#selection").is(".activated") == true) {
       $("#selection").trigger("click");
       $("#selection").prop("disabled", true);
       $("#selection").removeClass("activated");
       pvAnalysis();
      } else {
       $("#selection").prop("disabled", true);
       pvAnalysis();
      }
     } else {
      tileset_str2.show = true;
      tileset_str2_outerfloor.show = true;
      tileset_str2_roof.show = true;
      viewer.zoomTo(tileset_str2);
      tileset_str2_roof.style = pvPotentialYield;
      if ($("#selection").is(".activated") == true) {
       $("#selection").trigger("click");
       $("#selection").prop("disabled", true);
       $("#selection").removeClass("activated");
       pvAnalysis();
      } else {
       $("#selection").prop("disabled", true);
       pvAnalysis();
      }
     }
    }
   }
   //EventListener - Hide deselected tilesets
   if (view.selected == false) {
    if (view.label == "Basisdaten Stuttgart") {
     tileset_str.show = false;
     tileset_str2.show = false;
     tileset_str2_outerfloor.show = false;
     tileset_str2_roof.show = false;
     statusLoD2 = "notactive";
    }
    if (view.label == "Modelle aus PA2") {
     tileset_fernseh.show = false;
     tileset_fernseh_roof.show = false;
     tileset_fernseh_window.show = false;
     tileset_fernseh_outerfloor.show = false;
     tileset_fernseh_installation.show = false;
     tileset_steub.show = false;
     tileset_steub_roof.show = false;
     tileset_justiz.show = false;
     tileset_justiz_door.show = false;
     tileset_justiz_installation.show = false;
     tileset_justiz_outerfloor.show = false;
     tileset_justiz_roof.show = false;
     tileset_justiz_window.show = false;
    }
    if (view.label == "Vegetation") {
     tileset_veg_implicit_geom.show = false;
     tileset_faechergeometrie.show = false;
     tileset_plantcover.show = false;
    }
    if (view.label == "Analyse SimStadt") {
     if (statusLoD2 == "active") {
      tileset_str2_roof.style = roofStyle;
      deactivatePvAnalysis();
      $("#selection").prop("disabled", false);
     } else {
      tileset_str2.show = false;
      tileset_str2_outerfloor.show = false;
      tileset_str2_roof.show = false;
      deactivatePvAnalysis();
      $("#selection").prop("disabled", false);
     }
    }
   }
  }
 });
});

//Enable or disable shadows 
$("#shadow").click(function() {
 if ($("#shadow").is(".activated") == false) {
  $(this).addClass("activated");
  viewer.shadows = true;
 } else {
  $(this).removeClass("activated");
  viewer.shadows = false;
 }
});

//Select object and get informations
$("#selection").click(function() {
 if ($("#selection").is(".activated") == false) {
  $(this).addClass("activated");
  selectData();
 } else {
  $(this).removeClass("activated");
  deactivateSelectData();
 }
});