﻿// JavaScript Document

// global parameter
var CUST_ID = ''; 
var CUST_CARD_NO = '';
var AgentID = '';
var AgentName = '';
var Ext = '';
var FaxOn = false;
var QuerySuccess = false;

function encodeHtml(OrgString) {
	 encodedHtml = OrgString;
	 encodedHtml = encodedHtml.replace(/\//g,"%2F");
	 encodedHtml = encodedHtml.replace(/\?/g,"%3F");
	 encodedHtml = encodedHtml.replace(/=/g,"%3D");
	 encodedHtml = encodedHtml.replace(/&/g,"%26");
	 encodedHtml = encodedHtml.replace(/@/g,"%40");
	 encodedHtml = encodedHtml.replace(/&/g,'&amp;');                                         
	 encodedHtml = encodedHtml.replace(/>/g,'&gt;');                                           
	 encodedHtml = encodedHtml.replace(/</g,'&lt;');                                           
	 encodedHtml = encodedHtml.replace(/"/g,'&quot;'); 
	 return encodedHtml;
}

function changePage(Page){
	
}

function urlEncodeCustomer(OrgString){
	return escape(encodeURI(OrgString));
}
   
function GetParameterString(){
	var strReturn = '';
	if(CUST_ID == null){
		CUST_ID = '';
	}
	if(CUST_CARD_NO == null){
		CUST_CARD_NO = '';
	}
	if(AgentID == null){
		AgentID = '';
	}
	if(AgentName == null){
		AgentName = '';
	}
	if(Ext == null){
		Ext = '';
	}
	
	return 'CUST_ID=' + CUST_ID + '&CUST_CARD_NO=' + CUST_CARD_NO + '&AgentID=' + AgentID + '&AgentName=' + AgentName + '&Ext=' + Ext;	
}

var DataItem = function(Name, Data) {
	this.Name = Name;
	this.Data = Data;
}

function faxRequest(PageID, FAX_SUBJECT, CUST_PHONE, OTHER_POTION){

	// setting 
	$.ajax(
		{ url: 'FaxAgent.aspx'
			, type: 'POST'
			, dataType: 'text'
			, data: { 
				  PageID : PageID
				, AgentID : $('#AgentID').val()
				, FAX_SUBJECT : FAX_SUBJECT
				, CUST_ID : $('#CUST_ID').val()
				, CUST_PHONE : CUST_PHONE
				}
			, timeout: 100000
			, async: false
			, error: function(){ 
				alert('發送傳真請求未完成!'); 
			}
			, success: function(xml){
				alert('發送傳真請求完成!'); 
			} 
		}
	);
}

function getDataMapJQuery(El){
	var dataMap = '';
	$(El).find('input').each(
		function(){
			if($(this).attr('name') != null && $(this).attr('name') != ''){
				if($(this).attr('type') == 'text' || $(this).attr('type') == 'hidden' || $(this).attr('type') == 'button'){
					dataMap += '&' + $(this).attr('name') + '=' + escape($(this).val());
				}
				else if($(this).attr('type') == 'checkbox' && $(this)[0].checked){
					dataMap += '&' + $(this).attr('name') + '=' + escape($(this).val());
				}
				else if($(this).attr('type') == 'radio' && $(this)[0].checked){
					dataMap += '&' + $(this).attr('name') + '=' + escape($(this).val());
				}
			}
		}
	);
	
	$(El).find('textarea').each(
		function(){
			dataMap += '&' + $(this).attr('name') + '=' + escape($(this).attr('innerHTML'));
		}
	);
	
	$(El).find('select').each(
		function(){
			dataMap += '&' + $(this).attr('name') + '=' + escape($(this).val());
		}
	);
	
	return dataMap;
}

function initUI(){

	if(!QuerySuccess){
		$(document.body).find('td').each(
			function (){
				if($(this).attr('fieldType') != 'input'){
					$(this).html($(this).html().replace(/\[\w*\]/g,'&nbsp;'));
				}
			}
		);
	}
						
	$("table.listTable tr:odd").attr('orgClass', 'listEven');
	//$("table.listTable tr:even").click(function(){ $(this).attr('orgClass', 'listOdd'); $(this).removeClass($(this).attr('orgClass'));$(this).addClass("listOver");})
	$("table.listTable tr:odd").addClass("listEven")
		.hover(function () {
			$(this).removeClass($(this).attr('orgClass'));
			$(this).addClass("listOver");
		}, function () {
			$(this).removeClass("listOver");
			$(this).addClass($(this).attr('orgClass'));
	});
	
	$("table.listTable tr:even").attr('orgClass', 'listOdd');
	$("table.listTable tr:even").addClass("listOdd")
		.hover(function () {
			$(this).removeClass($(this).attr('orgClass'));
			$(this).addClass("listOver");
		}, function () {
			$(this).removeClass("listOver");
			$(this).addClass($(this).attr('orgClass'));
	});
	
	// noindex
	$("table.listTableNoIndex tr:odd").attr('orgClass', 'listEven');
	//$("table.listTable tr:even").click(function(){ $(this).attr('orgClass', 'listOdd'); $(this).removeClass($(this).attr('orgClass'));$(this).addClass("listOver");})
	$("table.listTableNoIndex tr:odd").addClass("listEven")
		.hover(function () {
			$(this).removeClass($(this).attr('orgClass'));
			$(this).addClass("listOver");
		}, function () {
			$(this).removeClass("listOver");
			$(this).addClass($(this).attr('orgClass'));
	});
	
	$("table.listTableNoIndex tr:even").attr('orgClass', 'listOdd');
	$("table.listTableNoIndex tr:even").addClass("listOdd")
		.hover(function () {
			$(this).removeClass($(this).attr('orgClass'));
			$(this).addClass("listOver");
		}, function () {
			$(this).removeClass("listOver");
			$(this).addClass($(this).attr('orgClass'));
	});
		

}

function replaceAll(strOrg,strFind,strReplace){
	 var index = 0;
	 while(strOrg.indexOf(strFind,index) != -1){
	  strOrg = strOrg.replace(strFind,strReplace);
	  index = strOrg.indexOf(strFind,index);
	 }
	 return strOrg
} 


function initData(dataName, data){

	QuerySuccess = true;
	
	$(document.body).find('[id=' + dataName+ ']').each(
		function(){

			switch($(this).attr('class')){
			    case 'PureValue':
			        $(this).html(data);
			        break;
			    case 'AutoSelectOption':
				
			        var container = $(this);
					var tmpletHtml = $('[type=TEMPLET]' , this).parent().html();
					if(tmpletHtml == null){
						alert('樣板解譯失敗:樣板列不存在，請確認是否有type="TEMPLET"的OPTION元素存在');
						break;
					}
					$('[type=TEMPLET]' , this).remove();
					var columnCount = 0;
					var optionHtml = '';
					$('ul[displayType=list]', $(data)).each(
						function(){
							var newRow = tmpletHtml ;
							$(this).children().each(
								function (){
									var fieldName = $(this).attr('fieldName');
									var value = $(this).html();
									if(value == '') value= '&nbsp;';
									newRow = replaceAll(newRow, '[' + fieldName + ']', value);
								}
							);
							optionHtml += newRow;
						}
					);
					optionHtml = '<option value="">--請選擇--</option>' + optionHtml;
					container.html('');
					container.html(replaceAll(optionHtml, "TEMPLET", ""));
					container.children().show();
					container[0].selectedIndex = 0;
			        break;
			        
			    case 'listTableNoIndex':
			        var container = $(this);
					var tmpletHtml = $('[type=TEMPLET]' , this).html();
					if($('[type=TEMPLET]' , this).html() == null){
						alert('樣板解譯失敗:樣板列不存在，請確認是否有type="TEMPLET"的TR元素存在');
						break;
					}
					$('[type=TEMPLET]' , this).hide();
					$('ul[displayType=list]', $(data)).each(
						function(){
							var newRow = '<tr>' + tmpletHtml + '</tr>';
							$(this).children().each(
								function (){
								    
									var fieldName = $(this).attr('fieldName');
									var value = $(this).html();
									if(value == '') value= '&nbsp;';
									newRow = replaceAll(newRow, '[' + fieldName + ']', value);
								}
							);
							container.append(newRow);
						}
					);
					
					break;
				case 'listTable':
					var container = $(this);
					// analys head
					var SortHeadElement = $('[type=SORT_HEAD]' , this);
					if( SortHeadElement != null){
						CreateSortHead(SortHeadElement);
					}
					// analys body
					var tmpletHtml = $('[type=TEMPLET]' , this).html();
					if($('[type=TEMPLET]' , this).html() == null){
						alert('樣板解譯失敗:樣板列不存在，請確認是否有type="TEMPLET"的TR元素存在');
						break;
					}
					$('[type=TEMPLET]' , this).hide();
					var columnCount = 0;
					
					$('ul[displayType=list]', $(data)).each(
						function(){
							var newRow = '<tr>' + tmpletHtml + '</tr>';
							
							$(this).children().each(
								function (){
									var fieldName = $(this).attr('fieldName');
									var value = $(this).html();
									if(value == '') value= '&nbsp;';
									value = replaceAll(value, '[onls;]', '<br/>');
									value = replaceAll(value, ']', '〕');
									value = replaceAll(value, '[', '〔');
									newRow = replaceAll(newRow, '[' + fieldName + ']', value);
								}
							);
							container.append(newRow);
						}
					);
					columnCount = $('<tr>' + tmpletHtml + '</tr>').children().length; 
					if(columnCount > 0){
						container.append(CreateIndexBarPreNext(data, columnCount));
					}
					break;
				case 'detailTable' :
					
					var container = $(this);
					var tmpletHtml = container.html();
					container.attr('type', '');
					var columnCount = 0;
					$('ul[displayType=list]', $(data)).each(
						function(){
							
							var newRow = tmpletHtml;
							$(this).children().each(
								function (){
									var fieldName = $(this).attr('fieldName');
									var value = $(this).html();
									if(value == '') value= '&nbsp;';
									
									newRow = replaceAll(newRow, '[' + fieldName + ']', value);
								}
							);
							
							container.html(newRow);
						}
					);
					break;
				case 'multiFieldTable':

					var container = $(this);
					var tmpletHtml = $('[type=TEMPLET]' , this).html();
					if($('[type=TEMPLET]' , this).html() == null){
						alert('樣板解譯失敗:樣板列不存在，請確認是否有type="TEMPLET"的TR元素存在');
						break;
					}
					var columnCount = 0;
					$('ul[displayType=list]', $(data)).each(
						function(){
							var newRow = '<tr>' + tmpletHtml + '</tr>';
							$(this).children().each(
								function (){
									var fieldName = $(this).attr('fieldName');
									var value = $(this).html();
									if(value == '') value= '&nbsp;';
									
									newRow = replaceAll(newRow, '[' + fieldName + ']', value);
								}
							);
							columnCount = $('<tr>' + tmpletHtml + '</tr>').children().length; 
							container.append(newRow);

						}
					);
					if(columnCount > 0){
						container.append(CreateIndexBarPreNext(data, columnCount));
					}
					
					break;
				case 'multiFieldTableI':
					var container = $(this);
					var tmpletHtml = $('[type=TEMPLET]' , this).html();
					if($('[type=TEMPLET]' , this).html() == null){
						alert('樣板解譯失敗:樣板列不存在，請確認是否有type="TEMPLET"的TR元素存在');
						break;
					}
					var columnCount = 0;
					var rowCount = 0;
					$('ul[displayType=list]', $(data)).each(
						function(){
							var newRow;
							if(rowCount%2 == 1){
								newRow = '<tr>' + tmpletHtml + '</tr>';
							}
							else{
								newRow = '<tr>' + tmpletHtml + '</tr>';
							}
							rowCount++;
							$(this).children().each(
								function (){
									var fieldName = $(this).attr('fieldName');
									var value = $(this).html();
									if(value == '') value= '&nbsp;';
									
									newRow = replaceAll(newRow, '[' + fieldName + ']', value);
								}
							);
							columnCount = $('<tr>' + tmpletHtml + '</tr>').children().length; 
							container.append(newRow);
						}
					);
					if(columnCount > 0){
						container.append(CreateIndexBarPreNext(data, columnCount));
					}
					
					break;
			}
			
			
		}
	);
}

function CreateSortHead(El){
	var SortField = $('#SortField').val('');
	var SortDirection = $('#SortDirection').val('');
	var SortMark = '';
	var NewSortDirection = '0';
	$( '[field]',$(El)).each(
		function (){
			var fieldName = $(this).attr('field');
			if( fieldName != null && fieldName != ''){
				if(SortField == fieldName){
					// setting sort mark and new sort direction
					if(SortDirection = '0'){
						SortMark = ' ▲';
						NewSortDirection = '1';
					}
					else if(SortDirection = '1'){
						SortMark = ' ▼';
						NewSortDirection = '0';
					}
				}
				var sortFunction = "SettingSortInfo('" + fieldName+ "','" + NewSortDirection + "');";
				$(this).html('<a href="javascript:' + sortFunction + '$(\'#systemForm\').submit();" class="sortFieldHead">' + $(this).html() + SortMark +'</a>');
			}
		}
	);
}

function SettingSortInfo(SortField, SortDirection){
	$('#SortField').val(SortField);
	$('#SortDirection').val(SortDirection);
}

function ChangePage(Page){
	$('#CurrentPage').val(Page);
	$('#Action').val('ChangePage');
	$('#systemForm').submit();
}

function CreateIndexBar(Setting, ColSpan){
	var returnValue = ''; 
	$('ul[displayType=pageSetting]', $(Setting)).each(
		function(){
			
			var currentPage = $(this).children('li[setting=currentPage]').text();
			var totalItem = $(this).children('li[setting=totalItems]').text();
			var totalPage = $(this).children('li[setting=totalPages]').text();
			var startPage = $(this).children('li[setting=currentPregionStartPage]').text();
			var endPage = $(this).children('li[setting=currentPregionEndPage]').text();
			var prePage = $(this).children('li[setting=prePage]').text();
			var nextPage = $(this).children('li[setting=nextPage]').text();
			var i = 0;
			for(i = 1; i<= totalPage; i++){
				if( i == currentPage){
					returnValue += '<span class="indexBarCurrentPage">' + i + '</span> ';
				}
				else{
					returnValue += '<span class="indexBarPage" onclick="ChangePage(\'' + i + '\')">&nbsp;' + i + '&nbsp;</span> ';
				}
			}
			
			returnValue =  '<div><span style="float:left;padding:1px;height:20px;vertical-align:middle;">頁數：</span>' 
							+　returnValue　+ '</div>'
							;
			returnValue = ' 總頁數：' + totalPage + ' 總筆數：' + totalItem + '<br>' +returnValue;
		}
	);
	return '<tr ><td colspan="' + ColSpan+ '" class="indexBar">' + returnValue + '</td></tr>';					
}

function CreateIndexBarPreNext(Setting, ColSpan){
	var returnValue = ''; 
	$('ul[displayType=pageSetting]', $(Setting)).each(
		function(){
			
			var currentPage = Number($(this).children('li[setting=currentPage]').text());
			var finalPage = $(this).children('li[setting=finalPage]').text();

			// The total page is flag : 
			// 1 : only one page 
			// 3 : has next tag
			// 5 : has pre tag
			// 7 : has pre tag and next tag
			if(currentPage > 0 && finalPage != 'true'){
				returnValue = '<span class="indexBarPage" onclick="ChangePage(\'' + (currentPage + 1) + '\')">&nbsp;&gt;&nbsp;</span> ';
			}
			
			if(currentPage > 1 ){
				
				returnValue = '<span class="indexBarPage" onclick="ChangePage(\'' + (currentPage -1) + '\')">&nbsp;&lt;&nbsp;</span> ' + returnValue;
			}
		}
	);
	return '<tr ><td colspan="' + ColSpan+ '" class="indexBar">' + returnValue + '</td></tr>';					
}

function trim(str) {  
  var start = -1,   
  end = str.length;   
  while (str.charCodeAt(--end) < 33);   
  while (str.charCodeAt(++start) < 33);   
  return str.slice(start, end + 1);   
};  


function checkForm(El){
	var returnValue	= true;
	var continueCheck = true;
	$('[@checkType]', $(El)).each(
		function(){
			if(continueCheck){
				var returnInfo = checkFormat(this);
				if(returnInfo == true && $(this).attr('linkCheck') != null){
					continueCheck = false;
				}
				else if(returnInfo == true){
					
				}
				else{
					returnValue = false;
					continueCheck = false;
					
					// check link condition
					if($(this).attr('linkCheck') != null){
						returnValue= checkLinkType(this, El, $(this).attr('id'));
						if(returnValue != true){
							returnValue = $(this).attr('infoKey').split(',')[0] + '為空時, ' + returnValue;
							showAlertDialog(returnValue);
							returnValue = false;
						}
						
					}
					else{
						showAlertDialog(returnInfo);
					}
				}
			}
		}
	);
	
	return returnValue;
}
// parameter : Dom 
function checkFormat(El){
	var checkItem = $(El);
	var CheckTypes = checkItem.attr('checkType').split(',');
	var CheckParameter;
	var returnValue = true;
	var infoKey = checkItem.attr('infoKey');
	if(infoKey == null || infoKey == ''){
		alert('提示訊息關鍵字不存在');
		return false;
	}
	var i;

	for(i=0; i<CheckTypes.length; i++){
		CheckParameter =CheckTypes[i].split('|');
		if(checkItem.val() != '' ||CheckParameter[0] == 'NOT_EMPTY'){
			switch(CheckParameter[0]){
				case 'NOT_EMPTY':
					if(checkIsEmpty(checkItem.val())){
						returnValue = GetMustInputString(infoKey.split(',')[0]);
					}
					break;
				case 'LENGTH_LIMIT':
					if(checkItem.val().length > CheckParameter[1]){
						returnValue = GetLengthLimitInputString(infoKey.split(','));
					}
					break;
				case 'NUMBER':
					if(isNaN(checkItem.val())){
						returnValue = GetNumberString(infoKey.split(',')[0]);
					}
					break;
				case 'EMAIL':

					var str=checkItem.val();
					var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
					if (filter.test(str))
						testresults=true;
					else{
						testresults=false;
					}
					if(!testresults){
						returnValue = GetEmailString(infoKey.split(',')[0]);
					}
					break;
				case 'NUM_ENG':
					var alphaExp = /^[0-9a-zA-Z]+$/;
					if(checkItem.val().match(alphaExp)){
					}
					else{
						returnValue = GetNumberEnglishString(infoKey.split(',')[0]);
					}
					break;
				case 'ASCII':
					var alphaExp = /^[\x00-\xff]+$/g;
					
					if(checkItem.val().match(alphaExp)){
					}
					else{
						returnValue = GetNumberEnglishString(infoKey.split(',')[0]);
					}
					break;
				case 'DATE_CYYYYMMDD':
					if(!checkIsCDate(checkItem.val())){
						returnValue = GetCDateFormatString(infoKey.split(',')[0]);
					}
					break;
				case 'DATE_OVER_SYSTEM':
					if(!checkIsCDateOverSystem(checkItem.val())){
						returnValue = GetCDateOverSystemString(infoKey.split(',')[0]);
					}
					break;
				case 'DATE_NOTOVER_SYSTEM' :
				  if(!checkNotCDateOverSystem(checkItem.val())){
						returnValue = GetCDateNotOverSystemString(infoKey.split(',')[0]);
					}
					break;
				case 'DATE_OVER' :
					if(!checkIsCDateOver(checkItem.val(), $('#' + CheckParameter[1]).val())){
						returnValue = GetCDateOverString(infoKey.split(','));
					}
					break;
			}
		}
		if(returnValue != true){
			break;
		}
	}
	return returnValue;
}

function checkLinkType(El, ContainerEl, HistoryLinkID){
	var returnValue = true;
	switch($(El).attr('linkCheck')){
		case 'EQUAL':
			break;
		
		case 'NOT_EQUAL':
			break;
		
		case 'IN':
			break;
			
		case 'NOT_IN':
			break;
			
		case 'NOT_EMPTY':
			if(checkIsEmpty($('[id=' + $(El).attr('linkCheckID') + ']' , ContainerEl).val())){
				returnValue = '';
				var isEnd = true; //  is last check
				if($('[id=' + $(El).attr('linkCheckID') + ']' , ContainerEl).attr('linkCheckID') != null){
					isEnd = false;
					if(!checkKeyExist(HistoryLinkID, $('[id=' + $(El).attr('linkCheckID') + ']' , ContainerEl).attr('linkCheckID'), ',' )){
						var returnLink = checkLinkType($('[id=' + $(El).attr('linkCheckID') + ']' , ContainerEl), ContainerEl , HistoryLinkID + ',' + $(El).attr('linkCheckID'));
						if(returnLink != true){
							returnValue = ', ' + returnLink;
						}
						else{
							returnValue = returnLink;
						}
					}	
				}

				if(returnValue != true){
					if(isEnd){
						returnValue = $('[id=' + $(El).attr('linkCheckID') + ']' , ContainerEl).attr('infoKey') + '不可為空';
					}
					else{
						returnValue =  $('[id=' + $(El).attr('linkCheckID') + ']' , ContainerEl).attr('infoKey') + '為空時'  + returnValue;
					}
				}
			}
			
			break;
	}
	
	return returnValue;
}

// return : true key存在, false key不存在
function checkKeyExist(KeyString , Key, splitMark){
	var returnValue = false;
	for(var i=0; i< KeyString.split(splitMark).length; i++){
		if(KeyString.split(splitMark)[i] == Key){
			returnValue = true;
			break;
		}
	}
	return returnValue;
}

function showAlertDialog(message){
	alert(message);	
	$('#messageBar').html(message);
}

function checkIsCDateOverSystem(SoruceDate)
{
	var returnval=false;
	var monthfield=SoruceDate.split("/")[1];
	var dayfield=SoruceDate.split("/")[2];
	var yearfield= Number(SoruceDate.split("/")[0]);// + 1911;
	var dayobj = new Date(yearfield, monthfield-1, dayfield);
	var curDay = new Date();
	if (dayobj >= curDay){
		
	}
	else{
		returnval=true;
	}
	return returnval
}


function checkIsCDateOver(BeforeDate, AfterDate)
{
	var returnval=false;
	var monthfield=BeforeDate.split("/")[1];
	var dayfield=BeforeDate.split("/")[2];
	var yearfield= Number(BeforeDate.split("/")[0]);
	var dayobjBefore = new Date(yearfield, monthfield-1, dayfield);
	monthfield=AfterDate.split("/")[1];
	dayfield=AfterDate.split("/")[2];
	yearfield= Number(AfterDate.split("/")[0]);
	var dayobjAfter = new Date(yearfield, monthfield-1, dayfield);
	if (dayobjBefore > dayobjAfter){
		
	}
	else{
		returnval=true;
	}
	return returnval
}

function checkIsCDate(SoruceDate)
{
	var validformat=/^\d{1,}\/\d{1,2}\/\d{1,2}$/; //Basic check for format validity
	var returnval=false;
	if (!validformat.test(SoruceDate)){
		
	}
	else{ //Detailed check for valid date ranges
		var monthfield=SoruceDate.split("/")[1];
		var dayfield=SoruceDate.split("/")[2];
		var yearfield= Number(SoruceDate.split("/")[0]) + 1911;
		var dayobj = new Date(yearfield, monthfield-1, dayfield);
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)){
		}
		else{
			returnval=true;
		}
	}
	return returnval

}


