var chartTicks=[],colorScheme={},chartDataset={};
//在onload之前执行
function preInit(){
	collapse("tzgg" ,13);//通知公告
	collapse("dzzb" ,13);//通知公告
	collapse("bgt" ,18);//爆光台
	collapse("xwxx" ,19);//新闻信息
	collapse("xygs" ,21);//信用公示
	collapse("sghtba",18);//施工合同备案
	collapse("pbjggs",18);//评标结果公示
	collapse("zbjggs",18);//中标结果公示
	collapse("xmxx",12);//项目信息
	collapse.Try();
}
var colors=[ ////增加八类固定
					 '#1c4a7e',
					 '#bb5b3d',
					 '#3a8133',
					 '#813379',
					 '#443379',
					 '#81dd79',
					 '#813300',
					 '#00f',
					 '#f00',
					 '#ff0',
					 '#00f'
				];


window.onload = function init(){
	setTimeout(function(){
		delayLoadMarquee(  	["sghtba", "bgt" , "tzgg","cdscjg_content"]	 );
	},1000)
	
}
function initChart(){
		
		var ahtml =[''];
		var index=0;
		
		window.colorScheme = {};
		window.chartDataset = {};
		window.chartTicks = [];
		
		//X 轴名称集
		var rs1 = rsTbData.P_RESULT;
		for(var i=0;i<rs1.length ; i++)
		{
			colorScheme[ rs1[i].C_MC ]= colors[i];
			
			var id = "colorScheme_chk_" + i ;
			ahtml.push("<div ><input type='checkbox' onclick='drawChart();' checked='checked' value='", rs1[i].C_MC , "' ",
					"id='", id , "'/>",
					"&nbsp;<span style='background:" , colors[i] ,"'>&nbsp;&nbsp;</span>",
					"&nbsp;<label for='" , id , "' title='" , rs1[i].C_MC , "'>", rs1[i].C_MC ,"</label></div>");
		}
		
		
		
		document.getElementById("chart-legend").innerHTML = ahtml.join("");
		
		//折线名称
		var rsMC = rsTbData.P_RESULT_MC;
		var fields=[];
		for(var i=0;i < rsMC.length ;i++)
		{

			chartTicks[ i ]={
				v 		: i,
				label 	: rsMC[i].C_CAPTION
			};
			var field = String.prototype.replace.call( rsMC[i].C_FIELD ,/^.*\|/,"");
			fields.push( field );
		}
		
		var rsSj = rsTbData.P_RESULT_SJ;	
		//var s="";	
		for(var i=0;i<rsSj.length;i++)
		{

			//第i条折线数据
			var sj = [];
			for(var j=0;j<fields.length;j++)
			{
				sj.push( [ j ,   parseFloat(rsSj[ i ][ fields[j] ])||0.00001    ] );
			}
			//s+=sj;
			chartDataset[ rsSj[i].C_MC ]= sj;
		}
		//(window.open()).document.write(s);
		document.getElementById("tb-header").innerHTML = rsTbData.PC_TITLE;
		drawChart();
		
}

