
    function dispatcher( ticket , recipient , shortcode , network , price , text )
    {
        unique = new Date();
    
    	if (!text)
    	  text = '';
    
        if (recipient.substr(0,1) == '#')
            NewWindow('http://www.sms1919.dk/tools/dispatcher.asp?ticket=' + ticket + '&recipienttype=list&list=' + recipient.replace('#','') + '&price='+price + '&message=' + escape(text),'Dispatcher'+unique.getTime(),'360','335',false);
        else if (recipient.substr(0,1) == '$')
            NewWindow('http://www.sms1919.dk/tools/dispatcher.asp?ticket=' + ticket + '&recipienttype=inbox&inbox=' + recipient.replace('$','') + '&price='+price + '&message=' + escape(text),'Dispatcher'+unique.getTime(),'360','335',false);
        else
            NewWindow('http://www.sms1919.dk/tools/dispatcher.asp?ticket=' + ticket + '&recipient=' + recipient + '&network=' + network + '&price='+price+'&shortcode='+shortcode + '&message=' + escape(text),'Dispatcher'+unique.getTime(),'360','335',false);
    }
    
    function documentation()
    {
        NewWindow('http://www.sms1919.dk/api/','api',660,400,'yes');
    }

    function documentationFilter( filter )
    {
        NewWindow('http://www.sms1919.dk/api/?filter='+filter,'api',660,400,'yes');
    }

    function back()
    {
        history.go(-1);
    }

    function NewWindow(mypage,myname,w,h,scroll){

        var win= null;
        var winl = (screen.width-w)/2;
        var wint = (screen.height-h)/2;
        var settings ='height='+h+',';
        settings +='width='+w+',';
        settings +='top='+wint+',';
        settings +='left='+winl+',';
        settings +='scrollbars='+scroll+',';
        settings +='resizable=no';
        win=window.open(mypage,myname,settings);
        if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
      
    }


    function HideID( nID )
    {
        document.getElementById( nID ).style.display = 'none';
    }

    function ShowID( nID )
    {
        document.getElementById( nID ).style.display = 'inline';
    }
    
    function DisableID( nID )
    {
        document.getElementById( nID ).disabled = true;
    }
    
    function EnableID( nID )
    {
        document.getElementById( nID ).disabled = false;
    }

    function ResetForm( nID )
    {
        document.getElementById( nID ).reset();
    }

    function ToggleID( nID ) {
     
        if (document.getElementById( nID ).style.display == 'none') 
        {		    
	        document.getElementById( nID ).style.display = '';	    
	    }
        else 
        {   
	        document.getElementById( nID ).style.display = 'none';
        }
    }


    function isValidEmail(email, required) {
        if (required==undefined) {   // if not specified, assume it's required
            required=true;
        }
        if (email==null) {
            if (required) {
                return false;
            }
            return true;
        }
        if (email.length==0) {  
            if (required) {
                return false;
            }
            return true;
        }
        if (! allValidChars(email)) {  // check to make sure all characters are valid
            return false;
        }
        if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
            return false;
        } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
            return false;
        } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
            return false;
        } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	    return false;
        } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	    return false;
        }
        return true;
    }

    function allValidChars(email) {
      var parsed = true;
      var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
      for (var i=0; i < email.length; i++) {
        var letter = email.charAt(i).toLowerCase();
        if (validchars.indexOf(letter) != -1)
          continue;
        parsed = false;
        break;
      }
      return parsed;
    }
    
    function setCaretLast( id )
    {
        
        setFocus( id );
    
        var caret = document.getElementById( id );
        var value = getValue( id ).length
    
        if( caret.setSelectionRange ) 
        {
	        caret.setSelectionRange( value , value );
        } 
        else if( caret.createTextRange ) 
        {
            var range = caret.createTextRange();
            range.collapse(true);
            range.moveEnd('character',value);
            range.moveStart('character',value);
            range.select();
         }    
          
    }

    function setFocus( id )
    {
        if ( document.getElementById( id ) )
        {
            if ( document.getElementById( id ).style.display != 'none' )
            {
                document.getElementById( id ).focus();
            }        
        }    
    }    
    
    function clearValue( id )
    {
        if ( document.getElementById( id ) ){
        
            document.getElementById( id ).value = '';
        
        }    
    }
    
    function setValue( id , value )
    {
        if ( document.getElementById( id ) ){
        
            document.getElementById( id ).value = value;
        
        }    
    }  
    
    function setHTML( id , value )
    {
        if ( document.getElementById( id ) ){
        
            document.getElementById( id ).innerHTML = value;
        
        }    
    }     
    
    function getValue( id )
    {
        if ( document.getElementById( id ) ){
        
            return document.getElementById( id ).value;
        
        }    
    }    

    function get( id )
    {
        if ( document.getElementById( id ) ) 
            return document.getElementById( id );
        
        if ( document.getElementsByName( id ) ) 
            return document.getElementsByName( id )[0];
    }

    function TabController( tab )
    {

        for (var x = 0; x <= 10; x++)
        {
            if ( document.getElementById('TabLeft_'+x) && document.getElementById('TabRight_'+x) && document.getElementById('TabText_'+x) )
            {
                document.getElementById('TabLeft_'+x).src       = '/images/buttons/tab_left.jpg';
                document.getElementById('TabRight_'+x).src      = '/images/buttons/tab_right.jpg';
                document.getElementById('TabText_'+x).className = 'HeaderTab';                
                document.getElementById('Form_'+x).style.display = 'none';
            }
            else
            {
                document.getElementById('TabLeft_'+tab).src       = '/images/buttons/tab_left_active.jpg';
                document.getElementById('TabRight_'+tab).src      = '/images/buttons/tab_right_active.jpg';
                document.getElementById('TabText_'+tab).className = 'HeaderTabActive';
                document.getElementById('Form_'+tab).style.display   = '';
                
                return;
            }
        }

    }
    
    function left(str, n){
	    if (n <= 0)
	        return "";
	    else if (n > String(str).length)
	        return str;
	    else
	        return String(str).substring(0,n);
    }
    function right(str, n){
        if (n <= 0)
           return "";
        else if (n > String(str).length)
           return str;
        else {
           var iLen = String(str).length;
           return String(str).substring(iLen, iLen - n);
        }
    }

    
    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+$/,"");
    }

