function isIE(){
	if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.appVersion.substring(window.navigator.appVersion.indexOf("MSIE")+5,window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
		return true;
	} 
	return false;
}

function setCustomAttribute(obj,functionEvent, functionName){
	if(isIE()){
		obj[functionEvent] = new Function(functionName);
	}else{
		obj.setAttribute(functionEvent, functionName);
	}
}

function getDeleteIds(){
	var selectBox = document.getElementsByName("selectBox");
	var deleteIds = new Array();
	for(var i=0;i<selectBox.length;i++){
		if(selectBox[i].checked==true){
			deleteIds[deleteIds.length] = selectBox[i].value;
		}
	}
	return deleteIds;
}

function setWidegtValue(eleName,message){
	if($(eleName)!=null){
		DWRUtil.setValue(eleName,message);
	}
}
function defaultI18N(data){
//			$("Delete").innerHTML = data["common.delete"];
//			$("totalBar").innerHTML = data["common.total"];
//			$("recordsBar").innerHTML = data["common.record"];
//			$("page_selectPageMessage").innerHTML = data["common.page"];
			setWidegtValue("Delete","??");
			setWidegtValue("Delete1","??");
			setWidegtValue("totalBar","??");
			setWidegtValue("recordsBar",data["common.record"]);
			setWidegtValue("page_selectPageMessage","?");
//			try{
//				
//				$("Delete").innerHTML = data["common.delete"];
//			}catch(e){}
//			try{
//				$("totalBar").innerHTML = data["common.total"];
//			}catch(e){}
//			try{
//				$("recordsBar").innerHTML = data["common.record"];
//			}catch(e){}
//			try{
//				$("page_selectPageMessage").innerHTML = data["common.page"];
//			}catch(e){}
	PageInfo.deleteMessage = data["common.deleteMessage"];
	PageInfo.deleteMessageSuccess = data["common.deleteMessage.Success"];
	PageInfo.saveMessageSuccess = data["common.save.success"];
	PageInfo.modifyMessageSuccess = data["common.modify.success"];
}

function CheckAll(){
	var selectBox = document.getElementsByName("selectBox"+PageInfo.suffix);
	var checkAll = document.getElementById("checkAll"+PageInfo.suffix);
	for(var i=0;i<selectBox.length;i++){
		selectBox[i].checked=checkAll.checked;
	}
	showDeleteButton()
}

function changSelect(){
	var selectBox = document.getElementsByName("selectBox"+PageInfo.suffix);
	var j = 0;
	for(var i=0;i<selectBox.length;i++){
		if(selectBox[i].checked==true){
			j++;
		}
	}

	if(selectBox.length==j){
		document.getElementById("checkAll"+PageInfo.suffix).checked=true;
	}else{
		document.getElementById("checkAll"+PageInfo.suffix).checked=false;
	}
	showDeleteButton()
}

function showDeleteButton(){
	try{
		var ids = getDeleteIds();
		if(ids.length>0){
		    document.getElementById("Delete"+PageInfo.suffix).disabled=false;
		    document.getElementById("Delete1"+PageInfo.suffix).disabled=false;
	    }else{
		    document.getElementById("Delete"+PageInfo.suffix).disabled=true;
		    document.getElementById("Delete1"+PageInfo.suffix).disabled=true;
	    }
	}catch(e){
		//do noting
	}
}

