﻿// 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_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function onKeyDown()
{
 if ((event.keyCode==116)||(window.event.ctrlKey)||(window.event.shiftKey)||(event.keyCode==122))
 {
 event.keyCode=0;
 event.returnValue=false;
 }
}
function yxl() { 
if(window.event.altKey) 
{
window.event.returnValue=false;
}
}
document.onkeydown=yxl 


function bookmarksite(title, url){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, "")
}
/**********************************Arkaine Define****************************************/

function openCalendar(form, field, type) {
    window.open("calendar.php", "calendar", "width=400,height=300,status=yes");
    dateField = eval("document." + form + "." + field);
    dateType = type;
   }

function openCalendarAdmin(form, field, type) {
    window.open("../calendar.php", "calendar", "width=400,height=300,status=yes");
    dateField = eval("document." + form + "." + field);
    dateType = type;
   }

function Dec2Hex(n) {
	rtn = '';
	if (!isNaN(n)) {
		n = Math.abs(n*1);
		rtn = '00' + n.toString(16);
		rtn = rtn.substring(rtn.length-2, rtn.length);
		rtn = rtn.toUpperCase();
	}
	return rtn;
}

function getHex(r, g, b) {
	return '#' + Dec2Hex(r) + Dec2Hex(g) + Dec2Hex(b);
}

function getHex2(r, g, b) {
	r = (Math.abs(255-r)>128)?255:0;
	g = (Math.abs(255-g)>128)?255:0;
	b = (Math.abs(255-b)>128)?255:0;
	return '#' + Dec2Hex(r) + Dec2Hex(g) + Dec2Hex(b);
}

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'並回車\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 popupWindow(getVariable, mode)
{
	switch(mode){
	  case 'pic_view' :
		window.open ('img_view.php?'+getVariable, "newwindow", "left=150,top=50,height=10, width=10,toolbar=no,menubar=no, scrollbars=yes, resizable=yes, location=no, status=no");
	  break;
	  case 'form_view' :
		window.open ('form/formPreView.php?'+getVariable, "newwindow", "left=150,top=50,height=500, width=1000,toolbar=no,menubar=no, scrollbars=yes, resizable=yes, location=no, status=yes");
	  break;
	  case 'addFavorite' :
	  	 window.open ('add_favorite.html', 'newwindow', 'left=150,top=50,height=100, width=100,toolbar=no,menubar=no, scrollbars=no, resizable=no, location=no, status=no');
	  break;
	  case 'video' :
	  	 window.open ('video_play.php?'+getVariable, 'newwindow', 'left=150,top=50,height=560, width=480,toolbar=no,menubar=no, scrollbars=no, resizable=no, location=no, status=no');
	  break;
	}
}

/*表單公用審核函式*/
  function formCheckPublic(formObj, notNull, intColumn, aFewAsOne, doNotReConfirm){

	//Here Check The Not Null Column
	for(x in notNull){
	if(!formObj.item(x).type){
		  var radioObj = document.getElementsByName(x);
		  var checkFlag = false;
			for(y=0;y<radioObj.length;y++){
			  if(radioObj.item(y).checked == true){
			  checkFlag = true;
			  break;
			  }
			}
		  if(!checkFlag){
		  	alert(notNull[x]+' 必須選取');
			return false;
		  }
	}else
	  switch(formObj.item(x).type){
		case 'checkbox' :
		  if(formObj.item(x).checked == false){
			alert(notNull[x]+' 必須選取');
			return false;
		  }
		break;
		default :
		  if(formObj.item(x).value == ''){
			alert(notNull[x]+' 必須填寫');
			if(formObj.item(x).focus())
			formObj.item(x).focus();
			return false;
		  }
		break;
	  } //Switch... By NotNull Type
	} //For... In notNull

	//Here Check The Must Int Column
	for(y in intColumn){

		  if(isNaN(formObj.item(y).value)){
			alert(intColumn[y]+' 必須是數字');
			formObj.item(y).focus();
			return false;
		  }

	} //For... In intColumn

	//Here Check The A Few As One Column
	for(x1 in aFewAsOne){
		var checkFlag = false;
			for(x2 in aFewAsOne[x1]){
			  if(formObj.item(aFewAsOne[x1][x2]).type == "checkbox" && formObj.item(aFewAsOne[x1][x2]).checked == true){
			  checkFlag = true;
			  break;
				}
			  }
		  if(!checkFlag){
		  	alert(x1+' 必須選取至少一項');
			return false;
		  }
	} //For... In FewAsColumn

	//Here Check The User Confirm
	if(doNotReConfirm !== true){
	return (confirm('確定資料無誤?')?true:false);
	}
  }

function getRvalue(transPorter){
	for(x in transPorter){
		if(document.getElementById(x) && document.getElementById(transPorter[x])){
			document.getElementById(x).value = document.getElementById(transPorter[x]).value;
		}
	} //For... In FewAsColumn
}

function getAbsolutPosition(ObjectSrc){
	offsetParent = ObjectSrc;
	x=0;
	y=0;
	while(offsetParent!=null && offsetParent.tagName.toUpperCase()!="BODY") {
		x+=offsetParent.offsetLeft;
		y+=offsetParent.offsetTop;
		offsetParent=offsetParent.offsetParent;
	}
	var outPut = new Array();
	outPut['left'] = x;
	outPut['top'] = y+16;
	return outPut;
}
function scrollTop(){
        if (document.documentElement && document.documentElement.scrollTop)
            return document.documentElement.scrollTop; // IE6 +4.01
        if (document.body && document.body.scrollTop)
            return document.body.scrollTop; // IE5 or DTD 3.2
        return 0;
}
function scrollLeft(){
        if (document.documentElement && document.documentElement.scrollLeft)
            return document.documentElement.scrollLeft; // IE6 +4.01
        if (document.body && document.body.scrollLeft)
            return document.body.scrollLeft; // IE5 or DTD 3.2
        return 0;
}

function printslice(ostr, start, end){
	var str=decodeURI(ostr);
    document.write(str.slice(start,end));
}

function getbyid(id) {
	if (document.getElementById) {
		return document.getElementById(id);
	} else if (document.all) {
		return document.all[id];
	} else if (document.layers) {
		return document.layers[id];
	} else {
		return null;
	}
}

function hide(id, action){
	if(getbyid(id)){
		hideObj = getbyid(id);
		if(action == 'show'){
			hideObj.style.display = '';
		}else{
			hideObj.style.display = 'none';
		}
	}
}


function createCookie(name,value,days) {
	//createCookie('ppkcookie','testcookie',7)
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	//var x = readCookie('ppkcookie1')
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {	//eraseCookie('ppkcookie')
	createCookie(name,"",-1);
}

