function IframeBrowser() { };
IframeBrowser.prototype.createWindow = function(parentWindow,name,position,left,top,width,height,src,depth,visible) {
	try {
		var scrolling = "no";
		if(navigator.appName=="Microsoft Internet Explorer"){
			// bug in ie with creating transparency in an iframe using createElement.
			// this way is not supported in mozilla
			this.iframeBrowser = document.createElement('<iframe name="' + name + '" id="' + name + '" src="" allowtransparency="true" scrolling="' + scrolling + '" frameborder="0"></iframe>');
		}else{
			this.iframeBrowser = document.createElement('iframe');
			this.iframeBrowser.setAttribute("id", name);
			this.iframeBrowser.setAttribute("name", name);
			this.iframeBrowser.setAttribute("frameborder", 0);
			//this.iframeBrowser.setAttribute("scrolling", scrolling);
			this.iframeBrowser.setAttribute("allowtransparency", "true"); 	
			this.iframeBrowser.setAttribute("background-color", "transparent"); 	
		}
		this.iframeBrowser.style.display = 'none';
		
		this.target = document.getElementById(parentWindow+"_div");	
		var existingNode = document.getElementById(name);
		if(existingNode){
			existingNode.parentNode.removeChild(existingNode);
		}
		this.target.appendChild(this.iframeBrowser);
		if(src){
			this.updateWindow(position,left,top,width,height,src,depth,visible);
		}

	}catch(e) {
		Debug.trace("IframeBrowser Error: " + e);
	}
}
IframeBrowser.prototype.updateWindow = function (position,left,top,width,height,src,depth,visible) {
	Debug.trace(this.iframeBrowser.id + ' IframeBrowser_updateWindow(' + position + ',' + left + ',' + top + ',' + width + ',' + height + ',' + src  + ')');
	width = 300;
	height = 250;
	left = 224;
	top = 128;
	position = "absolute";
	// update the style of the iframe
	var display = (visible==true||visible=="true"||visible==undefined) ? 'inline' : 'none';
	this.iframeBrowser.style.cssText = 	'display:' + display + 
						';z-index:'+depth+';position:' + position + ';left:' + left + 'px;top:' + 
						top + 'px;width:' + width + 'px;height:' + height + 'px;';	

	
	// if there is a src and the src is different, then update.
	if(this.iframeBrowser.contentWindow)
		var currentSrc = this.iframeBrowser.contentWindow.location.pathname + this.iframeBrowser.contentWindow.location.search;	
	if(src && currentSrc!=src){
		this.iframeBrowser.src = src;
	}

}
IframeBrowser.prototype.destroyWindow = function() {
	this.target.removeChild(this.iframeBrowser);			
}
IframeBrowser.prototype.routeMessage = function(type,args,target) { 
	Debug.trace(this.iframeBrowser.name + " IframeBrowser.routeMessage(" + type + "," + args + "," + target + ")");	
	try {
		frames[this.iframeBrowser.name].browserManager.routeMessage(type,args,target);
	}catch(e){
		Debug.trace('IframeBrowser.routeMessage Error: ' + e);	
	}
}
IframeBrowser.prototype.onPageLoad = function() { }
