var multiEntryMap = $H();
var multiChoiceMap = $H();

function removeRow(unitID, rowID){
    var lastIndex = multiEntryMap[unitID + 'LastIndex'];
    var lastID = unitID + '[' + lastIndex + ']'; 
    var row = document.getElementById(rowID);
    var ds = document.getElementById(unitID + 'DataSize');
    var size = parseInt(ds.getAttribute('value'));  

    if(size > 1){
       var pRow = row.previousSibling;
       if(pRow != null && pRow.id == null){
         pRow = pRow.previousSibling;
       } 
       if(pRow == null){
         var nextRow = row.nextSibling;
         if(nextRow != null && nextRow.id == null){
           nextRow = nextRow.nextSibling;
         } 
         var nextHeader = document.getElementById(nextRow.id + 'Header');
         if(navigator.product == "Gecko"){
           nextHeader.style.display='table-row';
         }else{
           nextHeader.style.display='inline';
         }
       }
       row.parentNode.removeChild(row);
       size--;
       ds.setAttribute('value', size); 
       if(lastID == rowID){
         lastIndex--;
         lastID = unitID + '[' + lastIndex + ']'; 
         while(document.getElementById(lastID) == null){
           lastIndex--;
           lastID = unitID + '[' + lastIndex + ']'; 
         }
       } 
    } else if(size == 1){
      //clears inputs only for the first row
      var inputs = document.getElementsByTagName('input'); 
      if(inputs != null){
        for(var i=0; i < inputs.length; i++){
           var input = inputs.item(i);
           var name = input.getAttribute('name');
           if(name.indexOf(rowID) > -1){
             input.setAttribute('value','');
           }
        } 
      }  
    } 
    multiEntryMap[unitID + 'LastIndex'] = lastIndex;
}


function addRow(unitID){
    var lastIndex = multiEntryMap[unitID + 'LastIndex'];
    var lastRowId =  unitID + '[' + lastIndex + ']';
    var lastRow = document.getElementById(lastRowId);
    if (!lastRow) {
	  	lastIndex = 0;
	  	lastRowId =  unitID + '[0]';
	  	lastRow = document.getElementById(lastRowId);
	}
	var mainDiv = document.getElementById(unitID);
	var newRowId = unitID + '[' + ++lastIndex + ']';
	var temp = lastRow.innerHTML;
	while(temp.indexOf(lastRowId) > 0){
	   temp = temp.replace(lastRowId, newRowId);
	}
	var newDiv = document.createElement('div');
	newDiv.setAttribute('id',newRowId);
	newDiv.innerHTML = temp;
	mainDiv.appendChild(newDiv);
	var ds =  document.getElementById(unitID + 'DataSize');
	var size = parseInt(ds.getAttribute('value')) + 1;
	ds.setAttribute('value',size);
	if(size >= 2){
	    var header = document.getElementById(newRowId + 'Header');
	    if (header) {
	     	header.style.display='none';
	    }
	}
	
	var inputs = document.getElementsByTagName('input'); 
	if(inputs != null){
	    for(var i=0; i < inputs.length; i++){
	       var input = inputs.item(i);
	       var name = input.getAttribute('name');
	       var type = input.getAttribute('type');
	       if(name.indexOf(newRowId) > -1 && type != "radio"){
	           input.setAttribute('value','');
	       }
	    }
	}
    multiEntryMap[unitID + 'LastIndex'] = lastIndex;
}


function checkall(unit, index) {
	var key = multiChoiceMap[unit + index]
	var fields = document.getElementsByName(unit + 'Checked');
	for(var i=0; i < fields.length; i++){
		if (key == "all" && fields[i].id.substring(0,fields[i].id.indexOf('_')) == index ) {
			fields[i].checked = true;
		} else if (key == "none" && fields[i].id.substring(0,fields[i].id.indexOf('_')) == index ) {
			fields[i].checked = false;
		}
	}
	if(key == "all"){
        key = "none";
        $(unit + index + "image").className='unSelectAll'
    } else {
        key = "all";
        $(unit + index + "image").className='selectAll'
    }		
    multiChoiceMap[unit + index] = key		
     
    return false							
}

  function showHelp(id, message) {
    var help = document.getElementById(id);
    var helpShowHide = document.getElementById(id + 'ShowHide');
    var shownText = help.getAttribute("shownText");
    if (shownText == null || shownText == "") {
      help.setAttribute("shownText", help.innerHTML);
      help.innerHTML = "";
      saveToCookie("portal.help", id, '0');   
      //help.style.height="20px";
      helpShowHide.innerHTML = '<img src="icons/open.gif"><img src="icons/help.png"><img src="Resources/spacer.gif" width="5"/><b>' + message + '</b>';
    } else {
      help.innerHTML = help.getAttribute("shownText");
      help.setAttribute("shownText","");
      eraseFromCookie("portal.help", id);
      //help.style.height="";
      helpShowHide.innerHTML = '<img src="icons/close.gif"><img src="icons/help.png">';
    }
  }
  
  function restoreHelp(id, message) {
  var help = document.getElementById(id);
    var helpShowHide = document.getElementById(id + 'ShowHide');
    
    var shownText = help.getAttribute("shownText");
    if (readFromCookie("portal.help", id, '1') != '1') {
      help.setAttribute("shownText", help.innerHTML);
      help.innerHTML = "";
      saveToCookie("portal.help", id, '0');   
      //help.style.height="20px";
      helpShowHide.innerHTML = '<img src="icons/open.gif"><img src="icons/help.png"><img src="Resources/spacer.gif" width="5"/><b>' + message+ '</b>';
    } else {
      //help.innerHTML = help.getAttribute("shownText");
      //help.setAttribute("shownText","");
      eraseFromCookie("portal.help", id);
      //help.style.height="";
      //helpShowHide.innerHTML = '<img src="icons/close.gif"><img src="icons/help.png">';
    }

}
   function saveToCookie(cookieName, name, value)
{
    var cookieValue = getCookieValue(cookieName);
    cookieValue = addOrAppendToValue(name, value, cookieValue);

    saveCookie(cookieName, cookieValue, 365);
}

