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;
}

/* Functions that swap images. */
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_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;
}

/* Functions that handle preload. */
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 popupWindow(winname, loc)  {
  var win=window.open(loc,winname,'toolbar=no,scrollbars=yes,resizable=yes,width=780,height=590');
  win.focus();
}

function popupHelp(p) {
  var feats='width=700,height=400,scrollbars=yes,resizable=yes,toolbar=no,location=no,directories=no,status=yes,menubar=no';
  window.open(p, '', feats);
}

// This sets a dropdown's bgcolor to red if it changes from the form's initial state.
// There's a "setColor()" defined in Sugar CRM, so I had to make this one unique...
function setColor2(e) {
    if (e.type=="select-one") {
        if (e.selectedIndex==0) {
            e.style.backgroundColor="#FFFFFF";
        } else {
            e.style.backgroundColor="#FFDDDD";
        }
    }
}

// For making a radio button click change an element's bgcolor (P, tr, td, span, div, whatever)
function swapColor(id, newcol) {
    var e=document.getElementById(id);
    e.style.backgroundColor=newcol;
}

// For making a checkbox's state change an element's bgcolor (P, tr, td, span, div...)
function toggleColor(box, id) {
    var newcol;
    if (box.checked) { newcol="#FFD0D0"; }
    else { newcol="#DDDDDD"; }
    var e=document.getElementById(id);
    e.style.backgroundColor=newcol;
}

// This is for all the "SELECT >>" dropdowns that perform some action. Some go to a URL,
// others open a popup window with the "popupWindow" function. This detects that difference
// and acts accordingly.
function doAction(e) {
    var tmp=e[e.selectedIndex].value;
    if (tmp.substr(0, 11)=="popupWindow") {
        eval(tmp);
    } else {
        document.location=tmp;
    }
    e.selectedIndex=0; // Resets the dropdown so it doesn't stay stuck on something.
    return true;
}

// Only works in IE; useless for ALL mozillae/firefoxen. Those poor sods have to hit ^D to save a bookmark!! THE HORROR!!!!
function AddBookmark() {
    if (window.external) {
        external.AddFavorite(location.href, document.title);
    } else {
        alert("Sorry, your browser doesn't support this feature." +
            "\nPlease use the bookmark feature of your browser to save the location of this page.");
    }
}