function checkIsEmpty(Value){
	var returnValue = false;
	if(Value.replace(new RegExp('　', 'gm'), '').replace(/^\s+|\s+$/g,"")  == ''){
		returnValue = true;
	}
	return returnValue;
}

function GetNumberEnglishString(Item){
    return KeyWorkFormat(Item) + '只可為英數字元';	
}

function GetMustInputString(Item){
	return KeyWorkFormat(Item) + '不可空白';	
}

function GetCDateFormatString(Item){
	return KeyWorkFormat(Item) + '不為正確的時間格式';	
}

function GetCDateOverSystemString(Item){
	return KeyWorkFormat(Item) + '不可超過系統時間';	
}

function GetCDateNotOverSystemString(Item){
	return KeyWorkFormat(Item) + '不可早於系統時間';	
}

function GetLengthLimitInputString(Items){
	return KeyWorkFormat(Items[0]) + '長度限制為' + KeyNumberFormat(Items[1]);	
}

function GetCDateOverString(Items){
	return KeyWorkFormat(Items[0]) + '不可超過' + KeyWorkFormat(Items[1]);	
}

function GetEmailString(Item){
	return  KeyWorkFormat(Item) + '格式不正確';
}

function GetNumberString(Item){
	return  KeyWorkFormat(Item) + '只可為數字';
}

