function getStartupData() {
	getBalance();
	getPromoData();
	getDemoBox();
}

function getDemoBox() {
	var balance = dojo.byId("demobox");
	if(balance != null) {
		dojo.xhrGet({
			url:"/demo",
			handleAs: "text",
			timeout: 2000,
			load: function(result) {
				balance.innerHTML = result;
				setTextInputBox();
			}
		});
	}

}

function getBalance() {
	var balance = dojo.byId("userBalance");
	if(balance != null) {
		dojo.xhrGet({
			url:"/util?action=balance",
			handleAs: "text",
			preventCache: true,
			timeout: 2000,
			load: function(result) {
				balance.innerHTML = result;
			}
		});
	}
}

function getPromoData() {
	var promo = dojo.byId("promoRates");
	if(promo != null) {
		dojo.xhrGet({
			url:"/util?action=promo",
			handleAs: "text",
			timeout: 5000,
			load: function(result) {
				promo.innerHTML = result;
			}
		});
	}
}

function bindRegistration() {
	setRegisterCountryCode();
	setPinInputBox();
}

function setRegisterCountryCode() {
	// Perform the first country code selection
	var select = dojo.query(".register")[0];
	var selectedCode = dojo.query("option[selected]")[0]; // get the county object
	var phoneDOM = dojo.byId("phone");
	if(phoneDOM.value.length < 2)
		phoneDOM.value="+"+selectedCode.id; // setup the country code to make it easier

	// Setup an event listener
	dojo.connect(select, "onchange", function(evt) {
		phoneDOM.value="+"+select.options[select.selectedIndex].id;
	});
}


function setLoginCountryCode() {
	// only USA supported
	var phonenumber = dojo.byId("phone");
	phonenumber.value = "+1";
}

function facebookLogin(response) {
	var fbButton = dojo.query(".fblogin");
	dojo.connect(fbButton[0], "onclick", function(evt) {
		window.location = "/login.jsp?code="+response.session.access_token;
	});
}

function setPinInputBox() {
	var pinBoxes = dojo.query(".textlight").forEach(function(node, index, nodelist) {
		// Setup an event listener
		var handle = dojo.connect(node, "onfocus", function(evt) {
			node.value="";
			node.type="password"; 
			dojo.removeClass(node, "textlight");
			dojo.disconnect(handle);
		});
	});

}

function setTextInputBox() {
	var textBoxes = dojo.query(".textlight").forEach(function(node, index, nodelist) {
		// Setup an event listener
		var handle = dojo.connect(node, "onfocus", function(evt) {
			node.value="";
			dojo.removeClass(node, "textlight");
			dojo.disconnect(handle);
		});
	});	
}

function getNumberDetails() {
	// Get number details
	dojo.query("#intlNumber").forEach(function(node, index, nodelist) {
		var handle = dojo.connect(node, "onkeyup", function(evt) {
			var details = dojo.query(".details");
			dojo.xhrGet({
				url:"/callingapp/number/"+node.value,
				handleAs: "json",
				timeout: 5000,
				load: function(result) {
					if(result[0] != undefined) {
						// set the flag
						dojo.style(details[0], "background-image", "url('"+result[1]+"')");
						dojo.style(details[0], "background-repeat", "no-repeat");
						// set country two digit code
						details[1].innerHTML = result[0];
						// set the rate
						details[2].innerHTML = "Rate: "+(Math.round((result[2]*100)*100)/100)+"&#162";
					} else {
						details[0].innerHTML = details[1].innerHTML = details[2].innerHTML = "";
						dojo.style(details[0], "background-image", "");
					}
				}
			});
		});
	});
}

function showFlagAndRate() {
	var rateList = dojo.query(".rate");
	var bqNumbers = dojo.query(".bqNumber");
	dojo.query(".intlNumber").forEach(function(node, index, nodelist) {
		dojo.xhrGet({
			url:"/callingapp/number/"+node.innerHTML,
			handleAs: "json",
			timeout: 5000,
			load: function(result) {
				dojo.create("image", {src: "/images/bqsmall.jpg"}, bqNumbers[index], "first");
				if(result[0] != undefined) {
					dojo.create("img",{src: result[1] },node,"first");
					rateList[index].innerHTML = (Math.round((result[2]*100)*100)/100)+" &#162" + rateList[index].innerHTML;
				} else {
					rateList[index].innerHTML = "N/A";
				}
			}
		});
	});

}
function deleteSpeedDial(id) {
	var ans = confirm("Are you sure want to delete this?");

	if(ans) {
		window.location.href = "callingapp?action=deleteSpeedDial&id="+id;
	}
}

function deleteBQExchange(id) {
	var ans = confirm("Are you sure want to delete this?");

	if(ans) {
		window.location.href = "callingapp?action=deleteNumExchange&id="+id;
	}
}

function findRate() {
	var id = dojo.byId("ratequery");
	window.location.href="rates.jsp?action=search&search="+id.value;
}

function clearSearch() {
	var id = dojo.byId("ratequery");
	if(id.value == "Enter Phone Number OR Country Name") {
		id.value = "";
	}
}

function showNewPhoneNumberInput() {
	var list = dojo.byId("numbers");
	if(dojo.query(".text")[0] == undefined) {
		dojo.create("li",{
			innerHTML: "<label>Alternate number: </label> <span><input type=\"text\" class=\"text\"/> <button onclick=\"javascript:addAltNumber()\">Submit</button></span><li id=\"error\"></li>"
		},list);
	}
}

function deleteAltNumber(num) {
	var ans = confirm("Are you sure you want to delete "+num);
	if(ans) {
		location.href="deleteAltNum/"+num;
	}
}

function addAltNumber() {
	var number = dojo.query(".text")[0].value;
	var list = dojo.byId("numbers");
	/* check to see status of adding number */
	dojo.xhrGet({
		url:"addAltNum/"+number,
		handleAs: "json",
		timeout: 4000,
		load: function(result) {
			if(result[0]=='success') {
				location.href="my_numbers?success="+result[1];
			} else {
				dojo.create("li",{
					innerHTML: "<label></label> <span>"+result[1]+"</span>",
					style: { color: "red"}
				},list);
			}
		}
	});
	
}


