/*
Copyright (c) Copyright (c) 2007, Carl S. Yestrau All rights reserved.
Code licensed under the BSD License: http://www.featureblend.com/license.txt
Version: 1.0.1
*/
function FlashTML(minVersion, source, width, height){
var self = this;
var baseElement = document.createElement("div");
var options = arguments[4] || {};
var winIE = ((navigator.appVersion.toLowerCase().indexOf("win")!=-1) && (navigator.appName=="Microsoft Internet Explorer"));
var idCount = FlashTML.idCount++;
var namespaceAdded = false;
var namespaceName = "flashtml";
var namespaceURN = "http://www.featureblend.com/2007/flashtml/";
self.domTemplate = "";
self.innerHTML = "";
self.xhtml = "";
self.inDocumentElement = "";
var getCabVersion = function(minVersion){
return minVersion + ",0,0,0";//B+
};
var getNameValueAttrFromOptions = function(name){
return (typeof options[name] != "undefined")?getNameValueAttributes(name, options[name].toString()):"";
};
var getNameValueAttributes = function(name, value){
return {
"@name":name,
"@value":value
};
};
var createElementFromRule = function(name, target){
var newElement = safeCreateElement(name.replace("#",""));
return target.appendChild(newElement);
};
var getID = function(){
return options.id || FlashTML.idPattern + idCount;
};
var setAttributeFromRule = function(name, value, target){
target.setAttribute(name.replace("@",""), value);
};
var safeCreateElement = function(name){
if((name=="object" || name=="param") && document.namespaces){
if(!namespaceAdded){
document.namespaces.add(namespaceName, namespaceURN);
namespaceAdded = true;
}
return document.createElement(namespaceName + ":" + name);
}else{
return document.createElement(name);
}
};
var htmlTidy = function(str){
str = str.replace(/<\?xml([^>]*)>/, "");
str = str.replace(eval("/"+namespaceName+":/g"),"");
str = str.replace(/><\/param>/g,">");
str = str.replace(/()/g, "");
return str;
};
var parseRules = function(position, target){
for(var i in position){
if(i.charAt(0)=="#"){
var appendedElement;
if(typeof position[i] == "object" && position[i].length){
for(var j=0; j