// Ajax for DrayTek Web Site

	// DrayTek Corp. Ajax for DrayTek Web Site. (Ajax.js)
	// Copyright(c) DrayTek Corp.
	// Write by Frank, Yuan-Chien Chen
	// Release date 2008/09/24

var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) 
{
  XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
  XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHttp");
}

function getData(dataSource, divID)
{
  if(XMLHttpRequestObject)
  {
    XMLHttpRequestObject.open("GET", dataSource);
    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4 &&
          XMLHttpRequestObject.status == 200)
      {
        var objDiv = document.getElementById(divID);
        objDiv.innerHTML = XMLHttpRequestObject.responseText;
      }
    }
    XMLHttpRequestObject.send(null);
  }
}

function IssueAddDiv(x,y) // hideen or show, div name
{
	if (x==0) // Hideen
		document.getElementById(y).style.display='none';
	if (x==1) // Show
		document.getElementById(y).style.display='';
}

function AddNewActItem(keyEvent, divID, IssueId, data)
{
  keyEvent = (keyEvent) ? keyEvent: window.event;
  if (keyEvent.type == "click") // orig = change
  {
  	var oEditor = FCKeditorAPI.GetInstance(data) ;
  	//alert( oEditor.GetXHTML( true ) ) ;
  	
  	var input = oEditor.GetXHTML( true ); 					  // Action item description
  	var ActStatus = document.form1.New_WkStatus.value;
  	var ActPercentage = document.form1.New_WkPercentage.value;
  	var ActScheduleStartDate = document.form1.New_WkStartDate.value;
  	var ActScheduleEndDate = document.form1.New_WkEndDate.value;
  	
  	// check form field is filled.
  	if((input=='') || (ActStatus=='') || (ActPercentage=='') || (ActScheduleStartDate=='') || (ActScheduleEndDate==''))
  	{
  		alert('All fields must be filled out right !!');
  	}
  	else if(ActScheduleStartDate > ActScheduleEndDate) // Check schedule date setting.
  	{
  		alert('The issue schedule is not correct , please double check !!');
  	}
  	else
  	{
	  	oEditor.SetData( '' );
	  	var objDiv = document.getElementById(divID);
	  	var qureyString = ActStatus + "::" + ActPercentage + "::" + ActScheduleStartDate + "::" + ActScheduleEndDate;
	    objDiv.innerHTML = "<div></div>";
	    getData("WeeklyReportActionAdd.php?qry="+ input +"&Pid=674&Isid=" +IssueId + "&qStr=" + qureyString, divID);
  	}
  }
}

// Delete choose action item
function DelChooseActItem(keyEvent, divID, ActId, PjID, IsuId)
{
  keyEvent = (keyEvent) ? keyEvent: window.event;
  if (keyEvent.type == "click") // orig = change
  {
  	var objDiv = document.getElementById(divID);
	objDiv.innerHTML = "<div></div>";
	getData("WeeklyReportActionAdd.php?action=DelActItemTmp&RID="+ ActId + "&Pid=" + PjID + "&Isid=" + IsuId, divID);	    
  }
}

// Delete choose action item
function RememberNewIssueName(keyEvent, divID)
{
  keyEvent = (keyEvent) ? keyEvent: window.event;
  if (keyEvent.type == "change") // orig = change
  {
  	var objDiv = document.getElementById(divID);
  	var input = document.form1.New_WkpTitle.value;
	objDiv.innerHTML = "<div></div>";
	getData("ActNewIssueSaveTmp.php?action=SaveNewIssuenameTmp&qry=" + input, divID);
  }
}


function CreateHtmlArea()
{
  var oFCKeditor = new FCKeditor( 'Actionitemdesc' );oFCKeditor.BasePath = '../utility/fckeditor/';oFCKeditor.ToolbarSet = 'Basic';oFCKeditor.Height = '100';oFCKeditor.Width = '90%';oFCKeditor.ReplaceTextarea();}

function AddNewIssueatThisProject()
{
	// verify form data. 
	var New_WkpTitle = document.form1.New_WkpTitle.value;
	var New_WkpFlag = document.form1.New_WkpFlag.value;

	if((New_WkpTitle=='') || (New_WkpFlag==''))
	{
		alert('\"Issue/problem\" fields must be filled out right !!');
	}
	else
	{	  	
		// 執行 新增Issue的動作.
		document.form1.action = "../user/WeeklyReportEdit.php?action=CreateNewIssue&ID=674";
		document.form1.submit();
	}	
}

function UpdateProject()
{
		  	document.form1.action = "../user/WeeklyReportEdit.php?action=UpdateProject&ID=674";
			document.form1.submit();			
}

// Delete choose issue.
function DelChooseIssue(IssueId)
{
		if(confirm('Delete will not be able to recover, are you sure delete this issue ?'))
		{
			var sString = "../user/WeeklyReportEdit.php?action=DelIssue&ID=674&IssueId=" + IssueId;
			location.href('' +sString);
		}
		else
		{
			alert('Abandon delete !!');
		}
}

