var Entity = {
    encode: function(value)
    {
        var div = document.createElement('div');
        var text = document.createTextNode(value);
        div.appendChild(text);
        return div.innerHTML.replace(/"/g, '"').replace(/'/g, '&#39;');
    },
    decode: function(value)
    {
        var textarea = document.createElement('textarea');
        textarea.innerHTML = value;
        return textarea.value;
    }
};

function getConfiguration(obj, _item){
	if (obj.flashvars==undefined){
		obj.flashvars = new Object();
	}
	if (obj.configuration==undefined){
		obj.configuration = new Object();
	}
	
	switch(obj.id){
		case "area1":
			obj.configuration = {src:flashPath + 'area1.swf', width:'100%', height:'100%', wmode:'transparent'};
		break;
		case "featured":
			obj.configuration = {src:flashPathLocale + 'featured.swf', width:'560', height:'280', wmode:'transparent'};
		break;
		case "header":
			obj.configuration = {src:flashPathLocale + 'header.swf', width:'950', height:'130', wmode:'transparent'};
		break;
		case "indicator":
			obj.configuration = {src:flashPath + 'indicator.swf', width:'250', height:'22', wmode:'transparent'};
		break;
		case "title":
			var wmode = (obj.configuration.wmode == undefined) ? 'opaque' : obj.configuration.wmode; 
			obj.configuration = {src:flashPathLocale + 'title.swf',  height:'62', wmode:wmode};
			try{
				obj.flashvars.textSize = "35";
				obj.flashvars.textColor = "0xD246D3";                
                obj.flashvars.titleText =  Entity.encode(_item.html());
			}catch(e){
				//"Error Ini Tittle";
			};
		break;
		case "rating":
			obj.configuration =  {src:flashPathLocale + 'rating.swf', width:'416', height:'132', wmode:'transparent', id:"set_rating", swliveconnect:"true"};
			try{
				obj.flashvars.set_rating_function = "setGameRating";
			}catch(e){
				//"Error Set Rating";
			};
		break;
		case "image_rating":
			obj.configuration =  {src:flashPathLocale + 'rating.swf', width:'416', height:'132', wmode:'transparent', id:"set_rating", swliveconnect:"true"};
			try{
				obj.flashvars.set_rating_function = "setImageRating";
			}catch(e){
				//"Error Set Rating";
			};
		break;
		case "footer":
			obj.configuration =  {src:flashPathLocale + 'footer.swf', width:'500', height:'280', wmode:'transparent'};
		break;
        case "avatar":
			obj.configuration = {id:obj.id, name:obj.id, src: flashPath + 'avatar.swf',  width:'526', height:'585', wmode:'transparent'};
		break;	
	}
	return(obj);
}
function putFlash(_item, _params){
	
	var flash_obj = new Object();
	try{	
		eval("flash_obj = "+_params+";");
	}catch(e){
		flash_obj = new Object();
	}

	
	flash_obj = getConfiguration(flash_obj, _item);
	$(_item).flashembed(flash_obj.configuration, flash_obj.flashvars);
}
function getFlashMovie(movieName) {
	  if (window.document[movieName]) 
	  {
		  return window.document[movieName];
	  }
	  if (navigator.appName.indexOf("Microsoft Internet")==-1)
	  {
		if (document.embeds && document.embeds[movieName])
		  return document.embeds[movieName]; 
	  }
	  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
	  {
		return document.getElementById(movieName);
	  }
}
				   
function iniFlash(){		
	$("div").each(function (i){
		var item = $(this);
		var params = item.attr("flash");
		item.removeAttr("flash");
		if (params!=undefined){
			putFlash(item , params);

            var app = item.attr("app");
            item.removeAttr("app");
            if (app!=undefined)
            {
                Profile.iniApp(getFlashMovie(app));
            }
            
		}
	});
	
	$("h1").each(function (i) {
		var item = $(this);
		var _params = item.attr("flash");
		item.removeAttr("flash");
		if (_params!=undefined){
			var obj = new Object();	
			try{	
				eval("obj = "+_params+";");
			}catch(e){
				obj = new Object();
			}
			item.addClass('left');
			obj = getConfiguration(obj, item);
			//obj.configuration.height = item.height();
			obj.configuration.width = item.width();
			item.removeClass('left');
		item.flashembed(obj.configuration, obj.flashvars);
		}
	});
}
