var engine_linkcollection_process = "webcpms/proc_linkcollection.php";
var ajaxSaveLinkItem,
    ajaxLoadLinkItem,
    ajaxDeleteLinkItem,
    ajaxSendLinkEMail;


function saveLinkItem() {
   var l = document.getElementById('LinkCollectionLink').value;
   if (l == "") {
      alert("Please specify the link of the referred page!");
      return;
   }
   var link = "&link=" + encodeURIComponent(l);

   var title_descr = checkTitleDescr("LinkCollection", TITLE_ONLY);
   if (title_descr.length == 0) return;


   var pts = getPageTitles("LinkCollection");

   startIndicator("LinkCollectionIndicator", "Saving");

   var posted = document.getElementById('LinkCollection_year').value + "-" + makeTwoDigits(document.getElementById('LinkCollection_month_sel').value) + "-" + makeTwoDigits(document.getElementById('LinkCollection_day_sel').value) + " " + makeTwoDigits(document.getElementById('LinkCollection_hour').value) + ":" + makeTwoDigits(document.getElementById('LinkCollection_min').value) + ":00";

   var logo = encodeURIComponent(document.getElementById('Input_LinkCollectionLogo').value);
   var modify = document.getElementById('LinkCollectionModify').value;
   var cmd = "cmd=cmdSaveLink&sid=" + document.getElementById('SessionID').value + (modify == "" ? "" : "&modify=" + modify) + link + (logo == "" ? "" : "&logo=" + logo) + title_descr + pts + "&posted=" + posted + "&page=" + document.getElementById('page').value;
   load(ajaxSaveLinkItem = GetXmlHttpObject(), engine_linkcollection_process, cmd, updateLinkEntries);
}



function updateLinkEntries() {
   if (ajaxSaveLinkItem.readyState == 4 || ajaxSaveLinkItem.readyState == "complete") {
//      stopIndicator("LinkCollectionIndicator");
      location.reload();
   }
}


function editLink(name, title, entry_id, topic_id) {
   startIndicator("LinkCollectionIndicator", "Loading");
   document.getElementById('WebCPMSLinkCollectionEditor').className = "editor_on";
   wreLinkCollectionDescr.enable();
   var cmd = "cmd=cmdLoadLink&sid=" + document.getElementById('SessionID').value + "&item=" + entry_id + "&page=" + document.getElementById('page').value;
   load(ajaxLoadLinkItem = GetXmlHttpObject(), engine_linkcollection_process, cmd, linkLoaded);
}

function linkLoaded() {
   if (ajaxLoadLinkItem.readyState == 4 || ajaxLoadLinkItem.readyState == "complete") {
      stopIndicator("LinkCollectionIndicator");
      var xml_doc = createXmlDoc(ajaxLoadLinkItem.responseText);
      var linkitems = xml_doc.getElementsByTagName("linkitem");
      var id = getElemAttributeValue(linkitems[0], "id");
      var i;
      for (i = 0; i < linkitems.length; i++) {
         var added = findTagByName(linkitems[i], "added");
         var link = findTagByName(linkitems[i], "link");
         var logo = findTagByName(linkitems[i], "logo");
         var titles = collectTagsByAttribute(linkitems[i], "title", "lang");
         var descrs = collectTagsByAttribute(linkitems[i], "descr", "lang");
         var pageurls = collectTagsByAttribute(linkitems[i], "pageurl", "lang");
         if (added) {
            var d = added.childNodes[0].nodeValue.split(" ");
            var date = d[0].split("-");
            var time = d[1].split(":");
            setDateValue("Input_LinkCollection_year", "LinkCollection_year", "LinkCollection_month", "LinkCollection_day", date[0], date[1], date[2]);
            setTimeValue("LinkCollection_hour", "LinkCollection_min", time[0], time[1]);
         }
         if (link) document.getElementById('LinkCollectionLink').value = link.childNodes[0].nodeValue;
         if (logo) {
            if (top.frames["demo"] == null) {
               document.getElementById('Input_LinkCollectionLogo').value = logo.childNodes[0].nodeValue;
            } else {
               document.getElementById('Input_LinkCollectionLogo').value = logo.childNodes[0].nodeValue.substr(logo.childNodes[0].nodeValue.lastIndexOf("/") + 1);
            }
         }
         for (i = 0; i < titles.length; i++) {
            document.getElementById('LinkCollectionTitle_' + titles[i][0]).value = unSafeString(titles[i][1]);
         }
         resetPageTitleEditor("LinkCollection");
         for (i = 0; i < pageurls.length; i++) {
            if (pageurls[i][1].length > 0) {
               document.getElementById('LinkCollectionPermalink_' + pageurls[i][0]).innerHTML = getWebAddress() + "/" + unSafeString(pageurls[i][1]);
               checkPageTitle("LinkCollection", pageurls[i][0]);
            }
         }
         for (i = 0; i < descrs.length; i++) {
            wreLinkCollectionDescr.setDocument(descrs[i][0], unSafeString(descrs[i][1]));
            if (document.getElementById('lang').value == descrs[i][0]) {
               wreLinkCollectionDescr.setText(unSafeString(descrs[i][1]));
            }
         }
      }
      document.getElementById('LinkCollectionModify').value = id;
   }
}