function EditChooseActItem(PjId,IsId,ActId,FlagKey)
{
//	alert('為方便作業，將彈跳出密碼變更視窗，請注意瀏覽器的快顯封鎖程式設定，可能會影響正常作業。');
	if(FlagKey=='000000')
	{
		var theUrl = "/user/ActiomAddpop.php?PjId=" + PjId + "&IsId=" + IsId + "&ActId=" + ActId;
		window.open(theUrl,"EditActiomItem",'height=300, width=650, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');
	}
	else
	{
		var theUrl = "/user/ActiomAddpop.php?PjId=" + PjId + "&IsId=" + IsId + "&ActId=" + ActId + "&WkpRid=" + FlagKey;
		window.open(theUrl,"EditActiomItem",'height=300, width=650, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');		
	}
}

function ConfirmClosePorject(x,y)
{
	if(y==1)
	{
		if(confirm("Are you sure close this project ?"))
		{
			location.href('../user/WeeklyReportEdit.php?action=CloseThisProject&ID=' +x);
		}		
	}
	else if(y==0)
	{
		if(confirm("Are you sure Open this project ?"))
		{
			location.href('../user/WeeklyReportEdit.php?action=OpenThisProject&ID=' +x);
		}	
	}
}

// List box item copy

//傳入兩個參數(目標List,來源List)
function insertList(tarL,srcL)
{

//	alert('' +tarL);
//	alert('' +srcL);	
	
	var tarObj = document.getElementById(tarL);
	var srcObj = document.getElementById(srcL);
			
	// 判斷是否沒有選取item ,若未選取則彈出訊息視窗 ,並且不做任何動作
	if (srcObj.selectedIndex <0)
	{
		alert('Must choose a item !!');
	}
	else
	{
		//產生一個option元件
		var opt = document.createElement("option");

		var optsrclength = srcObj.options[srcObj.selectedIndex].value.length;

//		alert('' +srcObj.options[srcObj.selectedIndex].value);

		if(optsrclength>0)
		{		
			//把opt加到目標List裡
			tarObj.options.add(opt);

			//指定opt的value及text
			opt.text = srcObj.options[srcObj.selectedIndex].text;
			opt.value = srcObj.options[srcObj.selectedIndex].value;


//			alert('' +opt.text);

			//加入後, 移除來源處的item,以避免重複選取.
			srcObj.remove(srcObj.selectedIndex);		
		}
	}
}

// BGColor set prview.
function BgColorSetPrview(keyEvent, divID)
{
  keyEvent = (keyEvent) ? keyEvent: window.event;
  if (keyEvent.type == "change") // orig = change
  {
	var vNum = Math.random();
	vNum = Math.round(vNum*09876543211234567890)
	var objDiv = document.getElementById(divID);
  	var input = document.form1.BGCOLORSET.value;
	objDiv.innerHTML = "<div></div>";
	getData("commonFunction.php?action=ColorSetPreview&qry=" + input + "&Sid="+vNum, divID);
  }
}

// YUI 月曆的 Click 事件的定義
function handleSelect(type,args,obj) 
{
	alert('type=' +type + ',args='+args + ',obj = '+obj);
 	var dates = args[0];
	var date = dates[0];
	var year = date[0], month = date[1], day = date[2];

	//var txtDate1 = document.getElementById("date1");
	//txtDate1.value = month + "/" + day + "/" + year;
	alert('' + year + "/" + month + "/" + day);
}

// 自製月曆 
function goLastMonth(month,year,Lang) 
{ 
   // If the month is January, decrement the year. 
  if(month == 1) 
  { 
	  --year; 
	  month = 13; 
  }        
  document.location.href = '../user/Calendar.php?Lang=' + Lang + '&month='+(month-1)+'&year='+year; 
} 
    
function goNextMonth(month,year,Lang) 
{ 
  // If the month is December, increment the year. 
  if(month == 12) 
  { 
	  ++year; 
      month = 0; 
  }    
  document.location.href = '../user/Calendar.php?Lang=' + Lang + '&month='+(month+1)+'&year='+year; 
} 
    
function getEventDesc(keyEvent, holiday, opkey, divID, Lang) 
{ 
  keyEvent = (keyEvent) ? keyEvent: window.event;
  if (keyEvent.type == "click") // orig = change
  {
  	var objDiv = document.getElementById(divID);
  	//var input = document.form1.New_WkpTitle.value;
	objDiv.innerHTML = "<div></div>";
	getData("../user/HolidayEventShow.php?action=HolidayEventShow&Lang=" + Lang + "&queryStr=" + holiday + "&key=" +opkey, divID);
  }
} 

function AddEditEvent(theUrl,theTitle)
{
	window.open(theUrl,theTitle,'height=420, width=750, toolbar =no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no');
}

function AddEditEventmini(theUrl,theTitle)
{
	window.open(theUrl,theTitle,'height=200, width=750, toolbar =no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no');
}

function AddEditEventMax(theUrl,theTitle)
{
	if(confirm('Are you sure to open \"' +theTitle + '\" the web site?'))
		window.open(theUrl,'','height=600, width=800, toolbar =no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no');
}


