// Found on edit.php, if an ID is present.
function deleteEntry() {
	if (confirm("<?php echo $lang['DELETE_CONFIRM'] ?>")) {
		window.location.href = '<?php echo(FILE_SAVE); ?>?id=<?php echo($id); ?>&mode=delete';
	}
}

// Was on edit.php regardless, now is only when editing.
function deleteAddress(x) {
	document.getElementsByName('address_type_'+x).item(0).value = '';
	document.getElementsByName('address_line1_'+x).item(0).value = '';
	document.getElementsByName('address_line2_'+x).item(0).value = '';
	document.getElementsByName('address_city_'+x).item(0).value = '';
	document.getElementsByName('address_state_'+x).item(0).value = '';
	document.getElementsByName('address_zip_'+x).item(0).value = '';
	document.getElementsByName('address_phone1_'+x).item(0).value = '';
	document.getElementsByName('address_phone2_'+x).item(0).value = '';
	document.getElementsByName('address_country_'+x).item(0).value = '';
}

// Saving an entry, la la la.  I dislike other-page verification.
function saveEntry() {
	var btn = document.getElementById("submitbtn");
	if (btn) { btn.blur(); }

	// Set things.
	var doSend = false;
	if (window.location.href.indexOf("edit.php") > -1) {
		thePage = "e";
	} else {
		thePage = "s";
	}

// ** NAME **
	if (document.getElementsByName('lastname')[0].value == "") {
		alert("Please enter a last name.");
		return false;
	}

// ** METHOD OF CONTACT **
	if (thePage == 's') {
		if (document.getElementsByName('address_line1_1')[0].value == '' &&
		    document.getElementsByName('address_line1_2')[0].value == '') {
			hasAddy = false;
		} else {
			hasAddy = true;
		}
	} else {
// Total hack job here.
		if (document.getElementsByName('address_line1_0')[0].value == '' &&
		    document.getElementsByName('address_line1_1')[0].value == '') {
			hasAddy = false;
		} else {
			hasAddy = true;
		}
	}

	if (document.getElementsByName('online')[1].checked == true &&
	    document.getElementsByName('phone')[1].checked == true &&
	    hasAddy == false) {
		alert("Please complete at least one method of contact.");
		document.getElementsByName('phone')[0].focus();
		return false;
	}

// ** EMAIL 1 **
	var fldEmail = document.getElementsByName('pfp_email')[0];
	var fldEmltxt = fldEmail.value;
	if (fldEmltxt.length < 5) {
		alert("Please enter an email address.");
		return false;
	}

// ** EMAIL 2 **
	fldEmail = fldEmail.value.split("\n");
	hasEmail = false;
	for (var x = 0; x < fldEmail.length; x++) {
		if (fldEmail[x].length > 0) {
			doSend = validateEmail(fldEmail[x]);
			if (!doSend) {
				alert("At least one of the email addresses is invalid.");
				return false;
			}
			hasEmail = true;
		}
	}
	if (hasEmail == false) {
		alert("Please enter an email address.");
		return false;
	}

// ** GROUPS **

// Cycle through existing groups and see if at least one is checked.
	doSend = false;
	var groupz = document.getElementsByName('groups[]');
	for (var x = 0; x < groupz.length; x++) {
		if (groupz[x].checked == true) { doSend = true; break; }
	}

// Check the add-new boxen.
	var newGroup = document.getElementsByName('groupAddName')[0].value;
	if (document.getElementsByName('groupAddNew')[0].checked == true && newGroup != "") {
		doSend = true;
	}
	if (doSend == false) {
		alert("Please select a group.");
		return false;
	}

// ** reCAPTCHA **
	if (thePage == "s") {
		var reCap = document.getElementById("recaptcha_response_field").value;
		if (reCap.length < 3) {
			alert("Please complete the reCAPTCHA box.");
			return false;
		}
	}

// Send!
	if (thePage == "s") {
		var testing = confirm("Only click OK if you are satisfied with your listing.");
		if (testing) {
			document.newListing.submit();
		}
	} else {
		var testing = confirm("Only click OK if you are satisfied with this listing.");
		if (testing) {
			document.editEntry.submit();
		}
	}
}


// For validating email.
function validateEmail(str) {
	str = str.split("|")[0]; // For the |Description thing.

	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var lstr = str.length;
	var ldot = str.indexOf(dot);
	var patt = /[a-z0-9._+@-]/gi;
	var cat = str.split(at);

// Invalid characters.
	for (var x = 0; x < str.length; x++) {
		if (str.substr(x, 1).match(patt) == null) {
			return false;
		}
	}

// If there's no @, or it's at the beginning or end, or there're too many @s.
	if (cat.length != 2 || lat <= 0 || lat >= lstr - 2) {
		return false;
	}

// If the . isn't there, or is at the very beginning or end.
	if (ldot <= 0 || ldot == lstr - 1) {
		return false;
	}

// If there's no . after @.
	if (ldot > 0 && lat > 0 && str.indexOf(dot, lat + 1) == -1) {
		return false;
	}

	return true;
}


// Setting the language via dropdown (found in footer.php).
function checkLang() {
  var newLang = document.getElementById("langsel").value;
  document.cookie = "pfplang=" + escape(newLang) + ";expires=365";
  window.location.href = window.location.href;
}
