//-- ------------------------------------------------------------------------------------- 
//-- ------------------------------------------------------------------------------------- 

//-- get an object and access to style 
//-- use to expand on different items as needed
function getObject(name)
{
  if (document.getElementById)
  {
        this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

function ToggleShowObject( id, labelid ) 
{
  this.labelid = labelid ;
  this.hide = 'show' ;
  this.id = id ;
}
function ToggleHideObject( id, labelid ) 
{
  this.labelid = labelid ;
  this.hide = "hide" ;
  this.id = id ;
}
ToggleShowObject.prototype.toggle = ToggleHideObject_toggle ;
ToggleHideObject.prototype.toggle = ToggleHideObject_toggle ;
function ToggleHideObject_toggle( effect )
{
   if( this.hide == "hide" ) 
   {
      this.hide = "show" ;       
   }
   else
   {
      this.hide = "hide" ;         
   }
   document.getElementById(this.labelid).innerHTML = this.hide ;
   if( effect )
      new Effect.toggle( this.id, 'appear' ) ;  
   else
      toggleHideDisplayDiv(this.id) ;
}


function ChangeSizeObject( id, height, width ) 
{
  this.id = id ;
  this.height = height ;
  this.width = width ;
}
ChangeSizeObject.prototype.decreaseHeight = ChangeSizeObject_decreaseHeight ;
function ChangeSizeObject_decreaseHeight()
{
  var x = new getObject( this.id ) ;
  this.height = this.height - 20 ;
  if( this.height < 10 ) this.height = 20 ;
  x.style.height = this.height+"px;" ;
}
ChangeSizeObject.prototype.increaseHeight = ChangeSizeObject_increaseHeight ;
function ChangeSizeObject_increaseHeight()
{
  //alert( "increase ") ;
  var x = new getObject( this.id ) ;
  this.height = this.height + 20 ;
  x.style.height = this.height+"px;" ;
}
ChangeSizeObject.prototype.decreaseWidth = ChangeSizeObject_decreaseWidth ;
function ChangeSizeObject_decreaseWidth()
{
  var x = new getObject( this.id ) ;
  this.width = this.width - 20 ;
  if( this.width < 10 ) this.width = 20 ;
  x.style.width = this.width+"px;" ;
}
ChangeSizeObject.prototype.increaseWidth = ChangeSizeObject_increaseWidth ;
function ChangeSizeObject_increaseWidth()
{
  var x = new getObject( this.id ) ;
  this.width = this.width + 20 ;
  x.style.width = this.width+"px;" ;
}

//-- ------------------------------------------------------------------------------------- 
//-- ------------------------------------------------------------------------------------- 

//-- toggle visibility of a div layer
//-- pass in the id of the div you want to toggle visibility

function toggleDiv(szDivId)
{
    if(document.layers)      //NN4+
    {
       var szVisibility = document.layers[szDivId].visibility ;
       if( szVisibility == "show" || szVisibility == "" ) 
         document.layers[szDivId].visibility = "hide" ;
       else
         document.layers[szDivId].visibility = "show" ;
    }
    else if(document.getElementById)     // gecko(NN6) + IE 5+
    {
       var obj = document.getElementById(szDivId);
       var szVisibility = obj.style.visibility ;
       if( szVisibility == "visible" || szVisibility == "" )  
       {
         obj.style.visibility = "hidden" ;
       }
       else
       {
         obj.style.visibility = "visible" ;
       }
    }
    else if(document.all)   // IE 4
    {
       var szVisibility = document.all[szDivId].style.visibility ;
       if( szVisibility == "visible" || szVisibility == "" ) 
         document.all[szDivId].style.visibility = "hidden" ;
       else
         document.all[szDivId].style.visibility = "visible" ;
    }
}

//-- do not display this div
function noDisplayDiv(szDivId)
{
   if (document.getElementById) { // DOM3 = IE5, NS6
      document.getElementById(szDivId).style.display = 'none';
   }
   else {
     if (document.layers) { // Netscape 4
        document.szDivId.display = 'none';
     }
     else { // IE 4
        document.all.szDivId.style.display = 'none';
     }
   }
} 

//-- do display this div
function yesDisplayDiv(szDivId)
{
   if (document.getElementById) { // DOM3 = IE5, NS6
      document.getElementById(szDivId).style.display = '';
   }
   else {
     if (document.layers) { // Netscape 4
        document.szDivId.display = '';
     }
     else { // IE 4
        document.all.szDivId.style.display = '';
     }
   }
} 

//-- do display this div
function toggleHideDisplayDiv(szDivId)
{
   if (document.getElementById) { // DOM3 = IE5, NS6
      if( document.getElementById(szDivId).style.display == 'none' )
        document.getElementById(szDivId).style.display = '';
      else
        document.getElementById(szDivId).style.display = 'none';
   }
   else {
     if (document.layers) { // Netscape 4
       if( document.szDivId.display == '' )
         document.szDivId.display = 'none';
       else
         document.szDivId.display = '';
     }
     else { // IE 4
       if( document.all.szDivId.style.display == '' )
         document.all.szDivId.style.display = 'none';
       else
         document.all.szDivId.style.display = '';
     }
   }
} 

//-- isVisible 
function isDivDisplayed(szDivId)
{
   //-- should test a bit?
   if (document.getElementById) { // DOM3 = IE5, NS6
      if( document.getElementById(szDivId).style.display == 'none' )
         return false ;
      else
         return true ;
   }
   else {
     if (document.layers) { // Netscape 4
       if( document.szDivId.display == '' )
         return true ;
       else
         return false ;
     }
     else { // IE 4
       if( document.all.szDivId.style.display == '' )
         return true ;
       else
         return false ;
     }
   }
} 

//-- ------------------------------------------------------------------------------------- 
//-- ------------------------------------------------------------------------------------- 

function printDiv(szDivID)
{
  var prtContent = document.getElementById(szDivID);
  var WinPrint = window.open('','','left=0,top=0,width=1,height=1,toolbar=0,scrollbars=0,status=0');
  WinPrint.document.open();
  WinPrint.document.write(prtContent.innerHTML);
  WinPrint.document.close();
  WinPrint.focus();
  WinPrint.print();
  WinPrint.close();
}

function printFrame(szFrameID)
{
   try
   {
      if (isInternetExplorer() == true)
      {
         eval("document."+szFrameID+".focus()");
         eval("document."+szFrameID+".print()");
      }
      else
      {
         window.frames[szFrameID].focus();
         window.frames[szFrameID].print();
      }
   }
   catch( error )
   {
       alert( "This page cannot be printed" ) ;
   }
}

//-- ------------------------------------------------------------------------------------- 
//-- ------------------------------------------------------------------------------------- 

//-- Parameters url=page to open, w=width, h=height
function popupWindow(url,w,h)
{
   window.open(url, "external", "width=" + w +",height=" + h + ",resizable=yes,scrollbars=yes,status=no,location=no,toolbar=no,menubar=no");
}

//-- Parameters url=page redirect to 
function redirectToUrl(url)
{
   location.href=url ;
}

//-- ------------------------------------------------------------------------------------- 
//-- ------------------------------------------------------------------------------------- 

function showFormValues( form )
{
   for (var i = 0; i < form.length; i++) 
   {
      if (form.elements[i].type == 'checkbox')
      {
         alert(form.elements[i].name+"="+form.elements[i].checked);
      }
      else 
      {
         alert(form.elements[i].name+"="+form.elements[i].value);
      }
   }
}

//-- disable all elements in an obj as a form
function enableForm( obj )
{
   objElems = obj.elements;
   var i ;
   for(i=0;i<objElems.length;i++) 
   { 
      if( objElems[i].type == "submit" || objElems[i].type == "select-one" || objElems[i].type == "button" ) 
        objElems[i].disabled = false; 
   }
 //for(i=0;i<objElems.length;i++) { objElems[i].disabled = false; }
   return true ;
}
function disableForm( obj )
{
  objElems = obj.elements;
  var i ;
  for(i=0;i<objElems.length;i++)
  {
     if( objElems[i].type == "submit" || objElems[i].type == "select-one" || objElems[i].type == "button" )
     {
        if( objElems[i].type == "select-one" )
        {
           //alert( "name="+objElems[i].name+" onchange="+objElems[i].onchange ) ;
           var str =  " "+eval(objElems[i].onchange) ;
           if( objElems[i].onchange == null )
           {
              continue ;
           }
           if( str.search('submit()') == -1 )
           {
              continue ;
           }
           //alert( "disabled name="+objElems[i].name+" onchange="+objElems[i].onchange ) ;
        }
        objElems[i].disabled = true;
     }
  }
  return true ;
} 
function disableForms( forms )
{
 //alert( "disabling forms" ) ;
   var i ;
   for(i=0;i<forms.length;i++) { disableForm( forms[i] ) ; }
 //for(i=0;i<forms.length;i++) { alert( "disable FORM=" + forms[i].name ) ; disableForm( forms[i] ) ; }
   return true ;
}
function enableForms( forms )
{
 //alert( "enabling forms" ) ;
   var i ;
   for(i=0;i<forms.length;i++) { enableForm( forms[i] ) ; }
   //for(i=0;i<forms.length;i++) { alert( "enable FORM=" + forms[i].name ) ; enableForm( forms[i] ) ; }
   return true ;
}

//------------------------------------------------------------
//-- 
//------------------------------------------------------------

function isInternetExplorer()
{
   alert(navigator.appName.toUpperCase());
   return ( navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER') ;
} 

//------------------------------------------------------------
//-- get url parameters
//------------------------------------------------------------

function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

//------------------------------------------------------------
//-- get google analytics
//------------------------------------------------------------

function googleanalytics(key)
{
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write("\n<script src=\""+gaJsHost+"google-analytics.com/ga.js\" type=\"text/javascript\"></script>\n");
document.write("<script type=\"text/javascript\">\n" ) ;
document.write("var pageTracker = _gat._getTracker(\""+key+"\");\n" ) ;
document.write("pageTracker._initData();\n" ) ;
document.write("pageTracker._trackPageview();\n" ) ;
document.write("</script>\n" ) ;
}

//------------------------------------------------------------
//-- add javascript after page has loaded 
//------------------------------------------------------------
function addJavascript(jsname) 
{
var th = document.getElementsByTagName('head')[0];
var s = document.createElement('script');
s.setAttribute('type','text/javascript');
s.setAttribute('src',jsname);
th.appendChild(s);
}
