/*
 * phLinks.js
 *
 * IT-Sundhed
 * Lasse F. Pedersen
 * 07/Maj/2004
 */

/*
 * Link groups
 */

function getLinkGroup(xmlDoc, linkGroupId) {

  // Get link group
  var linkGroupRoot = xmlDoc.selectSingleNode("/links/linkgroups");
  var linkGroup     = getNodeById(linkGroupRoot, linkGroupId);
  
  return linkGroup;

}

function addLinkGroupDialog(xmlContainerId, htmlContainerId) {

  var linkGroupName;
  
  while(linkGroupName == null) {
    
    linkGroupName = prompt("Skriv link-gruppens navn i feltet herunder:", "");

    if(linkGroupName == null) {
      return;
    }
    
  }

  addLinkGroup(xmlContainerId, htmlContainerId, linkGroupName);

}

function addLinkGroup(xmlContainerId, htmlContainerId, linkGroupName) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);
  
  // Get new link group
  var linkGroupRoot = xmlDoc.selectSingleNode("/links/linkgroups");
  var linkGroup     = xmlDoc.createNode(1, "linkgroup", "");
  var linkGroupId   = getNextNodeId(linkGroupRoot);
  
  // Write attributes
  setNodeAttribute(xmlDoc, linkGroup, "id",   linkGroupId);
  setNodeAttribute(xmlDoc, linkGroup, "name", linkGroupName);

  // Add to parent
  linkGroupRoot.appendChild(linkGroup);

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;
  
  renderLinks(xmlContainerId, htmlContainerId);

}

function editLinkGroupDialog(xmlContainerId, htmlContainerId, linkGroupId) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);

  // Get link group
  var linkGroup     = getLinkGroup(xmlDoc, linkGroupId);
  var linkGroupName = null;
  var lastEntry     = linkGroup.attributes.getNamedItem("name").value

  while(linkGroupName == null) {
    
    linkGroupName = prompt("Skriv link-gruppens navn i feltet herunder:", lastEntry);
    lastEntry     = linkGroupName;

    if(linkGroupName == null) {
      return;
    }
    
  }

  // Write attributes
  setNodeAttribute(xmlDoc, linkGroup, "name", linkGroupName);
    
  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;

  renderLinks(xmlContainerId, htmlContainerId);

}
  
function moveLinkGroup(xmlContainerId, htmlContainerId, linkGroupId, push) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);

  // Get link group
  var linkGroup     = getLinkGroup(xmlDoc, linkGroupId);
  var linkGroupRoot = linkGroup.parentNode;
  var linkGroupRef;
  
  if(push) {

    linkGroupRef = linkGroup.nextSibling;
  
    if(!linkGroupRef) {
      return;
    }    

    linkGroupRef = linkGroupRef.nextSibling;

  } else {
  
    linkGroupRef = linkGroup.previousSibling;

    if(!linkGroupRef) {
      return;
    }    
  
  }

  linkGroupRoot.removeChild(linkGroup);
  linkGroupRoot.insertBefore(linkGroup, linkGroupRef);

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;
  
  renderLinks(xmlContainerId, htmlContainerId);

}

function removeLinkGroup(xmlContainerId, htmlContainerId, linkGroupId) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);

  // Get link group
  var linkGroup = getLinkGroup(xmlDoc, linkGroupId);

  // Remove from parent
  linkGroup.parentNode.removeChild(linkGroup);

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;

  renderLinks(xmlContainerId, htmlContainerId);

}

/*
 * Links
 */

