//20120124_16:30_ogata

var finalworks_whatsnew= function(){
	function init(_params)
	{
		finalworks_whatsnew_start(_params);
	}
	return{
		
		init:init
	}
	
}();

function finalworks_whatsnew_start(_params)
{
	$(document).ready
	(
	function() 
	{
 	
	//******************************************
	//この中にコードを書いて下さい
	//このように、htmlから引数を受け取ります
	var rootTarget=_params[0];
	var path=_params[1];
	var useCSS=_params[2];
	var setnosikata;
	var lineHeight;
	
	rootTarget=$("#"+rootTarget);
	var ARTICLES=[];
	
	$.ajax({
    url: path,
    type: 'GET',
    dataType: 'xml',
    timeout: 18000,
    error: function(){
        alert("xmlファイルの読み込みに失敗しました");
    },
    success: function(_xml){
        
		doSet(_xml);
    }
    });
	
	
	function doSet(_xml)
	{
		setnosikata=$(_xml).find("position").text();
		lineHeight=$(_xml).find("line-height").text();
		$(_xml).find("article").each(function(){
			
			makeArticle($(this));
			
		});
		//console.log(setnosikata)
		if(useCSS)
		{
			//cssをセット
			setCSS();
			
		}else
		{
			//flash風
			if(setnosikata=="relative")
			{
				setRelative();
				
			}else if(setnosikata=="absolute")
			{
				setAbsolute();
			}
		
		}
	
	}
	
	
	function makeArticle(_xml)
	{
		var title=$(_xml).find("title").text();
		var href=$(_xml).find("href").text();
		var target=$(_xml).find("target").text();
		var color=$(_xml).find("color").text();
		var over_color=$(_xml).find("over_color").text();
		var size=$(_xml).find("size").text();
		var bold=$(_xml).find("bold").text();
		var x=$(_xml).find("x").text();
		var y=$(_xml).find("y").text();
		var line=$(_xml).find("line").text();
		var id=$(_xml).find("id").text();
		var myClass=$(_xml).find("class").text();
		
		//作る〜
		var article=new Article();
		ARTICLES.push(article);
		article.title=title;
		article.href=href;
		article.target=target;
		article.color=color.replace("0x","");
		article.over_color=over_color.replace("0x","");;
		article.size=size;
		
		if(bold=="true")
		{
			article.bold="bold";
			
		}else
		{
			article.bold="normal";
		}
		
		article.x=x;
		article.y=y;
		article.line=line;
		article.id=id;
		article.class=myClass;
		
	}
	
	
	
	//CSS配置モード
	function setCSS()
	{
		//とりあえず全消し
		rootTarget.html("");
		
		var l=ARTICLES.length;
			
		for(var i=0;i<l;i++)
		{
			var target=ARTICLES[i];
			var domTarget=$("<span>"+target.title+"</span>").attr
			("id",target.id).attr
			("class",target.class);
			rootTarget.append(domTarget);
		}
		
		
			
		
	}
	
	
	
	
	
	
	
	
	//相対配置モード
	function setRelative()
	{
		//とりあえず全消し
		rootTarget.html("");
		//console.log(setnosikata);
		
		//並び替え〜〜〜
		var arr=[];
		var l=ARTICLES.length;
			
		for(var i=0;i<l;i++)
		{
			var target=ARTICLES[i];
			
			if(arr[target.line])
			{
				arr[target.line].push(target);
				
			}else
			{
				var nakami=[];
				arr[target.line]=nakami;
				nakami.push(target);
			}
		}
		
		oku();
			
		function oku()
		{
			var l=arr.length;
			for(var i=0;i<l;i++)
			{
	
				for(var k=0;k<arr[i].length;k++)
				{
					var target=arr[i][k];	
					var domTarget=$("<div>"+target.title+"</div>").css
					(
					{
						position:"absolute",
						fontSize:target.size+"px",
						color:"#"+target.color,
						fontWeight:target.bold
					}
					);
					
					rootTarget.append(domTarget);
							
					if(k==0)
					{
						var width=Number(domTarget.css("width").replace("px",""));
						target.width=width;
						target.x=target.x;
						target.y=Number(target.line*lineHeight)+Number(target.y);
					
					}else
					{
						var width=Number(domTarget.css("width").replace("px",""));
						target.width=width;
						target.x=Number(arr[i][k-1].x)+Number(arr[i][k-1].width)+Number(target.x);
						target.y=Number(target.line*lineHeight)+Number(target.y);
					}
					
					//console.log(target.x+"===="+target.y+"===="+target.width);
					//console.log(width,target.x,target.y);
					
					domTarget.css({
						
						top:target.y+"px",
						left:target.x+"px"
						//,
						//cursor:"pointer"
						
						}).click(function(){
							
							if(target.href!="none")
							{
								//window.open(target.href,target.target);
							}
							});

				}
			}
		}	
	}
	
	
	//絶対配置モード
	function setAbsolute()
	{
		//とりあえず全消し
		rootTarget.html("");
		
		var l=ARTICLES.length;
			
		for(var i=0;i<l;i++)
		{
			var target=ARTICLES[i];
			var domTarget=$("<div>"+target.title+"</div>").css
					(
					{
						position:"absolute",
						fontSize:target.size+"px",
						color:"#"+target.color,
						fontWeight:target.bold,
						top:target.y+"px",
						left:target.x+"px"
					}
					);
			rootTarget.append(domTarget);
		}
	
	}
	//この中にコードを書いて下さい
	//******************************************
	}
	);

};

//Class

var Article=function()
{
	
	this.title="";
	this.href="";
	this.target="_blank";
	this.color="0x555555";
	this.over_color="0xff0000";
	this.size=12;
	this.bold=false;
	this.x=0;
	this.y=0;
	this.width=0;
	this.line=0;
	this.id="";
	this.class="";
}


