var admin = {
	
	searchOrders: function(form) {
		$("div.view").jview("load", "orders-view.jsp?query=" + form.query.value);
		return false;		
	},

	searchUsers: function(form) {
		$("div.view [rel]").html("<tr><td colspan=10>loading ...<td></tr>");
		$("div.view").jview("load", "users-view.jsp?query=" + form.query.value);
		return false;		
	},

	
	newOrder: function(form) {		
		var url = $("#ptype").val() == 'Unlimited' ? "/admin/newUnlimited" : "admin/jdb/Payment";
		
		$.post(url + "?" + $(form).serialize(), function() {
			location.reload();
		});
		return false;		
	},
	
	upgrade: function(id, currency) {
		var price = prompt("Upgrade price (" + currency + "):", 0.00);
		if (price >= 0) {
			$.post("admin/upgrade?id=" + id + "&price=" + price, function() {
				location.reload();
			});
			return false;		
		}
	},	  
	
	newUser: function(form) {
		$.post("/admin/createUser?" + $(form).serialize(), function(json) {
			json = eval("(" + json + ")");
			if (json.message) {
				alert(json.message);	
			} else {
				$("div.view").jview("load", "users-view.jsp?query=" + form.username.value);	
				$.overlay.close();
			}
		});
		return false;		
	},
	
	newVersion: function(form) {
		$.post("admin/jdb/Version?" + $(form).serialize(), function() {
			location.reload();
		});
		return false;
	},
	
	deleteRow: function(img, id, table, doConfirm) {
        if (arguments.length == 3 || doConfirm) {
            if (! confirm('Are you sure you want to delete this ' + table.toLowerCase() + "?")) return;
        }

        $.ajax({
            url: '/admin/jdb/' + table + '?id=' + id,
            type: 'DELETE',
            dataType: 'json',
            success: function() {
                $(img).parents("tr").remove();
            }
        });
	},
	
	
	// massmail actions
	massmail: {
		
		start: function(form) {
		
			if (!confirm("Are you sure you want to start?")) return false;
			
			form = $(form); 
			form.fadeTo(400, 0.3);
			
			$.post("/admin/massmail/start?" + form.serialize(), function(json) {
				form.fadeTo(400, 1, function() {
					$("p.info", form).show().html("Massmail was successfully sent " + json);
				}); 
			});	
		
			return false;	
		},
		
		test: function(form) {
			form = $(form); 
			form.fadeTo(400, 0.3);
			
			$.post("/admin/massmail/test?" + form.serialize(), function(json) {
				form.fadeTo(400, 1, function() {
					$("p.info", form).show().html("Testmail was successfully sent " + json);
				}); 
			});	
		
			return false;					
		},
		
		
		getSize: function(form) {
			form = $(form); 
			form.fadeTo(400, 0.3);
			
			$.post("/admin/massmail/getSize?" + form.serialize(), function(json) {
				json = eval("(" + json + ")");
				form.fadeTo(400, 1, function() {
					$("p.info", form).show().html("Maillist size: " + json.size);
				}); 
			});	
		
			return false;					
		}
		
	}, 
	
	
	setPaymentAmount: function(id) {
		var amount = prompt("Give new amount", 2);
		
		if (amount > 0) {
			$.getJSON("/admin/setPaymentAmount?id=" + id + "&amount=" + amount, function(json) {
				if (json.success)  {
					location.reload();	
				} else {
					alert(json);	
				}
			});				
		}
	}, 
	
	deletePayment: function(id) {
		if (confirm("Do you really want to delete this payment?")) {
			
			$.getJSON("/admin/deletePayment?id=" + id, function(json) {
				if (json.success)  {
					location.reload();	
				} else {
					alert(json);	
				}
			});				
		}
	}, 
	
	deleteHost: function(id) {
		if (confirm("Do you really want to delete this host?")) {
			
			$.getJSON("/admin/deleteHost?id=" + id, function(json) {
				if (json.success)  {
					location.reload();	
				} else {
					alert(json);	
				}
			});				
		}	
	},

    addStopwords: function(form) {
        var stopwords = $("#stopwords").val().split(";");
        var count = 0;
        for (var i = 0; i < stopwords.length; i++) {
            var word = $.trim((stopwords[i]));
            $.post("/admin/jdb/Stopword?word=" + word, { 
                success: function() {
                    count++;
                }
            });
        }
        alert(count + " stopwords added");
    },

    getSelectedText: function() {
        if(window.getSelection){
            return window.getSelection().toString();
        }
        else if(document.getSelection){
            return document.getSelection();
        }
        else if(document.selection){ 
            return document.selection.createRange().text;
        }
    }
	
}
	

