var _ppc_cid = 0;
var _ppc_category_caption = 1;
var _ppc_sequence = 2;
var _ppc_no_of_players = 3;
var _ppc_image_name = 4;
var _ppc_image_width = 5;
var _ppc_image_height = 6;

var _fid = 0;
var _fshort_name = 1;
var _ffull_name = 2;
var _fcategory = 3;
var _fcatid = 4;
var _fprice = 5;
var _fpoints = 6;
var _fsellprice = 7;
var _fcountry = 8;
var _fcountry_tla = 9;
var _fteam = 10;

function transfers_list(page) {
	var cat_only = $('fantasy-category-only').value;
	var temp_list = new Array();
	var final_list = new Array();
	if (cat_only) {
		fplayers.each(function(item) {
			if (item && (item[_fcatid] == cat_only)) {
				temp_list[temp_list.length] = item;
			}
		});
	} else {
		temp_list = fplayers.clone();
	}

	var sortc = _fprice;
	temp_list.sort(function(a, b) { return b[sortc] - a[sortc]; });
	l = fxfer_per_page * page;
	var start = fxfer_per_page * (page - 1);
	for (var i = 0; i < fxfer_per_page; i++) {
		if (temp_list[start + i]) final_list[i] = temp_list[start + i];
	}
	var html = '';
	if (cat_only){
		for (var ipos = 0; ipos < players_per_category.length; ipos++) {
			if (players_per_category[ipos][_ppc_cid] == cat_only){
				var cat_caption = players_per_category[ipos][_ppc_category_caption];
				var cat_image_name = players_per_category[ipos][_ppc_image_name];
				var cat_image_width = players_per_category[ipos][_ppc_image_width];
				var cat_image_height = players_per_category[ipos][_ppc_image_height];
			}
		}
		html = '<table cellspacing="0" cellpadding="0" border="0" style="width: 100%;"><tbody>' +
				'<tr><td class="head"><img vspace="center" src="http://static.b92.net/sport/fantasy/images/automoto/logo/' +
				cat_image_name + '"/>' +
				cat_caption +
				'</td></tr></tbody></table>';
	}
	html +='<table cellspacing="0" cellpadding="0" border="0" class="fantasy-opcije-tabela-in"><tbody><tr class="kategorije">' +
				'<td style="padding-left: 15px;">Ime</td>' +
				'<td>Tim</td>' + 		
				'<td width="40" align="right">Cena</td>' + 
				'<td width="40" align="right">Poeni</td>' +
				'</tr>';
	
	var l = final_list.length;
	for (var ipos = 0; ipos < players_per_category.length; ipos++) {
		var found = false;
		var html_frag = '';
		for (var i = 0; i < l; i++) {
			if (final_list[i][_fcatid] == players_per_category[ipos][_ppc_cid]) {
				found = true;
				html_frag += '<tr>' + 
'<td><a href="javascript:fantasy_add_to_squad(' + final_list[i][_fid] + ')">' + final_list[i][_fshort_name] + '</a></td>' +
'<td>' + final_list[i][_fteam] + '</td>' +
'<td align="right">' + final_list[i][_fprice] + '</td>' +
'<td align="right">' + final_list[i][_fpoints] + '</td>' +
'</tr>';
			}
		}
		if (found) {
//			'<tr class="pozicija"><td><a href="javascript:$(\'fantasy-category-only\').value=\'' + players_per_category[ipos][_ppc_cid] + '\';transfers_list(1);">' + players_per_category[ipos][_ppc_category_caption] + '</a></td>' + '<td></td><td></td></tr>'			
			html += html_frag;
		}
	}

	var html_frag = '<tr class="dole">';
	if (page > 1) {
		html_frag += '<td><a href="javascript:transfers_list(' + (page - 1) + ')">prethodna</a></td>';
	} else {
		html_frag += '<td>&nbsp;</td>';
	}
	if ((final_list.length == fxfer_per_page) && temp_list[start + fxfer_per_page]) {
		html_frag += '<td colspan="2" align="right"><a href="javascript:transfers_list(' + (page + 1) + ')">sledeća</a></td>';
	} else {
		html_frag += '<td colspan="2" align="right">&nbsp;</td>';
	}
	html_frag += '</tr>';
	html += html_frag + '</table>';
	$('fantasy-players-list').innerHTML = html;
}

function fantasy_add_to_squad(id) {
	var found;
	if (fplayers[id]) {
		for (var i = 0; i < fantasy_current_squad.length; i++) {
        	if (fantasy_current_squad[i] && (fantasy_current_squad[i][_fid] == id)) {
				alert(fantasy_current_squad[i][_fshort_name] + " je već izabran");
                return;
			}
		}
		istart = 0; iend = fantasy_team_no_of_players;
		for (var i = istart; i < iend; i++) {
			found = false;
			if (!fantasy_current_squad[i]) {
				fantasy_current_squad[i] = fplayers[id];
				found = true;
				found_pos = i;
				break;
			}
		}
		if (!found) {
			alert('Nema mesta');
			return;
		}		
	}
	
	if (found) {
		fantasy_refresh_squad(found_pos);
		fantasy_validate_transfers_and_set_ui();
	}
}