function pageFunction(page,itemCount){
	if($("checkAll"+PageInfo.suffix)!=null){
		DWRUtil.setValue("checkAll"+PageInfo.suffix,"");
	}
	PageInfo.pageNumber = page;
	var page_first = $("page_first");
	var page_previous = $("page_previous");
	var page_next = $("page_next")
	var page_last= $("page_last");
	DWRUtil.setValue("page_pageTotal",itemCount);
	var selectItems = new Array();
	for(i=1; i<=itemCount;i++){
		var optionValue =  {value:i,display:i};
		selectItems[selectItems.length] = optionValue;
	}
	if(itemCount==0){
		selectItems[selectItems.length]=	{value:1,display:0};
	}
	DWRUtil.removeAllOptions("page_number");
	DWRUtil.addOptions("page_number",selectItems,"value","display");
	DWRUtil.setValue("page_number", page);
	if (page<=1){
			if(page_first!=null){
				page_first.disabled = true;
			}
			if(page_previous!=null){
				page_previous.disabled = true;
			}
	}else{
		if(page_first!=null){
			page_first.disabled = false;
			setCustomAttribute(page_first,"onclick", "fillTable(1);");
		}
		if(page_previous!=null){
			page_previous.disabled = false;
			setCustomAttribute(page_previous,"onclick", "fillTable("+(page-1)+");");
		}
	}
	if(itemCount!=0){
		if(itemCount==page){
			if(page_next!=null){
				page_next.disabled = true;
			}
			if(page_last!=null){
				page_last.disabled = true;
			}
		}else{
			if(page_next!=null){
				page_next.disabled = false;
				setCustomAttribute(page_next,"onclick","fillTable("+(page+1)+");");
			}
			if(page_last!=null){
				page_last.disabled = false;
				setCustomAttribute(page_last,"onclick","fillTable("+itemCount+")");
			}
		}
	}
}

function doFilter(orderField, isAscend){
	PageInfo.isAscend = isAscend;
	PageInfo.orderField = orderField;
	var orderFieldTd = $("headTd_"+orderField);
	setCustomAttribute(orderFieldTd,"onclick","doFilter('"+orderField+"',"+!isAscend+")");
	var orderImage = $("image_filter_"+orderField);
	for(i=0;i<orderFileds.length;i++){
		if(orderField!=orderFileds[i]){
			var tmp = "image_filter_"+orderFileds[i];
			$(tmp).src = PageInfo.sortDisabled;
		}
	}
	if(isAscend){
		orderImage.src =  PageInfo.AscOn;
	}else{
		orderImage.src = PageInfo.DescOn;
	}
	fillTable(PageInfo.pageNumber);
}

function buildLabel(fieldName,data){
	var tmp = "<label style=\"width:145px;\">"+data[fieldName]+"&nbsp;:&nbsp;</label>";
	return tmp;
}

function buildRequiredLabel(fieldName,data){
	var tmp = "<label style=\"width:145px;\"><font color=\"#FF0000\">*</font>"+data[fieldName]+"&nbsp;:&nbsp;</label>";
	return tmp;
}

function addLabel(fieldName,data){
		var tmpLabel = $("field_"+fieldName);
		DWRUtil.setValue(tmpLabel,buildLabel(fieldName,data));
}

function addRequiredLabel(fieldName,data){
	var tmpLabel = $("field_"+fieldName);
	DWRUtil.setValue(tmpLabel,buildRequiredLabel(fieldName,data));
}

function buildReadonlyTextInput(fieldName,maxlength,styleClass,readonly){
	var tmp = "<input type=\"text\" name=\"text_"+fieldName+"\" readonly=\""+readonly+"\" id=\"text_"+fieldName+"\" value=\"\" " +
			"maxlength=\""+maxlength+"\"  class=\""+styleClass+"\"/>";
	return tmp;
}

function buildNormalTextInput(fieldName,maxlength,styleClass,readonly){
	var tmp = "<input type=\"text\" name=\"text_"+fieldName+"\" id=\"text_"+fieldName+"\" value=\"\" " +
			"maxlength=\""+maxlength+"\"  class=\""+styleClass+"\"/>";
	return tmp;
}

function buildNormalPasswordInput(fieldName,maxlength,styleClass){
	var tmp = "<input type=\"password\" name=\"password_"+fieldName+"\" id=\"password_"+fieldName+"\" value=\"\" " +
			"maxlength=\""+maxlength+"\"  class=\""+styleClass+"\"/>";
	return tmp;
}

function buildNormalFileInput(fieldName,maxlength,styleClass){
	var tmp = "<input type=\"file\" name=\"file_"+fieldName+"\" id=\"file_"+fieldName+"\" value=\"\" " +
			"maxlength=\""+maxlength+"\"  class=\""+styleClass+"\"/>";
	return tmp;
}

function buildNormalSelectInput(fieldName,styleClass){
	var tmp = "<select name=\"select_"+fieldName+"\" id=\"select_"+fieldName+"\" class=\""+styleClass+"\"/></select>";
	return tmp;
}

