// JavaScript Document
// Disables the enter key for list actions
function disableEnterKey(e) {
     var key;
     if(window.event) {
          key = window.event.keyCode;     //IE
	 } else {
          key = e.which;     //firefox
	 }
     if(key == 13) {
          return false;
	 } else {
          return true;
	 }
}

var xmlHttp;	//xmlHttp holds the ajax object

/*
// Collection List Functions
// These functions control the creation, addition, and deletion of collections on the site.
*/
// Writes form field to create a new collection
function newCollection() {
	$.ajax({
		url: 'mycollections.php',
		data: "action=new",
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Creates a new collection
function createCollection(form) { 
	var listname = form.list_name.value;
	var username = form.username.value;
	if (!listname) {
		jAlert('The <b>Collection Name</b> is required.<br />Please enter a name for your new collection and try again.', 'Collection Creation Error');
	} else {
		$.ajax({
			url: 'mycollections.php',
			data: "action=create&list_name="+listname,
			success: function(data) {
				$('#collectionListActions').html(data);
			}
		});
	}
}
// Edits an existing collection
function editCollection(int) { 
	$.ajax({
		url: 'mycollections.php',
		data: "action=edit&id="+int,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Adds items to an existing collection
function addCollectionItems(form) { 
	var cid = form.cid.value;
	$.ajax({
		url: 'mycollections.php',
		data: "action=addItems&cid="+cid,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Allows user to choose cards or die-cast for items to add to collection
function chooseCollectionType(type,cid) {
	$.ajax({
		url: 'mycollections.php',
		data: "action=addItems&type="+type+"&cid="+cid,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Loads all sets contained in the database
function browseSetCollection(type,cid,sid) { 
	$.ajax({
		url: 'mycollections.php',
		data: "action=addItems&type="+type+"&cid="+cid+"&sid="+sid,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Adds selected items from the item browser to the collection
function addSelectedCollectionItems(form) { 
	var cid = form.cid.value;
	var items = form.elements["item[]"];
	var addItems = new Array();
	for (i=0;i<items.length;i++) {
		if (items[i].checked) {
			addItems[i] = items[i].value;
		}
	}
	$.ajax({
		url: 'mycollections.php',
		data: "action=addSelectedItems&cid="+cid+"&items="+addItems,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Refreshes the list of collections in My Collections
function refreshCollectionList(str) { 
	var rand = Math.random();
	$.ajax({
		url: 'mycollections.php',
		data: "action=mycollections&username="+str+"&rand="+rand,
		success: function(data) {
			$('#collectionLists').html(data);
			$('#collectionListActions').html("");
		}
	});
}
// Initiates a collection deletion
function deleteCollection(int) { 
	var rand = Math.random();
	$.ajax({
		url: 'mycollections.php',
		data: "action=delete&id="+int+"&item_type=collection_list&rand="+rand,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Confirms a collection deletion
function deleteCollectionConfirm(form) { 
	var id = form.id.value;
	$.ajax({
		url: 'mycollections.php',
		data: "action=deleteCollection&id="+id,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Initiates collection items deletion
function deleteCollectionItems(form) {
	var items = form.elements["current_item[]"];
	var delItems = new Array();
	for (i=0;i<items.length;i++) {
		if (items[i].checked == 1) {
			delItems[i] = items[i].value;
		} else {
			delItems[i] = " ";	
		}
	}
	$.ajax({
		url: 'mycollections.php',
		data: "action=delete&item_type=collection_items&items="+delItems,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Confirms collection items deletion
function deleteCollectionItemsConfirm(form) { 
	var items = form.elements["collection_item[]"];
	if (items.length>1) {
		var delItems = new Array();
		for (i=0;i<items.length;i++) {
			delItems[i] = items[i].value;
		}
	} else {
		var delItems = form.elements["collection_item[]"].value;
	}
	$.ajax({
		url: 'mycollections.php',
		data: "action=deleteCollectionItems&items="+delItems,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Adds images to collections
function addCollectionImages(form) { 
	var items = form.elements["current_item[]"];
	if (items.length>1) {
		var curItems = new Array();
		for (i=0;i<items.length;i++) {
			if (items[i].checked == 1) {
				curItems[i] = items[i].value;
			}
		}
	} else {
		var curItems = form.elements["current_item[]"].value;
	}
	$.ajax({
		url: 'mycollections.php',
		data: "action=addCollectionImages&items="+curItems,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Uploads images added to collections
function uploadCollectionImages(int) { 
	var item_id = int;
	$.ajax({
		url: 'mycollections.php',
		data: "action=uploadImages&item_id="+item_id,
		success: function(data) {
			$('#collectionListActions').html(data);
		}
	});
}
// Cancels collection list actions
function cancelCollectionListActions() { 
	$.ajax({
		url: 'mycollections.php',
		data: '',
		success: function(data) {
			$('#collectionListActions').html("");
		}
	});
}

/*
// Trade List Functions
// These functions control the creation, addition, and deletion of trade lists on the site.
*/
// Writes form field to create new trade list
function newTradeList() { 
	$.ajax({
		url: 'tradelists.php',
		data: "action=new",
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}
// Creates a new trade list
function createTradeList(form) { 
	var listname = form.list_name.value;
	var username = form.username.value;
	if (!listname) {
		jAlert('The <b>Trade List Name</b> is required.<br />Please enter a name for your new list and try again.', 'List Creation Error');
	} else {
		$.ajax({
			url: 'tradelists.php',
			data: "action=create&list_name="+listname,
			success: function(data) {
				$('#tradeListActions').html(data);
			}
		});
	}
}
// Adds items to the trade list
function addTradeListItems(form) { 
	var cid = form.cid.value;
	$.ajax({
		url: 'tradelists.php',
		data: "action=addItems&cid="+cid,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}
// Allows user to choose cards or die-cast for items to add to trade list
function chooseTradeType(type,cid) { 
	$.ajax({
		url: 'tradelists.php',
		data: "action=addItems&type="+type+"&cid="+cid,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}

function browseSetTrade(type,cid,sid) { 
	$.ajax({
		url: 'tradelists.php',
		data: "action=addItems&type="+type+"&cid="+cid+"&sid="+sid,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}
// Adds selected items from the item browser to the collection
function addSelectedTradeListItems(form) { 
	var cid = form.cid.value;
	var items = form.elements["item[]"];
	var addItems = new Array();
	for (i=0;i<items.length;i++) {
		if (items[i].checked) {
			addItems[i] = items[i].value;
		}
	}
	$.ajax({
		url: 'tradelists.php',
		data: "action=addSelectedItems&cid="+cid+"&items="+addItems,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}

function addTradeListImages(form) { 
	var items = form.elements["current_item[]"];
	if (items.length>1) {
		var curItems = new Array();
		for (i=0;i<items.length;i++) {
			if (items[i].checked == 1) {
				curItems[i] = items[i].value;
			}
		}
	} else {
		var curItems = form.elements["current_item[]"].value;
	}
	$.ajax({
		url: 'tradelists.php',
		data: "action=addTradeListImages&items="+curItems,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}

function editTradeList(int) { 
	$.ajax({
		url: 'tradelists.php',
		data: "action=edit&id="+int,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}
// Refreshes the list of trade lists in My Lists
function refreshTradeList(str) {
	var rand = Math.random();
	$.ajax({
		url: 'mylists.php',
		data: "action=mytradelists&username="+str+"rand="+rand,
		success: function(data) {
			$('#tradeLists').html(data);
			$('#tradeListActions').html("");
		}
	});
}

function deleteTradeList(int) {
	var rand = Math.random();
	$.ajax({
		url: 'tradelists.php',
		data: "action=delete&id="+int+"&item_type=trade_list&rand="+rand,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}

function deleteTradeListConfirm(form) { 
	var id = form.id.value;
	$.ajax({
		url: 'tradelists.php',
		data: "action=deleteTradeList&id="+id,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}

function deleteTradeListItems(form) {
	var rand = Math.random();
	var items = form.elements["current_item[]"];
	var delItems = new Array();
	for (i=0;i<items.length;i++) {
		if (items[i].checked == 1) {
			delItems[i] = items[i].value;
		} else {
			delItems[i] = " ";	
		}
	}
	$.ajax({
		url: 'tradelists.php',
		data: "action=delete&item_type=trade_list_items&items="+delItems+"&rand="+rand,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}

function deleteTradeListItemsConfirm(form) { 
	var items = form.elements["trade_item[]"];
	if (items.length>1) {
		var delItems = new Array();
		for (i=0;i<items.length;i++) {
			delItems[i] = items[i].value;
		}
	} else {
		var delItems = form.elements["trade_item[]"].value;
	}
	$.ajax({
		url: 'tradelists.php',
		data: "action=deleteTradeListItems&items="+delItems,
		success: function(data) {
			$('#tradeListActions').html(data);
		}
	});
}
// Cancels trade list actions
function cancelTradeListActions() { 
	$.ajax({
		url: 'tradelists.php',
		data: '',
		success: function(data) {
			$('#tradeListActions').html("");
		}
	});
}

/* 
// Want List Functions
// These functions control the creation, addition, and deletion of want lists on the site.
*/
function newWantList() { 
	$.ajax({
		url: 'wantlists.php',
		data: "action=new",
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}

function createWantList(form) { 
	var listname = form.list_name.value;
	var username = form.username.value;
	if (!listname) {
		 jAlert('The <b>Want List Name</b> is required.<br />Please enter a name for your new list and try again.', 'List Creation Error');
	} else {
		$.ajax({
		url: 'wantlists.php',
		data: "action=create&list_name="+listname,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
	}
}

function editWantList(int) { 
	$.ajax({
		url: 'wantlists.php',
		data: "action=edit&id="+int,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}
// Refreshes the list of want lists in My Lists
function refreshWantList(str) {
	var rand = Math.random();
	$.ajax({
		url: 'mylists.php',
		data: "action=mywantlists&username="+str+"rand="+rand,
		success: function(data) {
			$('#wantLists').html(data);
			$('#wantListActions').html("");
		}
	});
}

function deleteWantList(int) { 
	var rand = Math.random();
	$.ajax({
		url: 'wantlists.php',
		data: "action=delete&id="+int+"&item_type=want_list&rand="+rand,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}

function deleteWantListConfirm(form) { 
	var id = form.id.value;
	$.ajax({
		url: 'wantlists.php',
		data: "action=deleteWantList&id="+id,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}

function deleteWantListItems(form) { 
	var items = form.elements["current_item[]"];
	var delItems = new Array();
	for (i=0;i<items.length;i++) {
		if (items[i].checked == 1) {
			delItems[i] = items[i].value;
		} else {
			delItems[i] = " ";	
		}
	}
	$.ajax({
		url: 'wantlists.php',
		data: "action=delete&item_type=want_list_items&items="+delItems,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}

function deleteWantListItemsConfirm(form) { 
	var items = form.elements["want_item[]"];
	if (items.length>1) {
		var delItems = new Array();
		for (i=0;i<items.length;i++) {
			delItems[i] = items[i].value;
		}
	} else {
		var delItems = form.elements["want_item[]"].value;
	}
	$.ajax({
		url: 'wantlists.php',
		data: "action=deleteWantListItems&items="+delItems,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}

function addWantListItems(form) { 
	var cid = form.cid.value;
	$.ajax({
		url: 'wantlists.php',
		data: "action=addItems&cid="+cid,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}

function chooseWantType(type,cid) { 
	$.ajax({
		url: 'wantlists.php',
		data: "action=addItems&type="+type+"&cid="+cid,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}

function browseSetWant(type,cid,sid) { 
	$.ajax({
		url: 'wantlists.php',
		data: "action=addItems&type="+type+"&cid="+cid+"&sid="+sid,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}

function addSelectedWantListItems(form) { 
	var cid = form.cid.value;
	var items = form.elements["item[]"];
	var addItems = new Array();
	for (i=0;i<items.length;i++) {
		if (items[i].checked) {
			addItems[i] = items[i].value;
		}
	}
	$.ajax({
		url: 'wantlists.php',
		data: "action=addSelectedItems&cid="+cid+"&items="+addItems,
		success: function(data) {
			$('#wantListActions').html(data);
		}
	});
}
// Cancels want list actions
function cancelWantListActions() { 
	$.ajax({
		url: 'wantlists.php',
		data: '',
		success: function(data) {
			$('#wantListActions').html("");
		}
	});
}
/* Card Browsing Functions
// These functions control the card browsing functions for the Card Browser page
*/
// Loads available brands based on selected year
function viewBrands(int) {
	var year = int;
	var rand = Math.random();
	$.ajax({
		url: 'viewcards.php',
		data: "action=viewBrands&year="+year+"&rand="+rand,
		success: function(data) {
			$('#viewBrands').html(data);
			$('#viewSets').html('');
			$('#viewCards').html('');
		}
	});
}
// Loads available sets based on selected brand
function viewSets(int,str) {
	var year = int;
	var brand = str;
	var rand = Math.random();
	$.ajax({
		url: 'viewcards.php',
		data: "action=viewSets&year="+year+"&brand="+brand+"&rand="+rand,
		success: function(data) {
			$('#viewSets').html(data);
			$('#viewCards').html('');
		}
	});
}
// Loads available cards based on selected set
function viewCards(int,int2,str) {
	var id = int;
	var year = int2;
	var brand = str;
	var rand = Math.random();
	$.ajax({
		url: 'viewcards.php',
		data: "action=viewCards&id="+id+"&year="+year+"&brand="+brand+"&rand="+rand,
		success: function(data) {
			$('#viewCards').html(data);
		}
	});
}
// Search function for the card browser
function searchCards(str1,str2) {
	var s = str1;
	var q = str2;
	var rand = Math.random();
	$.ajax({
		url: 'viewcards.php',
		data: "action=search&s="+str1+"&q="+str2+"&rand="+rand,
		success: function(data) {
			$('#viewCards').html(data);
		}
	});
}
// Initializes dialog box for card information display
function displayInfo(x,z) {
	displayItemInfo(x,z);
	$('#cardInfo').dialog( "option", "width", 500 );
	$('#cardInfo').dialog( "option", "height", 350 );
	$('#cardInfo').dialog( "option", "resizable", false );
	$('#cardInfo').dialog('open');
}
// Displays information about the card in a dialog box
function displayItemInfo(int,str) {
	var id = int;
	var type = str;
	var rand = Math.random();
	if (type=="card") {
		$.ajax({
			url: 'viewcards.php',
			data: "action=viewCardInfo&id="+id+"&rand="+rand,
			success: function(data) {
				$('#cardInfo').html(data);
			}
		});
	} else {
		if (type=="diecast") {
			$.ajax({
				url: 'viewcards.php',
				data: "action=viewCardInfo&id="+id+"&rand="+rand,
				success: function(data) {
					$('#cardInfo').html(data);
				}
			});
		} else {
			var url="";	
		}
	}
}
// Select/deselect all check boxes when adding items.
function SetAllCheckBoxes(FormName, FieldName, CheckValue)
{
	if(!document.forms[FormName])
		return;
	var objCheckBoxes = document.forms[FormName].elements[FieldName];
	if(!objCheckBoxes)
		return;
	var countCheckBoxes = objCheckBoxes.length;
	if(!countCheckBoxes)
		objCheckBoxes.checked = CheckValue;
	else
		// set the check value for all check boxes
		for(var i = 0; i < countCheckBoxes; i++)
			objCheckBoxes[i].checked = CheckValue;
}
// Hover style for list/collection buttons
function goLite(button) {
	button.style.color = "#CC0000";
}
// Hover off style for list/collection buttons
function goDim(button) {
	button.style.color = "";
}