function getNewsDetail(keyEvent, Rid, opkey, divID)
{
  keyEvent = (keyEvent) ? keyEvent: window.event;
  if (keyEvent.type == "click") // orig = change
  {
  	var objDiv = document.getElementById(divID);
  	//var input = document.form1.New_WkpTitle.value;
	objDiv.innerHTML = "<div></div>";
	getData("../user/NewsrecordShow.php?action=NewsrecordShow&Rid=" + Rid + "&key=" +opkey, divID);
  }
}

// 依關鍵字搜尋新聞標題和內容 ,符合的列出新聞標題
function Querynews(keyEvent, opkey, divID)
{
  	var input = document.newsQueryform.QueryNewsword.value;

	  if (keyEvent.type == "keydown")
	  {
		if(input.length >1)
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../user/NewsrecordShow.php?action=NewsrecordQuery&String=" + input + "&key=" +opkey, divID);
		}
	  }
}

// Admin 依關鍵字查詢FAQ的內容 ,列出主題以利編輯.
function FAQadminQuery(keyEvent, opkey, edtLang, divID)
{
	if(keyEvent.type == "keydown")
	{
		var input = document.FaqQuery.QueryFAQkeyword.value;

		if(input.length>1)
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../admin/MaintainFaqAjax.php?action=AdminQueryFAQ&EditLang=" + edtLang + "&String=" + input + "&key=" +opkey, divID);
		}
	}
}

// Admin 依FAQ類別篩選產品資料.

function FAQadminFilter(keyEvent, opkey, edtLang, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	if(keyEvent.type == "change")
	{
		var input = document.FaqQuery.FaqType.value;
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("../admin/MaintainFaqAjax.php?action=AdminFilterFAQ&EditLang=" + edtLang + "&String=" + input + "&key=" +opkey, divID);
	}
}

// 依點選列出指定的FAQ DATA顯示在指定的DIV上
function LoadFaqData(keyEvent, opkey, Rid, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	if(keyEvent.type == "click")
	{
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("../user/FaqrecordShow.php?action=LoadFaqData&Rid=" + Rid + "&opId=" + opkey, divID);
	}
}

// JustQueryFaq

function JustQueryFaq(keyEvent, opkey, edtLang, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	if(keyEvent.type == "keydown")
	{
		var input = document.formFaq.QueryFAQ.value;
	
		if(input.length >1)
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../user/FaqrecordShow.php?action=KeywordQueryFAQ&Lang=" + edtLang + "&String=" + input + "&key=" +opkey, divID);
		}
	}
}

// Query Product data by Application.

function AppQueryProduct(keyEvent, opkey, data, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{
		if(data!='')
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../user/QueryShowPdDatabyApp.php?action=QueryData&Rid=" + data + "&key=" +opkey, divID);
		}
	}
}

function Suggestword(keyEvent, opkey, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	var input = document.form1.myInput.value;
	var inputLength = document.form1.myInput.value.length;

	if(inputLength>0)
	{
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("../user/WebSuggestion.php?action=Suggetsion&query=" + input + "&key=" +opkey, divID);
	}
}

// Admin 依關鍵字查詢應用解說的內容 ,列出主題以利編輯.
function APPadminQuery(keyEvent, opkey, edtLang, divID)
{
	if(keyEvent.type == "keydown")
	{
		var input = document.APPQuery.QueryAPPkeyword.value;

		if(input.length>1)
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../admin/MaintainAppAjax.php?action=AdminQueryAPP&EditLang=" + edtLang + "&String=" + input + "&key=" +opkey, divID);
		}
	}
}

// Admin 依應用解說分類別篩選產品資料.

function APPadminFilter(keyEvent, opkey, edtLang, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	if(keyEvent.type == "change")
	{
		var input = document.APPQuery.APPType.value;
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("../admin/MaintainAppAjax.php?action=AdminFilterAPP&EditLang=" + edtLang + "&String=" + input + "&key=" +opkey, divID);
	}
}

// 依點選列出指定的APP DATA顯示在指定的DIV上
function LoadAppData(keyEvent, opkey, Rid, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	if(keyEvent.type == "click")
	{
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("../user/ApprecordShow.php?action=LoadAppData&Rid=" + Rid + "&opId=" + opkey, divID);
	}
}

// JustQueryApplication

function JustQueryApp(keyEvent, opkey, edtLang, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	if(keyEvent.type == "keydown")
	{
		var input = document.formApp.QueryAPP.value;
	
		if(input.length >1)
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../user/ApprecordShow.php?action=KeywordQueryAPP&Lang=" + edtLang + "&String=" + input + "&key=" +opkey, divID);
		}
	}
}

// Go Way

