

//currency buttons

window.addEvent('domready', function() {

	elements = $$('.currBtnCurr');

	elements.each(function(element, i) {

		onMouseOver = element.getProperty('rel');

		onMouseOut = element.getProperty('src');

		element.store('clicked', 'false');

		element.store('onMouseOver', onMouseOver);

		element.store('onMouseOut', onMouseOut);		

		element.addEvent('mouseenter', function(){

			if($(this).retrieve('clicked') == 'false')

				this.src =  $(this).retrieve('onMouseOver');

		}); 

		element.addEvent('mouseleave', function(){

			if($(this).retrieve('clicked') == 'false')

				this.src =  $(this).retrieve('onMouseOut');

		});

		element.addEvent('click', function(){

			setBtnCurr(this, 'currBtnCurr');

			id = this.getProperty('id');

			makeAjaxRequestCurr(id, null, null);

		});  

	});



});





/* creates graph layers */

window.addEvent('domready', function() {

	if(!$defined($('FactorySumDivCurr'))){

		var Div = new Element('div',{

    			'id': 'FactorySumDivCurr', 

    			'style' : {

       			'text-align': 'center'

    			},

    			'html': ''

		});

		$('graphAjaxCurr').adopt(Div);

	}

	new Request({

			url: '/portal/index.php?id=1660',

			method: 'get', 

			link: 'cancel',

			onSuccess: function(responseText, responseXML){

						setDataCurr(responseText, responseXML);

					},

			onRequest: function(responseText, responseXML) {

						if(!$defined($('spinImgCurr'))){

							$('FactorySumDivCurr').set('html', '');

							var Img = new Element('img',{

    								'id': 'spinImgCurr',

    								'src': 'assets/templates/enumizmatyka/images/bg/spin.gif' 

							});

							$('FactorySumDivCurr').adopt(Img);					

						}

						if(!$defined($('spinImg2Curr'))){

							$('chartAjaxCurr').set('html', '');

							var Img = new Element('img',{

    								'id': 'spinImg2Curr',

    								'src': 'assets/templates/enumizmatyka/images/bg/spin.gif' 

							});

							$('chartAjaxCurr').adopt(Img);					

						}

					},

			onFailure: function(responseText, responseXML){

						alert('Błąd ładowania danych');

			},

			async: true 

		}).send();

});



function setBtnCurr(el, btn){

	elements = $$('.' + btn);

	elements.each(function(element, i) {

		onMouseOut = $(element).retrieve('onMouseOut');

		element.src =  onMouseOut;

		$(element).store('clicked', 'false'); 

	});

	onMouseOver = $(el).retrieve('onMouseOver');

	$(el).src = onMouseOver; 

	$(el).store('clicked', 'true');

}