function readFromCookie(cookieName, name, defaultValue)
{
    var cookieValue = getCookieValue(cookieName);
    var value = getValueFrom(name, cookieValue);

    if(value != null)
    {
        return value;
    }

    return defaultValue;
}

function eraseFromCookie(cookieName, name)
{
    saveToCookie(cookieName, name,"");
}

function getValueFrom(name, cookieValue)
{
    var newCookieValue = null;
    // a null cookieValue is just the first time through so create it
    if(cookieValue == null)
    {
        cookieValue = "";
    }
    var eq = name + "=";
    var cookieParts = cookieValue.split('|');
    for(var i = 0; i < cookieParts.length; i++) {
        var cp = cookieParts[i];
        while (cp.charAt(0)==' ') {
            cp = cp.substring(1,cp.length);
        }
        // rebuild the value string exluding the named portion passed in
        if (cp.indexOf(name) == 0) {
            return cp.substring(eq.length, cp.length);
        }
    }
    return null;
}

//either append or replace the value in the cookie string
function addOrAppendToValue(name, value, cookieValue)
{
    var newCookieValue = "";
    // a null cookieValue is just the first time through so create it
    if(cookieValue == null)
    {
        cookieValue = "";
    }

    var cookieParts = cookieValue.split('|');
    for(var i = 0; i < cookieParts.length; i++) {
        var cp = cookieParts[i];

        // ignore any empty tokens
        if(cp != "")
        {
            while (cp.charAt(0)==' ') {
                cp = cp.substring(1,cp.length);
            }
            // rebuild the value string exluding the named portion passed in
            if (cp.indexOf(name) != 0) {
                newCookieValue += cp + "|";
            }
        }
    }

    // always append the value passed in if it is not null or empty
    if(value != null && value != '')
    {
        var pair = name + "=" + value;
        if((newCookieValue.length + pair.length) < 4020)
        {
            newCookieValue += pair;
        }
    }
    return newCookieValue;
}

function getCookieValue(name)
{
    var eq = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i<ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') {
            c = c.substring(1,c.length);
        }
        if (c.indexOf(eq) == 0) {
            return c.substring(eq.length,c.length);
        }
    }

    return null;
}

function saveCookie(name,value,days)
{
  var ex;
  if (days) {
    var d = new Date();
    d.setTime(d.getTime()+(days*24*60*60*1000));
    ex = "; expires="+d.toGMTString();
  }
  else {
    ex = "";
  }
  document.cookie = name + "=" + value + ex;
}

/*
Reads a cookie. If none exists, then it returns and 
*/
function readCookie(name, defaultValue)
{
  var cookieVal = getCookieValue(name);
  if(cookieVal != null)
  {
      return cookieVal;
  }

  // No cookie found, then save a new one as on!
  if (defaultValue)
  {
      saveCookie(name, defaultValue, 365);
      return defaultValue;
  }
  else
  {
      return null;
  }
}

function eraseCookie(name)
{
  saveCookie(name,"",-1);
}
function show(evt, elementId) {
  var elem = document.getElementById(elementId);
  evt = (evt) ? evt : ((window.event) ? window.event : "");
  if (elem) {
    if (elem.style.visibility=="visible") {
      elem.style.visibility="hidden";
    } else {
      elem.style.visibility="visible";
      elem.style.left = evt.clientX - 200;
      elem.style.top = evt.clientY;
    }
  }
}


  
  
  
  
  

<!-- contextual menu -->
function returnValue(o_item) {
  return false;
};
            