function GoWay( key, data )
{
	
	//alert('key='+key+",data=" +data);
	
	switch(key)
	{

		case "PQF":

			location.href = '/user/PdInfoDetail.php?Id=' +data;

			break;
			
		case "Category":
		
			location.href = '/user/PdListbyCategory.php?action=LoadData&Typeid=' +data;
		
			break;
			
		case "BackIndex":
		
			location.href = '/user/index.php';
			
			break;

		case "SupervisorEditPdinfo":

			location.href = '/supervisor/index.php?action=Edit&Rid=' +data;

			break;

		case "Application":

			location.href = '/user/PdListbyApp.php?action=LoadData&Id=' +data;

			break;

		case "PdInfoDetail":

			location.href = '/user/PdInfoDetail.php?Id=' +data;

			break;

		case "AdminLogout":

			location.href = '/admin/loginauth.php?action=LoginOut';

			break;

		case "FaqMaintainCancel":

			location.href = '/admin/FaqData.php';

			break;

		case "ChangeFAQLangEdit":

			location.href = '/admin/FaqData.php?DataLang=' +data;

			break;

		case "ChangeFAQLangType":

			location.href = '/admin/FaqType.php?DataLang=' +data;

			break;

		case "LoadFAQDataByType":

			location.href = '/admin/FaqData.php?ID=' +data;

			break;
		
		case "BacktoFaqType":

			location.href = '/admin/FaqType.php';

			break;

		case "BackToAdminAppType":

			location.href = '/admin/ApplicationType.php';

			break;

		case "ChangeFAQLangAddnew":

			location.href = '/admin/AddFaqData.php?DataLang=' +data;

			break;

		case "ReLoadAllAppTypeData":

			location.href = '/admin/ApplicationType.php?DataLang=' +data;

			break;

		case "HistoryPageBackup":

			history.back(-1);

			break;

		case "ChangeAppLangEdit":

			location.href = '/admin/ApplicationData.php?DataLang=' +data;
		
			break;

		case "ChangeAppLangAddnew":

			location.href = '/admin/AddApplicationData.php?DataLang=' +data;

			break;

		case "BacktoTroubleShootingType":

			location.href = '/admin/TroubleShootingType.php';

			break;

		case "ChangeTroubleLangAddnew":

			location.href = '/admin/AddTroubleShootingData.php?DataLang=' +data;

			break;

		case "TroubleShootingMaintainCancel":

			location.href = '/admin/TroubleShootingData.php';

			break;
	
		case "ChangeTSDLangType":

			location.href = '/admin/TroubleShootingType.php?DataLang=' +data;

			break;

		case "GoToAddnewTSDType":

			location.href = '/admin/AddTroubleShootingType.php?DataLang=' +data;

			break;
		
		case "LoadTSDDataByType":

			location.href = '/admin/TroubleShootingData.php?ID=' +data;

			break;

		case "ChangeTSDangEdit":

			location.href = '/admin/TroubleShootingData.php?DataLang=' +data;

			break;

		case "GoToAddnewTSDData":

			location.href = '/admin/AddTroubleShootingData.php?DataLang=' +data;

			break;

		case "GoToResourceType":

			location.href = '/admin/ResourcedownloadsType.php';

			break;
	
		case "ChangeResourceLangType":

			location.href = '/admin/ResourcedownloadsType.php?DataLang=' +data;

			break;

		case "LoadAllResource":

			location.href = '/admin/ResourcedownloadsData.php?ID=' +data;

			break;

		case "ReLoadResourceTypeData":

			location.href = '/admin/AddResourcedownloadsData.php?DataLang=' + data;

			break;

		case "ReLoadResourceDatabyLang":

			location.href = '/admin/ResourcedownloadsData.php?DataLang=' + data;

			break;

		case "NewsMaintainCancel":

			location.href = '/admin/DrayTekNews.php';

			break;


		case "EventsMaintainCancel":

			location.href = '/admin/DrayTekEvents.php';

			break;

		case "BackToAwardAdminList":

			location.href = '/admin/DrayTekAwards.php';

			break;

		case "ChangeNewsangAddnew":

			location.href = '/admin/AddDrayTekNews.php?DataLang=' +data;

			break;

		case "ChangeSoluctionLang":

			location.href = '/admin/SolutionsMaintain.php?DataLang=' +data;

			break;

		case "LoadSolDataByType":

			location.href = '/admin/SolutionsDetail.php?ID=' +data;

			break;
		
		case "LoadAllPdTypeData":

			location.href = '/admin/ProductsType.php?ID=' +data;

			break;

		case "LoadGlobalPartner":

			location.href = '/user/Globalpartners.php?Type=' +data;

			break;
			
		case "LoadEnGlobalPartner":

			location.href = '/user/Globalpartners.php?EnData&Type=' +data;

			break;
			
		case "ChangeStoryLangEdit":

			location.href = '/admin/vigorstoreedit.php?DataLang=' +data;

			break;			
		
	}

}

// Go Way Three

function GoWayTree( key, data1, data2 )
{
	switch(key)
	{
		case "ReLoadIntroDataEdit":

			location.href = '/admin/IntroPage.php?action=Edit&ID=' + data1 + '&DataLang=' + data2;

			break;

		case "ReLoadCompanyOverviewData":

			location.href = '/admin/CompanyOverview.php?ID=' + data1 + '&DataLang=' + data2;

			break;

		case "ReLoadGreenITData":

			location.href = '/admin/GreenIT.php?ID=' + data1 + '&DataLang=' + data2;

			break;

		case "ReLoadRegulatoryData":

			location.href = '/admin/Regulatory.php?ID=' + data1 + '&DataLang=' + data2;

			break;
		
		case "ListSetApplicationData":

			location.href = '/admin/ApplicationData.php?ID=' + data1 + '&DataLang=' + data2;

			break;

		case "ReLoadAllResourceForm":

			location.href = '/admin/AddResourcedownloadsData.php?DataLang=' +data1 + '&ID=' +data2;

			break;

		case "ListAllResourcebyModelId":

			location.href = '/admin/ResourcedownloadsData.php?DataLang=' + data1 + '&ID=' +data2;

			break;

		case "ReLoadPDDetailInfobyLang":

			location.href = '/admin/ProductsDataDetail.php?ID=' + data1 + '&DataLang=' + data2;

			break;

	}
}

