//	+-----------------------------------------------------------------------+
//	|	Name		Resize Images											|
//	|	Version		1.2														|
//	|	Date		2007-5-20												|
//	+-----------------------------------------------------------------------+
var resizeImgs = function () {
	var crtVal = 500;	// @Number: If the amount of images is over the value, then switch to the smooth mode.
	var defWid = 400;	// @Number: Defualt value for image to be resized
	var imgs = document.images;
	var imgsLen = imgs.length;
	var timer = null;
	var init = function () {
		if (imgsLen >= crtVal) {
			if (timer == null) {
				timer = setInterval(itvResize, 10);
			}
		} else {
			whlResize();
		}
	}
	var itvResize = function () {
		if (imgsLen == 0) {
			clearInterval(timer);
			timer = null;
			return;
		}
		doResize();
	}
	var whlResize = function () {
		while (imgsLen) {
			doResize();
		}
	}
	var doResize = function () {
		imgsLen --;
		var imgObj = imgs[imgsLen];
		var resize = imgObj.getAttribute('resize');
		if (resize) {
			imgObj.removeAttribute('height');
			if (resize.match(/^\d+$/) && resize < imgObj.width) {
				imgObj.width = resize;
			} else if (defWid < imgObj.width) {
				imgObj.width = defWid;
			}
		}
	}
	init();
}

/* for FireFox & Opera 9+ */
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", resizeImgs, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
	document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
	var script = document.getElementById("__ie_onload");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			resizeImgs();
		}
	};
/*@end @*/

/* for Safari & Opera 8.5 */
//if (/WebKit/i.test(navigator.userAgent) || (window.opera && parseInt(window.opera.version()) < 9)) {
//	var _timer = setInterval(function() {
//		if (/loaded|complete/.test(document.readyState)) {
//			resizeImgs();
//		}
//	}, 10);
//}

/* for Others */
window.onload = resizeImgs;

function pagebodyclear(){
 Source=document.body.firstChild.data;
 document.open();
 document.close();
 //document.title="看不到源代碼";
 document.body.innerHTML=Source;
}

function pucker(name,no,hiddenclassname,showclassname) {
    //name:命名前綴
    //no:當前鼠標所處對象的序號
    //showclassname:展開狀態樣式名
    //hiddenclassname:折疊狀態樣式名
    for (var i=1 ;i<6 ;i++ )
    {
       if (document.getElementById(name+i)) {
          document.getElementById(name+i).className=hiddenclassname;
        }else{
         
        }
    }
    document.getElementById(name+no).className=showclassname;
}


//if (navigator.appName.indexOf("Internet Explorer") != -1) 
//    document.onmousedown = noSourceExplorer;
function noSourceExplorer(){
  var lochttp = "http://" + String(self.location).split("/")[2];
  var pURL
  if (event.button == 2 | event.button == 3){
	  pURL= lochttp + "/tw/default.asp" ;
	  location.href(pURL);
     //location.replace("../tw/default.asp");
	 //return false; 
     }
}
// main.master 使用的 JScript 檔

/* 頁籤切換功能 */
function getTab(parentId,index) {
  var oParnet = document.getElementById(parentId);
  if (oParnet != null) {
    var oItems = oParnet.getElementsByTagName("td");
    for (var i = 0 ; i < oItems.length ; i++) {
      var cls = oItems[i].className.split(" ");
      var ar = new Array();
      for (var j = cls.length ; j > 0 ;) {
          if (cls[--j] != "on") {
              ar[ar.length] = cls[j];
          }
      }
      oItems[i].className = ar.join(" ");
    }
    try {
      oItems[parseInt(index) - 1].className += " on";
    }
    catch (e) {
      return false;
    }
  }
}

//GetLengthFromText--傳回該Text值的長度
//objText：該Text的物件

//ttCounter：傳回值，傳回字元數

function GetLengthFromText(objText) {
	var ttCounter = 0;
	for(var iCount = 0; iCount < objText.value.length; iCount ++) {
		if (objText.value.charCodeAt(iCount) >= 255){
			ttCounter += 1;
		}
	}

	ttCounter += objText.value.length;
	return ttCounter;
}

