Macromedia dreamweaver 8-extending dreamweaver User Manual

Page of 504
A simple attribute translator example
445
// the conditional statement
var trueStart;        
// The beginning of the true case
var falseStart;       
// The beginning of the false case
var trueValue;        
// The HTML that would render in the true case
var attName;          
// The name of the attribute that is being'
// set conditionally.
var equalSign;        
// The position of the equal sign just to the
// left of the <#, if there is one
var transAtt;        
// The entire translated attribute
var transValue;       
// The value that must be URL-encoded
var back3FromStart;   
// Three characters back from the start position
// (used to find equal sign to the left of <#
var tokens;           
// An array of all the attributes set in the true case
var end;              
// The end of the current conditional statement.
 
 
// As long as there's still a <# conditional that hasn't been 
// translated
while (start != -1){
   back3FromStart = start-3;
   end = outStr.indexOf(' #>',start);
   equalSign = outStr.indexOf('="<# if',back3FromStart);
   attAndValue = (equalSign != -1)?false:true;
   trueStart = outStr.indexOf('then', start);
   falseStart = outStr.indexOf(' else', start);
   trueValue = outStr.substring(trueStart+5, falseStart);
   tokens = dreamweaver.getTokens(trueValue,' ');
   
   
   // If attAndValue is false, find out what attribute you're
   // translating by backing up from the equal sign to the
   // first space. The substring between the space and the
   // equal sign is the attribute.
if (!attAndValue){
     for (var i=equalSign; i > 0; i--){
       if (outStr.charAt(i) == " "){
         attName = outStr.substring(i+1,equalSign);
         break;
       }
     }