// position and display context menu
function showContextMenu(evt, tree_item) {
    // hide any existing menu just in case
    hideContextMenus();
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) {
        /*var elem = (evt.target) ? evt.target : evt.srcElement;
         if (elem.nodeType == 3) {
            elem = elem.parentNode;
        }*/
        var oid = tree_item.a_config[2].WRId;
        //if (elem.className == "contextEntry") {
            var menu = document.getElementById(cMenu[oid].menuID);
            // turn on IE mouse capture
            if (menu.setCapture) {
                menu.setCapture();
            }
            // position menu at mouse event location
            var left, top;
            if (evt.pageX) {
                left = evt.pageX;
                top = evt.pageY;
            } else if (evt.clientX) {
                left = evt.clientX;
                top = evt.clientY;
            } else if (evt.offsetX || evt.offsetY) {
                left = evt.offsetX;
                top = evt.offsetY;
            }

            menu.style.left = left + "px";
            menu.style.top = top + "px";
            menu.style.visibility = "visible";
            if (evt.preventDefault) {
                evt.preventDefault();
            }
            evt.returnValue = false;
        //}
    }
}

// retrieve URL from cMenu object related to chosen item
function getHref(tdElem) {
    var div = tdElem.parentNode.parentNode.parentNode.parentNode;
    var index = tdElem.parentNode.rowIndex;
    for (var i in cMenu) {
        if (cMenu[i].menuID == div.id) {
            return cMenu[i].hrefs[index];    
        }
    }
    return "";
}

// navigate to chosen menu item
function execMenu(evt) {
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) {
        var elem = (evt.target) ? evt.target : evt.srcElement;
        if (elem.nodeType == 3) {
            elem = elem.parentNode;
        }
        if (elem.className == "menuItemOn") {
            location.href = getHref(elem);
        }
        hideContextMenus();
    }
}

// hide all context menus
function hideContextMenus() {
    if (document.releaseCapture) {
        // turn off IE mouse event capture
        document.releaseCapture();
    }
    for (var i in cMenu) {
        var div = document.getElementById(cMenu[i].menuID)
        div.style.visibility = "hidden";
    }
}

// rollover highlights of context menu items
function toggleHighlight(evt) {
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) {
        var elem = (evt.target) ? evt.target : evt.srcElement;
        if (elem.nodeType == 3) {
            elem = elem.parentNode;
        }
        if (elem.className.indexOf("menuItem") != -1) {
            elem.className = (evt.type == "mouseover") ? "menuItemOn" : "menuItem";
        }
    }
}

// set tooltips for menu-capable and lesser browsers
function setContextTitles() {
    var cMenuReady = (document.body.addEventListener || typeof document.oncontextmenu != "undefined")
    var spans = document.body.getElementsByTagName("span");
    for (var i = 0; i < spans.length; i++) {
        if (spans[i].className == "contextEntry") {
            if (cMenuReady) {
                var menuAction = (navigator.userAgent.indexOf("Mac") != -1) ? "Click and hold " : "Right click ";
                spans[i].title = menuAction + "to view relevant links"
            } else {
                spans[i].title = "Relevant links available with other browsers (IE5+/Windows, Netscape 6+)."
                spans[i].style.cursor = "default";
            }
        }
    }
}

// bind events and initialize tooltips
function initContextMenus() {
    if (document.body.addEventListener) {
        // W3C DOM event model
        document.body.addEventListener("contextmenu", showContextMenu, true);
        document.body.addEventListener("click", hideContextMenus, true);
    } else {
        // IE event model
        document.body.oncontextmenu = showContextMenu;
    }
    // set intelligent tooltips
    setContextTitles();
}
<!-- end contextual menu -->



function confirm_deletion(dluLink){
      	if (confirm('Delete selected item ?')) { return true; };
	return false; 
}

function imageswap(name, imagesrc)  
{
   eval("document." + name + ".src = '" + imagesrc + "'");
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}


function gen(texts,links,t,tl)
{
  //var texts = new Array("","","")
  //var links = new Array("","","")
  //var t
  //var tl
  var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
  
  var map = InternetExplorer ? menu : document.embeds("menu");
	for (i=0;i<=t;i++)
	{
  	map.SetVariable('m' + (i+1), texts[i]);
  	map.SetVariable('l' + (i+1), links[i]);
	}
	map.SetVariable('nt', t);
	map.SetVariable('title', tl);
  
  	
}
  
function gens(texts,links,t,tl)
{
  //var texts = new Array("","","")
  //var links = new Array("","","")
  //var t
  //var tl
  var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
  
  var map = InternetExplorer ? menu : document.embeds("menu");
	for (i=0;i<=t;i++)
	{
  	map.SetVariable('ms' + (i+1), texts[i]);
  	map.SetVariable('ls' + (i+1), links[i]);
	}
	map.SetVariable('nts', t);
	map.SetVariable('titles', tl);
  
	
}