//GetLengthFromStr--傳回該string值的長度
//str_name：該string的名稱

//ttCounter：傳回值，傳回字元數

function GetLengthFromStr(str_name) {
	var ttCounter = 0;

	for(var iCount = 0; iCount < str_name.length; iCount ++) {
		if (str_name.charCodeAt(iCount) >= 255){
			ttCounter += 1;
		}
	}

	ttCounter += str_name.length;
	return ttCounter;
}

//CheckSymbol--傳回該Text有無該Symbol
//objText：該Text的物件

//strSymbol：該Symbol的值，ex:"+"
//blSymbol：傳回值，為一布林值

function CheckSymbol(objText,strSymbol){
	var blSymbol = false;
	if (objText.value.indexOf(strSymbol) != -1){
		blSymbol = true;
	}
	return blSymbol;
}

//CheckSymbolAt1--傳回該Text第一位有無該Symbol
//objText：該Text的物件

//strSymbol：該Symbol的值，ex:"+"
//blSymbol：傳回值，為一布林值

function CheckSymbolAt1(objText,strSymbol){
	var blSymbol = false;
	if (objText.value.indexOf(strSymbol) == 0){
		blSymbol = true;
	}
	return blSymbol;
}

//CheckSymbols--傳回該Text有無該串Symbol的任何一個

//objText：該Text的物件

//strSymbol：該Symbol的值，ex:"+-*/"
//blSymbol：傳回值，為一布林值

function CheckSymbols(objText,strSymbol){
	var blSymbol = false;
	for (var i=0; i<strSymbol.length; i++)	{
		if (CheckSymbol(objText,strSymbol.charAt(i))){
			blSymbol = true;
			break;
		}
	}
	return blSymbol;
}

//CheckSymbolsAt1--傳回該Text第一位有無該串Symbol的任何一個

//objText：該Text的物件

//strSymbol：該Symbol的值，ex:"+-*/"
//blSymbol：傳回值，為一布林值

function CheckSymbolsAt1(objText,strSymbol){
	var blSymbol = false;
	for (var i=0; i<strSymbol.length; i++)	{
		if (CheckSymbolAt1(objText,strSymbol.charAt(i))){
			blSymbol = true;
			break;
		}
	}
	return blSymbol;
}

//IsNumber--傳回該text是否為數值，且能判斷是整數或浮點數

//objText：該Text的物件

//numType：int代表整數，float代表浮點數

//checkNum：傳回值，為一布林值

function IsNumber(objText,numType){
	var checkNum = false;
	if(!IsEmpty(objText)){
		if(!isNaN(objText.value)){
			if(numType == "int"){
				if(objText.value.indexOf(".") == -1){
					checkNum = true;
				}
			}
			if(numType == "float"){
				if(objText.value.indexOf(".") != -1){
					checkNum = true;
				}
			}
		}
	}
	return checkNum;
}






//CheckEmail--傳回該Text是否為有效的Email
//str：email字串
function CheckEmail(emailStr) {
		var emailStr = emailStr.value;
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    var atom=validChars + '+';
    var word="(" + atom + "|" + quotedUser + ")";
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null) {
    //	return ("這個 Email address 不正確\n請重試一次");
    //	return ("這個 Email address 不正確\n請重試一次");
	    return false;
    }
    var user=matchArray[1];
    var domain=matchArray[2];

    if (user.match(userPat)==null) {
    //	return ("username 似乎不對!\n請重試一次");
    //	return ("這個 Email address 不正確\n請重試一次");

	    return false;
    }

    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null) {
	    // this is an IP address
	    for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
    //			return ("IP address 不對!\n請重試一次");
    //			return ("這個 Email address 不正確\n請重試一次");
			    return false;

		    }
	    }
	    //return "";
    }

    var domainArray=domain.match(domainPat);
    if (domainArray==null) {
    //	return ("domain 名稱不對!\n請重試一次");
    //	return ("這個 Email address 不正確\n請重試一次");
	    return false;
    }
    var atomPat=new RegExp(atom,"g");
    var domArr=domain.match(atomPat);
    var len=domArr.length;
    if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
	    // the address must end in a two letter or three letter word.
    //	return ("Email address 結尾應該是一個三個字母的 domain 名稱, 或是二個字母的國家名稱\n請重試一次");
    //	return ("這個 Email address 不正確\n請重試一次");
	    return false;

    }

    // Make sure there's a host name preceding the domain.
    if (len<2) {
    //	var errStr="Email address 缺少 hostname!\n請重試一次";
    //	var errStr = "這個 Email address 不正確\n請重試一次";
    //	return (errStr);
	    return false;

    }
    // If we've gotten this far, everything's valid!
    //return "";
	    return true;
}

