function trySubmit(src) {
	src.form.submitter.value = src.name;
	src.form.submit();
}

function chooseModel(model) {
	var models = opener.document.getElementById("model");
	models.value = model;
	models.form.submitter.value = "model";
	models.form.submit();
	window.close();
}

function showPhoneModels(subscriptionType, vendor, lang) {
	var url = "phoneImages.form?subscriptionType=" + subscriptionType + "&vendor=" + vendor + "&lang=" + lang;
	var width = "800";
	var height = "500";
	var features = "width=" + width + ",height=" + height + ",scrollbars=yes";
	window.open(url, "showPhoneModels", features).focus();
}

function validate(form) {
	var errors = new Array();

	if (form.countryCode) {
		var countryCode = form.countryCode.value;
		if (!/^\d+$/.test(countryCode)) errors.push(messages["countryCode"]);
	}
	if (form.phonePrefix) {
		var phonePrefix = form.phonePrefix.value;
		if (phonePrefix == "-1") errors.push(messages["phonePrefix"]);
	}
	if (form.phoneNumber) {
		var phoneNumber = form.phoneNumber.value;
		if (!phoneRegExp.test(phoneNumber)) errors.push(messages["phoneNumber"]);
	}
	if (form.enteredPin) {
		var enteredPin = form.enteredPin.value;
		if (!/^\d{4}$/.test(enteredPin)) errors.push(messages["enteredPin"]);
	}
	if (form.emailName) {
		var emailName = form.emailName.value;
		if (emailName == "") errors.push(messages["emailName"]);
	}
	if (form.emailAddress) {
		var emailAddress = form.emailAddress.value;
		if (!/^.+(\..*)*@(.*\.)+.+$/.test(emailAddress)) errors.push(messages["emailAddress"]);
	}
	if (form.emailUsername) {
		var emailUsername = form.emailUsername.value;
		if (emailUsername == "") errors.push(messages["emailUsername"]);
	}
	if (form.emailPassword) {
		var emailPassword = form.emailPassword.value;
		if (emailPassword == "") errors.push(messages["emailPassword"]);
	}
	if (form.emailHost) {
		var emailHost = form.emailHost.value;
		if (!/^.+(\..*)+$/.test(emailHost)) errors.push(messages["emailHost"]);
	}
	if (form.bookmarkName) {
		var bookmarkName = form.bookmarkName.value;
		if (bookmarkName == "") errors.push(messages["bookmarkName"]);
	}
	if (form.bookmarkUrl) {
		var bookmarkUrl = form.bookmarkUrl.value;
		if (!/^https?:\/\//.test(bookmarkUrl)) errors.push(messages["bookmarkUrl"]);
	}
	/*
	if (form.iapUsername) {
		var iapUsername = form.iapUsername.value;
		if (iapUsername == "") errors.push(messages["iapUsername"]);
	}
	if (form.iapPassword) {
		var iapPassword = form.iapPassword.value;
		if (iapPassword == "") errors.push(messages["iapPassword"]);
	}
	*/

	if (errors.length > 0) {
		alert(errors.join("\n"));
		return false;
	} else {
		return true;
	}
}

function goBack(form, targetPage) {
	form.isBack.value = "true";
	document.getElementById("targetPage").name = "_target" + targetPage;
	document.getElementById("targetPage").value = "dummy";
	form.submit();
}

function submitForm(form, submitter, isFinish) {
	if (validate(form)) {
		form.submitter.value = submitter;
		if (isFinish) {
			document.getElementById("targetPage").name = "_finish";
			document.getElementById("targetPage").value = "dummy";
		}
		form.submit();
	}
}

function adjustPhoneNumberWidth() {
	var w = document.getElementById("prefixDiv").offsetWidth;
	var fudge = document.all ? 3 : 0;
	document.getElementById("phoneNumber").style.width = (195 - w - fudge) + "px";
}

function enterPressed(evt) {
	evt = (evt) ? evt : event;
	var key = evt.keyCode;
	if (key == 13) {
		document.getElementById("sendButton").click();
	}
}

