var Class = {
  	create: function() {
    	return function() {
      		this.initialize.apply(this, arguments);
    	}
	}
}

function confirmbuy() {
	var confirm = document.getElementById('confirm');

	document.getElementById('form').style.display = 'none';

	var buyer = document.getElementById('buyer').value;
	if (buyer.substr(0,1) == 'c') buyer = 'yourself';
	else buyer = 'your faction';

	var form = 'Do you really want to buy this listing for '+buyer+'? ';
	form += '<input type=\"submit\" name=\"buy\" value=\" Yes \" /> | <input type=\"button\" name=\"no\" value=\" No \" onclick=\"showOptions();\" />';
	confirm.innerHTML = form;

	confirm.style.display = '';
}

function confirmbuy2() {
	var confirm = document.getElementById('confirm');

	document.getElementById('form').style.display = 'none';
	var form = '';

	var amount = document.getElementById('amount').value;
	amount = Math.round(amount);
	document.getElementById('amount').value = amount;
	if (amount < 1) {
		form = '<span style="border: 1px solid #f00; padding: 5px; background-color: #a00;"><b>Error:</b> You cannot buy less than 1!</span>';
		form += ' | <input type=\"button\" name=\"no\" value=\" No \" onclick=\"showOptions();\" />';
	} else if (amount > document.getElementById('maxamount').value) {
		form = '<span style="border: 1px solid #f00; padding: 5px; background-color: #a00;"><b>Error:</b> You cannot buy more than the maximum stock value!</span>';
		form += ' | <input type=\"button\" name=\"no\" value=\" No \" onclick=\"showOptions();\" />';
	} else {

		var buyer = document.getElementById('buyer').value;
		if (buyer.substr(0,1) == 'c') buyer = 'yourself';
		else buyer = 'your faction';

		form = 'Do you really want to buy this listing '+amount+' time(s) for '+buyer+'? ';
		form += '<input type=\"submit\" name=\"buy\" value=\" Yes \" /> | <input type=\"button\" name=\"no\" value=\" No \" onclick=\"showOptions();\" />';
	}
	confirm.innerHTML = form;

	confirm.style.display = '';
}

function confirmDelete() {
	var confirm = document.getElementById('confirm');

	document.getElementById('form').style.display = 'none';

	/*var buyer = document.getElementById('buyer').value;
	if (buyer.substr(0,1) == 'c') buyer = 'yourself';
	else buyer = 'your faction';*/

	var form = 'Enter Reason: <input type=\"text\" name=\"reason\" size=\"50\" value=\"\" /> | <input type=\"submit\" name=\"delete\" value=\" Confirm \" /> | <input type=\"button\" name=\"no\" value=\" No \" onclick=\"showOptions();\" />';
	//var form = 'Do you really want to delete this listing? ';
	//form += '<input type=\"submit\" name=\"delete\" value=\" Yes \" /> | <input type=\"button\" name=\"no\" value=\" No \" onclick=\"showOptions();\" />';
	confirm.innerHTML = form;

	confirm.style.display = '';
}

function confirmOffer() {
	var confirm = document.getElementById('confirm');

	document.getElementById('form').style.display = 'none';

	var buyer = document.getElementById('buyer').value;
	if (buyer.substr(0,1) == 'c') buyer = 'yourself';
	else buyer = 'your faction';

	var offer = document.getElementById('offer').value;
	var form = 'Do you really want to place an offer of '+offer+' credits for '+buyer+'? ';
	form += '<input type=\"submit\" name=\"placeoffer\" value=\" Yes \" /> | <input type=\"button\" name=\"no\" value=\" No \" onclick=\"showOptions();\" />';
	form += '<input type=\"hidden\" name=\"myoffer\" value=\"'+offer+'\" />';
	confirm.innerHTML = form;

	confirm.style.display = '';
}

function confirmUndelete() {
	var confirm = document.getElementById('confirm');

	document.getElementById('form').style.display = 'none';

	var form = 'Do you really want to undelete this listing? ';
	form += '<input type=\"submit\" name=\"undelete\" value=\" Yes \" /> | <input type=\"button\" name=\"no\" value=\" No \" onclick=\"showOptions();\" />';
	confirm.innerHTML = form;
	confirm.style.display = '';
}