// 依需求產生指定的 Resource File upload form
function CreateRSourceForm(keyEvent, opkey, item, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	if(keyEvent.type == "change")
	{
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("../admin/CreateRSourceForm.php?&opId=" + opkey + "&Num=" +item, divID);
	}
}

/*
 
Correctly handle PNG transparency in Win IE 5.5 & 6.
http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.

Use in <HEAD> with DEFER keyword wrapped in conditional comments:
<!--[if lt IE 7]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->

*/
function fixPNG()
{
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])

if ((version >= 5.5) && (document.body.filters)) 
{
   for(var i=0; i<document.images.length; i++)
   {
      var img = document.images[i]
      var imgName = img.src.toUpperCase()
      if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
      {
         var imgID = (img.id) ? "id='" + img.id + "' " : ""
         var imgClass = (img.className) ? "class='" + img.className + "' " : ""
         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
         var imgStyle = "display:inline-block;" + img.style.cssText 
         if (img.align == "left") imgStyle = "float:left;" + imgStyle
         if (img.align == "right") imgStyle = "float:right;" + imgStyle
         if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
         var strNewHTML = "<span " + imgID + imgClass + imgTitle
         + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
         + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
         + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
         img.outerHTML = strNewHTML
         i = i-1
      }
   }
}
}

// Show Local Partner of Taiwan for choose

function ShowLocalPartner(keyEvent, opkey, data, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	
	if(keyEvent.type == "change")
	{
		if(data!='')
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../user/QueryShowLocalPartner.php?action=QueryData&Type=" + data + "&key=" +opkey, divID);
		}
	}
}

// e-Paper use -- START -- 

function ConfirDelTemplate(id)
{
	if(confirm("Are you sure to delete this record?"))
	{
		location.href = "/admin/epaper/index.php?action=DelTemplate&Rid=" +id;
	}
	else
	{
		alert('Abandon to record delete by user.');
	}
}

function ConfirDelUser(id)
{
	if(confirm("Are you sure to delete this record?"))
	{
		location.href = "/admin/epaper/index.php?action=Delmember&Rid=" +id;
	}
	else
	{
		alert('Abandon to record delete by user.');
	}
}


function ConfirDelSendLog(id)
{
	if(confirm("Are you sure to delete this record?"))
	{
		location.href = "/admin/epaper/index.php?action=DelpaperLog&Rid=" +id;
	}
	else
	{
		alert('Abandon to record delete by user.');
	}
}


function ConfirDelnewContent(id)
{
	if(confirm("Are you sure to delete this record?"))
	{
		location.href = "/admin/epaper/index.php?action=DelnewContent&Rid=" +id;
	}
	else
	{
		alert('Abandon to record delete by user.');
	}
}


// 依點選列出指定的APP DATA顯示在指定的DIV上
function AddnewGroup(keyEvent, opkey, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	var input = document.EditMember.NewGroupName.value;

	if(keyEvent.type == "click")
	{
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("/admin/epaper/Ajaxphp.php?action=AddNewsGroup&data=" + input + "&opkey=" +opkey, divID);
	}
}

// e-Paper use -- END -- 

// Product register form use. -- START -- 

function AlertRegformitem(keyEvent, opkey, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event; 
	var objDiv = document.getElementById(divID);
	objDiv.innerHTML = "<div></div>";
	getData("/user/popPdRegform.php?action=AuotCreate&OpKey=" +opkey, divID);
}

function CheckPDRegFormdata(key)
{
	if(key=='Go')
	{
		var VerifyData = document.PDregModelForm.SNData.value;
		var VerifyDataLength = document.PDregModelForm.SNData.value.length;
		
		if(VerifyData=='') // 檢查是否空白
		{
			alert('產品序號欄位不得空白 ,請正確填寫 !!');	
		}
		else if(VerifyDataLength!=12) // 檢查長度是否正確 SN 長度為12個字串
		{
			alert('產品序號欄位長度不正確 ,請正確填寫 !!');	
		}
		else // 全部正確, 查驗表單確認序號是否重複.
		{
			document.PDregModelForm.action = "/user/PdRegister.php?action=RegPDStep2";	
			document.PDregModelForm.submit();
		}
	}
}

function ShowJoinePaper(keyEvent, opkey, divID)
{
	// 確認是否有選取訂閱
	keyEvent = (keyEvent) ? keyEvent: window.event;
	
	alert('' +keyEvent);

/*	if(keyEvent == "click")
	{
*/		if(document.REG.JoinePaperchk.checked == true)
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("/user/popPdRegform.php?action=JoinEpaper&OpKey=" +opkey, divID);
		}
		else
		{
			alert('已經取消');
		}		
