jQuery.noConflict();
var tickIndex=0;
var pIndex = 1;

var numXaxisLabels = 4;
var defIndexName = 'GSPC';

var vline_opt = {
	color:'#dc91c3',
	fill:true,
	points:{
		show: false,
		radius: 0,
		lineWidth:0
	},
	shadowSize:0,
	lines:
	{
		show: true,
		lineWidth:1,
		fill: true,
		fillColor:'#dc91c3'
	},
	hoverable: false
};

function plotAccordingToChoices(sname) {
	jQuery("#stockTooltip").remove();
	tickIndex=0;
	var numVerticalTicks = datasets[defIndexName].data.length;
	var vline = datasets[sname].vline;
	var dd =[];

	if(vline.length>0)
	{
		for(var i=0; i<vline.length; i++)
		{
			var tmp_vl = jQuery.extend({data:vline[i]},vline_opt);
			dd.push(tmp_vl);
		}
	}
	dd.push({
		data: datasets[sname].data,
		color:'#B00065',
		fill:true,
		lines:
		{
			show: true,
			fill: 0.4,
			fillColor:  { colors: [{opacity: 0.3 }, { opacity: 0.8 } ] },
			lineWidth:1
		},
		points: {
			show: false,
			radius: .0,
			lineWidth:3,
			fill: true,
			fillColor: "#ffffff"
		}
	});

	jQuery.plot(jQuery("#placeholder"),	dd,
	{
		
		lines: { show: true },
		points: { show: false },
		shadowSize:0,
		yaxis: {
			labelWidth:0,
			labelMargin:0,
			min:datasets[sname].min,
			max:datasets[sname].max
		},
		xaxis: {
			ticks: numVerticalTicks,
			tickFormatter: showDate
		},

		grid:{
			tickColor:'#e3e4e5',
			borderWidth: 1,
			borderColor:'#e3e4e5',
			hoverable: true
		}
	}
	);
	if(pIndex==0)
	{
		jQuery('.tickX:first').css('marginLeft',5+'px');
		jQuery('.tickX:last').css('marginLeft','-'+5+'px');
	}
}
function showDate(val, axis, useTick) {
	var ret = '';
	var date = new Date(datasets[defIndexName].ticks[val][1]);
	var month = ( (date.getUTCMonth() + 1)<10? '0'+(date.getUTCMonth() + 1):(date.getUTCMonth() + 1));
	if(typeof useTick =='undefined')
	{
		tickIndex++;
		if(typeof(numXaxisLabels)=='number' && tickIndex%numXaxisLabels)
		{
			return ret;
		}

		switch(pIndex)
		{
			case 0:
			var day = date.getDay();
			ret = weekNames[day];
			break;

			case 2:
			for(var d in datasets[defIndexName].nv[0])
			{
				if(datasets[defIndexName].nv[0][d][0]==val)
				{
					return monthNames[datasets[defIndexName].nv[0][d][1]];
				}
			}
			break;

			case 3:
			for(var d in datasets[defIndexName].nv[0])
			{

				if(datasets[defIndexName].nv[0][d][0]==val)
				{
					return datasets[defIndexName].nv[0][d][1];
				}
			}
			break;

			default:
			ret = date.getUTCDate() + "." + month;
			break;
		}
	}else{
		if(pIndex==2 || pIndex==3)
		{
			ret = date.getUTCDate() + "." + month+"."+date.getFullYear()
		}else{
			ret = date.getUTCDate() + "." + month;
		}
	}




	return ret;
}
function rowFill()
{
	jQuery('#stockSel .index_name').each(function(i){
		var indexName = jQuery(this).text();
		var row = jQuery(this).parents('tr:first');
		var data = datasets[indexName].data;
		if(jQuery(data).size()>0)
		{
			var last = data.slice(-1)[0];
			var prev = data.slice(-2)[0];
			var diff=0;percent=0;className=false;
			if(last[1]!=prev[1])
			{
				diff=last[1]/prev[1];

				percent = ((1-diff)*100).toFixed(2);
				if(percent>0)
				{
					className = 'stRed';
					percent = '-'+percent+'%';
				}else if(percent<0)
				{
					percent = '+'+percent.toString().replace('-','')+'%';
					className = 'stGreen';
				}
			}else{
				percent = '0.00%';
			}
			jQuery('td:eq(1)',row).text(last[1]);
			jQuery('td:eq(2)',row).text(percent);
			if(className)
			{
				jQuery('td:gt(0)',row).addClass(className);
			}
			if(i==0)
			{
				var cStockVal = jQuery('#current_stock_value');
				jQuery('.value', cStockVal).text(last[1]);
			}
		}
	});
}
function showTooltip(x, y, contents) {
	var cY = y - 25;
	var cX = x + 9;
	var plh = jQuery("#placeholder");

	var pOffset = plh.offset();
	var pX = pOffset.left;
	var pY = pOffset.top;
	var pW = plh.width();
	var tooltip = jQuery('<div id="stockTooltip"><nobr>' + contents + '</nobr></div>').css( {
		display: 'none',
		opacity: 0.7
	}).appendTo("body");

	var tW = tooltip.outerWidth();
	var tH = tooltip.outerHeight();

	if(pX+pW < cX+tW+4) cX = cX-18-tW;
	if(pY+4 > cY) cY = pY+4;

	tooltip.css( {
		top: cY,
		left: cX
	}).fadeIn('slow');
}
function onFlotOver(event, pos, item)
{
	if(item) {
		if (lastPos != item.datapoint) {
			lastPos = item.datapoint;

			jQuery("#stockTooltip").remove();
			var y = item.datapoint[1].toFixed(2);
			showTooltip(item.pageX, item.pageY, showDate(item.datapoint[0],'',true)+' &nbsp; '+y);
		}
	}else{
		jQuery("#stockTooltip").remove();
		lastPos = null;
	}
}
