//----------------------------------------------------------------------------//
//    Dreamsera  夢時代數碼工作室  www.dreamsera.com  &  www.dreamsera.net    //
//----------------------------------------------------------------------------//
/*********************************Login Error*************************************/

// form validation function //
function validate(form) {
  var username = PageLoginForm.username.value;
  var password = PageLoginForm.password.value;
  var checkcode = PageLoginForm.checkcode.value;
  if(username == "") {
    inlineMsg('username',' 請輸入會員帳號！ ',2);
    return false;
  }
  if(password == "") {
    inlineMsg('password',' 請輸入登入密碼！ ',2);
    return false;
  }
  if(checkcode == "") {
    inlineMsg('checkcode',' 請輸入驗證碼！！ ',2);
    return false;
  }
  return true;
}
function reset_form(){
	document.PageLoginForm.username.value="";
	document.PageLoginForm.password.value="";
	document.PageLoginForm.checkcode.value="";
	document.PageLoginForm.username.focus;
	document.PageLoginForm.password.focus;
	//document.PageLoginForm.checkcode.focus;
}
// START OF MESSAGE SCRIPT //
var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;
// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
  var msg;
  var msgcontent;
  if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
  } else {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;
  msg.style.display = 'block';
  var msgheight = msg.offsetHeight;
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
  var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;  
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
}
// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}
// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}
// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
    left += target.x;
  }
  return left;
}
// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}
// preload the arrow //
if(document.images) {
  arrow = new Image(7,80); 
  arrow.src = "virtual_desktop/share/login_error_arrow.gif"; 
}

/******************************************************************************/
/****************************Cornercssrain************************************/

var cbb = {
	init : function() {
	// Check that the browser supports the DOM methods used
		if (!document.getElementById || !document.createElement || !document.appendChild) return false;
		var oElement, oOuter, oI1, oI2, tempId;
	// Find all elements with a class name of cbb
		var arrElements = document.getElementsByTagName('*');
		var oRegExp = new RegExp("(^|\\s)cbb(\\s|$)");
		for (var i=0; i<arrElements.length; i++) {
	// Save the original outer element for later
			oElement = arrElements[i];
			if (oRegExp.test(oElement.className)) {
	// 	Create a new element and give it the original element's class name(s) while replacing 'cbb' with 'cb'
				oOuter = document.createElement('div');
				oOuter.className = oElement.className.replace(oRegExp, '$1cb$2');
	// Give the new div the original element's id if it has one
				if (oElement.getAttribute("id")) {
					tempId = oElement.id;
					oElement.removeAttribute('id');
					oOuter.setAttribute('id', '');
					oOuter.id = tempId;
				}
	// Change the original element's class name and replace it with the new div
				oElement.className = 'i3';
				oElement.parentNode.replaceChild(oOuter, oElement);
	// Create two new div elements and insert them into the outermost div
				oI1 = document.createElement('div');
				oI1.className = 'i1';
				oOuter.appendChild(oI1);
				oI2 = document.createElement('div');
				oI2.className = 'i2';
				oI1.appendChild(oI2);
	// Insert the original element
				oI2.appendChild(oElement);
	// Insert the top and bottom divs
				cbb.insertTop(oOuter);
				cbb.insertBottom(oOuter);
			}
		}
	},
	insertTop : function(obj) {
		var oOuter, oInner;
	// Create the two div elements needed for the top of the box
		oOuter=document.createElement("div");
		oOuter.className="bt"; // The outer div needs a class name
	    oInner=document.createElement("div");
	    oOuter.appendChild(oInner);
		obj.insertBefore(oOuter,obj.firstChild);
	},
	insertBottom : function(obj) {
		var oOuter, oInner;
	// Create the two div elements needed for the bottom of the box
		oOuter=document.createElement("div");
		oOuter.className="bb"; // The outer div needs a class name
	    oInner=document.createElement("div");
	    oOuter.appendChild(oInner);
		obj.appendChild(oOuter);
	},
	addEvent : function(obj, type, fn) {
		if (obj.addEventListener)
			obj.addEventListener(type, fn, false);
		else if (obj.attachEvent) {
			obj["e"+type+fn] = fn;
			obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
			obj.attachEvent("on"+type, obj[type+fn]);
		}
	}
};
cbb.addEvent(window, 'load', cbb.init);

