﻿function getDocumentHeight() {
    return document.body.clientHeight;
}

function textPlaceHolderToggler() {   
   // ALPHA PROPERTIES /////////////////
   elementsToToggle = new Array();
   nullElements = new Array();   
   // OMEGA PROPERTIES //////////////////
   
   // ALPHA EVENTS //////////////////////
   this.nullElementsFound = null;
   // OMEGA EVENTS //////////////////////

   // ALPHA METHODS /////////////////////////////////////////////////////////////////////////////////
   this.init = function(elementIds, elementPlaceHolders) {   
      nullElements = new Array();  
      for (var i=0; i<elementIds.length; i++) {
         var el = document.getElementById(elementIds[i]);
         if (el != null) {
            elementsToToggle.length++;            
            elementsToToggle[elementsToToggle.length-1] = {id: el.id, placeHolder: elementPlaceHolders[i]};            

            el.onfocus = function() {
               // get the placeholder value               
               var index = -1               
               for (var i=0; i<elementsToToggle.length; i++) {
                  if (elementsToToggle[i].id == this.id) {
                     index = i;                     
                     break;
                  }
            }
            if (index >= 0) {                                    
               if (this.value == elementsToToggle[index].placeHolder)
                  this.value = "";                     
               }
            }

            el.onblur = function() {
               // get the placeholder value               
               var index = -1               
               for (var i=0; i<elementsToToggle.length; i++) {
               if (elementsToToggle[i].id == this.id) {
                  index = i;                     
                  break;
               }
            }
            if (index >= 0) {                                    
               if (this.value.trim() == "")
                  this.value = elementsToToggle[index].placeHolder;
               }
            }
         } //if (el != null)
         else if (this.nullElementsFound != null) {
            // collect null element ids in case the user wants to be notifed
            nullElements.length++;
            nullElements[nullElements.length-1] = elementIds[i];         
         }
      } //for (var i=0; i<elementIds.length; i++)
      
      // fire 
      if (nullElements.length > 0 && this.nullElementsFound != null) {                  
         this.nullElementsFound(nullElements);
      }      
   };
   // OMEGA METHODS /////////////////////////////////////////////////////////////////////////////////
}


String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