function addLinkDialog(xmlContainerId, htmlContainerId, linkGroupId, linkType) {

  // If adding a resource link
  if(linkType == "resource") {
  
    // Open resource gallery browser
    WBC_launchAttachmentGallery(IDS_FRAMEWORK_CHANNELITEM_QUERYSTRING, "phLinks@@" + xmlContainerId + "@@" + htmlContainerId + "@@" + linkGroupId, "ThinEditIE", false, false, false);
    return;

  }
  
  var dlgPath   = null;
  var dlgArgs   = null;
  var dlgResult = null;

  if(linkType == "reference") {
  
    // Open internal link browser
    dlgPath   = IDS_FRAMEWORK_NEW_VIRTUAL_PATH + "/Dialogs/InternalLinks/InternalLinks.aspx?NRMODE=Unpublished&wbc_caller=IEModal";
    dlgArgs   = "";
    dlgResult = window.showModalDialog(dlgPath, dlgArgs, IDS_IEWIN_INTLINKS_FEATURES);
  
  } else {

    dlgPath   = IDS_FRAMEWORK_NEW_VIRTUAL_PATH + "/Dialogs/HLink/Hlink.aspx";
    dlgArgs   = "http://;;;"
    dlgResult = window.showModalDialog(dlgPath, dlgArgs, "dialogWidth:650px;dialogHeight:350px;status:no;help:no");

  }

  if(typeof(dlgResult) == "undefined") {
    return;
  }

  if(dlgResult == "Cancel") {
    return;
  }
  
  if(linkType == "reference") {

    dlgPath = dlgResult.split("+").join(" ");
    dlgPath = dlgPath.split("/").join(" / ");
    
    if(dlgPath[0] == ' ') {
      dlgPath = dlgPath.substr(1);
    }

    addLink(xmlContainerId, htmlContainerId, linkGroupId, dlgPath, dlgResult, "", "reference");
  
  } else {
  
    var attributes = dlgResult.split(";");
    // [0] -> href
    // [1] -> alt text (tooltip)
    // [2] -> target
    // [3] -> name
    
    addLink(xmlContainerId, htmlContainerId, linkGroupId, attributes[3], attributes[0], attributes[1]);
  
  }


}

//Sætter om det enkelte link skal vises i context
function setContext(xmlContainerId, htmlContainerId, linkGroupId, linkId, linkContext)
{
 
  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);

  // Get link
  var linkGroup = getLinkGroup(xmlDoc, linkGroupId);
  var link      = getNodeById(linkGroup, linkId);

 // if(!link) {
 //   return;
 // }
  //checker linkContext har en gyldig værdi
  if(linkContext == 'checked')
    {
    linkContext = false;

    }
  if(linkContext == 'notChecked')
    {
    linkContext = true;
    }

  // Write attributes
  setNodeAttribute(xmlDoc, link, "linkcontext", (linkContext ? "true" : "false")); //gemmer attributter

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;
  renderLinks(xmlContainerId, htmlContainerId);

}



function addLink(xmlContainerId, htmlContainerId, linkGroupId, linkText, linkHref, linkAlt, linkType) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);
  
  // Get new link
  var linkGroup = getLinkGroup(xmlDoc, linkGroupId);
  var link      = xmlDoc.createNode(1, "link", "");
  var linkId    = getNextNodeId(linkGroup);

  // Write attributes
  setNodeAttribute(xmlDoc, link, "id",   linkId);
  setNodeAttribute(xmlDoc, link, "text", linkText);
  setNodeAttribute(xmlDoc, link, "href", linkHref);
  setNodeAttribute(xmlDoc, link, "alt",  linkAlt);
  setNodeAttribute(xmlDoc, link, "type", linkType);
  setNodeAttribute(xmlDoc, link, "internal", "false");
  setNodeAttribute(xmlDoc, link, "linkcontext", "false"); //til checkbox
  
  // Add to parent
  linkGroup.appendChild(link);

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;
  
  renderLinks(xmlContainerId, htmlContainerId);

  //alert("made a link with href:\n" + linkHref);

}