function confirmBid() {
	var confirm = document.getElementById('confirm');

	document.getElementById('form').style.display = 'none';

	var buyer = document.getElementById('buyer').value;
	if (buyer.substr(0,1) == 'c') buyer = 'yourself';
	else buyer = 'your faction';

	var offer = document.getElementById('bid').value;
	var form = 'Do you really want to place a bid of '+offer+' credits for '+buyer+'? ';
	form += '<input type=\"submit\" name=\"bid\" value=\" Yes \" /> | <input type=\"button\" name=\"no\" value=\" No \" onclick=\"showOptions();\" />';
	form += '<input type=\"hidden\" name=\"mybid\" value=\"'+offer+'\" />';
	confirm.innerHTML = form;

	confirm.style.display = '';
}

function showOptions() {
	document.getElementById('confirm').innerHTML = '';
	document.getElementById('confirm').style.display = 'none';
	document.getElementById('form').style.display = '';
}

function updateDescription(lid) {
	//document.getElementById('description').style.display = 'none';
	var form = "<hr />\n";
	form += "<form method=\"post\" action=\"details.php?lid="+lid+"\" style=\"padding: 0px; margin: 0px;\">\n";
	form += "<textarea name=\"new_desc\" rows=\"10\" cols=\"92\">";
	form += "</textarea>\n";
	form += "<input type=\"button\" value=\" Cancel \" onclick=\"showDesc();\" /> | <input type=\"submit\" name=\"update\" value=\" Update \" />\n";
	form += "</form>\n";
	document.getElementById('desc_update').innerHTML = form;
	document.getElementById('desc_update').style.display = '';
}

function showDesc() {
	//document.getElementById('description').style.display = '';
	document.getElementById('desc_update').style.display = 'none';
}

var change_ltypeClass = Class.create();
change_ltypeClass.prototype={
	initialize:function() {},
	stage1:function() {
		var ltype = document.getElementById('input_ltype').value;
		var form = '<select id=\"select_ltype\" onchange=\"change_ltype.stage2();\"><option value=\"1\"';
		if (ltype == 1) form += ' selected=\"selected\"';
		form += '>Sale</option><option value=\"2\"';
		if (ltype == 2) form += ' selected=\"selected\"';
		form += '>Auction</option><option value=\"3\"';
		if (ltype == 3) form += ' selected=\"selected\"';
		form += '>Silent Auction</option>';
		if (document.getElementById('faction').value != 0) {
			form += '<option value=\"4\"';
			if (ltype == 4) form += ' selected=\"selected\"';
			form += '>Production (faction only)</option>';
		}
		form += '</select>';

		document.getElementById('ltype').innerHTML = form;
	},
	stage2:function() {
		var ltype = document.getElementById('select_ltype').value;

		var form = '<img id=\"image_ltype\" src=\"http://images.centrepointstation.com/market/';
		if (ltype == 1) { form += 'sale';}
		else if (ltype == 2) { form += 'auction';}
		else if (ltype == 3) { form += 'silent_auction';}
		else if (ltype == 4) { form += 'production';}
		form += '.gif\" onclick=\"change_ltype.stage1();\" style=\"cursor: pointer;\" />';
		//form += '<input type=\"hidden\" name=\"ltype\" id=\"input_ltype\" value=\"'+ltype+'\" />';

		document.getElementById('ltype').innerHTML = form;
		document.getElementById('input_ltype').value = ltype;

		if (ltype == 2) {
			document.getElementById('tr_mininc').style.display = '';
			document.getElementById('tr_time').style.display = '';
			document.getElementById('tr_repetitions').style.display = 'none';
			document.getElementById('option_personal_account').style.display = '';
		} else if (ltype == 3) {
			document.getElementById('tr_mininc').style.display = 'none';
			document.getElementById('tr_time').style.display = '';
			document.getElementById('option_personal_account').style.display = 'none';
			document.getElementById('tr_repetitions').style.display = 'none';
		} else if (ltype == 4) {
			document.getElementById('tr_mininc').style.display = 'none';
			document.getElementById('tr_time').style.display = 'none';
			document.getElementById('tr_repetitions').style.display = '';
			document.getElementById('option_personal_account').style.display = 'none';
			document.getElementById('option_faction_account').selected = 'selected';
		} else {
			document.getElementById('tr_mininc').style.display = 'none';
			document.getElementById('tr_time').style.display = 'none';
			document.getElementById('tr_repetitions').style.display = 'none';
			document.getElementById('option_personal_account').style.display = '';
		}
		check_snipe();

	}
}
var change_ltype = new change_ltypeClass();