/*	}
*/}


function LoadImage(keyEvent,divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	
	if(keyEvent == 'click')
	{
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("/user/popPdRegform.php?action=ShowHelpImage", divID);
	}
}

// Product register form use. -- END -- 

// DrayTek's holiday alert message

function AlertHoliday(keyEvent,opkey,Rid,divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event; 
	var objDiv = document.getElementById(divID);
	objDiv.innerHTML = "<div></div>";
	getData("/user/popHolidayMsg.php?action=AuotCreate&ID=" + Rid  + "&OpKey=" +opkey, divID);
}

function ConfirDelHLPD(id)
{
	if(confirm("Are you sure to delete this record?"))
	{
		location.href = "/admin/index.php?action=DelHLPDINFO&Rid=" +id;
	}
	else
	{
		alert('Abandon to record delete by user.');
	}
}

function ConfirDelCheck(type,id)
{
	switch(type)
	{
		case "DataSheet":

				if(confirm('Are you sure delete this file?'))
				{
					location.href = '/admin/pdmaintain.php?actionAdmin=DeleteResource&Type=DataSheet&ID=' +id;
				}

			break;
		
		case "Resource":

				if(confirm('Are you sure delete this file?'))
				{
					location.href = '/admin/pdmaintain.php?actionAdmin=DeleteResource&Type=Resource&ID=' +id;
				}

			break;

		case "DofC":

				if(confirm('Are you sure delete this file?'))
				{
					location.href = '/admin/pdmaintain.php?actionAdmin=DeleteResource&Type=DofC&ID=' +id;
				}

			break;

		case "LocalPartner":

				if(confirm('Are you sure delete this record?'))
				{
					location.href = '/admin/Taiwan.php?actionAdmin=DeleteRecord&ID=' +id;	
				}

			break;

	}
}

function getFile(keyEvent, path, filename)
{
	location.href = "/user/DraytekGetFile.php?path=" + path + "&filename=" + filename;	
}

function CheckVCode(keyEvent, opKey, data, divID, Type)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;
	
	if(keyEvent.type == 'change')
	{
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("/user/CheckVCode.php?action=check&op=" + opKey + "&KEY=" +data + "&Type=" +Type, divID);
	}
}

// Add new resource record fields.

function AddnewResourceFields(keyEvent, opkey, data, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{
		if(data!='')
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../admin/AddResourceFileForm.php?num=" + data + "&key=" +opkey, divID);
		}
	}
}

function ChoosePartnerMail(keyEvent, opkey, data, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{
		if(data!='')
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../user/QueryPartnerMail.php?action=QueryData&Rid=" + data + "&key=" +opkey, divID);
		}
	}
}

function CheckEmailAddress(keyEvent, opkey, data, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{
		if(data!='')
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../user/EmailCheckfuntion.php?action=QueryData&data=" + data + "&key=" +opkey, divID);
		}
	}
}

function getIconData(keyEvent, opkey, data, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{
		if(data!='')
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../admin/getIconData.php?action=QueryData&ID=" + data + "&key=" +opkey, divID);
		}
	}
}

function swLangNews(ID)
{
	var theUrl = "/user/MultiLangNews.php?ID=" + ID;
	window.open(theUrl,"EditActiomItem",'height=600, width=700, toolbar =no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no');
}

function MemberUpdateCheckForm(keyEvent, opkey, type, data1, data2, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		
		var objChkResult =  document.getElementById('FormChk');
		objChkResult.innerHTML = "<div></div>";

		switch (type)
		{
			case "Password":
			
				if(data1 != data2)
				{
					objDiv.innerHTML = "<div class=\"fontRED12B\">Password and Confirm Password must be match.</div>";
					objChkResult.innerHTML = "<input type=\"hidden\" name=\"FormChkResult\" id=\"FormChkResult\"  value=\"Fail\"/>";
				}
				else
				{
					objChkResult.innerHTML = "<input type=\"hidden\" name=\"FormChkResult\" id=\"FormChkResult\"  value=\"Pass\"/>";
				}
			
			break;
			
			case "CountrySel":
			
				if(data1 == '')
				{
					objDiv.innerHTML = "<div class=\"fontRED12B\">Must choice your country.</div>";
					objChkResult.innerHTML = "<input type=\"hidden\" name=\"FormChkResult\" id=\"FormChkResult\"  value=\"Fail\"/>";
				}
				else
				{
					objChkResult.innerHTML = "<input type=\"hidden\" name=\"FormChkResult\" id=\"FormChkResult\"  value=\"Pass\"/>";
				}
			
			break;
			
			case "SecurityType":
			
				if(data1 == '')
				{
					objDiv.innerHTML = "<div class=\"fontRED12B\">Must choice a security question.</div>";
					objChkResult.innerHTML = "<input type=\"hidden\" name=\"FormChkResult\" id=\"FormChkResult\"  value=\"Fail\"/>";
				}
				else
				{
					objChkResult.innerHTML = "<input type=\"hidden\" name=\"FormChkResult\" id=\"FormChkResult\"  value=\"Pass\"/>";
				}
			
			break;
			
		}
	}
}