function editLinkDialog(xmlContainerId, htmlContainerId, linkGroupId, linkId) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);

  // Get link
  var linkGroup = getLinkGroup(xmlDoc, linkGroupId);
  var link      = getNodeById(linkGroup, linkId);
  var linkType  = link.attributes.getNamedItem("type").value
  var linkText  = link.attributes.getNamedItem("text").value;

  // If editing a resource link
  if(linkType == "resource") {

    var strEnc = "phLinks@@" + xmlContainerId + "@@" + htmlContainerId + "@@" + linkGroupId + "@@" + linkId + "@@" + linkText;
    var strURL = IDS_FRAMEWORK_NEW_VIRTUAL_PATH + "/Dialogs/ResourceBrowser/Authoring/AttachmentPropertiesOnlyBrowse.aspx?" + IDS_FRAMEWORK_CHANNELITEM_QUERYSTRING +"&" + IDS_QPARAM_PHNAME + "=" + strEnc + "&" + IDS_QPARAM_ATTACHICON + "=" + false;
		
    WBC_openWindowOnFocus(strURL, IDS_WIN_INSERT_PROPS, IDS_WIN_ATTACHPROPS_FEATURES);  
    return;

  }

  var linkText  = link.attributes.getNamedItem("text").value;
  var linkHref  = link.attributes.getNamedItem("href").value;
  var linkAlt   = link.attributes.getNamedItem("alt").value;

  var dlgPath   = null;
  var dlgArgs   = null;
  var dlgResult = null;

  if(linkType == "reference") {
  
    // Open internal link browser
    dlgPath   = IDS_FRAMEWORK_NEW_VIRTUAL_PATH + "/Dialogs/InternalLinks/InternalLinks.aspx?NRMODE=Unpublished&wbc_caller=IEModal";
    dlgArgs   = linkHref;
    dlgResult = window.showModalDialog(dlgPath, dlgArgs, IDS_IEWIN_INTLINKS_FEATURES);
  
  } else {

    dlgPath   = IDS_FRAMEWORK_NEW_VIRTUAL_PATH + "/Dialogs/HLink/Hlink.aspx";
    dlgArgs   = linkHref + ";" + linkAlt + ";;" + linkText;
    dlgResult = window.showModalDialog(dlgPath, dlgArgs, "dialogWidth:650px;dialogHeight:350px;status:no;help:no");

  }
    
  if(typeof(dlgResult) == "undefined") {
    return;
  }

  if(dlgResult == "Cancel") {
    return;
  }
    
  if(linkType == "reference") {
  
    dlgPath = dlgResult.split("+").join(" ");
    dlgPath = dlgPath.split("/").join(" / ");
  
    if(dlgPath[0] == ' ') {
      dlgPath = dlgPath.substr(1);
    }

    setNodeAttribute(xmlDoc, link, "text", dlgPath);
    setNodeAttribute(xmlDoc, link, "href", dlgResult);
    setNodeAttribute(xmlDoc, link, "alt",  "");
  
  } else {
  
    var attributes = dlgResult.split(";");
    // [0] -> href
    // [1] -> alt text (tooltip)
    // [2] -> target
    // [3] -> name

    // Write attributes
    setNodeAttribute(xmlDoc, link, "text", attributes[3]);
    setNodeAttribute(xmlDoc, link, "href", attributes[0]);
    setNodeAttribute(xmlDoc, link, "alt",  attributes[1]);

  }

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;

  renderLinks(xmlContainerId, htmlContainerId);

}

function editLinkText(xmlContainerId, htmlContainerId, linkGroupId, linkId, linkText) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);

  // Get link
  var linkGroup = getLinkGroup(xmlDoc, linkGroupId);
  var link      = getNodeById(linkGroup, linkId);

  if(!link) {
    return;
  }
  
  // Write attributes
  setNodeAttribute(xmlDoc, link, "text", linkText);

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;

  renderLinks(xmlContainerId, htmlContainerId);

}

function editLinkInternal(xmlContainerId, htmlContainerId, linkGroupId, linkId, linkInternal) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);

  // Get link
  var linkGroup = getLinkGroup(xmlDoc, linkGroupId);
  var link      = getNodeById(linkGroup, linkId);

  if(!link) {
    return;
  }

  // Write attributes
  setNodeAttribute(xmlDoc, link, "internal", (linkInternal ? "true" : "false"));

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;

}