/******************************************************************************/
/******************************Voice CheckCode*********************************/

function getcode()
{
	document.getElementById("safecode").src="../cms_sys_inc/check_code.asp?"+Math.random();
}
function voice()
{
	if(document.all&&!window.opera)
		document.getElementById("voices").Filename="../cms_sys_inc/check_code_voice.asp?"+Math.random();
	else
		alert("錯誤！！僅支援 IE 瀏覽器！！");
}

/******************************************************************************/
/********************************JS Keybord************************************/

var password1;
window.onload=function (){
	password1=null;
	initCalc();
}
var CapsLockValue=0;
var checkSoftKey;
var pIsPWD=false;
var ps;
var ifUseYinshe='1';
var jiami=0;
var keyjiami=0;
var hidekeyboard=true;
var ifjiami = false; //鍵盤輸入時是否需要加密，如果需要加密，則設為true,否則設為false

var a=new Array([16]);
a[0]='S';a[1]='0';a[2]='0';a[3]='0';a[4]='0';a[5]='0';a[6]='0';a[7]='0';a[8]='2';a[9]='7';a[10]='4';a[11]='6';a[12]='1';a[13]='3';a[14]='2';a[15]='5';
var b=new Array([190]);
b[0]='G';b[1]=' ';b[2]='R';b[3]='M';b[4]='W';b[5]='N';b[6]='u';b[7]='B';b[8]='v';b[9]='V';b[10]='=';
b[11]='C';b[12]=',';b[13]='X';b[14]='M';b[15]='Z';b[16]='%';b[17]='L';b[18]='_';b[19]='K';b[20]='c';
b[21]='J';b[22]='s';b[23]='H';b[24]='k';b[25]='G';b[26]='@';b[27]='F';b[28]='+';b[29]='D';b[30]='~';
b[31]='S';b[32]='$';b[33]='A';b[34]='&';b[35]='P';b[36]='y';b[37]='O';b[38]='[';b[39]='I';b[40]='-';
b[41]='U';b[42]='p';b[43]='Y';b[44]='V';b[45]='T';b[46]='*';b[47]='R';b[48]='K';b[49]='E';b[50]='U';
b[51]='W';b[52]='w';b[53]='Q';b[54]=']';b[55]='/';b[56]='<';b[57]='.';b[58]='n';b[59]=',';b[60]='d';
b[61]='?';b[62]='B';b[63]='>';b[64]='`';b[65]='<';b[66]='b';b[67]='m';b[68]='o';b[69]='n';b[70]='P';
b[71]='b';b[72]='{';b[73]='v';b[74]='L';b[75]='c';b[76]='l';b[77]='x';b[78]='r';b[79]='z';b[80]='T';
b[81]='\'';b[82]='?';b[83]=';';b[84]='8';b[85]='"';b[86]='h';b[87]=':';b[88]='Z';b[89]='l';b[90]='i';
b[91]='k';b[92]='f';b[93]='j';b[94]='x';b[95]='h';b[96]='1';b[97]='g';b[98]='5';b[99]='f';b[100]='E';
b[101]='d';b[102]='g';b[103]='s';b[104]='J';b[105]='a';b[106]='t';b[107]=']';b[108]='!';b[109]='[';b[110]='N';
b[111]='}';b[112]='m';b[113]='{';b[114]='|';b[115]='p';b[116]='A';b[117]='o';b[118]='6';b[119]='i';b[120]='(';
b[121]='u';b[122]=':';b[123]='y';b[124]='}';b[125]='t';b[126]='^';b[127]='r';b[128]='a';b[129]='e';b[130]='Y';
b[131]='w';b[132]='7';b[133]='q';b[134]='/';b[135]='\\';b[136]='>';b[137]='=';b[138]='O';b[139]='-';b[140]='Q';
b[141]='0';b[142]='2';b[143]='9';b[144]=' ';b[145]='8';b[146]='X';b[147]='7';b[148]='S';b[149]='6';b[150]='z';
b[151]='5';b[152]='0';b[153]='4';b[154]='e';b[155]='3';b[156]='H';b[157]='2';b[158]='3';b[159]='1';b[160]='D';
b[161]='`';b[162]='I';b[163]='|';b[164]='#';b[165]='+';b[166]=';';b[167]='_';b[168]='q';b[169]=')';b[170]='\'';
b[171]='(';b[172]='4';b[173]='*';b[174]='\\';b[175]='&';b[176]='C';b[177]='^';b[178]='F';b[179]='%';b[180]='"';
b[181]='$';b[182]='9';b[183]='#';b[184]='.';b[185]='@';b[186]='j';b[187]='!';b[188]=')';b[189]='~';

