var browserbox = {
	element:null,
	options:null,
	location:'about:blank',
	launch:function(options)
	{
		var defaults = {shadowRadius:14,shadowColor:'#A3977E',shadowPosition:'bl',baseZ:500,backgroundColor:'#FFFFFF',top:'auto',left:'auto',id:'browserbox',relativeTo:'#maininner',width:595,height:545,defaultLocation:null};
		var options = $.extend(defaults, options);
		var xPos = options.left, yPos = options.top;
		var f = $('<iframe>').attr({name:'browserboxframe',id:'browserboxframe',frameBorder:'no',scrolling:'no',allowTransparency:'true'}).css({position:'relative',zIndex:options.baseZ+1,margin:0,width:'100%',height:'100%',border:0});
		
		this.options = options;
		this.element = $('<div>').attr({id:options.id}).css({top:0,left:0,overflow:'hidden',visibility:'hidden',zIndex:options.baseZ,position:'absolute',width:options.width,height:options.height});
		this.element.append(f);

		$('body').append(this.element);

		if(options.defaultLocation)
		{
			this.navigate(options.defaultLocation);
		}

		if(options.relativeTo)
		{
			var pos = $(options.relativeTo).offset();
			xPos = pos.left-20; yPos= pos.top+101;
		}
		else
		{
			if(options.left == 'auto') xPos = $(window).width()/2 - this.element.width()/2;
			if(options.top == 'auto') yPos = $(window).height()/2 - this.element.height()/2;
		}
	
		this.element.css({left:xPos,top:yPos,visibility:'visible',display:'none'}).fadeIn();					
		// this._makeShadow(options);			
	},
	relaunch:function(options)
	{
		$(this.element).remove();
		$(document).find('.ie-shadow').remove();
		this.options = $.extend(this.options, options);
		this.launch(this.options);
	},
	close:function()
	{
		$(this.element).remove();
		// $(document).find('.ie-shadow').remove();
		colorresume();
	},
	navigate:function(page)
	{
		if(typeof page == 'object') page = page.getAttribute('href');
		var loc = window.location.toString();
		this.element.find('iframe').attr({src:page});
		this.location = page;
		//window.location = loc.substr(0,loc.indexOf('#'))  + '#'+encodeURIComponent(page)
		return false;		
	},
	_makeShadow:function(options)
	{
		var x=0,y=0;
		
		switch(options.shadowPosition)
		{
			case 'tl':				
				options.shadowRadius = options.shadowRadius/2;
				x = (-1) * options.shadowRadius/2;
				y = (-1) * options.shadowRadius/2;
			break;
			case 'tr':
				options.shadowRadius = options.shadowRadius/2;
				x = options.shadowRadius;
				y = (-1) * options.shadowRadius/2;
			break;
			case 'bl':
				options.shadowRadius = options.shadowRadius/2;
				x = (-1) * options.shadowRadius/2;
				y = options.shadowRadius;
			break;
			case 'br':
				options.shadowRadius = options.shadowRadius/2;
				x = options.shadowRadius/2;
				y = options.shadowRadius/2;
			break;

		}
		
		this.element.css({
			'MozBoxShadow':x+'px '+y+'px '+options.shadowRadius+'px '+options.shadowColor,
			'WebkitBoxShadow':x+'px '+y+'px '+options.shadowRadius+'px '+options.shadowColor,
			'BoxShadow':x+'px '+y+'px '+options.shadowRadius+'px '+options.shadowColor			
		});			
		
		if ($.browser.msie) {
			var pos = this.element.position();
			var shad = $('<div class="ie-shadow">');
			shad.css({zIndex:options.baseZ-1,position:'absolute',display:'block',background:options.shadowColor});
			shad.get(0).style.filter = "progid:DXImageTransform.Microsoft.Blur(PixelRadius='"+options.shadowRadius+"', MakeShadow='true', ShadowOpacity='0.60');"
			shad.width(this.element.width()).height(this.element.height()).css("left", (pos.left -options.shadowRadius+x) + "px").css("top",(pos.top - options.shadowRadius+y) + "px");
			this.element.after(shad);
		}			
	}						
}
