1//last update : 2002/07/11 2//modify by Benjamin Chang 3 4var isIE = document.all; 5var isNS = document.layers; 6 7function MM_reloadPage(init) { //reloads the window if Nav4 resized 8 if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { 9 document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} 10 else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); 11} 12MM_reloadPage(true); 13 14 15function MM_popupMsg(msg) { //v1.0 16 alert(msg); 17} 18 19function MM_openBrWindow(theURL,winName,features) { //v2.0 20 window.open(theURL,winName,features); 21} 22 23function MM_preloadImages() { //v3.0 24 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 25 var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) 26 if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 27} 28 29function MM_displayStatusMsg(msgStr) { //v1.0 30 status=msgStr; 31 document.MM_returnValue = true; 32} 33 34function MM_controlSound(x, _sndObj, sndFile) { //v3.0 35 var i, method = "", sndObj = eval(_sndObj); 36 if (sndObj != null) { 37 if (navigator.appName == 'Netscape') method = "play"; 38 else { 39 if (window.MM_WMP == null) { 40 window.MM_WMP = false; 41 for(i in sndObj) if (i == "ActiveMovie") { 42 window.MM_WMP = true; break; 43 } } 44 if (window.MM_WMP) method = "play"; 45 else if (sndObj.FileName) method = "run"; 46 } } 47 if (method) eval(_sndObj+"."+method+"()"); 48 else window.location = sndFile; 49} 50 51function MM_findObj(n, d) { //v4.0 52 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 53 d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 54 if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 55 for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 56 if(!x && document.getElementById) x=document.getElementById(n); return x; 57} 58
59/*USAGE:MM_showHideLayers('Layer1','','hide','Layer2','','show');*/ 60function MM_showHideLayers() { //v3.0 61 var i,p,v,obj,args=MM_showHideLayers.arguments; 62 for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; 63 if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; } 64 obj.visibility=v; } 65} 66 67function MM_swapImage() { //v3.0 68 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) 69 if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} 70} 71 72function MM_swapImgRestore() { //v3.0 73 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; 74} 75 76/*USAGE:MM_setTextOfLayer('Layer1','','This is a test message!');*/ 77function MM_setTextOfLayer(objName,x,newText) { //v3.0 78 if ((obj=MM_findObj(objName))!=null) with (obj) 79 if (navigator.appName=='Netscape') {document.write(unescape(newText)); document.close();} 80 else innerHTML = unescape(newText); 81} 82 83/*USAGE:MM_changeProp('Layer1','','style.top','500','LAYER');*/ 84/*USAGE:MM_changeProp('Layer1','','style.left','500','LAYER');*/ 85/*USAGE:MM_changeProp('Layer1','','top','500','LAYER');*/ 86/*USAGE:MM_changeProp('Layer1','','left','500','LAYER');*/ 87function MM_changeProp(objName,x,theProp,theValue) { //v3.0 88 var obj = MM_findObj(objName); 89 if (obj && (theProp.indexOf("style.")==-1 || obj.style)) eval("obj."+theProp+"='"+theValue+"'"); 90} 91 92function Ben_changePosition(objName,left,top) { 93 if(isIE) { 94 MM_changeProp(objName,'','style.top',top,'LAYER'); 95 MM_changeProp(objName,'','style.left',left,'LAYER'); 96 } 97 if(isNS) { 98 MM_changeProp(objName,'','top',top,'LAYER'); 99 MM_changeProp(objName,'','left',left,'LAYER'); 100 } 101} 102 103function MM_dragLayer(objName,x,hL,hT,hW,hH,toFront,dropBack,cU,cD,cL,cR,targL,targT,tol,dropJS,et,dragJS) { //v3.0 104 //Copyright 1998 Macromedia, Inc. All rights reserved. 105 var i,j,aLayer,retVal,curDrag=null,NS=(navigator.appName=='Netscape'), curLeft, curTop; 106 if (!document.all && !document.layers) return false; 107 retVal = true; if(!NS && event) event.returnValue = true; 108 if (MM_dragLayer.arguments.length > 1) { 109 curDrag = MM_findObj(objName); if (!curDrag) return false; 110 if (!document.allLayers) { document.allLayers = new Array(); 111 with (document) if (NS) { for (i=0; i<layers.length; i++) allLayers[i]=layers[i]; 112 for (i=0; i<allLayers.length; i++) if (allLayers[i].document && allLayers[i].document.layers) 113 with (allLayers[i].document) for (j=0; j<layers.length; j++) allLayers[allLayers.length]=layers[j]; 114 } else for (i=0;i<all.length;i++) if (all[i].style&&all[i].style.position) allLayers[allLayers.length]=all[i];} 115 curDrag.MM_dragOk=true; curDrag.MM_targL=targL; curDrag.MM_targT=targT; 116 curDrag.MM_tol=Math.pow(tol,2); curDrag.MM_hLeft=hL; curDrag.MM_hTop=hT; 117 curDrag.MM_hWidth=hW; curDrag.MM_hHeight=hH; curDrag.MM_toFront=toFront; 118 curDrag.MM_dropBack=dropBack; curDrag.MM_dropJS=dropJS; 119 curDrag.MM_everyTime=et; curDrag.MM_dragJS=dragJS; 120 curDrag.MM_oldZ = (NS)?curDrag.zIndex:curDrag.style.zIndex; 121 curLeft= (NS)?curDrag.left:curDrag.style.pixelLeft; curDrag.MM_startL = curLeft; 122 curTop = (NS)?curDrag.top:curDrag.style.pixelTop; curDrag.MM_startT = curTop; 123 curDrag.MM_bL=(cL<0)?null:curLeft-cL; curDrag.MM_bT=(cU<0)?null:curTop -cU; 124 curDrag.MM_bR=(cR<0)?null:curLeft+cR; curDrag.MM_bB=(cD<0)?null:curTop +cD; 125 curDrag.MM_LEFTRIGHT=0; curDrag.MM_UPDOWN=0; curDrag.MM_SNAPPED=false; //use in your JS! 126 document.onmousedown = MM_dragLayer; document.onmouseup = MM_dragLayer; 127 if (NS) document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP); 128 } else { 129 var theEvent = ((NS)?objName.type:event.type); 130 if (theEvent == 'mousedown') { 131 var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft; 132 var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop; 133 var maxDragZ=null; document.MM_maxZ = 0; 134 for (i=0; i<document.allLayers.length; i++) { aLayer = document.allLayers[i]; 135 var aLayerZ = (NS)?aLayer.zIndex:aLayer.style.zIndex; 136 if (aLayerZ > document.MM_maxZ) document.MM_maxZ = aLayerZ; 137 var isVisible = (((NS)?aLayer.visibility:aLayer.style.visibility).indexOf('hid') == -1); 138 if (aLayer.MM_dragOk != null && isVisible) with (aLayer) { 139 var parentL=0; var parentT=0; 140 if (!NS) { parentLayer = aLayer.parentElement; 141 while (parentLayer != null && parentLayer.style.position) { 142 parentL += parentLayer.offsetLeft; parentT += parentLayer.offsetTop; 143 parentLayer = parentLayer.parentElement; } } 144 var tmpX=mouseX-(((NS)?pageX:style.pixelLeft+parentL)+MM_hLeft); 145 var tmpY=mouseY-(((NS)?pageY:style.pixelTop +parentT)+MM_hTop); 146 var tmpW = MM_hWidth; if (tmpW <= 0) tmpW += ((NS)?clip.width :offsetWidth); 147 var tmpH = MM_hHeight; if (tmpH <= 0) tmpH += ((NS)?clip.height:offsetHeight); 148 if ((0 <= tmpX && tmpX < tmpW && 0 <= tmpY && tmpY < tmpH) && (maxDragZ
148== null 149 || maxDragZ <= aLayerZ)) { curDrag = aLayer; maxDragZ = aLayerZ; } } } 150 if (curDrag) { 151 document.onmousemove = MM_dragLayer; if (NS) document.captureEvents(Event.MOUSEMOVE); 152 curLeft = (NS)?curDrag.left:curDrag.style.pixelLeft; 153 curTop = (NS)?curDrag.top:curDrag.style.pixelTop; 154 MM_oldX = mouseX - curLeft; MM_oldY = mouseY - curTop; 155 document.MM_curDrag = curDrag; curDrag.MM_SNAPPED=false; 156 if(curDrag.MM_toFront) { 157 eval('curDrag.'+((NS)?'':'style.')+'zIndex=document.MM_maxZ+1'); 158 if (!curDrag.MM_dropBack) document.MM_maxZ++; } 159 retVal = false; if(!NS) event.returnValue = false; 160 } } else if (theEvent == 'mousemove') { 161 if (document.MM_curDrag) with (document.MM_curDrag) { 162 var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft; 163 var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop; 164 newLeft = mouseX-MM_oldX; newTop = mouseY-MM_oldY; 165 if (MM_bL!=null) newLeft = Math.max(newLeft,MM_bL); 166 if (MM_bR!=null) newLeft = Math.min(newLeft,MM_bR); 167 if (MM_bT!=null) newTop = Math.max(newTop ,MM_bT); 168 if (MM_bB!=null) newTop = Math.min(newTop ,MM_bB); 169 MM_LEFTRIGHT = newLeft-MM_startL; MM_UPDOWN = newTop-MM_startT; 170 if (NS) {left = newLeft; top = newTop;} 171 else {style.pixelLeft = newLeft; style.pixelTop = newTop;} 172 if (MM_dragJS) eval(MM_dragJS); 173 retVal = false; if(!NS) event.returnValue = false; 174 } } else if (theEvent == 'mouseup') { 175 document.onmousemove = null; 176 if (NS) document.releaseEvents(Event.MOUSEMOVE); 177 if (NS) document.captureEvents(Event.MOUSEDOWN); //for mac NS 178 if (document.MM_curDrag) with (document.MM_curDrag) { 179 if (typeof MM_targL =='number' && typeof MM_targT == 'number' && 180 (Math.pow(MM_targL-((NS)?left:style.pixelLeft),2)+ 181 Math.pow(MM_targT-((NS)?top:style.pixelTop),2))<=MM_tol) { 182 if (NS) {left = MM_targL; top = MM_targT;} 183 else {style.pixelLeft = MM_targL; style.pixelTop = MM_targT;} 184 MM_SNAPPED = true; MM_LEFTRIGHT = MM_startL-MM_targL; MM_UPDOWN = MM_startT-MM_targT; } 185 if (MM_everyTime || MM_SNAPPED) eval(MM_dropJS); 186 if(MM_dropBack) {if (NS) zIndex = MM_oldZ; else style.zIndex = MM_oldZ;} 187 retVal = false; if(!NS) event.returnValue = false; } 188 document.MM_curDrag = null; 189 } 190 if (NS) document.routeEvent(objName); 191 } return retVal; 192} 193 194function MyMoveTo(x,y){ 195 if(!isNaN(x)&&!isNaN(y)){ 196 window.moveTo(x,y); 197 } 198} 199function MyMoveBy(x,y){ 200 if(!isNaN(x)&&!isNaN(y)){ 201 window.moveBy(x,y); 202 } 203} 204function MyResizeTo(w,h){ 205 if(!isNaN(w)&&!isNaN(h)){ 206 window.resizeTo(w,h); 207 } 208} 209function MyResizeBy(w,h){ 210 if(!isNaN(w)&&!isNaN(h)){ 211 window.resizeBy(w,h); 212 } 213} 214function MyBiggerBy(up,down,left,right){ 215 if(!isNaN(up)&&!isNaN(down)&&!isNaN(left)&&!isNaN(right)){ 216 if(up>0){ 217 MyResizeBy(0,up); 218 MyMoveBy(0,-up); 219 } 220 if(down>0){ 221 MyResizeBy(0,down); 222 } 223 if(left>0){ 224 MyResizeBy(left,0); 225 MyMoveBy(-left,0); 226 } 227 if(right>0){ 228 MyResizeBy(right,0); 229 } 230 } 231} 232 233function Trim(str){ 234 235 str = str.replace(/^\s+/,""); 236 str = str.replace(/\s+$/,""); 237 return str; 238} 239function ValidEmail(emailtoCheck) 240{ 241 242 var regExp = /^[^@^\s]+@[^\.@^\s]+(\.[^\.@^\s]+)+$/; 243 if ( emailtoCheck.match(regExp) ) 244 return true; 245 else 246 return false; 247} 248function checkID(id) 249{ 250 251 var regExp = /^[a-zA-Z][1,2]\d{8}$/; 252 if ( id.match(regExp) ) 253 return true; 254 else 255 return false; 256} 257function checkCarno(carno,cartype) 258{ 259 260 if(cartype==1){ 261 var regExp1 = /^\w{2}-\d{4}$/; 262 var regExp2 = /^\d{4}-\w{2}$/; 263 var regExp3 = /^\w{1}d{1}-\d{4}$/; 264 if ( carno.match(regExp1) || carno.match(regExp2) || carno.match(regExp3)) 265 return true; 266 else 267 return false; 268 } 269 else if(cartype==2){ 270 var regExp1 = /^\w{2}-\d{3}$/; 271 var regExp2 = /^\d{3}-\w{2}$/; 272 if ( carno.match(regExp1) || carno.match(regExp2)) 273 return true; 274 else 275 return false; 276 } 277 else if(cartype==0){ 278 return (checkCarno(carno,1)|checkCarno(carno,2)); 279 } 280 else{ 281 282 return false;
283 } 284} 285function checkMobile(mobile) 286{ 287 288 var regExp = /^\d{1,3}-\d{7,14}$/; 289 if ( mobile.match(regExp) ) 290 return true; 291 else 292 return false; 293} 294function checkSmallDateTime(sdt) 295{ 296 297 var regExp = /^\d{4}\/\d{1,2}\/\d{1,2}$/; 298 if ( sdt.match(regExp) ) 299 return true; 300 else 301 return false; 302} 303function checkInvoice(invoice) 304{ 305 306 var regExp = /^\d{8}$/; 307 if ( invoice.match(regExp) ) 308 return true; 309 else 310 return false; 311} 312function CheckFormData(frm, CheckF, CheckFN, CheckFType, Lang) 313{ 314 /* 315 var CheckF = new Array(''); 316 var CheckFN = new Array(''); 317 var CheckFType = new Array(''); 318 */ 319 320 var cf; 321 var i, sel, chk; 322 //if (arguments.length < 5) { Lang = 'TC' ;} 323 324 switch(Lang) 325 { 326 case 'EN': 327 ph1 = 'è«è¼¸å ¥å®æ´ '; 328 ph2 = ' ç¡æ!'; 329 ph3 = 'è«é¸æä¸å: '; 330 ph4 = 'è«é¸æä¸å: '; 331 ph5 = 'è«é¸æ: '; 332 ph6 = '使¸é¯èª¤!\næ£ç¢ºæ ¼å¼: 1~3使¸å-7~14使¸åã\nè«æª¢æ¥ä¸¦ä¿®æ¹ã\n\nWrong digit count! \nCorrect format: 1~3 digits - 7~14 digits.\nPlease check and try again.'; 333 334 break; 335 //default: 336 //break; 337 } 338 339 for(i=0;i<CheckF.length;i++){ 340 element = frm.elements[CheckF[i]]; 341 342 if(CheckFType[i] == "text" 343 || CheckFType[i] == "textarea" 344 || CheckFType[i] == "num" 345 || CheckFType[i] == "idno" 346 || CheckFType[i] == "email" 347 || CheckFType[i] == "carno" 348 || CheckFType[i] == "mobile" 349 || CheckFType[i] == "sdt" 350 || CheckFType[i] == "invoice" 351 ) { 352 if(Trim(element.value) == "") { 353 alert(ph1 + CheckFN[i]); 354 if(element.type!="hidden")element.focus(); 355 return false; 356 } 357 358 if(CheckFType[i] == "num" && isNaN(element.value)) { 359 alert(CheckFN[i] + ph2); 360 if(element.type!="hidden")element.focus(); 361 return false; 362 } 363 364 if(CheckFType[i] == "idno" && !checkID(element.value)) { 365 alert(CheckFN[i] + ph2); 366 if(element.type!="hidden")element.focus(); 367 return false; 368 } 369 370 if(CheckFType[i] == "email" && !ValidEmail(element.value)) { 371 alert(CheckFN[i] + ph2); 372 if(element.type!="hidden")element.focus(); 373 return false; 374 } 375 376 if(CheckFType[i] == "carno" && !checkCarno(element.value,0)) { 377 alert(CheckFN[i] + ph2); 378 if(element.type!="hidden")element.focus(); 379 return false; 380 } 381 382 if(CheckFType[i] == "mobile" && !checkMobile(element.value)) { 383 alert(CheckFN[i] + ph6); 384 if(element.type!="hidden")element.focus(); 385 return false; 386 } 387 388 if(CheckFType[i] == "sdt" && !checkSmallDateTime(element.value)) { 389 alert(CheckFN[i] + ph2); 390 if(element.type!="hidden")element.focus(); 391 return false; 392 } 393 394 if(CheckFType[i] == "invoice" && !checkInvoice(element.value)) { 395 alert(CheckFN[i] + ph2); 396 if(element.type!="hidden")element.focus(); 397 return false; 398 } 399 } 400 else if(CheckFType[i] == "radio") { 401 if(isNaN(element.length)){ 402 if(!element.checked){ 403 alert(CheckFN[i] + ph3); 404 element.focus(); 405 return false; 406 } 407 } 408 else{ 409 sel = false; 410 for(j=0; j<element.length; j++) { 411 sel |= element[j].checked; 412 } 413 if(! sel) { 414 alert(ph3 + CheckFN[i]); 415 element[0].focus(); 416 return false; 417 } 418 } 419 } 420 else if(CheckFType[i] == "checkbox") { 421 chk = false; 422 FirstElement = 0; 423 for(j=0; j<frm.elements.length; j++) { 424 if(frm.elements[j].name == CheckF[i]) { 425 if(FirstElement==0) FirstElement=j; 426 chk |= frm.elements[j].checked; 427 } 428 } 429 if(! chk) { 430 alert(ph4 + CheckFN[i]); 431 frm.elements[FirstElement].focus(); 432 return false; 433 } 434 } 435 else if (CheckFType[i] == "select") { 436 if (element.selectedIndex<0 || element.options[element.selectedIndex].value=="") { 437 alert(ph5 + CheckFN[i]); 438 element.focus(); 439 return false; 440 } 441 } 442 } 443 return true; 444} 445 446var isRecodeOrangeReadOnlyFields = false; 447var RecodeOrangeReadOnlyFields = ""; 448function setFormReadOnly(frmName, readOnly){ 449 var frm = document.forms[frmName]; 450 for(i=0;i<frm.elements.length;i++){ 451 452 if(frm.elements[i].type=="text" 453 ||frm.elements[i].type=="textarea"){ 454 455 if(!isRecodeOrangeReadOnlyFields && frm.elements[i].readOnly) 456 RecodeOrangeReadOnlyFields += "[" + frm.elements[i].name + "]," 457 458 if(RecodeOrangeReadOnlyFields.indexOf("[" + frm.elements[i].name + "]")==-1){ 459 frm.elements[i].readOnly = readOnly; 460 if(frm.elements[i].readOnly) 461 frm.elements[i].style.backgroundColor = "#d3d3d3"; 462 else 463 frm.elements[i].style.backgroundColor = ""; 464 } 465 } 466 } 467 isRecodeOrangeReadOnlyFields = true; 468} 469 470function numerr1(Vip_number){ 471 var haserr=0 //建ç«é¯èª¤ç¼çææ¨,é è¨æ¯æ²æé¯èª¤ç 472 473 if(Vip_number.length==0){ 474 return 0; 475 } 476 for(i=0;i<Vip_number.length;i++){ //å¾ç¬¬1忏å尿徿¸åéå§æª¢æ¸¬ 477 if(parseInt(Vip_number.substring(i,i+1))>0 || Vip_number.substring(i,i+1)=='0') 478 continue; //å°±å¾ä¸ä¸å廿ª¢æ¸¬ 479 else //è¥æ¯ç¼ç¾æéæ¸åçåå 480 haserr=1; //å°±æé¯èª¤ææ¨è¨çº1çç¼ççæ 481 break //䏿¢è¿´åçå·è¡ 482 } 483 if(haserr==1) //妿ç¼çäºé¯èª¤ 484 return 1; //å°±åè¦é¯èª¤çºtrue 485 else 486 return 0; 487} 488 489function chk2(intext) { 490 var invalue = intext.value; 491 492 // 临æ¶ç§»é¤è¿åç¬¦åæ£æ¥çº¯æ°å 493 if (numerr1(invalue.replace(/-/g, ""))) { 494 alert("ä¸è½è¼¸å ¥ç©ºç½æéæ¸åï¼è¯·è¼¸å ¥æææ°å! \nEmpty input or non-numeric characters are not allowed. Please enter a valid number.! "); 495 //intext.value = ""; 496 intext.select(); 497 return false;
498 } 499 500 // é¢å¤æ£æ¥æ ¼å¼ï¼å¯éï¼ 501 // if (!checkMobile(invalue)) { 502 // alert("ææºå·æ ¼å¼ä¸æ£ç¡®ï¼"); 503 //return false; 504 // } 505 506 return true; 507} 508function Chktelm(tel) { 509 if(tel.length>=9 && !numerr1(tel)) {return false;} 510 return true; 511}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.