function KeyWorkFormat(KeyWord){
	return '' + KeyWord + '';
}

function KeyNumberFormat(KeyNumber){
	return '' + KeyNumber + '';
}

function appendString(Source, Length, Mark){
	var returnValue = Source + '';
	for(var i=0; i<Length-returnValue.length; i++){
		
		returnValue = Mark + returnValue;
	}
	
	return returnValue;
}

function GetDate(){
	var currentTime = new Date();
	var month = appendString(currentTime.getMonth() + 1, 2, '0');
	var day = appendString(currentTime.getDate(), 2, '0');
	var year = currentTime.getFullYear();
	return year + "/" + month + "/" + day;
}

function open_center(url,width_,height_,scrollbar,toolbar,menubar,jump) {

	var H_Browserrand = 12;
	var V_Browserrand = 30;
	var H_Aufloesung = screen.availWidth;
	var V_Aufloesung = screen.availHeight;
	var H_Fenstergr = H_Aufloesung-H_Browserrand;
	var V_Fenstergr = V_Aufloesung-V_Browserrand;
	
	Fensterbreite = width_;
	Fensterhoehe = height_;
	
	H_offset= (H_Fenstergr-Fensterbreite)/2;
	V_offset= (V_Fenstergr-Fensterhoehe)/2;
	
	if (V_Fenstergr < Fensterhoehe){ // maybe the client has a smalle resulution than the image?
	V_offset = 0;
	Fensterhoehe = V_Fenstergr;
	vlimit= V_Fenstergr;
	}
	else{
	vlimit = 0;
	}
	
	// if (popup) popup.close();
	var popup =
	window.open(url+'&vlimit='+vlimit+'#'+jump,'Detail ','width='+Fensterbreite+',height='+Fensterhoehe+' ,left='+H_offset+',top='+V_offset+',resizable=no,scrollbars='+scrollbar+',toolbar='+toolbar+',status=no,directories=no,menubar='+menubar +',location=no');
	popup.focus();
	return popup;
}

