var pages=new Array();
var urls=new Array();
var page_hash = document.location.hash;
pages[3] = "#Store";
pages[12] = "#Sell";
pages[4] = "#Train";
pages[0] = "#Profile_Settings";
pages[1] = "#Inbox";
pages[5] = "#Find";
pages[9] = "#Fight";
pages[2] = "#Online";
pages[6] = "#Bug_Report";
pages[7] = "#Weapon_Status";
pages[8] = "#Log_Center";
pages[9] = "#ShoutBox";
pages[10] = "#Bank_Accounts_Overview";
pages[11] = "#Open_New_Bank_Account";

urls[3] = "store.php";
urls[12] = "sell.php";
urls[4] = "train.php";
urls[0] = "update_profile.php";
urls[1] = "inbox.php";
urls[5] = "find.php";
urls[9] = "fight.php";
urls[2] = "users_online.php";
urls[6] = "bug_report.php";
urls[7] = "view_weapon_status.php";
urls[8] = "log_center.php";
urls[9] = "shoutbox.php";
urls[10] = "banking.php";
urls[11] = "banking.php?action=new_account";

/* IF WE HAVE #SOMETHING WE WILL TRY TO LOAD THAT DIRECTLY */
function LoadPageHash()
{
	//IF THERE IS A PAGE HASH
	if(page_hash != "")
	{
		//LOOP THROUGH ENTIRE ARRAY
		for(var i = 0; i<pages.length; i++)
		{
			//IF OUR #URL MATCHES A VALID PAGE FROM OUR ARRAY ...
			if(pages[i] == page_hash)
			{
				//STRIP # OR WE WILL BE SENDING ##ABC For example
				var relative = page_hash.replace("#", '');

				//LOAD THE PAGE
				LoadPage(urls[i], '', relative);

				//DO NOT RELOAD PAGE				
				return false;

				break;//NO NEED TO CONTINUE FURTHER
			}
		}
	}
}

function checkRefresh()
{
	if( document.refreshForm.visited.value == "" )
	{           
        	// This is a fresh page load
		//alert ( 'Fresh Load' );
		//SET PAGE TO VISITED
		document.refreshForm.visited.value = "1";
	}
	else
	{
        	// This is a page refresh
		LoadPageHash();
        	//alert ( 'Page has been Refreshed, The AJAX call was not made');

    	}
}

/* RUNS ON BODY LOAD */
function Main()
{
	//CHECKS FOR PAGE LOAD
	checkRefresh();
}

function mail_infobox(message, keep ) {
	mail_infobox_hide();
	if (keep == undefined ) keep = '15s';
	$('#infobox').addClass('infobox_info');
	$('#infobox').html(message);
	$('#infobox').show();
	$(document).oneTime(keep,'infobox', function(i) { mail_infobox_hide(); 	});
}
function mail_infobox_hide() {
	$(document).stopTime('infobox');
	$('#infobox').hide();
}

var ajax_data_result;

function set_data_result(data)
{
	//SET TO MY GLOBAL VARIABLE
	ajax_data_result = data;
}

function return_handler(data, textStatus)
{
	//ONLY CALL INFOBOX IF WE HAVE DATA
	if(data.length > 0)
	{
		//alert("RET:: " + data);
		mail_infobox(data, '10s');
	}
	//CALL FUNCTION TO SET GLOBAL VARIABLE
	set_data_result(data);
}

function ajax_post_redirect(file, data, redirectOnText, redirectLocation)
{
	//DO POST CALL
	$.ajax({
	type: "POST",
 	 url: file,
	async: false,
	data: data,
  	success: return_handler
	});

	//IF RECEIVED THE SENT MSG OK
	if(redirectOnText == ajax_data_result)
	{
		//EMAIL SENT SO REDIRECT!
		window.location.replace(redirectLocation);
	}
	else
	{
		window.scrollTo(0,0);
		replace_span_id_tag('error_message', ajax_data_result);
	}
}

function replace_span_id_tag(tag, data)
{
			$("#" + tag).empty();
			$("#" + tag).prepend(data);
}

function ajax_post(file, action, data )
{
	var result = $.post( file, data, return_handler);
	window.scrollTo(0,0);
}

//THIS FUNCTION IS JUST LIKE AJAX_POST ... BUT WILL NOT RETURN A MESSAGE
function ajax_post_nomsg(file, action, data )
{
	var result = $.post( file, data, function return_handler(data)
	{
		replace_span_id_tag('infobox', data)
	});
	window.scrollTo(0,0);
}

//FOR FORMS LIKE INBOX DELETING + OTHER POSSIBLE MASS ACTIONS
function ajax_post_form(file, form, data )
{
	//alert("POST");
	$.post( file, {form_action: form, data: data}, return_handler);
	window.scrollTo(0,0);
}

function LoadPage(file, sql_code, page)
{
	targetarea = "#page_data";
	location.replace("#" + page);

	$.get(file, {sql_line: sql_code}, function(returned_data) { $(targetarea).html(returned_data); });
}

/*==================================================*\
|| Description: This function is used for example on our find.php page, were we verify + redirect and make our page jQuery friendly.
|| Used: 
|| Tech Details Example: file=find.php, data=#formid, redirectOnText=Text to redirect on, loadPage=Match text on page to redirect, page=#Page 
\*==================================================*/
function ajax_post_redirect_loadpage(file, data, redirectOnText, loadPage, page)
{
	//DO POST CALL
	$.ajax({
	type: "POST",
 	 url: file,
	async: false,
	data: data,
  	success: return_handler
	});

	//IF RECEIVED THE SENT MSG OK
	if(redirectOnText == ajax_data_result)
	{
		//LOAD PAGE
		LoadPage(loadPage+'&'+data, '', page);
	}
	else
	{
		window.scrollTo(0,0);
		replace_span_id_tag('error_message', ajax_data_result);
	}
}


