// JavaScript Document

var DOM_IE = "InternetExplorer";
var DOM_FF = "FireFox";
var DOM_OP = "Opera";
var DOM_SO = "StarOffice";
var DOM_WT = "WebTV";
var DOM_BN = "Beonex";
var DOM_CM = "Chimera";
var DOM_NP = "NetPositive";
var DOM_PH = "Phoenix";
var DOM_SF = "Safari";
var DOM_SS = "SkipStone";
var DOM_NS = "Netscape";
var DOM_MZ = "Mozilla";
var DOM_CR = "Chrome";


var DOM_ZeroClipboard = null;
var DOM_Browser = DOM_IE;

function DOM_Initialize()
{
   var agt = navigator.userAgent.toLowerCase();

   if(agt.indexOf("opera") != -1)
      DOM_Browser = DOM_OP;
   if (agt.indexOf("staroffice") != -1) 
      DOM_Browser = DOM_SO; 
   if (agt.indexOf("webtv") != -1) 
      DOM_Browser = DOM_WT; 
   if (agt.indexOf("beonex") != -1)
      DOM_Browser = DOM_BN; 
   if (agt.indexOf("chimera") != -1)
      DOM_Browser = DOM_CM; 
   if (agt.indexOf("netpositive") != -1)
      DOM_Browser = DOM_NP; 
   if (agt.indexOf("phoenix") != -1)
      DOM_Browser = DOM_PH; 
   if (agt.indexOf("firefox") != -1)
      DOM_Browser = DOM_FF; 
   if (agt.indexOf("safari") != -1)
      DOM_Browser = DOM_SF; 
   if (agt.indexOf("skipstone") != -1)
      DOM_Browser = DOM_SS; 
   if (agt.indexOf("netscape") != -1)
      DOM_Browser = DOM_NS; 
   if (agt.indexOf("mozilla/5.0") != -1)
      DOM_Browser = DOM_MZ; 
   if (agt.indexOf("msie") != -1)
      DOM_Browser = DOM_IE;
   if (agt.indexOf("chrome") != -1)
      DOM_Browser = DOM_CR;              
}

function DOM_InitClipboard(zeroclippath, elem)
{
   var obj = document.getElementById(elem);
   if(obj)
   {
       document.body.onload = document.body.onreadystatechange = function()  
       {      
           ZeroClipboard.setMoviePath(zeroclippath + 'ZeroClipboard.swf');
                    
           DOM_ZeroClipboard = new ZeroClipboard.Client(document.getElementById(elem)); 
           DOM_ZeroClipboard.setText(""); 
           DOM_ZeroClipboard.addEventListener('mouseDown', null);      
       } 
   }
}

function DOM_SetTextForClipboard(text)
{
   if(DOM_ZeroClipboard)
      DOM_ZeroClipboard.setText(text);   
}

function DOM(browser)
{
   if(DOM_Browser == browser)
      return true;
   return false;
}

function DOM_CancelEvent(e)
{
  e = e ? e : window.event;
  if(e.stopPropagation)
    e.stopPropagation();
  if(e.preventDefault)
    e.preventDefault();
  e.cancelBubble = true;
  e.cancel = true;
  e.returnValue = false;
  return false;
}

function DOM_PosTop(obj)
{
   if(DOM_Browser == DOM_IE)
      return obj.style.posTop;
   else 
      return parseInt(obj.style.top);
}

function DOM_PosLeft(obj)
{
   if(DOM_Browser == DOM_IE)
      return obj.style.posLeft; 
   else 
      return parseInt(obj.style.left);
}

function DOM_SetPosTop(obj, pos)
{
   if(DOM_Browser == DOM_IE)
      obj.style.posTop = pos;
   else 
      obj.style.top = pos;
}

function DOM_SetPosLeft(obj, pos)
{
   if(DOM_Browser == DOM_IE)
      obj.style.posLeft = pos;
   else 
      obj.style.left = pos; 
}

function DOM_SetHeight(obj, h)
{
   if(DOM_Browser == DOM_IE)
      obj.style.height = h;
   else 
      obj.style.height = h + "px";
}

function DOM_FindPosX(obj)
{
  var curleft = 0;
  if(obj.offsetParent)
     while(1) 
     {
        curleft += obj.offsetLeft;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
     }
  else if(obj.x)
         curleft += obj.x;
  return curleft;
}

function DOM_FindPosY(obj)
{
  var curtop = 0;
  if(obj.offsetParent)
     while(1)
     {
        curtop += obj.offsetTop;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
     }
  else if(obj.y)
         curtop += obj.y;
  return curtop;
}

function DOM_ChangeHeight(iframe)
{
   try
   {
     var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;
     var objToResize = (iframe.style) ? iframe.style : iframe;
     objToResize.height = innerDoc.body.scrollHeight + 10;
   }
   catch(err)
   {
      alert(err.message);
   }  
}


function DOM_CaptureMouseEvents(obj, event)
{
  obj.onmousemove = event;
}

function DOM_MouseX(e) 
{
  if(DOM_Browser == DOM_IE)
     return event.clientX + document.body.scrollLeft;
  else 
     return e.pageX;
}
  
function DOM_MouseY(e) 
{
  if(DOM_Browser == DOM_IE)
     return event.clientY + document.body.scrollTop;
  else 
     return e.pageY;
}

function DOM_CopyToClipboard(text)
{
    if (window.clipboardData) // IE
    {   
        window.clipboardData.setData("Text", text);
    }     
    else   
    {          
        unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
        clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
        clipboardHelper.copyString(text);    
     }
}

function DOM_ShowElement(element)
{
   if(typeof(element) == 'string')
      element = document.getElementById(element);
   element.style.visibility = "visible";        
}

function DOM_HideElement(element)
{
   if(typeof(element) == 'string')
      element = document.getElementById(element);
   element.style.visibility = "hidden";    
}

function DOM_IsElementVisible(element)
{
   if(typeof(element) == 'string')
      element = document.getElementById(element);
   if(element.style.visibility == "hidden")
       return false;
   return true;    
}

