﻿function setFullScreenTitle() {
  var fullScreenText = textFullScreen;

  if (!((typeof (window.opener) == "undefined") || (window.opener == null))) {
    fullScreenText = textNormalScreen;
  }



  if (navigator.appName == "Microsoft Internet Explorer") {
    document.getElementById("lnkFullScreen").innerText = fullScreenText;
  } else {
    document.getElementById("lnkFullScreen").textContent = fullScreenText;
  }

}

function fullScreenOrClose() {
  if ((typeof (window.opener) == "undefined") || (window.opener == null)) {
    w = openFullscreen(window.location.href);
    //w.ChangeFullScreenName("Normal Screen");
  }
  else {
    top.close();
  }
}

function openFullscreen(page) {
  var yes = 1;
  var no = 0;
  var menubar = no; // The File, Edit, View Menus
  var scrollbars = no; // Horizontal and vertical scrollbars
  var locationbar = no; // The location box with the site URL
  var directories = no; // the "What's New", "What Cool" links
  var resizable = no; // Can the window be resized?
  var statusbar = no; // Status bar (with "Document: Done")
  var toolbar = no; // Back, Forward, Home, Stop toolbar
  if (navigator.appName == "Microsoft Internet Explorer") { // better be ie6 at least
    windowprops = "width=" + (screen.width - 10) + ",height=" + (screen.height - 30) + ",top=0,left=0,fullscreen=1";
  }
  else { // i.e. if Firefox
    windowprops = "width=" + (screen.width - 5) + ",height=" + (screen.height - 30) + ",top=0,left=0";
  }

  windowprops += (menubar ? ",menubars" : "") +
  (scrollbars ? ",scrollbars" : "") +
  (locationbar ? ",location" : "") +
  (directories ? ",directories" : "") +
  (resizable ? ",resizable" : "") +
  (statusbar ? ",status" : "") +
  (toolbar ? ",toolbar" : "");
  w = window.open(page, 'fullPopup', windowprops);
  return w;
}


var dgMinimized = false;
var dgX = -1;
var dgY = -1;
var dgWidth = 0;
var dgHeight = 0;
var dgDockedEast = false;
var dgDockedSouth = false;
var dgCollapsed = false;

var resizeTimeout = 0;
var resizeTimerId = 0;

function DockCPSouth() {
  dgDockedSouth = true;

  if (layout != null) {
    var south = Ext.getCmp("southRegion");
    var center = Ext.getCmp("centerRegion");
    var divFullHeight = document.getElementById("divFullHeight");
    south.show();
    if (dgCollapsed)
      south.collapse();
    center.setHeight(divFullHeight.offsetHeight + divFullHeight.scrollTop - south.height);
    center.show();
  }
  else {
    document.getElementById("centerpanel").style.width = "896px";
    document.getElementById("centerpanel").style.paddingLeft = "44px";
    DockLayout.init();

    var east = Ext.getCmp("eastRegion");
    var center = Ext.getCmp("centerRegion");
    var south = Ext.getCmp("southRegion");

    center.setWidth(document.body.offsetWidth);
    east.hide();
    if (dgCollapsed)
      south.collapse();

  }

  var southAccordion = document.getElementById("tdAccordionSouth");
  var southNotepad = document.getElementById("tdNotepadSouth");
  var southHeader = document.getElementById("divSouthRegionHeader");

  var accordion = document.getElementById("cpCenter");
  var notepad = document.getElementById("cpEast");
  var search = document.getElementById("search");

  southAccordion.appendChild(accordion);
  if (typeof (hideNotepad) != "undefined") {
    if (!hideNotepad)
      southNotepad.appendChild(notepad);
  }
  else
    southNotepad.appendChild(notepad);
  southHeader.appendChild(search);

  searchCombo.setWidth(630);
  document.getElementById("divNotepadHeader").style.display = "block";

  dialog.hide();

  if (dgCollapsed)
    Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, false, true, true);
  else
    Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, false, true, false);

}
function UndockSouth() {
  dgDockedSouth = false;

  Ext.getCmp("southRegion").hide(); //south

  var southAccordion = document.getElementById("cpCenter");
  var southNotepad = document.getElementById("cpEast");
  var dialogHeader = document.getElementById("tdDialogHeader");

  var accordion = document.getElementById("center");
  var notepad = document.getElementById("east");
  var search = document.getElementById("search");

  accordion.appendChild(southAccordion);
  notepad.appendChild(southNotepad);
  dialogHeader.appendChild(search);

  var divFullHeight = document.getElementById("divFullHeight");
  Ext.getCmp("centerRegion").setHeight(divFullHeight.offsetHeight + divFullHeight.scrollTop);
  searchCombo.setWidth(dialog.width - 80);

  dialog.show();

  Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, false, false, false);
}

