﻿function inlineField(obj) {
	
    if (obj.previousSibling.className == "calendar") {
		obj.parentNode.insertBefore(Ext.get('cal').dom, obj.previousSibling);
		obj.previousSibling.previousSibling.firstChild.childNodes[1].value = obj.innerHTML;
	}

	var oChild = obj.parentNode.childNodes;
	
	for (var i=0; i< oChild.length; i++) {
		try {
			oChild.item(i).style.display = "inline";
		} catch (e) {}
	}
	obj.style.display = "none";
	
	if (obj.parentNode.firstChild.tagName != "SELECT")
		obj.parentNode.firstChild.value = obj.innerHTML;
	else {
		var select = obj.parentNode.firstChild;
		for (var i=0; i< select.length; i++) {
			if (obj.innerHTML == select.options[i].text) {
				select.options[i].selected = true;
			}
		}
	}
}

function writeField(callback, id, ind, obj, s) {
	
	var breakDown = new Object();
	var value = "";
	if (obj.tagName == "IMG") {
		if (obj.className == "calendar") {
			value = dateAvailable.getSelectedDate();
			if (value == "") {
				var oChild = obj.parentNode.childNodes;	
				for (var i=0; i< oChild.length; i++) {
					try {
						oChild.item(i).style.display = "none";
					} catch (e) {}
				}
				obj.parentNode.lastChild.style.display = "inline";
				alert("資料不得為空值");
				throw breakDown;
			}
			obj.parentNode.lastChild.innerHTML = dateAvailable.getSelectedDate();
			dateAvailable.setSelectedDate("");
		}
		else {
			value = obj.previousSibling.value;
			if (value == "") {
				
				var oChild = obj.parentNode.childNodes;	
				for (var i=0; i< oChild.length; i++) {
					try {
						oChild.item(i).style.display = "none";
					} catch (e) {}
				}
				obj.parentNode.lastChild.style.display = "inline";
				alert("資料不得為空值");
				throw breakDown;
			}
			obj.parentNode.lastChild.innerHTML = obj.previousSibling.options[obj.previousSibling.selectedIndex].text;
		}
	}	
	else {
		value = obj.value;
		
		if (value == "") {

			var oChild = obj.parentNode.childNodes;	
			for (var i=0; i< oChild.length; i++) {
				try {
					oChild.item(i).style.display = "none";
				} catch (e) {}
			}
			obj.parentNode.lastChild.style.display = "inline";
			
			alert("資料不得為空值");
			throw breakDown;
		}

		obj.parentNode.lastChild.innerHTML = obj.value;
	}

	
	
	var oChild = obj.parentNode.childNodes;	
	for (var i=0; i< oChild.length; i++) {
		try {
			oChild.item(i).style.display = "none";
		} catch (e) {}
	}
	obj.parentNode.lastChild.style.display = "inline";
	
	Ext.Ajax.request ({
		
		url: 'callback/' + callback + 'Callback.jsp',
		method: 'post',
		params: {a:'edit', id:id, ind: ind, val: value, s:s},
		success: function(o) {
			//alert(o.responseText);
			var obj = eval('(' + o.responseText + ')');
			if (obj[0] != "1")
				alert("資料變更失敗，請洽系統管理員。");		
		}
	});
}


function initialInlineField(div, size, fieldOffset) {

	Ext.get(div).on("click", handler);
	
	function handler(e) {
		
		var textNode = document.createElement("input");
		textNode.size = size;
		textNode.value = Ext.get(div).dom.innerHTML;
		Ext.get(div).dom.innerHTML = "";
		
		textNode.onblur = function(e) {
		
			Ext.Ajax.request ({
				url: 'callback/courseCallback.jsp',
				method: 'post',
				params: {s:"updateCourseData", t:div.split("_")[1], val:textNode.value, id:fieldOffset },
				success: function(o) {
					var items = eval('(' + o.responseText + ')');
					alert(items[0]);
				}
			});

			Ext.get(div).dom.innerHTML = this.value;
			Ext.get(div).on("click", handler);			
		};
		Ext.get(div).dom.appendChild(textNode);
		Ext.get(div).removeAllListeners();	
	};
};


