function getData(){
	$.ajax({
		type: 'POST',
		data: {
			'stc': f.stc.options[f.stc.selectedIndex].value,
			'category': f.category.options[f.category.selectedIndex].value,
			'date_from': f.date_from.value,
			'date_to': f.date_to.value,
			'orderby': orderby,
			'orderby_type': orderby_type,
			'current_page': current_page,
			'page_size': 25
		},
		url: 'advanced_statistic_ajax.php',
		dataType: "json",
		success: function(obj){
			var html = '';
			var orderby_current_price = '';
			var orderby_lowest_price = '';
			var orderby_highest_price = '';
			var orderby_total_percent_change = '';
			var orderby_avg_percent_change = '';
			var orderby_volume = '';
			var orderby_avg_volume = '';
			var orderby_foreigner_buy = '';
			var orderby_foreigner_sell = '';
			// header
			html += $('#template_title').html();
			
			if( orderby == 'stockname' ){
				html = html.replace(/%_orderby_stockname/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				
			}
			else html = html.replace(/%_orderby_stockname/g, 'onClick="orderBy(\'stockname\', \'a\')"');

			if( orderby == 'current_price' ){
				html = html.replace(/%_orderby_current_price/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				orderby_current_price = ' style="font-weight:bold; color:#009900; font-size:14px"';
			}
			else html = html.replace(/%_orderby_current_price/g, 'onClick="orderBy(\'current_price\', \'a\')"');
			
			if( orderby == 'lowest_price' ){
				html = html.replace(/%_orderby_lowest_price/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				orderby_lowest_price = ' style="font-weight:bold; color:#009900; font-size:14px"';
			}
			else html = html.replace(/%_orderby_lowest_price/g, 'onClick="orderBy(\'lowest_price\', \'a\')"');
			
			if( orderby == 'highest_price' ){
				html = html.replace(/%_orderby_highest_price/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				orderby_highest_price = ' style="font-weight:bold; color:#009900; font-size:14px"';
			}
			else html = html.replace(/%_orderby_highest_price/g, 'onClick="orderBy(\'highest_price\', \'d\')"');
			
			if( orderby == 'percent_total' ){
				html = html.replace(/%_orderby_percent_total/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				orderby_total_percent_change = ' style="font-weight:bold; color:#009900; font-size:14px"';
			}
			else html = html.replace(/%_orderby_percent_total/g, 'onClick="orderBy(\'percent_total\', \'d\')"');
			
			if( orderby == 'avg_percent_change' ){
				html = html.replace(/%_orderby_avg_percent_change/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				orderby_avg_percent_change = ' style="font-weight:bold; color:#009900; font-size:14px"';
			}
			else html = html.replace(/%_orderby_avg_percent_change/g, 'onClick="orderBy(\'avg_percent_change\', \'d\')"');
			
			if( orderby == 'volume' ){
				html = html.replace(/%_orderby_volume/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				orderby_volume = ' style="font-weight:bold; color:#009900; font-size:14px"';
			}
			else html = html.replace(/%_orderby_volume/g, 'onClick="orderBy(\'volume\', \'d\')"');
			
			if( orderby == 'avg_volume' ){
				html = html.replace(/%_orderby_avg_volume/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				orderby_avg_volume = ' style="font-weight:bold; color:#009900; font-size:14px"';
			}
			else html = html.replace(/%_orderby_avg_volume/g, 'onClick="orderBy(\'avg_volume\', \'d\')"');
			
			if( orderby == 'foreigner_buy' ){
				html = html.replace(/%_orderby_foreigner_buy/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				orderby_foreigner_buy = ' style="font-weight:bold; color:#009900; font-size:14px"';
			}
			else html = html.replace(/%_orderby_foreigner_buy/g, 'onClick="orderBy(\'foreigner_buy\', \'d\')"');
			
			if( orderby == 'foreigner_sell' ){
				html = html.replace(/%_orderby_foreigner_sell/g, (orderby_type=='d') ? 'class="td_desc" onClick="orderBy(\'' + orderby + '\', \'a\')"' : 'class="td_asc" onClick="orderBy(\'' + orderby + '\', \'d\')"');
				orderby_foreigner_sell = ' style="font-weight:bold; color:#009900; font-size:14px"';
			}
			else html = html.replace(/%_orderby_foreigner_sell/g, 'onClick="orderBy(\'foreigner_sell\', \'d\')"');
			
		
			html = html.replace(/<\/table>/gi, '');
			
			// body
			var data = obj.data;
			var total = data.length;
			if ( total > 0 ){
				var row = '';
				for( i=0; i<total; i++){
					row = '';
					row += $('#template_data').html();
		
					row = row.replace(/%_stt/g, (current_page-1)*25 + i + 1 );
					row = row.replace(/%_stockname/g, data[i].stockname);
					row = row.replace(/%_startdate/g, f.date_from.value);
					row = row.replace(/%_enddate/g, f.date_to.value);
					row = row.replace(/%_companyname/g, data[i].companyname);
					
					row = row.replace(/%_current_price/g, '<span' + orderby_current_price + '>' + data[i].current_price + '</span>');
					row = row.replace(/%_start_price/g, '<strong>' + data[i].start_price + '</strong> ('+ data[i].startdate  +')' );
					row = row.replace(/%_end_price/g, '<strong>' + data[i].end_price + '</strong> ('+ data[i].enddate  +')');
					row = row.replace(/%_lowest_price/g, '<span' + orderby_lowest_price + '>' +  parseFloat(data[i].lowest_price).toFixed(1) + '</span>');
					row = row.replace(/%_highest_price/g, '<span' + orderby_highest_price + '>' +  parseFloat(data[i].highest_price).toFixed(1) + '</span>');

					
					row = row.replace(/%_total_change/g, '<span>' +  parseFloat(data[i].total_change).toFixed(1) + '</span>');
					row = row.replace(/%_total_percent_change/g, '<strong><span' + orderby_total_percent_change + '>' +  parseFloat(data[i].total_percent_change).toFixed(1) + '%</span></strong>');
					row = row.replace(/%_avg_percent_change/g, '<span' + orderby_avg_percent_change + '>' +  parseFloat(data[i].avg_percent_change).toFixed(1) + '%</span>');
					
					row = row.replace(/%_volume/g, '<span' + orderby_volume + '>' +  addCommas(data[i].volume) + '</span>');
					row = row.replace(/%_avg_volume/g, '<span' + orderby_avg_volume + '>' +  addCommas(data[i].avg_volume) + '</span>');
					row = row.replace(/%_foreigner_buy/g, '<span' + orderby_foreigner_buy + '>' +  addCommas(data[i].foreigner_buy) + '</span>');
					row = row.replace(/%_foreigner_sell/g, '<span' + orderby_foreigner_sell + '>' +  addCommas(data[i].foreigner_sell) + '</span>');
					
					row = row.replace(/%_classname/gi, (i%2==0) ? 'tr2' : 'tr2');					
					row = row.replace(/<table>/gi, '');
					row = row.replace(/<\/table>/gi, '');
					html += row;
				}
			}
			
			html += '</table>';
			$('#div_data').html(html);
			
			$('#before_table_data').hide();
			$('#before_before_table_data').hide();

			Navigation(current_page, obj.total_page);
		},
		beforeSend:function(){
			$('#before_table_data').show();
			$('#before_before_table_data').show();
			
			var px_width = parseInt(document.getElementById('div_data').offsetWidth);
			var px_height = parseInt(document.getElementById('div_data').offsetHeight);
			//if( px_height == 0 ) px_height = 10;
			document.getElementById('before_table_data').style.width = px_width + "px";
			document.getElementById('before_table_data').style.height = px_height + "px";
			$('#before_table_data').show();
			
			document.getElementById('before_before_table_data').style.width = px_width + "px"; 
			document.getElementById('before_before_table_data').style.height = px_height + "px";
			document.getElementById('before_before_table_data').style.paddingTop = (400/2 - 20) + "px";
			$('#before_before_table_data').show();
		},
		complete:function(){ }
	});
}
function addCommas(nStr)
{
	nStr = parseInt(nStr).toFixed(0);
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
function Navigation(current_page, total_page){
	var s = '';
	s += '<dl class="listType11" style="font-size:14px; font-family:Georgia">';
	s += '<dt>Trang: <'+'/dt>';
	if( current_page > 1 && total_page > 1 ){
		s += '<dd><a href="javascript:void(0)" onclick="changePage(' + (current_page-1) + ')">&laquo; Trước<'+'/a>'+'<'+'/dd>';
	}
	for(i=1; i<=total_page; i++){
		if( i == current_page ){
			s += '<dd><strong>' + i + '</strong><'+'/dd>';
		}
		else{
			s += '<dd><a style="font-size:18px; font-family:Georgia" href="javascript:void(0)" onClick="changePage('+ i +')">' + i + '<'+'/a>'+'<'+'/dd>';
		}	
	}
	if( current_page >= 1 && current_page < total_page ){
		s += '<dd><a href="javascript:void(0)" onclick="changePage(' + (current_page+1) + ')">Sau &raquo;'+'<'+'/a>'+'<'+'/dd>';
	}	
	s += '<'+'/dl>';
	document.getElementById('div_navigation').innerHTML = s;
}
function changePage(page){
	current_page = page;
	getData();
}
function orderBy(s_orderby, s_orderby_type){
	orderby = s_orderby;
	orderby_type = s_orderby_type;
	changePage(1);
}


function exportStatistic(){
		var stc = f.stc.options[f.stc.selectedIndex].value;
		var category = f.category.options[f.category.selectedIndex].value;
		var date_from = f.date_from.value;
		var date_to = f.date_to.value;
		var url = 'advanced_statistic_ajax.php';
		window.location = url + '?export=1&stc=' + stc + '&category=' + category + '&date_from=' + date_from + '&date_to=' + date_to;
}