function deleteLink(name, title, entry_id, topic_id) {
   if (!confirm("Are you sure you want to delete this item?")) return;
   startIndicator("LinkCollectionIndicator", "Deleting");
   var cmd = "cmd=cmdDeleteLink&sid=" + document.getElementById('SessionID').value + "&item=" + entry_id + "&page=" + document.getElementById('page').value;
   load(ajaxDeleteLinkItem = GetXmlHttpObject(), engine_linkcollection_process, cmd, linkDeleted);
}

function linkDeleted() {
   if (ajaxDeleteLinkItem.readyState == 4 || ajaxDeleteLinkItem.readyState == "complete") {
      stopIndicator("LinkCollectionIndicator");
      location.reload();
   }
}


function resetLinkEditor(need_confirm) {
   if (need_confirm) {
      if (!confirm("Are you sure you want to clear the contents of link editor?")) return;
   }
   var i;
   setDateValue("Input_LinkCollection_year", "LinkCollection_year", "LinkCollection_month", "LinkCollection_day");
   setTimeValue("LinkCollection_hour", "LinkCollection_min");
   document.getElementById('Input_LinkCollectionLogo').value = "";
   document.getElementById('LinkCollectionLink').value = "";
   wreLinkCollectionDescr.setText();
   for (i = 0; i < languages.length; i++) {
      document.getElementById('LinkCollectionTitle_' + languages[i].descr).value = "";
      wreLinkCollectionDescr.setDocument(languages[i].descr);
   }
   document.getElementById('LinkCollectionModify').value = "";
}



function emailLink(name, title, entry_id, topic_id) {
   var t = decodeURIComponent(title);
   showEMailPanel(name + "NavButton", name, t, "sendLinkEMail", entry_id, topic_id);
}

function printLink(name, title, entry_id, topic_id) {
   window.open("webcpms/printable.php?page=tour&item=" + entry_id + "&lang=" + document.getElementById('lang').value + "&sid=" + document.getElementById('SessionID').value + "&r=" + randCode(), "printable", "width=700,height=400,location=yes,menubar=yes,toolbar=yes,status=yes,resizable=yes,scrollbars=yes");
}


function sendLinkEMail(name, entry_id, topic_id) {
   if (validEMailForm(name, true)) {
      var name_sender = document.getElementById(name + "EMailInputSenderName").value;
      var email_sender = document.getElementById(name + "EMailInputSenderAddr").value;
      var name_recipient = document.getElementById(name + "EMailInputRecipientName").value;
      var email_recipient = document.getElementById(name + "EMailInputRecipientAddr").value;
      startIndicator(name + "Indicator", "Sending", name + "PopupHost");
      var cmd = "cmd=cmdSendLinkEMail&sid=" + document.getElementById('SessionID').value + "&lang=" + document.getElementById('lang').value + "&name=" + name + "&entry=" + entry_id + "&name_sender=" + encodeURIComponent(name_sender) + "&email_sender=" + encodeURIComponent(email_sender) + "&name_recipient=" + encodeURIComponent(name_recipient) + "&email_recipient=" + encodeURIComponent(email_recipient) + "&subject=" + encodeURIComponent(document.getElementById('EMailInputSubject').value) + "&comment=" + encodeURIComponent(document.getElementById('EMailInputComment').value) + "&pagebase=" + getPageBase() + "&page=" + document.getElementById('page').value;
      load(ajaxSendLinkEMail = GetXmlHttpObject(), engine_linkcollection_process, cmd, postedLinkEMail);
   }
}

function postedLinkEMail() {
   if (ajaxSendLinkEMail.readyState == 4 || ajaxSendLinkEMail.readyState == "complete") {
      var name = trim(ajaxSendLinkEMail.responseText);
      stopIndicator(name + "Indicator");
      hideEMailPanel(name);
   }
}
