// JavaScript Document
//初始---------------------------------------------------------------------------------------------
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//另開視窗
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//------------------------------------------------------------------------------------------------
//全站適用-----------------------------------------------------------------------------------------
//推到facebook
function push_facebook(sUrl,sTitle){
	MM_openBrWindow('http://www.facebook.com/sharer.php?u='+encodeURI(sUrl)+'&t='+encodeURI(sTitle),'推至facebook','');
}
//推到twitter
function push_twitter(sUrl,title){
	var content = sUrl+' ('+title+')';
	MM_openBrWindow('http://twitter.com/home/?status='+encodeURI(content),'推至twitter','');
}
//推到plurk
function push_plurk(img_src,sUrl,title){
	var content = img_src+' '+sUrl+' ('+title+')';
	MM_openBrWindow('http://www.plurk.com/?qualifier=shares&status='+encodeURI(content),'推至plurk','');
}
//加入最愛
function add_favorite(sTitle, sUrl)
{
	if (window.sidebar && window.sidebar.addPanel) {
		add_favorite = function(sTitle, sUrl) {
            window.sidebar.addPanel(sTitle, sUrl, "");
        }
    } else if (window.external) {
    	add_favorite = function(sTitle, sUrl) {
            window.external.AddFavorite(sUrl, sTitle);
        }
    } else {
    	add_favorite = function() {
            alert("瀏覽器不支援，請手動加入我的最愛。");
        }
    }
    return add_favorite(sTitle, sUrl);
}
//設成首頁
function setHomepage(sUrl)
{
	if (document.all){
        document.body.style.behavior='url(#default#homepage)';
  		document.body.setHomePage(sUrl);
    }else if (window.sidebar){
    	if(window.netscape){
        	try{
            	netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
         	}catch(e){
    			alert("您的瀏覽器不支援這個功能，請手動設為首頁。");
    			return false;
         	}
    	}
    	var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
    	prefs.setCharPref('browser.startup.homepage',sUrl);
 	}
}
//登出
function memberLogout(url){
	$.post('/index.php/member/memberLogout',{},
		function(data){
			if(data=='isLogout'){
				alert('您已成功登出。\n欲使用服務請再次登入。');
				if(url!=''){
					var RightNow = new Date();
					window.location.href = url+'/'+RightNow.getSeconds();
				}else{window.location.reload();}
			}else{
				alert('登出失敗!請稍後再試。');
				return false;
			}
		}
	);		
}
//resize圖片
function img_resize(target_obj,r_width,r_height){
	var o_width = target_obj.width();
	var o_height = target_obj.height();
	var diff_width = r_width/o_width;
	var diff_height = r_height/o_height;
	
	if(diff_width<=diff_height){
		target_obj.width(r_width);
		target_obj.height(o_height*diff_width);
	}else if(diff_width>diff_height){
		target_obj.width(o_width*diff_height);
		target_obj.height(r_height);
	}
	
	target_obj.css('display','inline');//讓圖出現
}
//------------------------------------------------------------------------------------------------
//特殊驗證----------------------------------------------------------------------------------------
//身分證字號驗證
function check_blogerID(sex,blogerIDchr,blogerID){
	var local_table = [10,11,12,13,14,15,16,17,34,18,19,20,21,22,35,23,24,25,26,27,28,29,32,30,31,33];//ID地區碼數字對應表
	/* A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z */
	local_digit = local_table[blogerIDchr-65];//ID地區碼對應數字
	var checksum =0;
	checksum += Math.floor(local_digit / 10);
	checksum += (local_digit%10)*9;

	for(var i=0,j=8;i<=7;i++,j--){
		checksum += parseInt(blogerID.charAt(i),10)*j;
	}
	var checked = (10-(checksum%10))%10;
	if(sex=='M'){checksex = 1;}
	else{checksex = 2;}
	//驗證檢查碼
	if(blogerID.charAt(8) != checked){
		alert('身份證字號有問題，請重新檢查!');
		return false;
	}else if(blogerID.charAt(0) != checksex){
		alert('您的身份證字號與您的性別不符，請重新檢查!');
		return false;
	}else{
		return true;
	}
}
//email驗證
function check_email_format(email){
	reEmail=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
	return reEmail.test(email);
}
//------------------------------------------------------------------------------------------------
//複製到剪貼簿
function copyToClipboard(txt) {
    if(window.clipboardData) {
            window.clipboardData.clearData();
            window.clipboardData.setData("Text", txt);
    } else if(navigator.userAgent.indexOf("Opera") != -1) {
         window.location = txt;
    } else if (window.netscape) {
         try {
              netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
         } catch (e) {
              alert("被瀏覽器拒絕！\n請在瀏覽器地址欄輸入'about:config'並按enter\n然後將'signed.applets.codebase_principal_support'設置為'true'");
         }
         var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
         if (!clip)
              return;
         var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
         if (!trans)
              return;
         trans.addDataFlavor('text/unicode');
         var str = new Object();
         var len = new Object();
         var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
         var copytext = txt;
         str.data = copytext;
         trans.setTransferData("text/unicode",str,copytext.length*2);
         var clipid = Components.interfaces.nsIClipboard;
         if (!clip)
              return false;
         clip.setData(trans,null,clipid.kGlobalClipboard);
    }
    alert('已複製程式碼。');
}
//垂直輪播
function slideLine(box,stf,delay,speed,h){
	var slideBox = document.getElementById(box);
	//預設值 delay:幾毫秒滾動一次(1000毫秒=1秒)speed:數字越小越快，h:高度
	var delay = delay||1000,speed = speed||20,h = h||20;
	var tid = null,pause = false;
	var s = function(){tid=setInterval(slide, speed);}
	//主要動作的地方=================================================
	var slide = function(){
		if(pause) return;//當滑鼠移到上面的時候就會暫停
	    slideBox.scrollTop += 1;//滾動條往下滾動 數字越大會越快但是看起來越不連貫，所以這邊用1
	    //滾動到一個高度(h)的時候就停止
	    if(slideBox.scrollTop%h == 0){
	    	clearInterval(tid);//跟setInterval搭配使用的
	    	slideBox.appendChild(slideBox.getElementsByTagName(stf)[0]);//將剛剛滾動上去的前一項加回到整列的最後一項
	    	slideBox.scrollTop = 0;//再重設滾動條到最上面
	    	setTimeout(s, delay);//延遲多久再執行一次
	    }
	}
	//==============================================================
	//滑鼠移上去會暫停 移走會繼續動
	slideBox.onmouseover=function(){pause=true;}
	slideBox.onmouseout=function(){pause=false;}
	setTimeout(s, delay);//起始的地方，沒有這個就不會動囉
}
