function redirect(page)
{
    window.location.href = page
}

function open_window(page,params)
{
    window.open(page,"popup",params)
}

function reset_iframe(id,src) {
    var _frame = document.getElementById(id);
    _frame.src = src;
}  
   
 function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

/***/
/**MODAL MANAGEMENT**/

var CurrentModal;
var CurrentModalOnCloseDoPostBack = false;
var CurrentModalOnCloseTargetID = '';
var CurrentModalOnCloseArgument = '';
var CurrentModalOpeningParent = null;
var CurrentModalOnCloseCallbackFunction = '';
var CurrentModalOnCloseFunction = null;

 function OpenModal(behaviorID, url, width, height, OpenModalParams) {
    var m = $find(behaviorID);
     if( m ) {
     
        CurrentModal = m
        
        var scrolling = 'NO';
      
        if( OpenModalParams ) {
            CurrentModalOnCloseDoPostBack = OpenModalParams.OnClosePostBack;
            CurrentModalOnCloseTargetID = OpenModalParams.OnCloseTargetID;
            CurrentModalOnCloseArgument = OpenModalParams.OnCloseArgument;
            CurrentModalOpeningParent = OpenModalParams.Parent;
            CurrentModalOnCloseCallbackFunction = OpenModalParams.OnCloseCallbackFunction;
            CurrentModalOnCloseFunction = OpenModalParams.OnCloseFunction;
            if( OpenModalParams.ScrollFrame && OpenModalParams.ScrollFrame == true) {
                scrolling = 'auto';
            }
        }
          
        if( url != '' ) {        
            var mContent = $get(behaviorID + '_content')
            if( mContent ) {
                mContent.innerHTML = '<iframe src=\'' + url + '\' width=\'' + width + '\' height=\'' + height + '\' scrolling=\'' + scrolling + '\' frameborder=\'0\'/>';         
            }            
         }
         
        m.show()  
        return true;
    } else {
        return false;
    } 
    
}

function OpenModalParams() {
    var OnClosePostBack = false;
    var OnCloseTargetID = '';
    var OnCloseArgument = '';
    var OnCloseCallbackFunction = '';
    var OnCloseFunction = null;
    var Parent = null;     
    var ScrollFrame = false;
}

function HideModal(HideModalParams) {

    var m = CurrentModal;
    
    if( m ) {
  
         var mContent = $get(m._id + '_content')
         if( mContent ) {
            mContent.innerHTML = '';       
          }
          
          m.hide();
          
          // refactor block to remove replication
          var _EventArgs = '';
            if( HideModalParams ) {
                _EventArgs = HideModalParams.EventArgs;
                
                if( _EventArgs = 'undefined' ) {
                    _EventArgs = '';
                }
                
                if( HideModalParams.CancelOnCloseDoPostBack ) {
                    CurrentModalOnCloseDoPostBack = false;
                }
            } else if ( CurrentModalOnCloseArgument ) { 
                 _EventArgs = CurrentModalOnCloseArgument;
                 
                 if( _EventArgs = 'undefined' ) {
                    _EventArgs = '';
                }
                
                 if( HideModalParams.CancelOnCloseDoPostBack ) {
                    CurrentModalOnCloseDoPostBack = false;
                }
            } 
          
          if( CurrentModalOnCloseDoPostBack ) {
            if( CurrentModalOpeningParent ) {
                CurrentModalOpeningParent.UpdatePage(CurrentModalOnCloseTargetID, _EventArgs);
            } else {
                UpdatePage(CurrentModalOnCloseTargetID, _EventArgs);
            }
          } else if( CurrentModalOnCloseCallbackFunction ) {
          
            var _tmp = CurrentModalOnCloseCallbackFunction;
            _tmp  = _tmp + '({ \'EventTargetID\':\'' + CurrentModalOnCloseTargetID + '\', \'EventArgs\':\'' + _EventArgs + '\' })'
            
            if( CurrentModalOpeningParent ) {
                CurrentModalOpeningParent.eval(_tmp);
            } else {
                eval(_tmp);
            }
          } else if ( CurrentModalOnCloseFunction ) {
                CurrentModalOnCloseFunction()
          }
          
          CurrentModal = null;
          CurrentModalOnCloseDoPostBack = false;
          CurrentModalOnCloseTargetID = '';
          CurrentModalOpeningParent = null;
          CurrentModalOnCloseCallbackFunction = '';
          CurrentModalOnCloseFunction = '';
    }  
}

function HideModalParams() {
    var EventArgs;
    var CancelOnCloseDoPostBack = false;
}

function ModalOnCloseCallbackParams() {
    var EventTargetID = '';
    var EventArgs = '';
}

function UpdatePage(target, args) {
    setTimeout('__doPostBack(\'' + target + '\', \'' + args + '\')',100)
}

function DefaultButtonFunctionCallback(e, functionCall)
{ 
     if (document.all) { 
       if (e.keyCode == 13) { 
            stopBubbling(e) 
            setTimeout('eval(' + functionCall + ')',100);
        } 
     } else if (document.getElementById || document.layers) { 
       if (e.which == 13) {               
            stopBubbling(e) 
            setTimeout('eval(' + functionCall + ')',100);
        }
     }      
}

function DefaultButton(btnID, e) {
	default_button(btnID, e);
}

function default_button(btnID, e)
{ 
    var btn = document.getElementById(btnID); 
    
     if (document.all) { 
       if (e.keyCode == 13) { 
            stopBubbling(e) 
            btn.click();
        } 
     } else if (document.getElementById || document.layers) { 
       if (e.which == 13) {         
      
            if( btn && btn.click ) {                                
                stopBubbling(e) 
                btn.click();     
            } else if ( btn &&  btn.onclick ) {
               var temp = eval(btn.onclick);               
                if( temp ) { 
                    stopBubbling(e)  
                    temp(e);                   
                } 
            }   
        }
     }      
}

function stopBubbling(e) {

  if(!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 EmailSignup(tbxID) {
     var tbx = $get(tbxID);

        if( tbx ) {
        
            if( tbx.value == '' || tbx.value == 'Enter email address' ) {
                setTimeout('alert(\'Invalid Email Address\');', 100);
            } else {
                General.EmailSignup(tbx.value, '', EmailSignupSuccess, EmailSignupError);                
            }
         } else {
            setTimeout('alert(\'Invalid Email Address\');', 100);
         }                
         
        return false; 
        
}

function EmailSignupSuccess(result) {
    if( result.result == 1 ) {
        OpenModal('modal', 'I_thanks.aspx', '490px', '125px', 'no')
    } else {
        alert(result.message)
    }
}
    
    function EmailSignupError(result) {
        alert(result.message);
    }

function Search(tbxID) {
    var tbx = $get(tbxID);
    if( tbx.value == 'Enter keyword(s)' || tbx.value == '' ) {
        alert('Invalid Search Criteria');        
    } else {
        redirect('search.aspx?q=' + tbx.value);
    }
    return false;
}

function ChangePaginationPageSize(ddlID, baseURL) {
    var ddl = $get(ddlID);

    if ( baseURL.indexOf('?') == -1 ) {
        baseURL += "?"      
    } else {
        baseURL += "&"      
    }
   
    redirect(baseURL + 'cp=1&ps=' + ddl[ddl.selectedIndex].value);    
}

/***********************************************
* Textarea Maxlength script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function ismaxlength(obj, maxLength){
var mlength=obj.getAttribute? parseInt(maxLength) : ""
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)
}