function MemRegChkmailExist(keyEvent, opkey, data, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{
		if(data!='')
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../user/EmailCheckfuntion.php?action=RegMemberChkMail&data=" + data + "&key=" +opkey, divID);
		}
	}	
}

function LostPWDChkmailExist(keyEvent, opkey, data, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{
		if(data!='')
		{
			var objDiv = document.getElementById(divID);
			objDiv.innerHTML = "<div></div>";
			getData("../user/EmailCheckfuntion.php?action=CheckEmailExist&data=" + data + "&key=" +opkey, divID);
		}
	}	
}

function LotteryChkAns(keyEvent, opkey, Type, data, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{

		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";

		switch (Type)
		{
			case "exam1":
			
				if(data=='2')
				{
					objDiv.innerHTML = "<div class=\"fontBLUE12B\">Bingo</div>";
				}
				else
				{
					objDiv.innerHTML = "<div class=\"fontRED12B\">Incorect</div>";					
				}
			
			break;
			
			case "exam2":				

				if(data=='YES')
				{
					objDiv.innerHTML = "<div class=\"fontBLUE12B\">Bingo</div>";
				}
				else
				{
					objDiv.innerHTML = "<div class=\"fontRED12B\">Incorect</div>";					
				}

			break;
			
			case "exam3":

				if(data=='50')
				{
					objDiv.innerHTML = "<div class=\"fontBLUE12B\">Bingo</div>";
				}
				else
				{
					objDiv.innerHTML = "<div class=\"fontRED12B\">Incorect</div>";					
				}

			break;
		}
	}	
}


function ChkSNData(keyEvent, opkey, Mac, SN, divID)
{
	keyEvent = (keyEvent) ? keyEvent: window.event;

	if(keyEvent.type == "change")
	{
		var objDiv = document.getElementById(divID);
		objDiv.innerHTML = "<div></div>";
		getData("../user/SNDataChk.php?action=ChkSN&data1=" + Mac + "&data2=" + SN + "&key=" +opkey, divID);
	}
}

/*  for search suggest */
// Process xml file. 

// Array.indexOf( value, begin, strict ) - Return index of the first element that matches value
Array.prototype.indexOf = function( v, b, s ) {
	for( var i = +b || 0, l = this.length; i < l; i++ ) {
		if( this[i]===v || s && this[i]==v ){
			return i;
		}
 	}
	return -1;
};

// Array.push() - Add an element to the end of an array, return the new length
if( typeof Array.prototype.push==='undefined' ) {
	Array.prototype.push = function() {
		for( var i = 0, b = this.length, a = arguments, l = a.length; i<l; i++ ) {
			this[b+i] = a[i];
		}
		return this.length;
	};
}

// Array.unique( strict ) - Remove duplicate values
Array.prototype.unique = function( b ) {
	var a = [], i, l = this.length;
	for( i=0; i<l; i++ ) {
		if( a.indexOf( this[i], 0, b ) < 0 ) { a.push( this[i] ); }
	}
	return a;
};

function getNodeContent(xmldoc,key,label) {
	/*
	取得節點內容值
	輸入項:
		xmldoc	:xml文件
		key	:標籤名稱
		label	:子節點屬性名稱,用於取得屬性值
	輸出項:
		Array([a,b])
		a=標籤名稱, 或標籤中指定屬性值
		b=標籤字串值
		例:
		<product>
		<name value="產品">Sony Handy Cam</name>
		<price value="單價">21000</name>
		</product>
		getNodeContent(xml,'product') 回傳值為[name,Sony Handy Cam][price,21000]
		getNodeContent(xml,'product','value') 回傳值為[產品,Sony Handy Cam][單價,21000]

	*/
	var na=[],va=[],l;
	var outstr='';

	key=(typeof key=='undefined')?getNodeName(xmldoc,false):key;

	for (var i=0;i<xmldoc.getElementsByTagName(key).length;i++){
		var xml=xmldoc.getElementsByTagName(key)[i];
		na=getNodeName(xml,false);	//必需是唯一值,因為接下來的動作,會依序讀出

		for (var j=0;j<na.length;j++){
			var xmlk=xml.getElementsByTagName(na[j]);
			for (var k=0;k<xmlk.length;k++){
				l=Math.max(va.length,va.length-1);
				if(typeof label!='undefined'){
					if(typeof xmlk[k].getAttribute(label)!=null && typeof xmlk[k].getAttribute(label)!=''){
						va[l]=[xmlk[k].getAttribute(label),xmlk[k].childNodes[0].nodeValue];
					}else{
						va[l]=[na[j],xmlk[k].childNodes[0].nodeValue];
					}
				}else{
					va[l]=[na[j],xmlk[k].childNodes[0].nodeValue];
				}
				outstr+=va[l]+'\n';
			}
		}
	}

	return va
}

function getNodeName(xmldoc,duplicate){
	/*
	取得子節點標籤名稱
	輸入項:
		xmldoc		:xml文件
		duplicate	:boolean,允許重複項,預設為 true
	輸出項:
		Array()
		以第一層子節點標籤名稱組成的陣列
	*/

	var d;
	var na=[];

	d=(typeof duplicate=='undefined')?true:duplicate;

	for (var i=0;i<xmldoc.childNodes.length;i++){
		if (xmldoc.childNodes[i].hasChildNodes()){
			na=na.concat(xmldoc.childNodes[i].tagName);
		}
	}

	na=(d)?na:na.unique();

	return na
}