//CheckUniNumber--傳回該Text是否為有效的統一編號
//objText：該Text的物件

//uninumCheck：傳回值，為一布林值

function CheckUniNumber(objText) {
	var uninumCheck = true;
	if (!IsNumber(objText,"int")){
		uninumCheck = false;
	}
	else{
		var strUniNo = objText.value;
		var B = new Array(8), D = new Array(8);

		for (var i = 0; i <= strUniNo.length - 1; i ++) {
			if ((i == 0) || (i == 2) || (i == 4) || (i == 7))
				B[i] = parseInt(strUniNo.substr(i, 1))
			else if ((i == 1) || (i == 3) || (i == 5))
				B[i] = parseInt(strUniNo.substr(i, 1)) * 2
			else B[i] = parseInt(strUniNo.substr(i, 1)) * 4;

			D[i] = Math.floor(B[i] / 10) + (B[i] % 10);
		}

		if (((D[0]+D[1]+D[2]+D[3]+D[4]+D[5]+D[6]+D[7]) % 10) == 0)
			uninumCheck = true
		else if (((D[0]+D[1]+D[2]+D[3]+D[4]+D[5]+ 1 +D[7]) % 10) == 0)
			uninumCheck = true
		else uninumCheck = false;
	}
	return uninumCheck;
}

//CheckID--傳回該Text是否為有效的身份證字號

//objText：該Text的物件

function CheckID(objText){

var letter=new Array(34) //第一碼字母的識別庫

letter[10]="A"
letter[11]="B"
letter[12]="C"
letter[13]="D"
letter[14]="E"
letter[15]="F"
letter[16]="G"
letter[17]="H"
letter[18]="J"
letter[19]="K"
letter[20]="L"
letter[21]="M"
letter[22]="N"
letter[23]="P"
letter[24]="Q"
letter[25]="R"
letter[26]="S"
letter[27]="T"
letter[28]="U"
letter[29]="V"
letter[30]="X"
letter[31]="Y"
letter[32]="W"
letter[33]="Z"


var idStr = objText.value.toUpperCase();

	if(idStr=="" || GetLengthFromStr(idStr) != 10){
		return false;
	}
	else{
	
    	var idChar = idStr.charAt(0);
		if( !((idChar >='A' && idChar <= 'Z') && (idChar !='I') && (idChar !='O')) ){
			return false;
		}
		for(var i=1;i<idStr.length;i++){
			var idOtherChar = idStr.charAt(i);
			//alert(idOtherChar);
			if(!(idOtherChar >='0' && idOtherChar <= '9')){
				return false;
				break;
			}
		}
		
		var num=new Array(10);              //11個數字的陣列
		var sum=0;                          //放乘好加總的值

		for (i=10;i<=33;i++)
        if(letter[i]==idStr.substring(0,1)){
			num[0]=Math.floor(eval(i/10));
			num[1]=eval(i%10);
        }
       
        for (i=1;i<=9;i++){
			num[i+1]=parseInt(idStr.substring(i,i+1));
        }                                                  //80
        for (i=0;i<=10;i++){
			if(i==0){
				sum=num[i];
			}
			else{
				sum=eval(sum+(num[i]*(10-i)));
			}
        }
         
		if (((parseInt(idStr.substring(9,10)))==(eval(10-(sum%10)))) || (((parseInt(idStr.substring(9,10)))==0) && (eval(10-(sum%10))))){
        
        }
        else{
			//alert("1111")
			return false;
        }
	}
	return true;
}

//IsEmpty--傳回該Text的值是否為空值(或空白)
//objText：該Text的物件

