
function format_number(pnumber,decimals){
	if (isNaN(pnumber)) { return 0};
	if (pnumber=='') { return 0};
	
	var snum = new String(pnumber);
	var sec = snum.split('.');
	var whole = parseFloat(sec[0]);
	var result = '';
	
	if(sec.length > 1){
		var dec = new String(sec[1]);
		dec = String(parseFloat(sec[1])/Math.pow(10,(dec.length - decimals)));
		dec = String(whole + Math.round(parseFloat(dec))/Math.pow(10,decimals));
		var dot = dec.indexOf('.');
		if(dot == -1){
			dec += '.'; 
			dot = dec.indexOf('.');
		}
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	} else{
		var dot;
		var dec = new String(whole);
		dec += '.';
		dot = dec.indexOf('.');		
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	}	
	return result;
}

function createRequestObject() 
{
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();
var lock = false;
var https = window.location.href.match(/^https:\/\//);
var ajax_url = "http" + (https ? "s" : "") + "://www.warwick-bucks.org/register/ajax.php";

function sndReq(action, value, handler) 
{
	if (lock)
	{
		return false;
	}
	else
	{
		lock = true;
	    http.open('get', ajax_url+'?action='+action+'&value='+value);
		http.onreadystatechange = handler;
	    http.send(null);
	    return true;
	}
}

function check_resident(addy)
{
	if (!lock)
	{
		var addy_box = document.getElementById("address");
		if (addy_box)
		{
			addy_box.disabled = true;
			sndReq("check_resident", addy, resident_results);
		}
	}
}

function resident_results() 
{
    if(http.readyState == 4)
	{
		var addy_box = document.getElementById("address");
		var notes = document.getElementById("notes");
		var main_form = document.getElementById("main_form");
        var response = http.responseText;
		var is_res = false;
				
		var res = response.split("|");
		switch (res[0])
		{
			case "0":
				notes.innerHTML = "Non-Resident";
				break;
				
			case "1":
				notes.innerHTML = "Warwick Resident";
				is_res = true;
				break;
				
			case "2":
				notes.innerHTML = "Did you mean <a href='javascript:void(changeaddy(\""+res[1]+"\"))'>"+res[1]+"</a>?";
				break;
		}
		
		notes.style.display = "block";
		
		var idx = 0;
		var tot_price = 0;
		
		while (document.getElementById("res"+idx))
		{
			document.getElementById("res"+idx).style.display = (is_res ? "inline" : "none");
			document.getElementById("non"+idx).style.display = (is_res ? "none" : "inline");
			tot_price += (is_res ? parseFloat(document.getElementById("res"+idx).innerHTML) : parseFloat(document.getElementById("non"+idx).innerHTML));
			idx++;
		}
		
		//main_form.elements[""]
		
		document.getElementById("total_cost_label").innerHTML = format_number( tot_price, 2 );
		document.getElementById("hidden_total_cost").value = format_number( tot_price, 2 );
		
		addy_box.disabled = false;
		lock = false;
    }
}

function changeaddy(addy)
{
	var addy_box = document.getElementById("address");
	var notes = document.getElementById("notes");
	if (addy_box && notes)
	{
		addy_box.value = addy;
		notes.style.display = "none";
		check_resident(addy_box.value);
	}
}