function buildNormalCheckBoxInput(fieldName,styleClass){
	var tmp = "<input type=\"checkbox\" name=\"checkbox_"+fieldName+"\" id=\"checkbox_"+fieldName+"\" value=\"\" " +
			"class=\""+styleClass+"\"/>";
	return tmp;
}

function buildImage(fieldName){
	var tmp = "<img align='ABSMIDDLE' src='"+PageInfo.base+"/wisekernel/images/icon/calendar.gif' onclick='showCalendar(\"text_"+fieldName+"\");'/>";
	return tmp;
}

function buildReadonlyTextInputForEof(fieldName,readonly){
	return buildReadonlyTextInput(fieldName,50,"textInputStyle",readonly);
}

function buildTextInputForEof(fieldName,readonly){
	return buildNormalTextInput(fieldName,50,"textInputStyle");
}

function buildPasswordInputForEof(fieldName){
	return buildNormalPasswordInput(fieldName,50,"textInputStyle");
}

function buildShortTextInput(fieldName){
	return buildNormalTextInput(fieldName,10,"textInputStyle");
}

function buildFileInputForEof(fieldName){
	return buildNormalFileInput(fieldName,100,"textInputStyle");
}

function buildCheckBoxInputForEof(fieldName){
	return buildNormalCheckBoxInput(fieldName,"checkboxInputStyle");
}

function buildNormalTextareaInput(fieldName,cols,rows,styleClass){
	var tmp = "<textarea name=\"textarea_"+fieldName+"\" id=\"textarea_"+fieldName+"\" cols=\""+cols+"\" rows=\""+rows+"\" class=\""+styleClass+"\" ></textarea>";
	return tmp;
}
function buildReadonlyTextareaInput(fieldName,cols,rows,styleClass,readonly){
	var tmp = "<textarea name=\"textarea_"+fieldName+"\" readonly=\""+readonly+"\" id=\"textarea_"+fieldName+"\" cols=\""+cols+"\" rows=\""+rows+"\" class=\""+styleClass+"\" ></textarea>";
	return tmp;
}
function buildTextareaInputForEof(fieldName){
	return buildNormalTextareaInput(fieldName,60,3,"");
}
function buildReadonlyTextareaForEof(fieldName,readonly){
	return buildReadonlyTextareaInput(fieldName,60,3,"",readonly);
}
function buildNormalRadio(fieldName,objArray){
	var tmp = "";
	for(i=0; i<objArray.length;i++){
		var obj = objArray[i];
		tmp = tmp +"<input type=\"radio\" name=\"radio_"+fieldName+"\" id=\"radio_"+fieldName+"\" value=\""+obj.value+"\"";
		if(obj.isdefault){
			tmp = tmp + "checked>";
		}else{
			tmp = tmp +">";
		}
		tmp = tmp+obj.displayName+"</input>";
	}
	return tmp;
}

function addTextInput(fieldName,data){
	var result = "input_"+fieldName;
	var meteData = buildLabel(fieldName,data)+buildTextInputForEof(fieldName);
	DWRUtil.setValue(result,meteData);
}

function addReadonlyTextInput(fieldName,data,readonly){
	var result = "input_"+fieldName;
	var meteData = buildLabel(fieldName,data)+buildReadonlyTextInputForEof(fieldName,readonly);
	DWRUtil.setValue(result,meteData);
}

function addSelectInput(fieldName,data){
	var result = "input_"+fieldName;
	var meteData = buildLabel(fieldName,data)+buildNormalSelectInput(fieldName);
	DWRUtil.setValue(result,meteData);
}

function buildOnCompleteSelectInput(fieldName){
	var tmp = fieldName.replace(".","_");
	var result = "<select name=\"select_"+fieldName+"\" id=\"select_"+fieldName+"\"  onComplete=\"onComplete_"+tmp+"();\"/></select>";
	return result;
}

function addOnCompleteRequiredSelectInput(fieldName,data){
	var result = "input_"+fieldName;
	var meteData = buildLabel(fieldName,data)+buildOnCompleteSelectInput(fieldName);
	DWRUtil.setValue(result,meteData);
}