function CreateDateSearchConditon(startID, endID, imageUrl){
	$.datepicker.setDefaults({showOn: 'both'
		, buttonImageOnly: true
		, buttonImage: imageUrl
		, buttonText: 'Calendar'
		, onClose: function(){/*alert($(this).val());*/}});
	$('#' + startID).datepicker();
	$('#' + endID).datepicker();
}

function setField(FieldID, FieldValue){
	$('#' + FieldID).val(FieldValue);
}

function parseReturnInfo(SourceXml, Option, cID){
	
	// program parameter
	var executeResult = false; // execute result
	var message = new Message(); // message object
	
	// parse
	var messageXml = $(SourceXml).find('message');
	var codeXml = $(SourceXml).find('code');

	if(codeXml.text() == message.EXECUTE_SUCCESSFUL){
		executeResult = true;
	}
	
	if( messageXml.text() != ''){
		
		alert(messageXml.text());
	}
	
	if(false){
		alert($(SourceXml).find('debugMessage').text());
	}
	
	return executeResult;
}

// JavaScript Document
// standard info parse
var ALERT_ONLY = 0;
var BOARD_ONLY = 1;
var NOTE_ONLY = 2;

var Message = function(){
        /// 執行成功
        this.EXECUTE_SUCCESSFUL = "0000";

        /// 執行失敗
        this.EXECUTE_FAIL = "9001";

        /// 一般例外
        this.EXECUTE_EXCEPTION = "9901";

        /// 作業愈時
        this.TIMEOUT = "9999"; 	
}