function DockCPEast() {
  dgDockedEast = true;


  if (layout != null) {
    var east = Ext.getCmp("eastRegion");
    var center = Ext.getCmp("centerRegion");
    var divFullHeight = document.getElementById("divFullHeight");
    east.setHeight(divFullHeight.offsetHeight + divFullHeight.scrollTop);
    east.show();
    if (dgCollapsed)
      east.collapse();
    center.setHeight(divFullHeight.offsetHeight + divFullHeight.scrollTop);
    center.setWidth(document.body.offsetWidth - east.width - 5);
    center.show();
  }
  else {
    document.getElementById("centerpanel").style.width = "896px";
    document.getElementById("centerpanel").style.paddingLeft = "44px";
    DockLayout.init();

    var east = Ext.getCmp("eastRegion");
    var south = Ext.getCmp("southRegion");
    var divFullHeight = document.getElementById("divFullHeight");
    south.hide();
    if (dgCollapsed)
      east.collapse();
    var center = Ext.getCmp("centerRegion");
    center.setHeight(divFullHeight.offsetHeight + divFullHeight.scrollTop);
    east.setHeight(divFullHeight.offsetHeight + divFullHeight.scrollTop);
  }

  var eastAccordion = document.getElementById("tdAccordionEast");
  var eastNotepad = document.getElementById("tdNotepadEast");
  var eastHeader = document.getElementById("divEastRegionHeader");

  var accordion = document.getElementById("cpCenter");
  var notepad = document.getElementById("cpEast");
  var search = document.getElementById("search");

  eastAccordion.appendChild(accordion);
  if (typeof (hideNotepad) != "undefined") {
    if (!hideNotepad)
      eastNotepad.appendChild(notepad);
  }
  else
    eastNotepad.appendChild(notepad);
  eastHeader.appendChild(search);

  searchCombo.setWidth(250);
  document.getElementById("divEastNotepadHeader").style.display = "block";

  dialog.hide();

  if (dgCollapsed)
    Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, true, false, true);
  else
    Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, true, false, false);
}
function UndockEast() {
  dgDockedEast = false;

  Ext.getCmp("eastRegion").hide();

  var CPBody = document.getElementById("divDialogBody");
  var eastAccordion = document.getElementById("cpCenter");
  var eastNotepad = document.getElementById("cpEast");
  var dialogHeader = document.getElementById("tdDialogHeader");

  var accordion = document.getElementById("center");
  var notepad = document.getElementById("east");
  var search = document.getElementById("search");

  accordion.appendChild(eastAccordion);
  notepad.appendChild(eastNotepad);
  dialogHeader.appendChild(search);

  Ext.getCmp("centerRegion").setWidth(document.body.offsetWidth);

  dialog.show();
  searchCombo.setWidth(dialog.width - 80);

  Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, false, false, false);
}
function CollapseRegionEast() {
  Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, true, false, true);
}
function CollapseRegionSouth() {
  Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, false, true, true);
}
function ExpandRegionEast() {
  Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, true, false, false);
}
function ExpandRegionSouth() {
  Rijden.Webservices.SaveNota.SaveNotepadPosition(dgX, dgY, dialog.width, dialog.height, false, false, true, false);
}

function ResizeRegionSouth(region, newWidth, newHeight) {
  if (newHeight != null) {
    document.getElementById("tdAccordionSouth").style.height = newHeight - 33 + "px";
    document.getElementById("tdNotepadSouth").style.height = newHeight - 33 + "px";
  }
}

function ChangeOpacity(elm) {
  //  if (navigator.userAgent.indexOf("MSIE") >= 0)
  //    elm.style.filter = "alpha(opacity=100)";
  //  else
  //  {
  //    elm.style.opacity = "1";
  //    elm.focus();
  //  }
  elm.value = "";
}
function RestoreOpacity(elm) {
  //  if (navigator.userAgent.indexOf("MSIE") >= 0)
  //    elm.style.filter = "alpha(opacity=50)";
  //  else
  //    elm.style.opacity = ".50";
  elm.value = searchText;
}

function blockEnter(e) {
  if (!e) var e = window.event;
  if (e.keyCode == 13) {
    return false;
  }
}








