var CheckedInputs = new Array();
var currentRemoval = 0;
if(document.getElementById("editapps")){
    var appsContainer = document.getElementById("editapps");
	var appsList = null;
	for(y=0;y<appsContainer.firstChild.childNodes.length;y++){
		if(appsContainer.firstChild.childNodes[y].className == "editapps_list"){
			var appsList = appsContainer.firstChild.childNodes[y];
			break;
		}
	}
	if(appsList == null){
		alert("Could not find div element \"editapps_list\"");
	}
	else{
		for(z=0;z<appsList.childNodes.length;z++){
			if(/id_\w{21}/.test(appsList.childNodes[z].id)){
				var appsListContainer = appsList.childNodes[z];
				for(a=0;a<appsListContainer.childNodes.length;a++){
					if(/id_\w{21}/.test(appsListContainer.childNodes[a].id) && /editapps_allowed_\d*/.test(appsListContainer.childNodes[a].firstChild.id)){
						if(appsListContainer.childNodes[a].firstChild.id.match(/\d{1,}/) != null){
							var appLine = appsListContainer.childNodes[a].firstChild;
							var appId = appLine.id.match(/\d{1,}/);
							if(getObjectByClass(appLine,"action_wrap") != null){
								var actionBox = getObjectByClass(appLine,"action_wrap");
								var chkbox = document.createElement("input");    
								var v2 = chkbox.type = "checkbox";
								var v3 = chkbox.id = "chkbx_remove_app_" + appId;
								var v4 = chkbox.name = appId;
								var v5 = chkbox.className = "remove_app_checkbox";
								var v6 = chkbox.style.cssFloat = "right";
								var v7 = chkbox.style.margin = "0 10px";
								var wtf = actionBox.insertBefore(chkbox,actionBox.firstChild);
							}
							else{
								alert("Error: Can't find action_wrap div!");
							}
						}
					}
				}
			}
		}
		var headerDiv = getObjectByClass(appsContainer.firstChild,"viewheader");
		var descDiv = getObjectByClass(headerDiv,"desctext");
		var removeButton = document.createElement("input");
		var val1 = removeButton.type = "button";
		var val2 = removeButton.id = "remove_applications_button";
		var val3 = removeButton.value = "Remove Selected";
		removeButton.addEventListener("click",function(e) {removeSelected(); },false);
		var ugh = descDiv.appendChild(removeButton);
	}
}
else{
    alert("Wrong Page");
}
function getObjectByClass(parent,clName){
	for(x=0;x<parent.childNodes.length;x++){
		if(parent.childNodes[x].className == clName){
			return parent.childNodes[x];
			break;
		}
	}
	return null;
}
function removeSelected(){
	var inputs = document.getElementsByTagName("input");
	CheckedInputs = new Array();
	for(x=0;x<inputs.length;x++){
		if(inputs[x].className == "remove_app_checkbox"){
			if(inputs[x].checked == true){
				CheckedInputs.push(inputs[x].id);
			}
		}
	}
	if(CheckedInputs.length == 0){
		alert("You have selected no applications to remove!");
	}
	else{
		currentRemoval = 0;
		removeApp();
	}
}
function removeApp(){
	var id = document.getElementById(CheckedInputs[currentRemoval]).name;
	var a = EditAppsController.removeApplication(id, "Application ID: " + id, function(response) { var elem = ge("editapps_allowed_" + id); elem && DOM.remove(elem); }); 
	var b = setTimeout("clickRemove()",1000);
	currentRemoval++;
}
function clickRemove(){
	var success = true;
	try{
		document.getElementById("pop_content");
	}
	catch(e){
		success = false;
		setTimeout("clickRemove()", 100);
	}
	if(success){
		try{
			if(/uiButtonConfirm/.test(document.getElementById("pop_content").childNodes[1].childNodes[1].childNodes[0].className)){
				document.getElementById("pop_content").childNodes[1].childNodes[1].childNodes[0].firstChild.click();
				var c = setTimeout("clickOkay()",3000);
			}
		}
		catch(e){
			setTimeout("clickRemove()", 100);
		}
	}
}
function clickOkay(){
	var success = true;
	try{
		document.getElementById("pop_content");
	}
	catch(e){
		success = false;
		setTimeout("clickOkay()", 100);
	}
	if(success){
		try{
			if(/uiButtonConfirm/.test(document.getElementById("pop_content").childNodes[1].childNodes[1].childNodes[0].className)){
				document.getElementById("pop_content").childNodes[1].childNodes[1].childNodes[0].firstChild.click();
				if(currentRemoval < CheckedInputs.length){
					var ngkrs = setTimeout("removeApp()",1000);
				}
				else{
					setTimeout("alert(\"All selected applications have been removed!\")",500);
				}
			}
		}
		catch(e){
			setTimeout("clickOkay()", 100);
		}
	}	
}