function addDateInput(fieldName,data){
	var result = "input_"+fieldName;
	var meteData = buildLabel(fieldName,data)+buildNormalTextInput(fieldName,50,"shortTextInputStyle")+buildImage(fieldName);
	DWRUtil.setValue(result,meteData);
}

function addFileInput(fieldName,data){
	var result = "input_"+fieldName;
	var meteData = buildLabel(fieldName,data)+buildFileInputForEof(fieldName);
	DWRUtil.setValue(result,meteData);
}

function addRequiredTextInput(fieldName,data){
	var result = "input_"+fieldName;
	var meteData = buildRequiredLabel(fieldName,data)+buildTextInputForEof(fieldName);
	DWRUtil.setValue(result,meteData);
}

function addRequiredReadonlyTextInput(fieldName,data,readonly){
	var result = "input_"+fieldName;
	var meteData = buildRequiredLabel(fieldName,data)+buildReadonlyTextInputForEof(fieldName,readonly);
	DWRUtil.setValue(result,meteData);
}

function addRequiredPasswordInput(fieldName,data){
	var result = "input_"+fieldName;
	var meteData = buildRequiredLabel(fieldName,data)+buildPasswordInputForEof(fieldName);
	DWRUtil.setValue(result,meteData);
}

function addTextareaInput(fieldName,data){
	var result = "input_"+fieldName;
	var meteData = buildLabel(fieldName,data)+buildTextareaInputForEof(fieldName);
	DWRUtil.setValue(result,meteData);
}

function addRequiredTextareaInput(fieldName,data){
	var result = "input_"+fieldName;
	var meteData = buildRequiredLabel(fieldName,data)+buildTextareaInputForEof(fieldName);
	DWRUtil.setValue(result,meteData);
}

function addRadio(fieldName,objArray,data){
	var result = "input_"+fieldName;
	var meteData = buildLabel(fieldName,data)+buildNormalRadio(fieldName,objArray);
	DWRUtil.setValue(result,meteData);
}

function addBooleanRadio(fieldName,data){
	addRadio(fieldName,getBooleanObj(),data);
}

function getBooleanObj(){
	var objArray = new Array(2);
	var trueObj = new Object();
	trueObj.value = true;
	trueObj.displayName = "Yes";
	trueObj.isdefault = true;
	var falseObj = new Object();
	falseObj.value = false;
	falseObj.displayName = "No";
	falseObj.isdefault = false;
	objArray[0] = trueObj;
	objArray[1] = falseObj;
	return objArray;
}

function showErrorMessage(fieldName,msgkey){
	DWRUtil.setValue("message_"+fieldName,message[msgkey]);
//		$("message_"+fieldName).style.display = "block";
	Effect.Appear("message_"+fieldName);
}
function hidErrorMessage(fieldName){
//	$("message_"+fieldName).style.display = "none";
	Effect.Fade("message_"+fieldName);
}
function alertMessage(msgkey){
//	MessageManager.getMessage(message,function(data){
		alert(message[msgkey]);
//	});
}

function showMessage(msgkey){
//	MessageManager.getMessage(message,function(data){
		alert(message[msgkey]);
//	});
}
function changeNavBar(message){
	document.getElementById("navBar").innerHTML = message;
}

String.prototype.trim = function()
{
	return this.replace(/(^\s*)|(\s*$)/g, "");
}

function enableButton(roleArray,buttonArray,roleKey){
	var flag = false;
	for(var i=0;i<roleArray.length;i++){
		var role = roleArray[i];
		if(role==roleKey){
			flag=true;
		}
	}
	if(flag){
		for(var i=0;i<buttonArray.length;i++){
			var button = buttonArray[i];
			button.disabled = false;
		}
	}
}

function disableButton(roleArray,buttonArray,roleKey){
	var flag = false;
	for(var i=0;i<roleArray.length;i++){
		var role = roleArray[i];
		if(role==roleKey){
			flag=true;
		}
	}
	if(flag){
		for(var i=0;i<buttonArray.length;i++){
			var button = buttonArray[i];
			button.disabled = true;
		}
	}
}