function drawChart(){	
			// Define options.
			var options = {
				shouldFill: false,
				
				// Define a padding for the canvas node
				padding: {
					left: 30, 
					right: 0, 
					top: 10, 
					bottom: 30
				},
				
				// Background color to render.
				background: {
					color: '#f2f2f2'
				},
				
				// Set a custom colorScheme
				colorScheme: new Hash(colorScheme),
				
				
				axis: {
					// The fontcolor of the labels is black.
					labelColor: '#000000',
					// Add the ticks. Keep in mind, x and y axis are swapped
					// when the BarOrientation is horizontal.
					x: {
						ticks: 	chartTicks
						
					}	,
					y:{
						values: [0,0]
					}
				},
				legend: {
					position:{
						top:'150px'
					},	
					"hide": true
				}
			};
			
		var dataset={};
		var chks = document.getElementById("chart-legend").getElementsByTagName("input");
		var count=0;
		var maxData = 0;
		var minData = 0;			
		for(var i=0;i<chks.length;i++)
		{
			if(chks[i].checked)
			{
				var dt = chartDataset[chks[i].value];
				dataset[chks[i].value] = dt;
				for(var j = 0; j<dt.length;j++){
					var t = parseFloat(dt[j][1]);
					if(!t) continue;
					if(!maxData && !minData){
						maxData = t;
						minData = t;
						continue;
					}
					if(t > maxData) maxData = t ;
					else if(t < minData) minData = t ;
				}				
				
				count++;
			}
		}
		if(count==0)return ;
		if(i==0)
				return ;

			if(drawChart.chart)
				drawChart.chart.clean();
			try{
				var ty = options.axis.y;
				var delta = maxData - minData;  //计算一格高度
				var le = 0.1, tt = delta;
				while((tt /= 10)>1){ le*=10;}
				delta = delta * 0.11;
				if(le==0.1){
					le = 1;
					if(minData<1){
						minData = 0;
						maxData *=1.5;
					}else{
						minData *= 0.7;
						maxData *= 1.08;
					}
				}
				ty.values[0] = Math.ceil((minData - delta) / le) * le;
				ty.values[1] = Math.floor((maxData + delta) / le) * le;

				
				var line = new Plotr.LineChart('lines1',options);
				line.addDataset(dataset);
				line.render();	
				drawChart.chart= line;
			}catch(ignore){}
			
		initChart_mouse(line,options);//在图片上显示坐标提示
}

/**
 * 在图片上显示坐标提示
 * @param {Object} chart
 * @param {Object} options
 * @param {Object} minData
 * @param {Object} maxData
 */
function initChart_mouse(chart, options){
	minData=options.axis.y.values[0];//y最小值
	maxData=options.axis.y.values[1];//y最大值
	var div = document.createElement("div");
	div.style.position="absolute";
	div.style.left=options.padding.left+"px";
	div.style.top=options.padding.top+"px";
	if(Prototype.Browser.IE)
	{
		div.style.width=document.getElementById("lines1").width;
		div.style.height=document.getElementById("lines1").height;
	}
	else{
		div.style.width="100%";
		div.style.height="100%";
	}
	
	div.style.zIndex=10000;
	//div.style.background="#ccc";
	if(!!(window.attachEvent && !window.opera))
	{
		div.style.background="url(../skin/default/common/transparent.gif)";
		div.style.filter="alpha(opacity=0)";
	}
	chart.htmlWrapper.appendChild(div);
	
	div.onmousemove=function(evt){
		if(!evt)
		{
			evt = window.event;
		}
		var height =this.offsetHeight- options.padding.top-options.padding.bottom;
		var y=height-(evt.offsetY||evt.layerY||0);
		var el = document.getElementById("_chart_tip");
		if(!el)
		{
			el = document.createElement('div');
			el.id = "_chart_tip";
			chart.htmlWrapper.appendChild(el);
			el.style.zIndex=9999;
			el.style.position="absolute";
			el.style.background="#fff";
			el.style.textAlign="center";
		}
		if(y>=0)
		{
			//document.title=
			el.innerHTML = ((maxData-minData)*(y+1)/height + minData ).toFixed(1)
			el.style.top=(evt.offsetY||evt.layerY||0)+20+"px";
			el.style.left=(evt.offsetX||evt.layerX||0)+40+"px";
			el.style.width = el.innerHTML.length*6+10+"px";
			el.style.display = "block";
		}
		else{
			el.style.display = "none";
		}	
		el = void(0);	
	}
	div.onmouseout=function(){
		var el = document.getElementById("_chart_tip");
		if(el)
			el.style.display = "none";
	}
	div = void(0);
}

