
XHTMLParser = function()
{	
	var html = '<?xml version="1.0" encoding="UTF-8"?>';
	var swfOptions;
	var atts = $w( 'id name class title href rel src border thumb prefs fill style color size styles delay transition' );
	
	function parse(str) {
		
		if (!$('movies-carousel')) { return; }
		// kickoff parsing
		parseLoop( str );
		
		embed();
	}
	
	function embed() {

		var safeHtml = escape(html);
		var flashvars = {
			xhtmlFeed:safeHtml,
			src:'/site/movies/flash/MoviesHomePage'
		};
		var params = { wmode:"transparent" };
		var attributes = {
			id:"flashContent"
		};
		$('movies-carousel').setStyle( { display:'block' } );
		swfobject.embedSWF('/site/sho/flash/components/Preloader.swf', 'carousel', '950', '437', '9.0.115', '/lib/bin/expressInstall.swf', flashvars, params, attributes );
	}
	
	function parseLoop( obj, tabCnt )
	{
		 if (typeof obj == "string") {  
			obj = $(obj); } 
		if (tabCnt == undefined ){
			tabCnt = 0; }  
		
		var open = '';
		var content = '';
		var close = '';
		var tabs= ""; for( var i=0; i<tabCnt; i++){ tabs += "&nbsp;&nbsp;&nbsp;&nbsp;"; }
		var tagname = obj.nodeName.toLowerCase();
		var emptytag = (obj.nodeName.match(/area|base|basefont|br|col|frame|hr|img|input|isindex|link|meta|param|swf/i)) ? true : false; 
	
		open = '<'+tagname;
		atts.each( function( key ){
			var val = $(obj).readAttribute( key ); 
			if( val !== "" && val !== null && val !== undefined ){ open += ' '+key+'="'+val+'"'; }
		 });
		open += (emptytag) ? ' />' : '>';
		html += open;

		if (!emptytag)
		{
			for (var i=0; i<obj.childNodes.length; i++)
			{
				var node = obj.childNodes[i];
				if ( node.nodeType==3){
					html += node.nodeValue;
				}
				else if ( node.nodeType==1) { 
					parseLoop( node, tabCnt +1 ); 
				}
				else content += " ";
			}
			close = '</'+tagname+'>';
			html += close;
		}

	}
	
	// public
	return {
		// init:init
		parse:parse
	}
}();
