// JavaScript Document


function sendReq(action) {
	$.ajax({
		type: "GET",
		url: 'dyn.php',
		data: "action="+action,
		success: handleResponseA
	});
}

function sendReqA(sendUrl, action) {
	$.ajax({
		type: "GET",
		url: sendUrl,
		data: "action="+action,
		success: handleResponseA
	});
}

function sendReqX(sendUrl, sendData) {
	$.ajax({
		type: "GET",
		url: sendUrl,
		data: sendData,
		success: handleResponseA
	});
}


function handleResponseA(response) {
	var update = new Array();
	if (response.indexOf('~') != -1) {
		update = response.split('~');
		var num = 0;
		while (num < update.length) {
			if (update[num] == "*addrow") {
				var tds = new Array();
				tds = update[num+1].split('|');
				cn_addrow(tds);
			} else if (update[num] == "*delrow") {
			} else if (update[num] == "*clearrows") {
				cn_clearrows(update[num+1]);
			} else if (update[num] == "*hideid") {
				document.getElementById(update[num+1]).style.display = 'none';
			} else if (update[num] == "*showid") {
				document.getElementById(update[num+1]).style.display = '';
			} else if (update[num] == "*alert") {
				alert(update[num+1]);
			} else if (update[num] == "*redir") {
				document.location = update[num+1];
			} else if (update[num] == "*formtext") {
				document.getElementById(update[num+1]).value = update[num+2];
				num += 1;
			} else {
				document.getElementById(update[num]).innerHTML = update[num+1];
			}
			num += 2;
		}
	}
}

var Util = {
	ParseTimespan: function(t, u) {
		var p = t.trim();
		var r = new RegExp("(\\d*\\.?\\d*)\\s*(\\d*\\/\\d*)?\\s*(week|month|year)?");
		var m = r.exec(p);
		if (m != null) {
			var d = parseFloat(m[1]);
			if (m[2] != null) d += parseFloat(eval(m[2]));
			if (u != null) m[3] = u;
			if (m[3] == 'week') {
				d *= 7;
			} else if (m[3] == 'month') {
				d *= 365.0/12.0;
			} else if (m[3] == 'year') {
				d *= 365;
			}
			return d;
		}
		return null;
	},
	AgeToBday : function(d) {
		var dash = d.indexOf('-');
		var today = new Date();
		if (dash >= 0) {
			var parts = d.split('-');
			var t2 = Util.ParseTimespan(parts[1]);
			var r = new RegExp(".*(week|month|year).*");
			var m2 = r.exec(parts[1]);
			var m1 = r.exec(parts[0]);
			var pass = null;
			if (m1 == null && m2 != null) pass = m2[1];
			var t1 = Util.ParseTimespan(parts[0], pass);
			today.setDate(today.getDate() - (t1+t2)/2);
		} else {
			var t = Util.ParseTimespan(d);
			var today = new Date();
			today.setDate(today.getDate() - t);
		}
		return today;
	},
	StatusToText : function(d) {
		var text = "Unknown";
		switch (d) {
			case "1":
			text =  "Available";
			break;
			case "2":
			text = "Adopted";
			break;
			case "4":
			text = "Euthanized";
			break;
			case "8":
			text = "Reclaimed";
			break;
			case "128":
			text = "Other";
			break;
		}
		return text;
	},
	TypeToText : function(d) {
		var text = "Unknown";
		switch (d) {
			case "1":
			text = "Dog";
			break;
			case "2":
			text = "Cat";
			break;
			case "4":
			text = "Rabbit";
			break;
			case "8":
			text = "Bird";
			break;
			case "128":
			text = "Other";
			break;
		}
		return text;
	},

	CompatToBool : function(str, control) {
		// Unknown?  Compatible.
		var value = true;
		if (str == "") {
			value = true;
//			console.log("Empty");
		} else if (str.search(/yes/i) >= 0) {
			value = true;
//			console.log("yes");
		} else if (str.search(/kill/i) >= 0) {
			value = false;
//			console.log("kill");
		} else if (str.search(/adjust/i) >= 0) {
			value = true;
//			console.log("adjust");
		} else if (str.search(/probably not/i) >= 0) {
			value = false;
//			console.log("prob not");
		} else if (str.search(/probably/i) >= 0) {
			value = true;
//			console.log("probably");
		} else if (str.search(/possibly/i) >= 0) {
			value = true;
//			console.log("possibly");
		} else if (str.search(/okay/i) >= 0) {
			value = true;
//			console.log("okay");
		} else if (str.search(/maybe/i) >= 0) {
			value = true;
//			console.log("maybe");
		} else if (str.search(/any age/i) >= 0) {
			value = true;
//			console.log("any age");
		} else if (str.search(/over \d+ years/i) >= 0) {
			value = true;
//			console.log("over n years");
		} else if (str.search(/has lived with/i) >= 0) {
			value = true;
//			console.log("has lived with");
		} else if (str.search("No") >= 0) {
			value = false;
//			console.log("no");
		} else {
//			console.log("NO CLUE");
		}

		$(control).checked = value;
	}

}