function setVariables(){
	tablewidth=630;
	tableheight=20;
	if(navigator.appName=="Netscape"){
		horz=".left";
		vert=".top";
		docStyle="document.";
		styleDoc="";
		innerW="window.innerWidth";
		innerH="window.innerHeight";
		offsetX="window.pageXOffset";
		offsetY="window.pageYOffset";
	}
	else {
		horz=".pixelLeft";
		vert=".pixelTop";
		docStyle="";
		styleDoc=".style";
		innerW="document.body.clientWidth";
		innerH="document.body.clientHeight";
		offsetX="document.body.scrollLeft";
		offsetY="document.body.scrollTop";
	}
}
function checkLocation(){
	if(checkSoftKey){
		objectXY="softkeyboard";
		var availableX=eval(innerW);
		var availableY=eval(innerH);
		var currentX=eval(offsetX);
		var currentY=eval(offsetY);
		x=availableX-tablewidth+currentX;
		y=currentY;
		evalMove();
	}
	setTimeout("checkLocation()",0);
}
function evalMove(){
	eval(docStyle+objectXY+styleDoc+vert+"="+y);
}
self.onError=null;
currentX=currentY=0;
whichIt=null;
lastScrollX=0;
lastScrollY=0;
NS=(document.layers)?1:0;
IE=(document.all)?1:0;
function heartBeat(){
	if(IE){
		diffY=document.body.scrollTop;
		diffX=document.body.scrollLeft;
	}
	if(NS){
		diffY=self.pageYOffset;
		diffX=self.pageXOffset;
	}
	if(diffY!=lastScrollY){
		percent=.1*(diffY-lastScrollY);
		if(percent>0)percent=Math.ceil(percent);
		else percent=Math.floor(percent);
		if(IE)document.all.softkeyboard.style.pixelTop+=percent;
		if(NS)document.softkeyboard.top+=percent;
		lastScrollY=lastScrollY+percent;
	}
	if(diffX!=lastScrollX){
		percent=.1*(diffX-lastScrollX);
		if(percent>0)percent=Math.ceil(percent);
		else percent=Math.floor(percent);
		if(IE)document.all.softkeyboard.style.pixelLeft+=percent;
		if(NS)document.softkeyboard.left+=percent;
		lastScrollX=lastScrollX+percent;
	}
}
function checkFocus(x,y){
	stalkerx=document.softkeyboard.pageX;
	stalkery=document.softkeyboard.pageY;
	stalkerwidth=document.softkeyboard.clip.width;
	stalkerheight=document.softkeyboard.clip.height;
	if((x>stalkerx&&x<(stalkerx+stalkerwidth))&&(y>stalkery&&y<(stalkery+stalkerheight)))return true;
	else return false;
}
function grabIt(e){
	checkSoftKey=false;
	if(IE){
		whichIt=event.srcElement;
		while(whichIt.id!=null&&whichIt.id.indexOf("softkeyboard")==-1){
			whichIt=whichIt.parentElement;
			if(whichIt==null){
				return true;
				
			}
		}
		if(whichIt.style!=null){
			whichIt.style.pixelLeft=whichIt.offsetLeft;
			whichIt.style.pixelTop=whichIt.offsetTop;
		}
		currentX=(event.clientX+document.body.scrollLeft);
		currentY=(event.clientY+document.body.scrollTop);
	}else {
		window.captureEvents(Event.MOUSEMOVE);
		if(checkFocus(e.pageX,e.pageY)){
			whichIt=document.softkeyboard;
			StalkerTouchedX=e.pageX-document.softkeyboard.pageX;
			StalkerTouchedY=e.pageY-document.softkeyboard.pageY;
		}
	}
	return true;
}
function moveIt(e){
	if(whichIt==null){
		return false;
	}
	if(IE){
		if(whichIt.style!=null){
			newX=(event.clientX+document.body.scrollLeft);
			newY=(event.clientY+document.body.scrollTop);
			distanceX=(newX-currentX);
			distanceY=(newY-currentY);
			currentX=newX;
			currentY=newY;
			whichIt.style.pixelLeft+=distanceX;
			whichIt.style.pixelTop+=distanceY;
			if(whichIt.style.pixelTop<document.body.scrollTop)whichIt.style.pixelTop=document.body.scrollTop;
			if(whichIt.style.pixelLeft<document.body.scrollLeft)whichIt.style.pixelLeft=document.body.scrollLeft;
			if(whichIt.style.pixelLeft>document.body.offsetWidth-document.body.scrollLeft-whichIt.style.pixelWidth-20)whichIt.style.pixelLeft=document.body.offsetWidth-whichIt.style.pixelWidth-20;
			if(whichIt.style.pixelTop>document.body.offsetHeight+document.body.scrollTop-whichIt.style.pixelHeight-5)whichIt.style.pixelTop=document.body.offsetHeight+document.body.scrollTop-whichIt.style.pixelHeight-5;
			event.returnValue=false;
		}
	}else {
		whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
		if(whichIt.left<0+self.pageXOffset)whichIt.left=0+self.pageXOffset;
		if(whichIt.top<0+self.pageYOffset)whichIt.top=0+self.pageYOffset;
		if((whichIt.left+whichIt.clip.width)>=(window.innerWidth+self.pageXOffset-17))whichIt.left=((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
		if((whichIt.top+whichIt.clip.height)>=(window.innerHeight+self.pageYOffset-17))whichIt.top=((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
		return false;
	}
	return false;
}
function dropIt(){
	whichIt=null;
	if(NS)window.releaseEvents(Event.MOUSEMOVE);
	return true;
}
if(NS){
	window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
	window.onmousedown=grabIt;
	window.onmousemove=moveIt;
	window.onmouseup=dropIt;
}
if(IE){
	document.onmousedown=grabIt;
	document.onmousemove=moveIt;
	document.onmouseup=dropIt;
}
var style1="<style>";
style1+=".btn_letter { border-right: 1px solid; padding-right: 1px; border-top: 1px solid; padding-left: 2px; font-size: 14px; border-left: 1px solid; cursor: hand; padding-top: 1px; border-bottom: 1px solid; width:25px; height:20px; }";
style1+=".btn_num { width:25px; border-right:1px solid; padding-right: 1px; border-top: 1px solid; padding-left: 2px; font-size: 12px; border-left: 1px solid; cursor: hand; padding-top: 1px; border-bottom: 1px solid; height:20px; }";
style1+=".table_title { filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#B2DEF7, EndColorStr=#ffffff); height:26px; padding-top: 2px; }";
style1+=".btn_input { border-right: #2a2a2a 1px solid; padding-right: 2px; border-top: #2a2a2a 1px solid; padding-left: 2px; font-size: 12px;filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#C3DAF5); border-left: #2a2a2a 1px solid; cursor: hand; color: black; padding-top: 2px; border-bottom: #2a2a2a 1px solid; }";
style1+="</style>";

document.write(style1);

document.write("<div align=center id=\"softkeyboard\" name=\"softkeyboard\" style=\"position:absolute; left:0px; top:0px; width:400px; z-index:180;display:none;\"><table id=\"CalcTable\" width=\"\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"\"><FORM id=Calc name=Calc action=\"\" method=post autocomplete=\"off\"><tr><td class=\"table_title\" title=\"注意：保證網上資訊安全，建議使用密碼輸入器輸入密碼！以防木馬病毒蒐集竊取密碼之情事發生！！\" align=\"right\" valign=\"middle\" bgcolor=\"\" style=\"cursor: default;height:30\"><INPUT type=hidden value=\"\" name=password><INPUT type=hidden value=ok name=action2>&nbsp<font style=\"font-weight:bold; font-size:13px; color:#075BC3\">Dreamsera&nbsp;&nbsp;CMS&nbsp;&nbsp;JS&nbsp;&nbsp;Keybord</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT id=useKey class=\"btn_input\" type=button value=\"切換鍵盤輸入\" bgtype=\"1\" onclick=\"password1.readOnly=0;password1.focus();closekeyboard();password1.value='';\"><span style=\"width:2px;\"></span></td></tr><tr align=\"center\"><td align=\"center\" bgcolor=\"#FFFFFF\"><table align=\"center\" width=\"%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\">\n<tr align=\"left\" valign=\"middle\"> \n<td> <input type=button title=\" ~ \" value=\" ~ \"></td>\n<td> <input type=button title=\" ! \" value=\" ! \"></td>\n<td> <input type=button title=\" @ \" value=\" @ \"></td>\n<td> <input type=button title=\" # \" value=\" # \"></td>\n<td> <input type=button title=\" $ \" value=\" $ \"></td>\n<td><input type=button title=\" % \" value=\" % \"></td>\n<td><input type=button title=\" ^ \" value=\" ^ \"></td>\n<td> <input type=button title=\" & \" value=\" & \"></td>\n<td><input type=button title=\" * \" value=\" * \"></td>\n<td><input type=button title=\" ( \" value=\" ( \"></td>\n<td><input type=button title=\" ) \" value=\" ) \"></td>\n<td><input type=button title=\" _ \" value=\" ＿ \"></td>\n<td> <input type=button title=\" + \" value=\" + \"></td>\n<td><input type=button title=\" | \" value=\" | \"></td>\n<td colspan=\"1\" rowspan=\"2\"> <input name=\"button10\" type=button title=\"清除 / 退格\" value=\" Backspace\" onclick=\"setpassvalue();\"  onDblClick=\"setpassvalue();\" style=\"width:100px;height:40px\"> \n</td>\n</tr>\n<tr align=\"left\" valign=\"middle\"> \n<td><input type=button title=\" ` \" value=\" ` \"></td>\n<td><input type=button bgtype=\"2\" name=\"button_number1\" value=\" 1 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number2\" value=\" 2 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number3\" value=\" 3 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number4\" value=\" 4 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number5\" value=\" 5 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number6\" value=\" 6 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number7\" value=\" 7 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number8\" value=\" 8 \"></td>\n<td> <input type=button bgtype=\"2\" name=\"button_number9\" value=\" 9 \"></td>\n<td> <input bgtype=\"2\"  name=\"button_number0\" type=button value=\" 0 \"></td>\n<td> <input type=button title=\" - \" value=\" - \"></td>\n<td> <input type=button title=\" = \" value=\" = \"></td>\n<td> <input type=button title=\" \\  \" value=\" \\ \"></td>\n<td> </td>\n</tr>\n<tr align=\"left\" valign=\"middle\"> \n<td> <input type=button value=\" q \"></td>\n<td> <input type=button value=\" w \"></td>\n<td> <input type=button value=\" e \"></td>\n<td> <input type=button value=\" r \"></td>\n<td> <input type=button value=\" t \"></td>\n<td> <input type=button value=\" y \"></td>\n<td> <input type=button value=\" u \"></td>\n<td> <input type=button value=\" i \"></td>\n<td> <input type=button value=\" o \"></td>\n<td> <input name=\"button8\" type=button value=\" p \"></td>\n<td> <Input name=\"button9\" type=button title=\" { \" value=\" { \"></td>\n<td> <input type=button title=\" } \" value=\" } \"></td>\n<td> <input type=button title=\" [ \" value=\" [ \"></td>\n<td> <input type=button title=\" ] \" value=\" ] \"></td>\n<td><input name=\"button9\" type=button onClick=\"capsLockText();setCapsLock();\"  onDblClick=\"capsLockText();setCapsLock();\" title=\"全形 / 半形   大寫 / 小寫\" value=\"Caps Lock\" style=\"width:100px;\"></td>\n</tr>\n<tr align=\"left\" valign=\"middle\"> \n<td> <input type=button value=\" a \"></td>\n<td> <input type=button value=\" s \"></td>\n<td> <input type=button value=\" d \"></td>\n<td> <input type=button value=\" f \"></td>\n<td> <input type=button value=\" g \"></td>\n<td> <input type=button value=\" h \"></td>\n<td> <input type=button value=\" j \"></td>\n<td> <input name=\"button3\" type=button value=\" k \"></td>\n<td> <input name=\"button4\" type=button value=\" l \"></td>\n<td> <input name=\"button5\" title=\" : \" type=button value=\" : \"></td>\n<td> <input name=\"button7\" type=button title=\" &quot; \" value=\" &quot; \"></td>\n<td> <input type=button title=\" ; \" value=\" ; \"></td>\n<td> <input type=button title=\" ' \" value=\" ' \"></td>\n<td rowspan=\"2\" colspan=\"2\"> <input name=\"button12\" type=button onclick=\"OverInput();\" title=\"確  定\" value=\"   Enter   \" style=\"width:126px;height:42px;\"></td>\n</tr>\n<tr align=\"left\" valign=\"middle\"> \n<td><input name=\"button2\" type=button value=\" z \"></td>\n<td> <input type=button value=\" x \"></td>\n<td> <input type=button value=\" c \"></td>\n<td> <input type=button value=\" v \"></td>\n<td> <input type=button value=\" b \"></td>\n<td> <input type=button value=\" n \"></td>\n<td> <input type=button value=\" m \"></td>\n<td> <input type=button title=\" &lt; \" value=\" &lt; \"></td>\n<td> <input type=button title=\" &gt; \" value=\" &gt; \"></td>\n<td> <input type=button title=\" ? \" value=\" ? \"></td>\n<td> <input type=button title=\" , \" value=\" , \"></td>\n <td> <input type=button title=\" . \" value=\" . \"></td>\n <td> <input type=button title=\" / \" value=\" / \"></td>\n</tr>\n</table></td></FORM></tr></table></div>");

function addValue(newValue)
{
	if(CapsLockValue==0)
	{
		var str=Calc.password.value;
		if(str.length<password1.maxLength)
		{
			Calc.password.value+=newValue;
		}
		if(str.length<=password1.maxLength)
		{
			password1.value=Calc.password.value;
			pspassword1();
		}
	}
	else
	{
		var str=Calc.password.value;
		if(str.length<password1.maxLength)
		{
			//Calc.password.value += newValue.toUpperCase();
			Calc.password.value+=newValue;
		}
		if(str.length<=password1.maxLength)
		{
			password1.value=Calc.password.value;
			pspassword1();
		}
	}
}
function setpassvalue()
{
	var longnum=Calc.password.value.length;
	var num
	num=Calc.password.value.substr(0,longnum-1);
	Calc.password.value=num;
	var str=Calc.password.value;
	password1.value=Calc.password.value;
	pspassword1();
}
function OverInput()
{
	var str=Calc.password.value;
	password1.value=Calc.password.value;
	removeJiamiName();
	pspassword1();
	closekeyboard();
	Calc.password.value="";
	password1.readOnly=1;
}
function closekeyboard(theForm)
{
	softkeyboard.style.display="none";
	if(null!=unhideSelect){
		unhideSelect();
	}
}
function showkeyboard()
{
	randomNumberButton();
	var th=password1;
	var ttop=th.offsetTop;
	var thei=th.clientHeight;
	var tleft=th.offsetLeft;
	var ttyp=th.type;
	while(th=th.offsetParent){
		ttop+=th.offsetTop;
		tleft+=th.offsetLeft;
	}
	softkeyboard.style.top=ttop+thei+16;
	softkeyboard.style.left=tleft-100;
	softkeyboard.style.display="block";
	password1.readOnly=1;
	password1.blur();
	document.all.useKey.focus();
	if(null!=hideSelect){
		hideSelect();
	}
}
function setCapsLock()
{
	if(CapsLockValue==0)
	{
		CapsLockValue=1
	}
	else
	{
		CapsLockValue=0
	}
}
function setCalcborder()
{
	CalcTable.style.border="1px solid #626262"
}
function setHead()
{
	CalcTable.cells[0].style.backgroundColor="#626262"
}
function setCalcButtonBg()
{
	for(var i=0;i<Calc.elements.length;i++)
	{
		if(Calc.elements[i].type=="button"&&Calc.elements[i].bgtype!="1")
		{
			if(Calc.elements[i].bgtype=="2"){
				Calc.elements[i].className="btn_num";
			}else {
				Calc.elements[i].className="btn_letter";
			}
			var str1=Calc.elements[i].value;
			str1=str1.trim();
			if(str1.length==1)
			{
			}
			var thisButtonValue=Calc.elements[i].value;
			thisButtonValue=thisButtonValue.trim();
			if(thisButtonValue.length==1)
			{
				Calc.elements[i].onclick=
				function ()
				{
					var thisButtonValue=this.value;
					thisButtonValue=thisButtonValue.trim();
					//alert("按鍵加密前:"+thisButtonValue);
					thisButtonValue=jiamiMimaKey(thisButtonValue,ifjiami);
					//alert("加密後："+thisButtonValue);
					addValue(thisButtonValue);
				}
				Calc.elements[i].ondblclick=
				function ()
				{
					var thisButtonValue=this.value;
					thisButtonValue=thisButtonValue.trim();
					//alert("按鍵加密前:"+thisButtonValue);
					thisButtonValue=jiamiMimaKey(thisButtonValue,ifjiami);
					//alert("加密後："+thisButtonValue);
					addValue(thisButtonValue);
				}
			}
		}
	}
}
function initCalc(){
	setCalcborder();
	setHead();
	setCalcButtonBg();
}
String.prototype.trim=function (){
	return this.replace(/(^\s*)|(\s*$)/g,"");
}
var capsLockFlag;
capsLockFlag=true;
function capsLockText()
{
	if(capsLockFlag)
	{
		for(var i=0;i<Calc.elements.length;i++)
		{
			var char=Calc.elements[i].value;
			var char=char.trim()
			if(Calc.elements[i].type=="button"&&char>="a"&&char<="z"&&char.length==1)
			{
				Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)-32)+" "
			}
		}
	}
	else
	{
		for(var i=0;i<Calc.elements.length;i++)
		{
			var char=Calc.elements[i].value;
			var char=char.trim()
			if(Calc.elements[i].type=="button"&&char>="A"&&char<="Z"&&char.length==1)
			{
				Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)+32)+" "
			}
		}
	}
	capsLockFlag=!capsLockFlag;
}
function randomNumberButton(){
	var a=new Array(10);
	a[0]=0;
	a[1]=1;
	a[2]=2;
	a[3]=3;
	a[4]=4;
	a[5]=5;
	a[6]=6;
	a[7]=7;
	a[8]=8;
	a[9]=9;	
	var randomNum;
	var times=10;
	for(var i=0;i<10;i++){
		randomNum=parseInt(Math.random()*10);
		var tmp=a[0];
		a[0]=a[randomNum];
		a[randomNum]=tmp;
	}
	Calc.button_number0.value=" "+a[0]+" ";
	Calc.button_number1.value=" "+a[1]+" ";
	Calc.button_number2.value=" "+a[2]+" ";
	Calc.button_number3.value=" "+a[3]+" ";
	Calc.button_number4.value=" "+a[4]+" ";
	Calc.button_number5.value=" "+a[5]+" ";
	Calc.button_number6.value=" "+a[6]+" ";
	Calc.button_number7.value=" "+a[7]+" ";
	Calc.button_number8.value=" "+a[8]+" ";
	Calc.button_number9.value=" "+a[9]+" ";
}
function hideSelect(){
	var i=0;
	while(i<document.getElementsByTagName("select").length){
		document.getElementsByTagName("select")[i].style.visibility="hidden";
		i=i+1;
	}
}
function unhideSelect(){
	var i=0;
	while(i<document.getElementsByTagName("select").length){
		document.getElementsByTagName("select")[i].style.visibility="visible";
		i=i+1;
	}
}

