function editCategory(cat_name, cat_desc) {

	if (!cat_name || !cat_desc) {
		return;
	}

	var cn = document.getElementById(cat_name);
	var cd = document.getElementById(cat_desc);

	if (cn.readOnly == true) {
		cn.parentNode.parentNode.style.background = '#BDDCFF';
		cn.readOnly = false;
		cd.readOnly = false;
	} else {
		cn.parentNode.parentNode.style.background = '';
		cn.readOnly = true;
		cd.readOnly = true;
	}
}

function createXHR() {
  if (typeof XMLHttpRequest != "undefined") {
    return new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    var versions = [ "MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0" ];

    for (var i = 0; i < versions.length; i++) {
      try {
         var xhr = new ActiveXObject(versions[i]);
         return xhr;
      } catch (e) {
        //ahhh :(
        alert('Could not create an XMLHttp ActiveX object.  Your browser is old or screwed up.');
      }
    }
  }
  throw new Error("XMLHttp object failed creation.");
}

function addCategory() {
	var ajax = createXHR();
	var query = "ajax/ajax-category.php";

	var name = document.getElementById("new_category_name").value;
	var desc = document.getElementById("new_category_description").value;
	query += "?action=add&cat_name=" + escape(name) + "&cat_description=" + escape(desc);
	ajax.open("GET",query, true);

	ajax.onreadystatechange = function () {

		if (ajax.readyState == 4) {
			if (ajax.status == 200 || ajax.status == 304) {
				var cid = Number(ajax.responseText);
				if (typeof(cid) == "number") {
					insertCategory(cid, name, desc);
				}
			}
		}
	}
	ajax.send(null);

}

function addCoupon() {
	var ajax = createXHR();
	var query = "ajax/ajax-coupon.php";

	var fields = ["new_coupon_name", "new_coupon_description", "new_coupon_code", "new_coupon_url",
				  "new_coupon_icon", "new_coupon_expires"];

	query += "?action=add";			  
	for (var i = 0; i < fields.length; i++) {
		var v = document.getElementById(fields[i]).value;
		if (v != null || trim(v) != "") {
			query += "&" + fields[i] + "=" + escape(v);
		}
	}

	ajax.open("GET",query, true);

	ajax.onreadystatechange = function () {

		if (ajax.readyState == 4) {
			if (ajax.status == 200 || ajax.status == 304) {
				var cid = Number(ajax.responseText);
				if (typeof(cid) == "number") {
					insertCouponRow(cid);
				}
			}
		}
	}
	ajax.send(null);

}

function insertCouponRow(id) {

	var fields = ["new_coupon_name", "new_coupon_description", "new_coupon_code", "new_coupon_url",
				  "new_coupon_icon", "new_coupon_created", "new_coupon_expires"];

	var table = document.getElementById("coupon");
	var new_row = table.tBodies[0].insertRow(table.tBodies[0].rows.length);
	new_row.id = 'coupon' + id;		
	
	for (var i = 0; i < fields.length; i++) {
		var v = document.getElementById(fields[i]).value;
		
		var new_cell = new_row.insertCell(i);
		new_cell.id = "coupon_" + fields[i] + "_" + id;
		new_cell.innerHTML = v;		
	}	
	var new_cell = new_row.insertCell(fields.length);
	new_cell.innerHTML = "<a href=\"#\" onClick=\"editCategory('cat_description_" + id + "', 'cat_name_" + id + "');return false;\">Edit</a> <a href=\"#\" onClick=\"deleteCategory(" + id + ");return false;\">delete</a>";	
	
}

function deleteCategory(id) {
	var ajax = createXHR();
	var query = "ajax/ajax-category.php";

	var name = document.getElementById("new_category_name").value;
	var desc = document.getElementById("new_category_description").value;
	query += "?action=delete&cid=" + id;
	ajax.open("GET",query, true);

	ajax.onreadystatechange = function () {

		if (ajax.readyState == 4) {
			if (ajax.status == 200 || ajax.status == 304) {
				var result = ajax.responseText;
				if (result == "success") {
					removeTableRow('category', 'cat_' + id);
				}
			}
		}
	}
	ajax.send(null);
}


function removeTableRow(table_id, row_id) {
	var table = document.getElementById(table_id);
	var row = document.getElementById(row_id);
	if(table != "undefined" && row != "undefined") {
		var row_index = row.sectionRowIndex;
		row.parentNode.deleteRow(row_index);
		return true;
	}
	return false;
}

function insertCategory(id, cat_name, cat_desc) {

	var tbl = document.getElementById('category');
	var new_row;
	new_row = tbl.tBodies[0].insertRow(tbl.tBodies[0].rows.length);
	new_row.id = 'cat_' + id;
	var newCell = new_row.insertCell(0);
	newCell.id = "cat_name_" + id;
	newCell.innerHTML = cat_name;
	var newCell1 = new_row.insertCell(1);
	newCell.id = "cat_description_" + id;
	newCell1.innerHTML = cat_desc;
	var newCell2 = new_row.insertCell(2);
	newCell2.innerHTML = "<a href=\"#\" onClick=\"editCategory('cat_description_" + id + "', 'cat_name_" + id + "');return false;\">Edit</a> <a href=\"#\" onClick=\"deleteCategory(" + id + ");return false;\">delete</a>";

}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}