function showBorderMessage(Title, MessageContent, cID){
	if(cID == null){
		$(document.body).prepend('<div style="width:100%" class="infoMain" onclick="if(confirm(\'確定要移除訊息?\'))$(this).remove();"><div class="infoHead">' + Title + '</div><div class="infoContent">' + MessageContent + '</div><div>');
	}
	else{
		$('#' + cID).prepend('<div style="width:99.5%" class="infoMain" onclick="if(confirm(\'確定要移除訊息?\'))$(this).remove();"><div class="infoHead">' + Title + '</div><div class="infoContent">' + MessageContent + '</div><div>');
	}
}

function getKeyValueData( Code, Url, Key, Value){
	var returnXml;
	// setting 
	$.ajax(
		{ url: Url
			, type: 'POST'
			, dataType: 'xml'
			, data: { CODE : Code, KEY : Key, VALUE:Value}
			, timeout: 10000
			, async: false
			, error: function(){ 
				alert('取得資料未成功請重新執行!'); 
			}
			, success: function(xml){
				returnXml = xml;
			} 
		}
	);
	return returnXml;
}

function setSelectData(El, xml, Key, Value, Options){
    var _defaults = {
        Reset : true
        , DisplayKey : false};
    $.extend(_defaults, Options);
    
    if(_defaults.Reset){
        $('#' + El).html('');
    }
    
    var optionHtml = '<option value="">--請選擇--</option>';
    
    if(_defaults.DisplayKey){
       $(xml).find('row').each(function(){
            optionHtml += '<option value="' +  $(this).children(Key).text() + '">' +  $(this).children(Key).text() + ' ' + $(this).children(Value).text() + '</option>';
        }); 
    }
    else{
        $(xml).find('row').each(function(){
            optionHtml += '<option value="' +  $(this).children(Key).text() + '">' + $(this).children(Value).text() + '</option>';
            
        });
    }
    $('#' + El).append(optionHtml);
    $('#' + El).children().show();
}

function getValueString(FieldNames) {
    var condition = '';
    var strTmp = '';
    for (var j = 0; j < FieldNames.length; j++) {
        strTmp = $('#' + FieldNames[j]).val();
        if (strTmp != null && strTmp != '') {
            condition += "&" + FieldNames[j] + "=" + urlEncodeCustomer(strTmp);
        }
    }
    return condition;
}