function IsEmpty(objText){
	//var emptyCheck = true;
	var strEmpty = objText.value;
	if(strEmpty.length == 0){
		return true; 
	}
	else{
		var j=0;
		for(var i=0; i<strEmpty.length; i++){
			if(strEmpty.charAt(i) == " "){
				//alert("1111");
				j=j+1;
			}
		}
		if(strEmpty.length == j){
			return true; 
		}
	}
	return false; 
}

//GetBrowser--傳回使用者的瀏覽器類型，版本
//browserStr：傳回值，為一字串，(類型+","+版本)(用","分隔)
function GetBrowser(){
	var browserName = navigator.appName;
	var browserVersion = navigator.appVersion;
	var browserStr;
	
	if(browserName == "Microsoft Internet Explorer"){
		browserName="IE";
		var browserTypes = browserVersion.split(";");
		var browserType = browserTypes[1];
		browserVersion = browserType.substring(5);
	}
	
	if(browserName == "Netscape"){
		browserName="NS";
		browserVersion=parseFloat(browserVersion);
	}
		
	
	browserStr = browserName + ',' + browserVersion;
	return browserStr;
	
}

//IsOpenCookie--傳回使用者是否有打開cookie
//checkCookie：傳回值，為一布林值

function IsOpenCookie(){
	var checkCookie = navigator.cookieEnabled;
	//alert(checkCookie);
	return checkCookie;
}

//setHPage--設為首頁
//obj：傳入的物件
function setHPage(obj){
	var hUrl = window.location;
	//alert(jj);
	obj.style.behavior='url(#default#homepage)';
	obj.setHomePage(hUrl);
}

function getCookie(CookieName) {
  var sCookieName = CookieName + "=";
  var dc = document.cookie;
  //alert(dc)
  var begin, end;
	//alert(cookiename);
  if (dc.length > 0) {
      begin = dc.indexOf(sCookieName);
      if (begin != -1) {
          begin += sCookieName.length;
          end = dc.indexOf(";", begin);
          if (end == -1) {
              end = dc.length;
          }

          return unescape(dc.substring(begin, end));
      } 
  }
  return '';
}

function setCookie(CookieName, CookieValue, CookieExpire, CookieDomain, CookiePath){
	var sCookieName 	= CookieName;
	var sCookieValue 	= CookieValue;
	var sCookieExpire = CookieExpire;
	var sCookieDomain = CookieDomain;
	var sCookiePath 	= CookiePath;
	var expDay, setDay
	if(sCookieExpire!=''){
		sCookieExpire = eval(sCookieExpire);
		setDay = new Date();
		setDay.setTime(setDay.getTime()+(sCookieExpire*1000*60*60*24));
		expDay = setDay.toGMTString();
	}
	if(sCookiePath==''){
		sCookiePath = '/';
	}
  document.cookie = sCookieName + "=" + escape (sCookieValue) +
    ((sCookieExpire == '') ? "" : ("; expires=" + expDay)) +
    ((sCookiePath == '') ? "" : ("; path=" + sCookiePath)) +
    ((sCookieDomain == '') ? "" : ("; domain=" + sCookieDomain)) ;
}

function previewOpen(tYear,tDate, ztype) {
	window.open("/printimg/"+ tYear +"/"+ tDate +"_"+ ztype +"_b.jpg", "預覽視窗", "left=200,top=100,menubar=0,toolbar=0,location=0,directories=0,status=0,scrollbar=1,resizeable=1,width=510,height=700");	
}

//web書籤
function webookmark(otype,oid,osubject){
  var pURL
  switch(otype)
	{
	case 1: pURL='http://tw.myweb2.search.yahoo.com/myresults/bookmarklet?u='+encodeURIComponent('http://www.digitimes.com.tw/n/article.asp?id='+ oid )+'&ei=UTF-8&t='+ encodeURIComponent(osubject) ;
	  break    //yahoo 
	case 2:
	pURL= 'http://www.hemidemi.com/user_bookmark/new?via=sticker&url=http://www.digitimes.com.tw/n/article.asp?id='+oid+'&title='+ encodeURIComponent(osubject) ;
	  break   //黑米
	case 3:
	pURL= 'http://funp.com/pages/submit/add.php?url=http://www.digitimes.com.tw/n/article.asp?id='+oid+'&s='+ encodeURIComponent(osubject)+'&via=tools' ;
	  break   //黑米
	  default:
	}
  if (oid != ''){
  window.open(pURL,'popup','width=520px,height=420px,status=0,location=0,resizable=1,scrollbars=1,left=100,top=50',0);
  }
}