function moveLink(xmlContainerId, htmlContainerId, linkGroupId, linkId, push) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);

  // Get link
  var linkGroup = getLinkGroup(xmlDoc, linkGroupId);
  var link      = getNodeById(linkGroup, linkId);
  var linkRef;
  
  if(push) {

    linkRef = link.nextSibling;
  
    if(!linkRef) {
      return;
    }    

    linkRef = linkRef.nextSibling;

  } else {
  
    linkRef = link.previousSibling;

    if(!linkRef) {
      return;
    }    
  
  }

  linkGroup.removeChild(link);
  linkGroup.insertBefore(link, linkRef);

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;
  
  renderLinks(xmlContainerId, htmlContainerId);

}

function removeLink(xmlContainerId, htmlContainerId, linkGroupId, linkId) {

  var xmlContainer = document.getElementById(xmlContainerId);
  var xmlDoc       = getXmlDocument(xmlContainerId);
  
  // Get link
  var linkGroup = getLinkGroup(xmlDoc, linkGroupId);
  var link      = getNodeById(linkGroup, linkId);

  if(!link) {
    return;
  }

  // Remove from parent
  link.parentNode.removeChild(link);

  // Store in xmlContainer
  xmlContainer.value = xmlDoc.xml;

  renderLinks(xmlContainerId, htmlContainerId);

}

/*
 * Render
 */

function inheritLinks(xmlContainerId, htmlContainerId, xmlSpareContainerId) {

  var xmlContainer      = document.getElementById(xmlContainerId);
  var xmlSpareContainer = document.getElementById(xmlSpareContainerId);

  if(xmlSpareContainer.value == "") {
    return;
  } else if(!confirm("Dette vil overskrive den eksisterende menu.\nEr du sikker?")) {
    return;
  }

  alert(xmlSpareContainer.value);

  // Store in xmlContainer
  xmlContainer.value = xmlSpareContainer.value;

  renderLinks(xmlContainerId, htmlContainerId);

}

