Launch Burp from inside Fiddler

I've written the article about FiddlerScript last week and I've gotten reply like this:

Yes, I know Burp rulez but I love Fiddler without reason so match so that I've just written Fiddler Script for launching Burp. Add these code snippet to your CustomRules.js of FiddlerScript, you can see 2 menu items, "Launch burp" in Tools menu, "Use Upstream Burp" in "Rules" menu. Click "Launch burp" first and turn-on "Use Upstream Burp" to start inspecting http traffic with Burp.

Enjoy!

class Handlers
{
    public static const m_burpPort : String = "8080";
    public static RulesOption( "Use Upstream &Burp" )
    var m_UseBurp: boolean = false;

    public static ToolsAction( "Launch &burp" )
    function launchBurp(){
        const cmd = "cmd";
        const cmdArgs = "/c java -jar -Xmx1024m";
        const burpFolder = "C:\\Program Files (x86)\\burp";

        var req : System.Net.HttpWebRequest;
        var res : System.Net.HttpWebResponse;
        var running : Boolean = false;
        var files : String[];
        var i : Number;
        var burpJar : String = "";
        
        try{
            FiddlerObject.StatusText = "Checking burp already running";
            var req = System.Net.HttpWebRequest( System.Net.WebRequest.Create( "http://localhost:" + m_burpPort ) );
            req.Headers.Add( "X-check-burp", "1" );
            res = System.Net.HttpWebResponse( req.GetResponse() );
            if(  res.StatusDescription === "OK" ){
                running = true;
            }
        }catch( e ){
            running = false;
        }
        if( !running ){
            // search latest burp jar
            files = System.IO.Directory.GetFiles( burpFolder, "burpsuite*.jar" );
            for( i = 0; i < files.length; i++ ){
                if( files[ i ] > burpJar ){
                    burpJar = files[ i ];
                }
            }
            if( burpJar === "" ){
                FiddlerObject.alert( "nou found burpsuite*.jar in "  + burpFolder );
                return;
            }
            FiddlerObject.StatusText = "Launching burp...";
            System.Diagnostics.Process.Start( cmd, cmdArgs + " \"" + burpJar + "\"" );
            FiddlerObject.StatusText = "";
        }else{
            FiddlerObject.StatusText = "burp is already running";
        }
    }
    static function OnBeforeRequest(oSession: Session) {
        if( oSession.oRequest.headers.Exists( "X-check-burp" ) ){
            oSession["ui-hide"] = "burp";
        }
        if( m_UseBurp ){
            oSession.bypassGateway = false;
            oSession[ "x-overrideGateway" ] = "localhost:" + m_burpPort;
        }
    }
}