var delFeedbackClass = Class.create();
delFeedbackClass.prototype={
	initialize:function() {},
	stage1:function(fid) {
		var form = 'Delete feedback? | <input type="button" value=" Delete " onclick="javascript:delFeedback.stage2('+fid+');" /> | <input type="button" value=" Cancel " onclick="javascript:delFeedback.stage3('+fid+');" />';
		document.getElementById('foption_'+fid+'_td').innerHTML = form;
		document.getElementById('foption_'+fid).style.display = '';
	},
	stage2:function(fid) {
		document.getElementById('foption_'+fid).style.display = 'none';
		document.getElementById('foption_'+fid+'_td').innerHTML = '';
		xajax_delFeedback(fid);
	},
	stage3:function(fid) {
		document.getElementById('foption_'+fid).style.display = 'none';
		document.getElementById('foption_'+fid+'_td').innerHTML = '';
	}
}
var delFeedback = new delFeedbackClass();

function remove_entity(entityType, entity) {
	var eprice = document.getElementById('price_'+entityType+'_'+entity).value;
	var totprice = document.getElementById('span_listing_price').innerHTML;
	xajax_remove_entity(entityType, entity, totprice, eprice);
}

function select_antisnipe() {
	var value = document.getElementById('input_antisnipe').value;

	if (value == 1) {
		document.getElementById('image_antisnipe').src = 'http://images.centrepointstation.com/market/snipe.png';
		document.getElementById('input_antisnipe').value = 0;
	} else {
		document.getElementById('image_antisnipe').src = 'http://images.centrepointstation.com/market/nosnipe.png';
		document.getElementById('input_antisnipe').value = 1;
	}
}


function select_ltype() {

	xajax_select_ltype();
}

function check_snipe() {
	var ltype = document.getElementById('input_ltype').value;

	if (ltype == 2) {
		document.getElementById('antisnipe').style.display = '';
	} else {
		document.getElementById('antisnipe').style.display = 'none';
	}
}

function change_entityType() {
	var entityType = document.getElementById('etype').value;
	document.getElementById('td_type').innerHTML = '<img src="http://images.centrepointstation.com/market/ajax-loader.gif" />';
	xajax_getTypes(entityType);

	document.getElementById('tr_quantity').style.display = '';
	document.getElementById('tr_price1').style.display = '';
	document.getElementById('tr_button').style.display = '';
}

function add_entity() {
	//document.getElementById('preview').style.display = '';
	//document.getElementById('button_addentity').setAttribute("disabled", "true", 0);
	//document.getElementById('button_addentity').style.background = '#f00';
	
	var entityType = document.getElementById('etype').value;
	var type = document.getElementById('type').value;
	var quantity = document.getElementById('quantity').value;
	if (quantity <= 0) quantity = 1;
	var price = document.getElementById('price1').value;
	var totprice = document.getElementById('span_listing_price').innerHTML;

	xajax_add_entity(entityType, type, quantity, price, totprice);
	//document.getElementById('button_addentity').style.background = '#000';
	//document.getElementById('button_addentity').removeAttribute("disabled", 0);
	//document.getElementById('button_addentity').disabled = '';
}

function userStats(uid, handle) {
	if (document.getElementById('user_'+uid) == undefined) {
		document.getElementById('data').innerHTML += '<div id="user_'+uid+'"></div>';
	}
	if (document.getElementById('user_'+uid).innerHTML == "") {
		overlib('<div id="overlib_'+uid+'"><img src="http://images.centrepointstation.com/market/ajax-loader.gif" />&nbsp;&nbsp;loading ...</div>', CAPTION, handle, STICKY);
		xajax_getOverlib(uid);
		setTimeout("document.getElementById('overlib_"+uid+"').innerHTML = document.getElementById('user_"+uid+"').innerHTML", 4000);
	} else {
		return overlib(document.getElementById('user_'+uid).innerHTML, CAPTION, handle, STICKY)
	}
}