//函式用來加密輸入，即鍵盤輸入的是加密後的字元
//newValue : 原值
//ifjiami :  是否需要加密
function jiamiMimaKey(newValue,ifjiami){
	if(typeof(b)=="undefined"||typeof(ifUseYinshe)=="undefined"||ifUseYinshe==0){
		return newValue;
	}
	//alert(!ifjiami);
	if(!ifjiami) return newValue;
	var everyone='';
	var afterPass='';
	for(var i=0;i<newValue.length;i++){
		everyone=newValue.charAt(i);
		for(var j=0;j<((b.length)/2);j++){
			if(everyone==b[2*j]){
				afterPass=afterPass+b[2*j+1];
				break;
			}
		}
	}
	newValue=afterPass;
	if(typeof(jiami)!="undefined"){
		jiami=1;
	}
	return afterPass;
}
//函式作用對密碼框的的文字進行加密,輸入參數為輸入框的ID或name
function jiamiMima(inputboxname){
	//alert(document.jhform.LOGPASS.value);
	var inputboxobj = document.getElementById(inputboxname);
	//var inputboxobj = document.getElementById("LOGPASS");
	alert(inputboxobj.value);
	if(inputboxobj.value.length<6){
		alert('密碼長度必須大於或等於六個字元');
		return false
	};
	var newValue=inputboxobj.value;
	var specialChar=0;
	//alert("keyjiami:"+(keyjiami==0));
	//alert("jiami:"+(jiami==0));
	//alert("ifUseYinshe:"+(ifUseYinshe==1));
	//alert(keyjiami==0&&jiami==0&&ifUseYinshe==1);
	//判斷的作用是，如果鍵輸入已加密就不再需要加密，或按使用者預設情況看是否需要加密ifUseYinshe=0時不需要加密
	if(keyjiami==0&&jiami==0&&ifUseYinshe==1){
		var everyone='';
		var afterPass='';
		for(var i=0;i<newValue.length;i++){
			if(specialChar==1){
				break;
			}
			everyone=newValue.charAt(i);
			for(var j=0;j<((b.length)/2);j++){
				if(everyone==b[2*j]){
					afterPass=afterPass+b[2*j+1];
					break;
				}
				if(j==(b.length)/2-1){
					if(everyone!=b[2*j]){
						specialChar=1;
						break;
					}
				}
			}
		}
		if(specialChar==0){
			inputboxobj.value=afterPass;
		}else {
			var ret="";
			afterPass='';
			for(i=0;i<newValue.length;i++){
				var c=newValue.substr(i,1);
				var ts=escape(c);
				if(ts.substring(0,2)=="%u"){
					ret=ret+ts.replace("%u","(^?)");
				}else {
					ret=ret+c;
				}
			}
			inputboxobj.value=ret;
			for(var n=0;n<ret.length;n++){
				everyone=ret.charAt(n);
				for(var w=0;w<((b.length)/2);w++){
					if(everyone==b[2*w]){
						afterPass=afterPass+b[2*w+1];
						break;
					}
				}
			}
			inputboxobj.value=afterPass;
		}
		keyjiami=1;
	}
    //alert("logpassword:"+inputboxobj.value);
	//alert("CCB_PWD_MAP_GIGEST:"+document.jhform.CCB_PWD_MAP_GIGEST.value);
	return false;
}
function removeJiamiName(){
	var jiamiObjectname=password1.name;
	var jiamiObjectnameBefore=jiamiObjectname+',';
	var jiamiObjectnameAll=','+jiamiObjectname+',';
	if(typeof(keyjiamiName)!="undefined"){
		if(keyjiamiName.indexOf(jiamiObjectnameBefore)==0){
			keyjiamiName=keyjiamiName.substring(jiamiObjectnameBefore.length);
		}else if(keyjiamiName.indexOf(jiamiObjectnameAll)!=-1){
			keyjiamiName.replace(jiamiObjectnameBefore,',');
		}
	}
}
function pspassword1(){	
	var passwd=password1.value;	
	var PWD=document.getElementsByName("PWD");
	if(PWD!=null&&ps!=null&&pIsPWD){
		ps.update(getStartPassword(passwd));
	}
}

/******************************************************************************/
/******************************************************************************/


/******************************************************************************/
/******************************************************************************/



/******************************************************************************/
//----------------------------------------------------------------------------//
//    Dreamsera  夢時代數碼工作室  www.dreamsera.com  &  www.dreamsera.net    //
//----------------------------------------------------------------------------//