/*  for search suggest */
// Process user input (query keyword) 


autoComplete=function(fID){

	this.id=document.getElementById(fID);

	if (!this.id) return false;

	//存放建議清單的div識別名稱
	this.div		='_sg';
	//建議清單樣式名稱
	this.className		='_sgClass';
	this.suggest		='_qg';
	//body設的margin,用來補足IE偏移
	this.marginTop		=12;
	this.marginLeft		=12;
	//建議清單寬度
	this.divWidth		='372px';
	//建議清單顯示列數
	this.selectHeight	=6;

	//建立XMLHttpRequest物件
	this.xmlHttp		=this.createXHR();

	//保存 this 不變化
	var pointer = this;

	this.id.onkeyup = function(e){ return pointer.onKeyUp(e); }
}

autoComplete.prototype.onKeyUp=function(e){
	var key = (window.event) ? window.event.keyCode : e.which;

	switch(key){
		case 13:	//return
			break;
		case 8:		//backspace
			break;
		case 9:		//tab
			break;	//do nothing
		case 27:	//esc
			this.submits();
			this.id.value='';
			break;
		case 38:	//up
			break;
		case 40:	//down
			break;
		default:
			this.getRequest();
	}
}

autoComplete.prototype.getRequest=function(){
	var url='/user/autoComplete.php?s='+this.id.value+'&ts='+new Date().getTime();
	this.sendRequest(url);
}

autoComplete.prototype.createLayer=function(){

	var divName=this.div;
	var sName=this.suggest;
	var obj=this.id;
	var body=document.getElementsByTagName("body")[0];

	//create layer
	if (document.getElementById(divName)==null){
		var div=document.createElement('div');
		div.setAttribute('id',divName);
		div.style.position='absolute';
		div.style.width=obj.offsetWidth+'px';

		var pos=this.getPos(this.id);
		div.style.left=pos.x+'px';
		div.style.top=(pos.y+obj.offsetHeight)+'px';

		body.appendChild(div);
	}
}

autoComplete.prototype.getPos=function(d){
	var cx=0,cy=0,obj;
	obj=d;

	if (obj.offsetParent){
		while (obj.offsetParent){
			cx += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}else if(obj.x){
		cx+=obj.x;
	}

	obj=d;

	if (obj.offsetParent){
		while (obj.offsetParent){
			cy += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}else if(obj.y){
		cy+=obj.y;

	}

	//IE 補回 body 的 margin
	var b=navigator.userAgent;
	var ie=(b.indexOf('MSIE')!=-1);
	var opera=(b.indexOf('Opera')!=-1);
	var mozilla=(b.indexOf('Mozilla')!=-1);
	if (ie){
		return {x:cx+this.marginLeft, y:cy+this.marginTop}
	}else{
		return {x:cx, y:cy}
	}
}

autoComplete.prototype.showSuggest=function(va){
	var obj=document.getElementById(this.div);

	var selectobj=document.createElement("select");

	for (var i=0;i<va.length;i++){
		var op=document.createElement("option");
		var sText=document.createTextNode(va[i][1])
		op.appendChild(sText);
		op.setAttribute('value',va[i][1]);
		selectobj.appendChild(op);
	}

	selectobj.setAttribute('id',this.suggest);
	selectobj.setAttribute('size',this.selectHeight);
	selectobj.style.width=this.divWidth;
	selectobj.className=this.className;

	//判斷是否已經有建議名單
	if (document.getElementById(this.suggest)){
		obj.replaceChild(selectobj,document.getElementById(this.suggest));
	}else{
		obj.appendChild(selectobj);
	}

	var pointer=this;
	selectobj.onchange=function(){
		pointer.submits();
		}
	selectobj.ondblclick=function(){
		pointer.submits();
		}
}

autoComplete.prototype.submits=function(){
	var v=document.getElementById(this.suggest).value;
	this.id.value=v;
	var body=document.getElementsByTagName("body")[0];
	body.removeChild(document.getElementById(this.div));
}

autoComplete.prototype.createXHR=function(){
	var xmlHttp;
	if (window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();
	}else if (window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if (!xmlHttp) {
		alert('您使用的瀏覽器不支援 XMLHTTP 物件');
		return false;
	}else{
		return xmlHttp;
	}
}

autoComplete.prototype.sendRequest=function(url){
	var pointer=this;

	this.xmlHttp.open('GET',url,true);
	this.xmlHttp.onreadystatechange=function(){pointer.catchXML()};
	this.xmlHttp.send(null);
}

autoComplete.prototype.catchXML=function(){
	if (this.xmlHttp.readyState==4){
		xml=this.xmlHttp.responseXML;
		if (this.xmlHttp.status == 200) {
			this.createLayer();
    			this.showSuggest(getNodeContent(xml));
		}else{
			alert(this.xmlHttp.status);
		}
	}
}

