package sk.yoz.html { import flash.display.LoaderInfo; import flash.net.URLVariables; public class EmbedCode extends Object { private var _params:Object = {}; private var _flashVars:URLVariables; private var _width:uint; private var _height:uint; private var _url:String; private var loaderInfo:LoaderInfo; private var parameters:Object; public var encodeAmpersands:Boolean = false; public function EmbedCode(loaderInfo:LoaderInfo = null, parameters:Object = null) { super(); this.loaderInfo = loaderInfo; this.parameters = parameters; useActualURL(); useActualFlashVars(); } public static function suggest(loaderInfo:LoaderInfo = null, parameters:Object = null, encodeAmpersands:Boolean = false):EmbedCode { var embedCode:EmbedCode = new EmbedCode(loaderInfo, parameters); embedCode.encodeAmpersands = encodeAmpersands; embedCode.useActualURL(); embedCode.useActualSize(); embedCode.useActualFlashVars(); return embedCode; } public static function containsProtocol(path:String):Boolean { return path.indexOf("http://") == 0 || path.indexOf("https://") == 0; } public static function urlToDomain(url:String):String { if(!containsProtocol(url)) return null; var index:int = url.indexOf("/", 9); if(index == -1) return null; return url.substr(0, index); } public function get domain():String { return urlToDomain(url); } public function addParam(param:String, value:String):void { _params[param] = value; } public function set params(value:Object):void { _params = value; } public function get params():Object { return _params; } public function addFlashVar(variable:String, value:String):void { if(!flashVars) flashVars = new URLVariables(); _flashVars[variable] = value; } public function set flashVars(value:URLVariables):void { _flashVars = value; } public function get flashVars():URLVariables { return _flashVars; } public function get flashVarsQueryString():String { var queryString:String = flashVars.toString(); if(encodeAmpersands) queryString = queryString.replace(/\&/g, "&"); return queryString; } public function set width(value:uint):void { _width = value; } public function get width():uint { return _width; } public function set height(value:uint):void { _height = value; } public function get height():uint { return _height; } public function set url(value:String):void { _url = value; } public function get url():String { return _url; } public function toString():String { var key:String; var r:String = ''; r += ''; r += ''; for(key in params) r += ''; if(flashVars) r += ''; r += '