function toolTip(key, elem) {
  x = event.clientX;
  y = event.clientY;
  scrollLeft = document.all ? iebody.scrollLeft : pageXOffset;
  scrollTop = document.all ? iebody.scrollTop : pageYOffset;

  if (cachedTips[key] == null)
    Rijden.Webservices.SaveNota.GetGlossaryDescription(key, SucceededToolTipCallback);
  else
    SucceededToolTipCallback(key + "|" + cachedTips[key]);
}
function hideToolTip() {
  tip.style.display = "none";
}
function SucceededToolTipCallback(result) {
  headBody = result.split("|");
  tipHeader.innerHTML = headBody[0];
  tipBody.innerHTML = headBody[1];
  if (cachedTips[headBody[0]] == null)
    cachedTips[headBody[0]] = headBody[1];
  tip.style.left = x + 15 + scrollLeft;
  tip.style.top = y + scrollTop; ;
  tip.style.display = "block";
}
//glossary image
function imageToolTip(key, elem) {
  x = event.clientX;
  y = event.clientY;
  scrollLeft = document.all ? iebody.scrollLeft : pageXOffset;
  scrollTop = document.all ? iebody.scrollTop : pageYOffset;

  if (cachedImageTips[key] == null)
    Rijden.Webservices.SaveNota.GetGlossaryImage(key, SucceededImageToolTipCallback);
  else
    SucceededImageToolTipCallback(key + "|" + cachedImageTips[key]);
}
function hideImageToolTip() {
  imageTip.style.display = "none";
}
function SucceededImageToolTipCallback(result) {
  headBody = result.split("|");
  imageTipBody.src = headBody[1];
  if (cachedImageTips[headBody[0]] == null)
    cachedImageTips[headBody[0]] = headBody[1];
  imageTip.style.left = x + 15 + scrollLeft;
  imageTip.style.top = y + scrollTop; ;
  imageTip.style.display = "block";
}

function ShowMarkDiv(e) {
  if (!e) var e = window.event;
  x = e.clientX;
  y = e.clientY;
  scrollLeft = document.all ? iebody.scrollLeft : pageXOffset;
  scrollTop = document.all ? iebody.scrollTop : pageYOffset;
  markDiv.style.left = x - 20 + scrollLeft + "px";
  markDiv.style.top = y + 5 + scrollTop + "px";
  markDiv.style.display = "block";
}

function HideMarkDiv() {
  markDiv.style.display = "none";
}

function ShowRemoveSelectionDiv(e, elem) {
  if (!e) var e = window.event;
  x = e.clientX;
  y = e.clientY;
  scrollLeft = document.all ? iebody.scrollLeft : pageXOffset;
  scrollTop = document.all ? iebody.scrollTop : pageYOffset;
  removeSelectionDiv.style.left = x - 20 + scrollLeft + "px";
  removeSelectionDiv.style.top = y + 5 + scrollTop + "px";
  removeSelectionDiv.style.display = "block";

  currentSelectionSpan = elem;
}

function HideRemoveSelectionDiv() {
  removeSelectionDiv.style.display = "none";
}

function MarkText(e) {
  if (IsTemporaryUser)
    document.location.href = "logintokeepinformation";

  if (!e) var e = window.event;

  var serverMarker = "!!!~!!!";
  if (window.getSelection) {
    //firefox
    selection = window.getSelection();
    range = selection.getRangeAt(0);
    txt = range.cloneContents().textContent;
    var newNode = document.createElement("label");
    newNode.className = 'markedtext';
    newNode.id = 'dummymarkspan';
    newNode.onclick = function(e) {
      ShowRemoveSelectionDiv(e, this);
      e.cancelBubble = true;
    }
    range.surroundContents(newNode);
    var html = document.getElementById("dummymarkspan").innerHTML;
    document.getElementById("dummymarkspan").innerHTML = serverMarker + html + serverMarker;
    var contentElement = document.getElementById("ctl00_ContentPlaceHolder1_UCCourseContent_lblContent");
    var content = contentElement.textContent;
    Rijden.Webservices.SaveNota.SaveMarkedText(content, txt, currentPageId, "yellow", MarkSucceeded);
    contentElement.innerHTML = contentElement.innerHTML.replace(/!!!~!!!/g, "");
  }
  else if (document.selection) {
    //ie
    var txt = getSelectedText();
    var html = getSelectedHtml();
    if (html.toLowerCase().indexOf("<label class=markedtext") < 0) {
      range.pasteHTML("<label class=markedtext id='dummymarkspan' onclick='ShowRemoveSelectionDiv(event,this); event.cancelBubble = true;'>" + serverMarker + html + serverMarker + "</label>");
      var contentElement = document.getElementById("ctl00_ContentPlaceHolder1_UCCourseContent_lblContent");
      var content = contentElement.innerText;
      Rijden.Webservices.SaveNota.SaveMarkedText(content, txt, currentPageId, "yellow", MarkSucceeded);
      contentElement.innerHTML = contentElement.innerHTML.replace(/!!!~!!!/g, "");
    }
    else {
    }
  }
}

