﻿
function MaxTextAreaEnforcer(field, maxlimit)
{
    if( field.value.length > maxlimit )
    {
        field.value = field.value.substring(0, maxlimit);
    }
}


function getTagsArray(tag)
{  
    if (document.getElementsByTagName)
    {        
        return document.getElementsByTagName(tag);
    }
    else
    {        
        return document.all.tags(tag);
    }
    
}    

function GetElementIDByRegEx( searchString, tag )
{
  var elementID = "";
  var searchExp = new RegExp( searchString + '$' );

  var all = new Array();
  all=getTagsArray(tag);

  for(var i=0; i< all.length; i++)
  {
    if(searchExp.test(all[i].id))
    {
      elementID =  all[i].id;
      break;
    }
  }
  
  return elementID; 
} 



function GetElementByIdRegEx( searchString, tag )
{
  var elementID = "invalid";
  var searchExp = new RegExp( searchString + '$' );

  var all = new Array();
  all=getTagsArray(tag);

  for(var i=0; i< all.length; i++)
  {
    if(searchExp.test(all[i].id))
    {
      elementID =  all[i].id;
      break;
    }
  }
  
  if( elementID == "invalid" )
  {
    return null;
  }
  else
  {
    if( document.layers ) // NN4+
    {
        return document.layers[elementID];
    }
    else if( document.getElementById) //gecko (NN6) + IE 5+
    {
        return document.getElementById(elementID);
    }
    else if( document.all ) // IE4
    {
        return document.all[elementID];       
    }          
  }  
} 



function ToggleVisibility( objCheckbox, targetID, targetTag, sourceID, sourceTag )
{
    var objTarget = GetElementByIdRegEx(targetID, targetTag);
    var objSource = GetElementByIdRegEx(sourceID, sourceTag);
    
    if( objTarget != null && objSource != null )
    {
        objTarget.style.display = ( objCheckbox.checked ) ? "none" : "block";
        objSource.style.display = ( objCheckbox.checked ) ? "block" : "none";
    }
}


function SelectAll( objCheckbox, checkBoxBaseID )
{
  var searchExp = new RegExp( checkBoxBaseID + '$' );
  var element = null;

  var all = new Array();
  all=getTagsArray("input");

  for(var i=0; i< all.length; i++)
  {
    if(searchExp.test(all[i].id))
    {
        elementID =  all[i].id;

        if( document.layers ) // NN4+
        {
            element =  document.layers[elementID];
        }
        else if( document.getElementById) //gecko (NN6) + IE 5+
        {
            element = document.getElementById(elementID);
        }
        else if( document.all ) // IE4
        {
            element = document.all[elementID];       
        } 

        element.checked = objCheckbox.checked;
    }
  }   
}





function 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 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 DeleteConfirmation(deleteConfirmationMessage)
{
    var agree=confirm(deleteConfirmationMessage);
    
    if(agree)
        return true;
    else
        return false;
}


function ClickConfirmation(confirmationMessage, alwayFalse)
{
    var agree=confirm(confirmationMessage);
    
    if(agree && alwayFalse == 'false')
        return true;
    else
        return false;
}

function ResizeIframe(obj, padding)
{ 
    docHeight = iframeStore.document.body.scrollHeight
    obj.style.height = docHeight + padding + 'px'
} 


function ChangeParentLocationURL(url)
{
    document.location=url;
}


  
function OnlyAllowInteger(evt) 
{
    evt = (evt) ? evt : window.event
    var charCode = (evt.which) ? evt.which : evt.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57)) 
    {
        alert('Only Numeric Values Allowed');
        return false
    }
    return true

}


function HandleOnClick(linkURL) {
    window.location = linkURL;
}