// createAjax = initializes an AJAX object
function createAjax()
{
	var _rawObject=null;
	try{_rawObject=new XMLHttpRequest();}catch (e){try{
	_rawObject=new ActiveXObject("Msxml2.XMLHTTP");}catch (e){
	try{_rawObject=new ActiveXObject("Microsoft.XMLHTTP");}
	catch (e){alert("Seu navegador não suporta AJAX");}}}
	
	return _rawObject;
}

// $ = getter
function $(ref)
{
	if (ref.charAt(0) == "#") return document.getElementById(ref.split("#")[1]);	
	else if (ref.charAt(0) == ".")
	{
		var cle = new Array();
		for (var i = 0; i < document.childNodes.length; i++)		
			if (document.childNodes[i].className == ref.split("#")[1])			
				cle.push(document.childNodes[i]);
		return cle;
	}
	else if (ref.charAt(0) == "!") return document.getElementByTagName(ref.split("#")[1]);
}

function carregaClientes()
{				
	var xhr = createAjax();

	xhr.onreadystatechange = function()
	{
		if (xhr.readyState == 4)
		{
			if (xhr.status == 200)
			{
				var cli = xhr.responseXML;
				$c(cli);			
			}
			else
			{
				alert("Ocorreu um erro ao carregar a galeria. Erro No.: " + xhr.status + " (" + xhr.statusText + ")");
				_panel.innerHTML = _savedPanel;
			}
		}
	}

	xhr.open("GET", "xml/clientes.xml?asas", true);
	xhr.send(null);
}

var _current = 0;
var _size = 0;
var _names = new Array();
var _locals = new Array();

//$c = creting the customers table
function $c(xml)
{
	_panel = document.getElementsByTagName('tbody')[0];
	_panel.innerHTML = '';
	
	var p = xml.getElementsByTagName("clientes")[0];
	_size = parseInt(p.getAttribute("tamanhoPagina"));
	var cs = p.getElementsByTagName("cliente");
	var tbl = $("#tbl-customers");		
		
	var i_page = 1;
	var n_rows = true;
	for (var i = 0; i < cs.length; i++)
	{
		if (n_rows)
		{
			tbl.insertRow(i);
			var r = tbl.rows[i];
			
			r.insertCell(0);
			r.insertCell(1);
			
			if (i % 2 == 0) r.className = "bg-cell-blue";
		}
		
		_names.push(cs[i].getAttribute("nome"));
		_locals.push(cs[i].getAttribute("local"));
		
		i_page++;
		if (i_page > _size) n_rows = false;		
	}
	
	tbl.insertRow(tbl.rows.length);
	var pages = tbl.rows[tbl.rows.length - 1];	
	pages.insertCell(0);
	var pages_c = pages.cells[0];
		
	pages_c.colSpan = 2;
	pages_c.id = "paging";		
	
	$p(0);
}

//$p = changing page
function $p(number)
{
	_current = number;
	
	var tbl = $("#tbl-customers");
	var no_pages = Math.ceil(_names.length / _size);

	for (var i = 0; i < _size; i++)
	{		
		var index = _current * _size + i;
		
		if (index > _names.length - 1)
		{
			tbl.deleteRow(tbl.rows.length - 2);		
		}
		else
		{	
			if (tbl.rows.length - 1 < _size)
			{
				var tr = tbl.insertRow(tbl.rows.length - 1);
				tr.insertCell(0);
				tr.insertCell(0);
				
				if (i % 2 == 1) tr.className = "bg-cell-blue";
			}
			
			tbl.rows[i].cells[0].innerHTML = _names[index];
			tbl.rows[i].cells[1].innerHTML = _locals[index];
		}
	}
	
	var links = "";
	for (var i = 1; i <= no_pages; i++)
	{
		if (i - 1 != _current)
		{
			links += "<a href='javascript:void(0);' onclick='$p(" + (i - 1) + ");'>" + i + "</a>\n";
		}
		else
		{
			links += "<span>" + i + "</span>\n";
		}
	}
	
	tbl.rows[tbl.rows.length - 1].cells[0].innerHTML = links;
}