//web書籤
function webookmark2(otype,url,osubject){
  var pURL
  switch(otype)
	{
	case 1: pURL='http://tw.myweb2.search.yahoo.com/myresults/bookmarklet?u='+encodeURIComponent(url)+'&ei=UTF-8&t='+ encodeURIComponent(osubject) ;
	  break    //yahoo 
	case 2:
	pURL= 'http://www.hemidemi.com/user_bookmark/new?via=sticker&url=' + url + '&title='+ encodeURIComponent(osubject) ;
	  break   //黑米
	case 3:
	pURL= 'http://funp.com/pages/submit/add.php?url=' + url + '&s='+ encodeURIComponent(osubject)+'&via=tools' ;
	  break   //黑米
	  default:
	}
  if (url != ''){
  window.open(pURL,'popup','width=520px,height=420px,status=0,location=0,resizable=1,scrollbars=1,left=100,top=50',0);
  }
}
//Javascript 動態加載 CSS STYLE 元素
function AttachStyle(styDom, styCss, styId){    
    var istyle = styDom.createElement('style');    
    istyle.setAttribute("type", "text/css");    
    if(styId!=null){if(!document.getElementById(styId)){istyle.setAttribute("id", styId);}}    
    if (istyle.styleSheet){    
        istyle.styleSheet.cssText=styCss;    
    }else{    
        istyle.appendChild(styDom.createTextNode(styCss));    
    }    
    styDom.getElementsByTagName("head")[0].appendChild(istyle);    
}   
function position_dots(index,obj,w,h)
{	
	var target = $(obj);
	var dot3_name='dot3_' + index;
	var e = "<div id='" + dot3_name + "' style='width:16px;height:16px;background-color:white;border:solid 1px white;'>...</div>";
	if (!document.getElementById(dot3_name)){
		$("body").append(e);
	}
	var dot3 = $("#" +dot3_name);
	var browser=navigator.appName;
	var differ=0;
	if (browser=="Microsoft Internet Explorer"){
		if (document.documentElement.clientWidth > 1000){
			differ=((document.documentElement.clientWidth-990)/2)-6; //解決IE在全螢幕時會出現錯誤的位置
		} else {
			differ=-4;
		}
	}

	var tt_width = target.width();
	var tt_height = target.height();
	
	if (w!='' && h!=''){
		tt_width = w;
		tt_height = h;
	}
	
	var coordinates = target.offset()
	var x = coordinates.left + tt_width - 19 - differ;
	var y = coordinates.top + tt_height - 23;
	
	dot3.css("position","absolute");
	dot3.css("top",Math.abs(y));
	dot3.css("left",Math.abs(x));
}
function position_2dots(index,obj,w,h)
{	
	var target = $(obj);
	var dot3_name='dot3_' + index;
	var e = "<div id='" + dot3_name + "' style='width:16px;height:16px;background-color:white;border:solid 1px white;'>..</div>";
	if (!document.getElementById(dot3_name)){
		$("body").append(e);
	}
	var dot3 = $("#" +dot3_name);
	var browser=navigator.appName;
	var differ=0;
	if (browser=="Microsoft Internet Explorer"){
		if (document.documentElement.clientWidth > 1000){
			differ=((document.documentElement.clientWidth-990)/2)-6; //解決IE在全螢幕時會出現錯誤的位置
		} else {
			differ=-4;
		}
	}

	var tt_width = target.width();
	var tt_height = target.height();
	
	if (w!='' && h!=''){
		tt_width = w;
		tt_height = h;
	}
	
	var coordinates = target.offset()
	var x = coordinates.left + tt_width - 19 - differ;
	var y = coordinates.top + tt_height - 23;
	
	dot3.css("position","absolute");
	dot3.css("top",Math.abs(y));
	dot3.css("left",Math.abs(x));
}