function delayLoadMarquee(idList){
	if( idList.length>0 )
	{
		setTimeout(function(){
			initMarquee(idList.pop());
			delayLoadMarquee(idList );
		},500);
	}
	
}
function initMarquee(id){
	var divs = document.getElementById(id).getElementsByTagName("div");
	for(var i=0;i<divs.length;i++)
	{
		if(divs[i].className == "listBody")
		{
			var listBody2 = divs[i].getElementsByTagName("div")[0];
			//alert(listBody2.innerHTML)
			var m2=new Marquee(listBody2)
			m2.direction="top";
			m2.step=1;
			m2.timer=60;
			m2.scrollStep=100;
			m2.start();
			break;
		}
	}
}

function collapse(){
	collapse.all.push(arguments);
}
collapse.Try=function(){
	var args =  collapse.all[0];
	var el = document.getElementById(args[0]);
	if(el!=null && el.nextSibling!=null)
	{
		collapse.all.splice(0,1);
		try{
			_collapse.apply(window,args);
		}catch(ex){}
	}
	
	if(collapse.all.length>0)
	{
		setTimeout(collapse.Try,10);
	}
}
collapse.all=[];


/*
 * 自动调整文章列表的长度.
 */
function _collapse(id,len , b){
	if(!b)//防卡
	{
		return setTimeout("collapse('"+ id + "'," + len +" , true )",0);
	}
	var list=document.getElementById(id);
	var rows=list.getElementsByTagName("table")[0].rows;
	if(rows.length==0)
		return;
	var a;
	if(!list.getAttribute("_reviseInit"))
	{
		for(var i=0;i<rows.length;i++)
		{//将真实内容保存.
			a=rows[i].cells[0].getElementsByTagName("a")[0];
			if(a)
			{
				a.title = (a.innerText || a.textContent)
							.replace(/(^\s*)|(\s*$)/g,"");
			}		
		}
		list.setAttribute("_reviseInit","1" ) ;
	}
	var bI=(rows[0].cells[0].innerText!=null);//isIe
	var bT=(rows[0].cells[0].textContent!=null)//isFF
	for(var i=0;i<rows.length;i++)
	{
		
		a=rows[i].cells[0].getElementsByTagName("a")[0];
		
		//显示了图标，文字变1字节
		if(rows[i].cells[0].className.indexOf("cIcon")!=-1)
		{
			wordLenth = len-1.5;
		}
		else{
			wordLenth = len;
		}
		if(!a)
			return;
		if(bI)
		{
			a.innerText=String( a.title ).ellipsis(wordLenth);
		}
		else if(bT){
			
			a.textContent=String( a.title ).ellipsis(wordLenth);
		}
		a.innerHTML = a.innerHTML.replace(/…/,"<span style='font-size:10px;'>…</span>");
		
	}
}



/**
 * 截取外观长度字符.
 *@param len 截取字节数.
 */
String.prototype.ellipsis=function(len){
	len=len*2;
	var orgdata = this;
	var s=this.replace(/([\u00ff-\uffff])/ig,'$1a');
	if(s.length<=len){
		return orgdata;
	}else{
		s=s.substring(0,len-3);
		s=s.replace(/([\u00FF-\uffe5])a/ig,'$1');
		//if( s.replace(/[\u00FF-\uffe5]/g,"").length%2 == 1 ){
		//	return s + " …";
		//}
		//else
		//{
			return s+"…";
		//}
	}
}
function getSize(rw,rh,w,h){
	var s1=rw/w;
	var s2=rh/h;
	var r={w:0,h:0};
	if(s1>s2)
	{
		r.w=rw/s1
		r.h=rh/s1;	
	}
	else
	{

		r.w=rw/s2
		r.h=rh/s2;
	}
	return r;
}
function ajustPicNewsSize(img){
	var div = img.parentNode;
	var w = div.offsetWidth;
	var h = div.offsetHeight;
	var r = getSize(img.width,img.height,w,h);
	img.width = parseInt(r.w);
	img.height = parseInt(r.h);
	
	img.style.marginLeft = parseInt((w-r.w)/2)+"px";
	
	img.style.marginTop = parseInt((h-img.height)/2)+"px";
	
}

preInit();


