function BaseDialog(dialogDIV) {
	{
		this.dialogDIV = dialogDIV;	
	}
	this.createDialog = function() {
		try {
			ElementUtil.hiddenElement("select");

			var body = document.getElementsByTagName("body")[0];
			var pageDimensions = Browser.getPageDimensions();
			var viewportSize = Browser.getViewportSize();
			if (viewportSize[1] > pageDimensions[1]) {
				pageDimensions[1] = viewportSize[1];
			}

			var dropSheet = document.createElement("div");
			dropSheet.setAttribute("id", "dropSheet");
			dropSheet.style.position = "absolute";
			dropSheet.style.left = "0";
			dropSheet.style.top = "0";

			dropSheet.style.width = pageDimensions[0] + "px";
			dropSheet.style.height = pageDimensions[1] + "px";
			body.appendChild(dropSheet);

		} catch(e) {
			alert(e.message);
		}
		try {

			var dialog = document.getElementById(this.dialogDIV);
			body.appendChild(dialog);

			var scrollingPosition = Browser.getScrollingPosition();
			dialog.style.left = scrollingPosition[0] + parseInt(viewportSize[0] / 2) - parseInt(dialog.offsetWidth / 2) + "px";
			dialog.style.top = scrollingPosition[1] + parseInt(viewportSize[1] / 2) - parseInt(dialog.offsetHeight / 2) + "px";
			dialog.style.visibility = "visible";

			//dialogButton1.focus();
			//setTimeout("back()", 3000);
		} catch(e) {
			alert(e.message);
			dropSheet.parentNode.removeChild(dropSheet);
		}
		return false;
	}
	
	this.closeDialog = function() {
		var dialog = document.getElementById(this.dialogDIV);
		dialog.style.visibility = "hidden";
		var dropSheet = document.getElementById("dropSheet");
		dropSheet.parentNode.removeChild(dropSheet);
		//dialog.parentNode.removeChild(dialog);
		ElementUtil.showElement("select");
	}
}


function FolderDialog() {
	{
		this.newMethod = BaseDialog;
		this.newMethod("folderDIV");
		delete this.newMethod;
	}
	this.waitSaving = false;
	this.execute = function(listener) {
		this.createDialog();
	}
	this.close = function() {
		folderDialog.closeDialog();
	}
	this.addVacancies = function() {
		if(!loginDialog.isJobSeeker) {
			this.waitSaving = true;
			loginDialog.execute();
			return;
		}
		this.waitSaving = false;
		try {
			var vacancy = new Object();
			vacancy["removeID"] = CheckboxUtil.getCheckedValue("removeID");
			vacancy = eval("("+vacancy.toJSON()+")");
			$('folderErrorMessage').innerHTML = "<img src='/include/customDialogs/spinner.gif' width='16' height='16'>　储存职缺资料中...";
			folderDialog.execute();
			MemberDWR.addVacanciesToFolder(vacancy, folderDialog.addVacanciesHandler);
		} catch(e) {
			alert(e.message);
			return false;
		}
		return false;
	}
	this.addVacancy = function() {
		if(!loginDialog.isJobSeeker) {
			this.waitSaving = true;
			loginDialog.execute();
			return;
		}
		this.waitSaving = false;
		try {
			var vacancy = new Object();
			vacancy["id"] = $('vacancyID').value;
			
			vacancy = eval("("+vacancy.toJSON()+")");
			$('folderErrorMessage').innerHTML = "<img src='/include/customDialogs/spinner.gif' width='16' height='16'>　储存职缺资料中...";
			folderDialog.execute();
			MemberDWR.addVacancyToFolder(vacancy, folderDialog.addVacanciesHandler);
		} catch(e) {
			alert(e.message);
			return false;
		}
		return false;
	}
	this.removeVacancies = function() {
		if(!loginDialog.isJobSeeker) {
			this.waitSaving = true;
			loginDialog.execute();
			return;
		}
		this.waitSaving = false;
		try {
			var vacancy = new Object();
			vacancy["removeID"] = CheckboxUtil.getCheckedValue("removeID");
			vacancy = eval("("+vacancy.toJSON()+")");
			$('folderErrorMessage').innerHTML = "<img src='/include/customDialogs/spinner.gif' width='16' height='16'>　移除职缺资料中...";
			folderDialog.execute();
			MemberDWR.removeVacanciesFromFolder(vacancy, folderDialog.removeVacanciesHandler);
		} catch(e) {
			alert(e.message);
			return false;
		}
		return false;
	}
	this.removeVacanciesHandler = function(responseText) {
		var response = eval('('+responseText+')');
		if(response.status!="200") {
			$('folderErrorMessage').innerHTML = "<img src='/include/customDialogs/icon01.gif' width='16' height='16'>　"+response.message;
			setTimeout("folderDialog.closeDialog()",2000);
			return;
		}
		$('folderErrorMessage').innerHTML = "职缺资料已从您的职缺候选名单中移除";
		setTimeout("folderDialog.close()",2000);
		//folderDialog.afterFolder();
		
	}
	this.addVacanciesHandler = function(responseText) {
		var response = eval('('+responseText+')');
		if(response.status!="200") {
			$('folderErrorMessage').innerHTML = "<img src='/include/customDialogs/icon01.gif' width='16' height='16'>　"+response.message;
			setTimeout("folderDialog.closeDialog()",2000);
			return;
		}
		$('folderErrorMessage').innerHTML = "职缺资料已经储存到您的职缺候选名单";
		setTimeout("folderDialog.close()",2000);
		//folderDialog.afterFolder();
		
	}
}
function getFolderDialog() {
	folderDialog.createDialog();
}

folderDialog = new FolderDialog();