function fantasy_refresh_squad(table_pos) {
	if (fantasy_current_squad[table_pos]) {
		if (fantasy_orig_squad[table_pos] && (fantasy_current_squad[table_pos][_fid] == fantasy_orig_squad[table_pos][_fid])) {
			$('fantasy-team-p' + table_pos + '-onoff').innerHTML = '<a href="javascript:fantasy_remove_from_squad(' + fantasy_current_squad[table_pos][_fid] + ')"><img src="http://static.b92.net/sport/euro2008/images/izmene-off.gif" /></a>';
		} else {
			$('fantasy-team-p' + table_pos + '-onoff').innerHTML = '<a href="javascript:fantasy_revert_squad(' + table_pos + ')"><img src="http://static.b92.net/sport/euro2008/images/izmene-in.gif" /></a>';
		}
		$('fantasy-team-p' + table_pos + '-cat').innerHTML = '' + fantasy_current_squad[table_pos][_fcategory] + '';
		$('fantasy-team-p' + table_pos + '-player').innerHTML = '' + fantasy_current_squad[table_pos][_ffull_name] + '';
		$('fantasy-team-p' + table_pos + '-team').innerHTML = '' + fantasy_current_squad[table_pos][_fteam] + '';		
		$('fantasy-team-p' + table_pos + '-bought-price').innerHTML = fantasy_current_squad[table_pos][_fprice];
		$('fantasy-team-p' + table_pos + '-points').innerHTML = fantasy_current_squad[table_pos][_fpoints];
		$('fantasy-team-p' + table_pos + '-price').innerHTML = fantasy_current_squad[table_pos][_fsellprice];
	} else {
		$('fantasy-team-p' + table_pos + '-onoff').innerHTML = '<a href="javascript:fantasy_revert_squad(' + table_pos + ')"><img src="http://static.b92.net/sport/euro2008/images/izmene-out.gif" /></a>';
	}
	
	var total_worth = 0;
	fantasy_current_squad.each(function(item) {
		if (item) total_worth += item[_fsellprice];
	});
	var total_worth_orig = 0;
	fantasy_orig_squad.each(function(item) {
		if (item) total_worth_orig += item[_fsellprice];
	});

	var in_the_bank = fantasy_bank_balance + total_worth_orig - total_worth + 0.0001;
	if (in_the_bank > 0) {
		$('in-the-bank').innerHTML = '<div class="mojtim-preostalo">preostalo iz budžeta <span>' + (Math.floor(in_the_bank * 10) / 10) + '</span></div>';
	} else {
		$('in-the-bank').innerHTML = '<div class="transfer-minus">u minusu ste  <span>' + (Math.ceil(Math.abs(in_the_bank) * 10) / 10) + '</span></div>';
	}
}

function fantasy_revert_squad(table_pos) {
	fantasy_current_squad[table_pos] = fantasy_orig_squad[table_pos];
	fantasy_refresh_squad(table_pos);
	fantasy_validate_transfers_and_set_ui();
}

function fantasy_remove_from_squad(id) {
	var found = false;
	if (fplayers[id]) {
		for (var i = 0; i < fantasy_current_squad.length; i++) {
        		if (fantasy_current_squad[i] && (fantasy_current_squad[i][_fid] == id)) {
				fantasy_current_squad[i] = null;
				found = true;
				found_pos = i;
				break;
			}
		}
	}
	if (found) {
		fantasy_refresh_squad(found_pos);
		fantasy_validate_transfers_and_set_ui();
	}
	
}

function fantasy_validate_transfers_and_set_ui() {
	var msg = fantasy_validate_transfers();
	if (msg.length > 0) {
		$('tranfer-submit').hide();
		$('fantasy-xfer-err').innerHTML = '<ul><li>' + msg.join('</li><li>') + '</li></ul>';
	} else {
		$('tranfer-submit').show();
		$('fantasy-xfer-err').innerHTML = '';
	}
}

function fantasy_validate_transfers() {
	var valid = true;
	var stat_players_per_category = new Hash();
	var msg = new Array();

	players_per_category.each(function(category) {
		stat_players_per_category[category[_ppc_cid]] = 0;
	});
	fantasy_current_squad.each(function(item) {
		if (item) {
			stat_players_per_category[item[_fcatid]]++;
		}
	});
	players_per_category.each(function(category) {
		if (stat_players_per_category[category[_ppc_cid]] == category[_ppc_no_of_players]) {
			// izabrao je bas koliko treba
		} else {
			msg.push('Morate izabrati ' + category[_ppc_no_of_players] + ' vozača iz sporta ' + category[_ppc_category_caption]);
		}
	});

	var total_worth = 0;
	fantasy_current_squad.each(function(item) {
		if (item) total_worth += item[_fsellprice];
	});
	var total_worth_orig = 0;
	fantasy_orig_squad.each(function(item) {
		if (item) total_worth_orig += item[_fsellprice];
	});
	if (fantasy_bank_balance + total_worth_orig - total_worth < 0) {
		msg.push('Prekoračili ste limit');
	}
	
	return msg;
}

function fantasy_submit_team() {
	var msg = fantasy_validate_transfers();
	if (msg.length == 0) {
		html = '';
		fantasy_current_squad.each(function(item) {
			if (item) {
				html += '<input type="hidden" name="players[]" value="' + item[_fid] + '" />';
			}
		});
		$('transfer-make').innerHTML = html;
		document.forms['transfer-make'].submit();
	}
}

function fantasy_my_inout(table_row, id) {
	if (table_row <= 11) { // napolje iz prvih 11
		$('fantasy-my-' + table_row + '-icon').innerHTML = '<a href="javascript:fantasy_my_inout(' + table_row + ', ' + id + ');"><img src="http://static.b92.net/sport/euro2008/images/izmene-out.gif" /></a>';
	}
}
