/* GLOBAL VARS */
// super global
var api_url = "http://spendible.pedrogilcandeias.com/api.php?req=";
var user_lat = 0;
var user_lng = 0;

/* PAGE INITIALIZATION PROCEDURES */
function pageInit(page) {
    /* Page: log */
    if (page == "reports") {}
    else if (page == "channels") {}
    else if (page == "campaigns") {}
}

/* EVENT HANDLING */
$(document).ready(function() {
    /* Look for the hash on load */
    var hash = window.location.hash.replace("#", "");
    if (hash) {
	// load the appropriate page
	loadPage(hash);
    }


    /* NAV */
    // check for hash changes
    var old_hash = hash;
    var ht;
    var ha;
    function checkHash() {
	if (window.location.hash.replace("#", "") != old_hash) {
	    hash = window.location.hash.replace("#", "");
	    old_hash = hash;

	    ha = hash.split("/");
	    for (var i in ha) { alert (ha[i]); }

	}
	ht = setTimeout(checkHash, 50);
    }
    checkHash();


});


/**
 * Load a page
 */
function loadPage(page) {
    // check for page existence
    if ($("#"+page).length > 0) {
	// hide current page
	$("div.page.current").removeClass("current");
	// show the new page
	$("#"+page).addClass("current");
	// change the hash
	window.location.hash = page;

	// run initialization procedures
	pageInit(page);
    }
}


/**
 * Add separators to numbers
 * @credit: http://www.mredkj.com/javascript/nfbasic.html
 */
function addSeparatorsNF(nStr, inD, outD, sep)
{
	nStr += '';
	var dpos = nStr.indexOf(inD);
	var nStrEnd = '';
	if (dpos != -1) {
		nStrEnd = outD + nStr.substring(dpos + 1, nStr.length);
		nStr = nStr.substring(0, dpos);
	}
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(nStr)) {
		nStr = nStr.replace(rgx, '$1' + sep + '$2');
	}
	return nStr + nStrEnd;
}

/**
 * Count an object's tuples
 */
function objCount(o) {
    var num = 0;
    for (var i in o) {
	num++;
    }
    return num;
}