function makeAjaxRequestCurr(Curr, DateStart, DateEnd){

	if(Curr) $('graphAjaxCurr').store('Curr', Curr);

	else Curr = $('graphAjaxCurr').retrieve('Curr', '');

	if(DateStart) $('graphAjaxCurr').store('DateStart', DateStart);

	else DateStart = $('graphAjaxCurr').retrieve('DateStart', '');

	if(DateEnd) $('graphAjaxCurr').store('DateEnd', DateEnd);

	else DateEnd = $('graphAjaxCurr').retrieve('DateEnd', '');





	var dateItems = DateStart.split ('-');

	var year = parseInt (dateItems[0], 10);	

	var month = parseInt(dateItems[1], 10)-1;

	var day = parseInt (dateItems[2], 10);



	var dStart = new Date(year, month, day);

	dStart = dStart.getTime();



	var dateItems = DateEnd.split ('-');

	var year = parseInt (dateItems[0], 10);	

	var month = parseInt(dateItems[1], 10)-1;

	var day = parseInt (dateItems[2], 10);	



	var dEnd = new Date(year, month, day);

	dEnd = dEnd.getTime();	



	var now = new Date();

	now = now.getTime();

	if(dEnd > now){

		alert('Data końcowa nie może być większa od daty dzisiejszej');

		return;

	}

	if(dStart >= dEnd){

		alert('Data początkowa musi być mniejsza od końcowej');

		return;

	}

 	

//alert('Type=' +Type+ '&Curr=' +Curr+ '&DateStart=' +DateStart+ '&DateEnd=' +DateEnd);

	new Request({

			url: '/portal/index.php?id=1660',

			method: 'get', 

			data: '',

			link: 'cancel',

			onSuccess: function(responseText, responseXML){

						setDataCurr(responseText, responseXML);

					},

			onRequest: function(responseText, responseXML) {

						if(!$defined($('spinImgCurr'))){

							$('FactorySumDivCurr').set('html', '');

							var Img = new Element('img',{

    								'id': 'spinImgCurr', 

    								'src': 'assets/templates/enumizmatyka/images/bg/spin.gif' 

							});

							$('FactorySumDivCurr').adopt(Img);					

						}

						if(!$defined($('spinImg2Curr'))){

							$('chartAjaxCurr').set('html', '');

							var Img = new Element('img',{

    								'id': 'spinImg2Curr',

    								'src': 'assets/templates/enumizmatyka/images/bg/spin.gif' 

							});

							$('chartAjaxCurr').adopt(Img);					

						}

					},

			onFailure: function(responseText, responseXML){

						alert('Błąd ładowania danych');

			},

			async: true 

		}).send('Curr=' +Curr+ '&DateStart=' +DateStart+ '&DateEnd=' +DateEnd);

}



function roundNumber(num, dec) {

	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);

	return result;

}



function removeLineBreaks(string) { 

  return string.replace('\n', '/'); 

} 



function setDataCurr(responseText, responseXML){//alert(responseText);

	eval('JSONData = (' + responseText + ')');

	var txt = '';

	var Curr = $('graphAjaxCurr').retrieve('Curr', '');

	switch(Curr){

		case 'usa':

			prefix = '$';

			realName = 'USD';

			break;

		case 'anglia':

			prefix = '&#163;';

			realName = 'GBP';

			break;

		case 'ugw':

			prefix = '&#8364;';

			realName = 'EUR';

			break;

		default:

			prefix = '$';

			realName = 'USD';

			break;



	}

        suffix = ' PLN';

	txt += "<chart palette='2'  showLimits='0'  caption='' xAxisName='' showValues='0' setAdaptiveYMin='1' baseFontColor='#006F93' bgColor='#FFFFFF' lineColor='#FF0000' lineThickness='3' divLineColor='#ADAAAA' numVDivLines='10' divLineThickness='1' divLineAlpha='20' alternateHGridColor='#CFCFCF' alternateHGridAlpha='10' canvasBorderColor='#E0E0E0' canvasBorderThickness='1'  showBorder='0'  drawAnchors='1' anchorAlpha='100' chartLeftMargin='20' chartTopMargin='1' chartRightMargin='20' chartBottomMargin='1' numberSuffix='" + suffix + "'>";



	step = Math.ceil(JSONData.data.length / 7);

	JSONData.data.each(function(item, index){



		if((index == 0 || index == JSONData.data.length - 1 || (index % step == 0 && (JSONData.data.length - 1 - index) > step / 2)) && $defined(item)){

			txt += "<set label='" +item.Date+ "' value='" +item.Value+ "' anchorBgColor='FFFFFF' anchorBorderColor='000000' anchorBorderThickness='1' toolText='" + removeLineBreaks(item.Date) + " "+ roundNumber(item.Value, 2) + prefix +"' />";

		}

		else

			txt += "<set label='' value='" +item.Value+ "' anchorAlpha='0' toolText='" + removeLineBreaks(item.Date) + " "+ roundNumber(item.Value, 2) + prefix +"' />";		

	});



	txt += "<styles>";

      txt += "  <definition>";

      txt += "      <style name='myAnim1' type='animation' param='_xScale' start='0' duration='1'/>";

      txt += "      <style name='myAnim2' type='animation' param='_alpha' start='0' duration='1'/>";

      txt += "  </definition>";

      txt += "  <application>"

      txt += "      <apply toObject='HGRID' styles='myAnim1, myAnim2' />";

      txt += "      <apply toObject='DIVLINES' styles='myAnim1' />";

      txt += "  </application>";

   	txt += " </styles>";	

	txt += "</chart>";



	//Finally, render the chart.

	chart_FactorySum = new FusionCharts("assets/flash/FusionCharts_Developer/Charts/Line.swf", "FactorySum", "520", "240", "0", "0");

	chart_FactorySum.setDataXML(txt);

	chart_FactorySum.addParam('WMode', 'opaque');

	chart_FactorySum.render("FactorySumDivCurr");



	txt = '';

	txt += '<table cellspacing="0" cellpadding="5" border="0" width="500">';

	txt += '	<tr>';

	txt += '		<th width="14%"><strong>Data</strong></th>';

	txt += '		<th width="14%"><strong>' + realName + '</strong></th>';

	txt += '		<th width="14%"><strong>Trend</strong></th>';

	txt += '	</tr>';



	step = Math.ceil(JSONData.data.length / 20);

	pointer = 0;

	JSONData.data.reverse();

	JSONData.data.each(function(item, index){

		if((index == 0 || index == JSONData.data.length - 1 || index % step == 0) && $defined(item)){

			var className = pointer % 2 == 0 ? 'subListOdd' : 'subList';

			txt += '	<tr>';

			txt += '		<td width="14%" class="' +className+ '">' + item.Date + '</td>';

			txt += '		<td width="14%" class="' +className+ '">' + item.Value + ' PLN</td>';

			if(item.TrendImg != '' && item.TrendValue != '')

				txt += '		<td width="14%" class="' +className+ '"><img src="' + item.TrendImg + '" border="0" />&nbsp;&nbsp;' + item.TrendValue + '%</td>';

			else

				txt += '		<td width="14%" class="' +className+ '"></td>';



			txt += '	</tr>';

			pointer++;

		}

	});	



	txt += '</table>';

 	$('chartAjaxCurr').set('html', txt);

}