function AddTextToNotepad() {
  if (IsTemporaryUser)
    document.location.href = "logintokeepinformation";

  var html;
  //firefox (can't select html)
  if (window.getSelection)
    html = getSelectedText();
  else if (document.selection) {
    //ie
    html = getSelectedHtml();
  }
  var oEditor = FCKeditorAPI.GetInstance('ctl00_FCKeditor1');
  var editorHtml = oEditor.GetHTML();
  oEditor.SetHTML(editorHtml + html);
  oEditor.FixBody();
  //        oEditor.InsertHtml(html);

  HideMarkDiv();
  selectionStarted = false;
}

function UnmarkText() {
  currentSelectionSpan.className = "";
  currentSelectionSpan.onclick = null;
  Rijden.Webservices.SaveNota.DeleteMarkedText(currentSelectionSpan.getAttribute("markId"), UnmarkSucceeded);
}

function AddMarkedTextToNotepad() {
  var html = currentSelectionSpan.innerHTML;
  var oEditor = FCKeditorAPI.GetInstance('ctl00_FCKeditor1');
  var editorHtml = oEditor.GetHTML();
  oEditor.SetHTML(editorHtml + html);
  oEditor.FixBody();
  //      oEditor.InsertHtml(html);

  HideRemoveSelectionDiv();
}

function SelectStart() {
  selectionStarted = true;
}

function SelectionEnd(e) {
  if (selectionStarted) {
    if (getSelectedText().length > 0)
      ShowMarkDiv(e);
    selectionStarted = false;
  }
}

function getSelectedText() {
  var txt = '';
  if (window.getSelection) {
    selection = window.getSelection();
    range = selection.getRangeAt(0);
    txt = range.cloneContents().textContent;
  }
  else if (document.getSelection) {
    txt = document.getSelection();
  }
  else if (document.selection) {
    range = document.selection.createRange();
    txt = range.text;
  }
  else return;
  return txt;
}

function getSelectedHtml() {
  var html = '';
  if (window.getSelection) {
    selection = window.getSelection();
    range = selection.getRangeAt(0);
    html = range.cloneContents().textContent;
  }
  else if (document.getSelection) {
    html = document.getSelection();
  }
  else if (document.selection) {
    range = document.selection.createRange();
    html = range.htmlText;
  }
  else return;
  return html;
}

function MarkSucceeded(result) {
  HideMarkDiv();
  selectionStarted = false;

  document.getElementById("dummymarkspan").id = "markspan" + result;
  document.getElementById("markspan" + result).markId = result;
}

function UnmarkSucceeded(result) {
  HideRemoveSelectionDiv();
}


function PrepareImages() {
  var imgs = document.getElementById("test").getElementsByTagName("img");
  for (i = 0; i < imgs.length; i++) {
    imgs[i].style.cursor = "pointer";
    $(imgs[i]).click(function(event) {
      EnlargeImage(this, event);
    });
  }
}
function EnlargeImage(elm, myEvent) {
  var imgSpan = document.getElementById("spanLargeImage");
  var imgLocation = Sys.UI.DomElement.getLocation(elm);
  var bigImage = $(".enlargeImage", $(imgSpan))[0];

  bigImage.src = elm.src;
  imgSpan.style.left = imgLocation.x + "px";
  imgSpan.style.top = imgLocation.y + "px";
  imgSpan.style.display = "block";

  //event.cancelBubble = true;
  if (myEvent) {
    StopPropagation(myEvent);
  }
}
function HideMe(elm) {
  elm.style.display = "none";
}
function HideLargeImage() {
  document.getElementById("spanLargeImage").style.display = "none";
}
function StopPropagation(e) {
  if (!(e.stopPropagation == null)) {
    e.stopPropagation();
    e.preventDefault();
  }
  else {
    e.cancelBubble = true;
    e.returnValue = false;
  }
}

