//The global TextPipe Application object
var js_TextPipeApp;
//The global TextPipe Filter Window
var js_TPWindow;

//connect to TextPipe if we haven't already
function js_connectTextPipe() {

  try {
    if (js_TextPipeApp == null) 
      js_TextPipeApp = new ActiveXObject("TextPipe.Application");
      js_TextPipeApp.visible = true;
      js_TextPipeApp.show();
  }
  catch(e) {
    MsgBox( "TextPipe Pro is not installed.\n\n" +
      "Please download and install it from\n" +
      "http://www.crystalsoftware.com.au", 
      48 + 0,
      "TextPipe Pro needs to be installed" );
  }

  try {
    if (js_TPWindow == null) {

  js_TPWindow = js_TextPipeApp.newWindow();
  js_TPWindow.startFilters();

  //remove everything defined by normal.fll
  js_TPWindow.clearAllFilters();
  js_TPWindow.clearAllFiles();

  //disable logging
  js_TPWindow.logEnabled = false;

  //set standard input filter settings
  js_TPWindow.inputMode = 1;
  js_TPWindow.inputBinaryFiles = 0;
  js_TPWindow.inputBinarySampleSize = 100;
  js_TPWindow.inputPromptOnEach = false;
  js_TPWindow.inputPromptOnReadOnly = false;
  js_TPWindow.inputDeleteFiles = false;

  //set standard output filter settings
  js_TPWindow.outputMode = 1;
  js_TPWindow.outputRetainDate = false;
  js_TPWindow.outputTestMode = false;
  js_TPWindow.outputAppend = false;
  js_TPWindow.outputOnlyOutputChangedFiles = false;
  js_TPWindow.outputFolder = "";

  js_TPWindow.endFilters();

    }
  }
  catch(e) {
    MsgBox( "Error creating filter window" );
  }
}


function getRadioValue(radioObject)
     { var value = null;
       for (var i = 0; i < radioObject.length; i++)
       { if (radioObject[i].checked)
         {  value = radioObject[i].value;
           break;
         }
       }
       return value;
     }                    

//disconnect from TextPipe
function js_disconnectTextPipe() 
{
  js_TPWindow.closeWithoutSave();
  js_TPWindow = null;
  js_TextPipeApp.visible = false;
  js_TextPipeApp = null;
}



function transfer_files( TPWindow ) 
{
  TPWindow.clearAllFiles();

  //iterate through all lines in the list

  TPWindow.addFile( "start", 0, 1 );
  for (var i = 0; i < test.file_list.length; i++)
  { 
    TPWindow.addFile( test.file_list[i], 0, 1 );
  }  
  TPWindow.addFile( "end", 0, 1 );
}



function js_generate_filter( show_textpipe ) 
{
  js_connectTextPipe();

  if (show_textpipe == 1)
    js_TextPipeApp.visible = true;

  window.frames[0].js_build_filter( js_TPWindow );
  js_TPWindow.execute();
  js_disconnectTextPipe();
  alert( 'TextPipe processing has finished!' );
}


function js_edit_filter() 
{
  js_connectTextPipe();
  js_TextPipeApp.visible = true;
  window.frames[0].js_build_filter( js_TPWindow );
}



