function FlashVarParser(url, encapsulationToken, deliminationToken){ this.encapsulationToken = encapsulationToken; this.deliminationToken = deliminationToken; if(this.deliminationToken == null) deliminationToken = "&"; this.flashVars = ""; //sets flashVar string based on the submitted url this.setURL = function (url){ var qString = url; var fvStartIndex = qString.indexOf(this.encapsulationToken); if(fvStartIndex != -1){ fvStartIndex += this.encapsulationToken.length; qString = qString.substr(qString.indexOf(this.encapsulationToken)+this.encapsulationToken.length); var fvEndIndex = qString.indexOf(this.encapsulationToken); if(fvEndIndex != -1){ qString = qString.substr(0,qString.indexOf(this.encapsulationToken)); if(this.deliminationToken == "&") { this.flashVars = qString; return; } this.flashVars = this.replaceCharacters(qString, this.deliminationToken, "&"); return; } } this.flashVars = ""; } //return flashVar string this.getFlashVarString = function(){ return this.flashVars; } //gets FlashVar paramObj this.getFlashVarObj = function() { var paramObj = new Object(); var paramList = this.flashVars.split("&"); var param; for(var i = 0; i < paramList.length; i++){ param = paramList[i].split("="); paramObj[param[0]] = param[1]; } return paramObj; } //copys variables contained in the flashVars to the submitted Object this.copyFlashVarsToObj = function(copyTo){ var fvObj = this.getFlashVarObj(); for(var i in fvObj) copyTo[i] = fvObj[i]; } // returns a string with the replace instances of the "replace" string replaced with the "replaceWith" string this.replaceCharacters = function(string, replace, replaceWith){ var index = string.indexOf(replace); var startString; var endString; while(index != -1){ startString = string.substr(0,index); endString = string.substr(index+replace.length); string = startString+replaceWith+endString; index = string.indexOf(replace); } return string; } this.setURL(url); }