function entityData(entityType, entity, name) {
	if (document.getElementById('entity_'+entityType+'_'+entity) == undefined) {
		document.getElementById('data').innerHTML += '<div id="entity_'+entityType+'_'+entity+'"></div>';
	}
	if (document.getElementById('entity_'+entityType+'_'+entity).innerHTML == "") {
		overlib('<div id="stats_'+entityType+"_"+entity+'"><img src="http://images.centrepointstation.com/market/ajax-loader.gif" />&nbsp;&nbsp;loading ...</div>', CAPTION, 'Entity Data for '+name, STICKY);
		xajax_getEntityStats(entityType, entity);
		setTimeout("document.getElementById('stats_"+entityType+"_"+entity+"').innerHTML = document.getElementById('entity_"+entityType+"_"+entity+"').innerHTML", 700);
	} else {
		return overlib(document.getElementById('entity_'+entityType+'_'+entity).innerHTML, CAPTION, 'Entity Data for '+name, STICKY);
	}
}

var deleteBidClass = Class.create();
deleteBidClass.prototype={
	initialize:function(bid) {},
	stage1:function(bid) {
		document.getElementById('bid_'+bid+'_functions').innerHTML = 'asdf';
		
		/*var ltype = document.getElementById('input_ltype').value;
		var form = '<select id=\"select_ltype\" onchange=\"change_ltype.stage2();\"><option value=\"1\"';
		if (ltype == 1) form += ' selected=\"selected\"';
		form += '>Sale</option><option value=\"2\"';
		if (ltype == 2) form += ' selected=\"selected\"';
		form += '>Auction</option><option value=\"3\"';
		if (ltype == 3) form += ' selected=\"selected\"';
		form += '>Silent Auction</option>';
		if (document.getElementById('faction').value != 0) {
			form += '<option value=\"4\"';
			if (ltype == 4) form += ' selected=\"selected\"';
			form += '>Production (faction only)</option>';
		}
		form += '</select>';

		document.getElementById('ltype').innerHTML = form;*/
	},
	stage2:function() {
		var ltype = document.getElementById('select_ltype').value;

		var form = '<img id=\"image_ltype\" src=\"http://images.centrepointstation.com/market/';
		if (ltype == 1) { form += 'sale';}
		else if (ltype == 2) { form += 'auction';}
		else if (ltype == 3) { form += 'silent_auction';}
		else if (ltype == 4) { form += 'production';}
		form += '.gif\" onclick=\"change_ltype.stage1();\" style=\"cursor: pointer;\" />';
		//form += '<input type=\"hidden\" name=\"ltype\" id=\"input_ltype\" value=\"'+ltype+'\" />';

		document.getElementById('ltype').innerHTML = form;
		document.getElementById('input_ltype').value = ltype;

		if (ltype == 2) {
			document.getElementById('tr_mininc').style.display = '';
			document.getElementById('tr_time').style.display = '';
			document.getElementById('tr_repetitions').style.display = 'none';
			document.getElementById('option_personal_account').style.display = '';
		} else if (ltype == 3) {
			document.getElementById('tr_mininc').style.display = 'none';
			document.getElementById('tr_time').style.display = '';
			document.getElementById('option_personal_account').style.display = '';
			document.getElementById('tr_repetitions').style.display = 'none';
		} else if (ltype == 4) {
			document.getElementById('tr_mininc').style.display = 'none';
			document.getElementById('tr_time').style.display = 'none';
			document.getElementById('tr_repetitions').style.display = '';
			document.getElementById('option_personal_account').style.display = 'none';
			document.getElementById('option_faction_account').selected = 'selected';
		} else {
			document.getElementById('tr_mininc').style.display = 'none';
			document.getElementById('tr_time').style.display = 'none';
			document.getElementById('tr_repetitions').style.display = 'none';
			document.getElementById('option_personal_account').style.display = '';
		}
		check_snipe();

	}
}
var deleteBid = new deleteBidClass();

function renewSubscription(subID) {
	genToggle('subscription_'+subID);
	//xajax_loadRenewSubscription(subID);
}

function changeAdminOption(lid) {
	var option = document.getElementById('adminOption').value;

	document.getElementById('adminOptionData').style.display = 'none';

	switch (option) {
		case 'events':
			xajax_showListingEvents(lid);
			break;
		case 'watchlist':
			xajax_showListingWatchlist(lid);
			break;
		default:
			document.getElementById('adminOptionData').innerHTML = '';
			break;
	}
	document.getElementById('adminOptionData').style.display = '';
}