function renderLinks(xmlContainerId, htmlContainerId) {
  
  var htmlContainer = document.getElementById(htmlContainerId);
  var xmlDoc        = getXmlDocument(xmlContainerId);
  
  //var container = document.getElementById(xmlContainerId);
  //alert(container.value);

  // Get settings
  var allowLinkGroups = xmlDoc.selectSingleNode("/links/settings/allowlinkgroups");
  var allowLinks      = xmlDoc.selectSingleNode("/links/settings/allowlinks");
  var allowResources  = xmlDoc.selectSingleNode("/links/settings/allowresources");
  var allowReferences = xmlDoc.selectSingleNode("/links/settings/allowreferences");

  allowLinkGroups = allowLinkGroups.attributes.getNamedItem("value").value;
  allowLinks      = allowLinks.attributes.getNamedItem("value").value;
  allowResources  = allowResources.attributes.getNamedItem("value").value;
  allowReferences = allowReferences.attributes.getNamedItem("value").value;

  // Get link groups
  var linkGroupRoot = xmlDoc.selectSingleNode("/links/linkgroups");
  var linkGroups    = linkGroupRoot.childNodes;

  // Prepare content string
  var innerHtml = "";
  
  if(allowLinkGroups == "true") {
    innerHtml += "<input type=\"button\" style=\"width:100%;\" onclick=\"javascript:addLinkGroupDialog('" + xmlContainerId + "', '" + htmlContainerId + "');\" value=\"Tilf&oslash;j gruppe\" /><br />";
  }

  for(var i = 0; i < linkGroups.length; i++) {
  
    var linkGroup     = linkGroups(i);
    var linkGroupId   = linkGroup.attributes.getNamedItem("id").value;
    var linkGroupName = linkGroup.attributes.getNamedItem("name").value;
    var links         = linkGroup.childNodes;

    if(linkGroupName != "") {
      innerHtml += "<div class=\"heading2\">" + linkGroupName + "</div>";
    }

    innerHtml += "<div>";
    
    if(allowLinkGroups == "true") {
      innerHtml += "<input type=\"button\" style=\"width:25%;\" onclick=\"javascript:editLinkGroupDialog('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ");\" value=\"Ret\" />";
      innerHtml += "<input type=\"button\" style=\"width:25%;\" onclick=\"javascript:removeLinkGroup('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ");\" value=\"Slet\" />";
      innerHtml += "<input type=\"button\" style=\"width:25%;\" onclick=\"javascript:moveLinkGroup('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", false);\" value=\"&uarr;\" />";
      innerHtml += "<input type=\"button\" style=\"width:24.5%;\" onclick=\"javascript:moveLinkGroup('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", true);\" value=\"&darr;\" /><br />";
    }
    if(allowReferences == "true") {
      innerHtml += "<input type=\"button\" style=\"width:99%;\" onclick=\"javascript:addLinkDialog('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", 'reference');\" value=\"Tilf&oslash;j reference\" /><br />";
    }
    if(allowLinks == "true") {
      innerHtml += "<input type=\"button\" style=\"width:99%;\" onclick=\"javascript:addLinkDialog('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ");\" value=\"Opret nyt link\" /><br />";
    }
    if(allowResources == "true") {
      innerHtml += "<input type=\"button\" style=\"width:99%;\" onclick=\"javascript:addLinkDialog('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", 'resource');\" value=\"Vedh&aelig;ft fil\" /><br />";
    }
  
    for(var j = 0; j < links.length; j++) {
    
      var link         = links(j);
      var linkId       = link.attributes.getNamedItem("id").value;
      var linkText     = link.attributes.getNamedItem("text").value;
      var linkHref     = link.attributes.getNamedItem("href").value;
      var linkAlt      = link.attributes.getNamedItem("alt").value;
      var linkType     = link.attributes.getNamedItem("type").value;
      var linkInternal = link.attributes.getNamedItem("internal").value;
      var linkBroken   = link.attributes.getNamedItem("broken") != null;
      if(link.attributes.getNamedItem("linkcontext"))
        { 
          var linkContext  = link.attributes.getNamedItem("linkcontext").value; //henter context
          if(linkContext=='true')
            linkContext="checked";
          
        }
       else
            linkContext="notChecked";


    
      /*
      if(j > 0) {
        innerHtml += "<hr />"
      }
      */

      if(linkText == "") {
        if(linkAlt == "") {
          linkText = linkHref;
        } else {
          linkText = linkAlt;
        }
     } 

      innerHtml += "<a href=\"" + linkHref + "\"" + (linkBroken ? " style=\"color:red;\"" : "") + ">" + linkText  + "</a><br />";
      
      if(linkType != "reference" && linkType != "resource") {
        innerHtml += "<input id=\"" + htmlContainerId + "_" + linkGroupId + "_" + linkId + "\" type=\"checkbox\" onchange=\"javascript:editLinkInternal('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ", this.checked);\"" + (linkInternal == "true" ? " checked" : "") + " /><label for=\"" + htmlContainerId + "_" + linkGroupId + "_" + linkId + "\">Intranet-link.</label><br />";
      }
      
      innerHtml += "<input type=\"button\" style=\"width:20%;\" onClick=\"javascript:editLinkDialog('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ");\" value=\"Ret\" />";
      innerHtml += "<input type=\"button\" style=\"width:20%;\" onClick=\"javascript:removeLink('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ");\" value=\"Slet\"¨/>";
      innerHtml += "<input type=\"button\" style=\"width:20%;\" style=\"height:18px;\" onClick=\"javascript:moveLink('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ", false);\" value=\"&uarr;\" />";
      innerHtml += "<input type=\"button\" style=\"width:19.5%;\" style=\"height:18px;\" onClick=\"javascript:moveLink('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ", true);\" value=\"&darr;\" />"
     // if(allowResources == "false") {
      if(linkType == "reference") {
      innerHtml += "<input type=\"CheckBox\" value=\"context\" style=\"width:10%;\" onClick =\"javascript:setContext('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ", '" + linkContext +"');\"" +linkContext + " style=\"height:18px;\" style=\"background-color:d4d0c8;\"/>"; 
        }
      //innerHtml += "<input type=\"CheckBox\" value=\"context\" style=\"width:10%;\" onClick =\"javascript:setContext('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ", '" + linkContext +"');\"" +linkContext + " style=\"height:18px;\" style=\"background-color:d4d0c8;\"/>"; 
      //innerHtml += "<span style=\"font-size:13px;\" style=\"Border : #a7a7a7 1px solid\" style=\"background-color:d4d0c8;\">Context</span><br />";
     // }
         /*
      innerHtml += "<input type=\"button\" style=\"width:25%;\" onClick=\"javascript:editLinkDialog('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ");\" value=\"Ret\" />";
      innerHtml += "<input type=\"button\" style=\"width:25%;\" onClick=\"javascript:removeLink('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ");\" value=\"Slet\"¨/>";
      innerHtml += "<input type=\"button\" style=\"width:25%;\" onClick=\"javascript:moveLink('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ", false);\" value=\"&uarr;\" />";
      innerHtml += "<input type=\"button\" style=\"width:24.5%;\" onClick=\"javascript:moveLink('" + xmlContainerId + "', '" + htmlContainerId + "', " + linkGroupId + ", " + linkId + ", true);\" value=\"&darr;\" /><br />";
      */
      }

       innerHtml += "</div>";
  }
  
  htmlContainer.innerHTML = innerHtml;
 
  // Defined in pageLoad.js
  //recalcHeight();

}