window.addEvent('domready', function() {

var mySlide = new Slider($('areaCurr'), $('knobCurr'), {

    //options

	range: [0, 1430],

	snap: false,

	steps: 10,

	offset: 0,

	wheel: false,

	mode: 'horizontal',

 

	//callback events

    onChange: function(step){



    },

    onTick: function(pos){

 

    },

    onComplete: function(step){

		var DateEnd = new Date();

		mseconds = DateEnd.getTime();

		var DateStart = new Date();



		DateStart.setTime(mseconds - (parseInt(step) + 30) * 24 * 60 * 60 * 1000);

		DateStart = DateStart.getFullYear() + '-' + (DateStart.getMonth() + 1) + '-' + DateStart.getDate();

		DateEnd = DateEnd.getFullYear() + '-' + (DateEnd.getMonth() + 1) + '-' + DateEnd.getDate();

		document.forms['valCurr'].DateStartCurr.value = DateStart;

		document.forms['valCurr'].DateEndCurr.value = DateEnd;

		makeAjaxRequestCurr(null, DateStart, DateEnd);



    }

}).set(0);

});





window.addEvent('domready', function() {Calendar.setup({

        inputField     :    "DateStartCurr",     // id of the input field

        ifFormat       :    "%Y-%m-%d",      // format of the input field

        button         :    "DateStartImgCurr",  // trigger for the calendar (button ID)

        align          :    "Tl",           // alignment (defaults to "Bl")

        singleClick    :    true,

	  onUpdate        :   function(){}

    });});

window.addEvent('domready', function() {Calendar.setup({

        inputField     :    "DateEndCurr",     // id of the input field

        ifFormat       :    "%Y-%m-%d",      // format of the input field

        button         :    "DateEndImgCurr",  // trigger for the calendar (button ID)

        align          :    "Tl",           // alignment (defaults to "Bl")

        singleClick    :    true,

	  onUpdate        :   function(){}

    });});




