Namespace.Register("ponte.ajaxdata.TopGainers1Filler");

/** Ez a script első futása-e */
top_gainers_1_firstRun = true;
/** Az alapértelmezett sorok (ez alapján tartja meg a sorok designját */
top_gainers_1_rows = null;

ponte.ajaxdata.TopGainers1Filler.RowFiller = function(portletNode, xmlData) {
	var tBodyElement = portletNode.getElementsByTagName('TBODY')[0];
	
	var hiddenParametersDiv = portletNode.previousSibling;
	while(hiddenParametersDiv.className != 'TopGainersParameters') {
		hiddenParametersDiv = hiddenParametersDiv.previousSibling;
	}
	
	var hiddenParametersDivChilds = hiddenParametersDiv.getElementsByTagName('DIV');
	var arfolyam_up = null;
	var arfolyam_down = null;
	var arfolyam_stagn = null;
	var _urlprefix = null;
	
	for(var h=0; h < hiddenParametersDivChilds.length; h++) {
		var child = hiddenParametersDivChilds[h];
		if(child.className == '_urlprefix') {
			_urlPrefix = child.getElementsByTagName('INPUT')[0].value;
		} else if(child.className == 'arfolyam_stagn') {
			arfolyam_stagn = child.getElementsByTagName('IMG')[0]; 
		} else if(child.className == 'arfolyam_up') {
			arfolyam_up = child.getElementsByTagName('IMG')[0];
		} else if(child.className == 'arfolyam_down') {
			arfolyam_down = child.getElementsByTagName('IMG')[0];
		}  
	}
	
	var xmlTBodyElement = xmlData.getElementsByTagName('tbody')[0];
	
	var rowElements = tBodyElement.getElementsByTagName('TR');
	if(top_gainers_1_firstRun) {
		top_gainers_1_rows = new Array();
	}
	
	var rowCounter = 0;
	for(var i=0; i < rowElements.length; i++) {
		if(rowElements[i].getElementsByTagName('TD').length == 0) {
			continue;
		}
		if(top_gainers_1_firstRun) {
			top_gainers_1_rows[rowCounter++] = rowElements[i].cloneNode(true);
		}
		tBodyElement.removeChild(rowElements[i]);
		i--;
	}
	
	var xmlRowElements = xmlTBodyElement.getElementsByTagName('tr');
	for(var j=0; j < xmlRowElements.length; j++) {
		var xmlCellElements	= xmlRowElements[j].getElementsByTagName('td');
		
		var sgn				=  xmlCellElements[0].firstChild.nodeValue;
		var secCode			=  xmlCellElements[1].firstChild.nodeValue;
		var tickerURL		=  xmlCellElements[2].firstChild.nodeValue;
		var securityID		=  xmlCellElements[3].firstChild.nodeValue;
		var valueToday		=  xmlCellElements[4].firstChild.nodeValue;
		var eValueToday		=  xmlCellElements[5].firstChild.nodeValue;
		var lastTradedPrice	=  xmlCellElements[6].firstChild.nodeValue;
		var currencyId		=  xmlCellElements[7].firstChild.nodeValue;
		var changePctg		=  xmlCellElements[8].firstChild.nodeValue;
		
		var parsedSgn = parseInt(sgn);
		
		var cell_0 = null;
		if(parsedSgn > 0) {
			cell_0 = arfolyam_up;
		} else if(parsedSgn < 0) {
			cell_0 = arfolyam_down;
		} else {
			cell_0 = arfolyam_stagn;
		}
		
		var cell_1 = secCode;
		var cell_1_aElement = document.createElement('A');
		cell_1_aElement.href = _urlPrefix + tickerURL + '?security=' + securityID + '&action=CompanyProfileAction';
		cell_1_aElement.appendChild(document.createTextNode(cell_1));
		
		var cell_2 = valueToday;
		
		var cell_3 = eValueToday;
		
		var cell_4 = lastTradedPrice;
		
		var cell_5 = currencyId;
		
		var cell_6 = changePctg;
		
		var thisRow = top_gainers_1_rows[ (j % top_gainers_1_rows.length) ].cloneNode(true);
		
		var thisInnerElements = thisRow.getElementsByTagName('DIV');
		thisInnerElements[0].appendChild(cell_0.cloneNode(true));
		thisInnerElements[1].appendChild(cell_1_aElement);
		thisInnerElements[2].innerHTML = cell_2;
		thisInnerElements[3].innerHTML = cell_3;
		thisInnerElements[4].innerHTML = cell_4;
		thisInnerElements[5].innerHTML = cell_5;
		thisInnerElements[6].innerHTML = cell_6;
		
		if(parsedSgn > 0) {
			thisInnerElements[1].className = 'DataName green';
			thisInnerElements[2].className = 'Data green';
			thisInnerElements[3].className = 'Data green';
			thisInnerElements[4].className = 'Data green';
			thisInnerElements[5].className = 'Data green';
			thisInnerElements[6].className = 'Data green';
		} else if(parsedSgn < 0) {
			thisInnerElements[1].className = 'DataName red';
			thisInnerElements[2].className = 'Data red';
			thisInnerElements[3].className = 'Data red';
			thisInnerElements[4].className = 'Data red';
			thisInnerElements[5].className = 'Data red';
			thisInnerElements[6].className = 'Data red';
		} else {
			thisInnerElements[1].className = 'DataName black';
			thisInnerElements[2].className = 'Data black';
			thisInnerElements[3].className = 'Data black';
			thisInnerElements[4].className = 'Data black';
			thisInnerElements[5].className = 'Data black';
			thisInnerElements[6].className = 'Data black';
		}
		
		tBodyElement.appendChild(thisRow);
	}
	
	// táblázat alján lévő dátum
	if(xmlData.getElementsByTagName('tbody').length > 1) {
		var timeStamp = xmlData.getElementsByTagName('tbody')[1].getElementsByTagName('td')[0].firstChild.nodeValue;
		
		var footerDiv = portletNode.nextSibling;
		if(footerDiv.nodeType != 1) {
			footerDiv = footerDiv.nextSibling;
		}
		
		var footerSpan = footerDiv.getElementsByTagName('SPAN')[0];
		footerSpan.innerHTML = timeStamp;
	}
	
	top_gainers_1_firstRun = false;
}