/*
 * Define new WBC_setThinEditIEAttachment function
 * Will be used instead of the CMS predefined one
 */


function WBC_setThinEditIEAttachment(strPhName, strURL, strDispText) {

  if(strDispText == "") {
    strDispText = strURL;
  }

  if(typeof(document.all["NCPHRICH_" + strPhName]) != "undefined") {
    document.all["NCPHRICH_" + strPhName].insertHtml("<a href=\"" + strURL + "\">" + strDispText + "</a>");
  }
  else {

    //alert("name = " + strPhName + "\n-----\nurl = " + strURL + "\n-----\ndisptext = " + strDispText);
    
    var args = strPhName.split("@@");

    if(args.length < 4 || args[0] != "phLinks") {
      return;
    }

    var xmlContainerId  = args[1];
    var htmlContainerId = args[2];
    var linkGroupId     = args[3];

    // Add new resource link
    addLink(xmlContainerId, htmlContainerId, linkGroupId, strDispText, strURL, "", "resource");

  }

}

/*
 * Define new WBC_setAttachmentProp function
 * Will be used instead of the CMS predefined one
 */

function WBC_setAttachmentProp(strPhName, strDispText) {
	
	if(strDispText == null) {
		strDispText = "";
	}
	
  if(typeof(document.all["NCPHRICH_" + strPhName]) != "undefined") {
  	__CMS_PostbackForm["NCPHDispText_" + strPhName].value = strDispText;
  } else {
  
    var args = strPhName.split("@@");

    if(args.length < 5 || args[0] != "phLinks") {
      return;
    }
  
    var xmlContainerId  = args[1];
    var htmlContainerId = args[2];
    var linkGroupId     = args[3];
    var linkId          = args[4];

    // Edit existing resource link
    editLinkText(xmlContainerId, htmlContainerId, linkGroupId, linkId, strDispText);

  }

}

/*
 * Define new WBC_getDispText function
 * Will be used instead of the CMS predefined one
 */

function WBC_getDispText(strPhName) {

  if(typeof(document.all["NCPHRICH_" + strPhName]) != "undefined") {
  	return __CMS_PostbackForm["NCPHDispText_" + strPhName].value;
	} else {
  
    var args = strPhName.split("@@");

    if(args.length < 6 || args[0] != "phLinks") {
      return;
    }

    return args[5];
  
  }

}

