﻿// JavaScript Document
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
var b_version=navigator.appVersion;
var version=parseFloat(b_version);

var preg = ({
	// 是否是字符窜
	isString:function(obj) {
		return (typeof(obj) == 'string');
	},
	// 是否是整型
	isInteger:function(obj) {
		var reg = /^\d+$/;
		return reg.test(obj);
	},
	//是否是浮點數
	isFloat:function(obj) {
		return (!isNaN(Number(obj)));
	},
	// 验证是否是电话号码
	isTelephone:function(obj) {
		var reg = /^0?[1-9]\d{7,8}$/;
		return reg.test(obj);
	},
	// 是否是邮编
	isZip:function(obj) {
		var reg = /^\d{2,4}$/;
		return reg.test(obj)
	},
	// 是否是电话号码
	isMobile:function(obj) {
		var reg = /^09\d{8}$/;
		return reg.test(obj);
	},
	// 是否是邮件地址
	isMail:function(obj) {
		var reg=/(@\w[-._\w]*\.[\w\.\-]+)$/;
		return reg.test(obj);
	},
	
	/**
	 * 檢測是否含有中文字符串
	 * @param {Object} str
	 * @return bool
	 */
	isCN:function(str){
		if (escape(str).indexOf("%u") != -1) {
			return true;
		}
		return false;
	},

	// 是否為統一編號
	isTwCompanyNo:function(str){
		var tbNum = new Array(1,2,1,2,1,2,4,1);
		var temp = 0;
		var total = 0;
		if(!str.match(/^\d{8}$/)) {
			return false;
		} else {
			for(var i = 0; i < tbNum.length ;i++){
				temp = str.charAt(i) * tbNum[i];
				total += Math.floor(temp/10)+temp%10;
			}
			if(total%10==0 || (total%10==9 && str.charAt(6)==7)) {
				return true;
			} else {
				return false;
			}
		}
	},
	// 是否為身分證字號
	isTwIDCard:function(str){
		if(str.length != 10) return false;
		var idArr = new Array();
		idArr['A']=10;idArr['B']=11;idArr['C']=12;idArr['D']=13;idArr['E']=14;
		idArr['F']=15;idArr['G']=16;idArr['H']=17;idArr['J']=18;idArr['K']=19;
		idArr['L']=20;idArr['M']=21;idArr['N']=22;idArr['P']=23;idArr['Q']=24;
		idArr['R']=25;idArr['S']=26;idArr['T']=27;idArr['U']=28;idArr['V']=29;
		idArr['X']=30;idArr['Y']=31;idArr['W']=32;idArr['Z']=33;idArr['I']=34;
		idArr['O']=35; 
		var N = new Array();
		for (var i=1;i<=10;i++) { 
			N[i] = str.substr(i-1,1); 
			if(i > 1){
				N[i] = parseInt(N[i]);
			}
		}
		N[1] = N[1].toUpperCase( );
		N[1] = idArr[N[1]];
		if(N[1] < 10 || N[1]>35) return false;
		if(N[2]<1 || N[2]>2) return false;
		N[1] = N[1].toString(); 
		
		var N1  = parseInt(N[1].substr(0,1)); 
		var N12 = parseInt(N[1].substr(1,1)); 
		var express = (N1+N12*9+N[2]*8+N[3]*7+N[4]*6+N[5]*5+N[6]*4+N[7]*3+N[8]*2+N[9]*1+N[10]) % 10; 
		
		if (express != 0) { 
			return false;
		} 
		return true; 
	}
});

/*******************
 * 文件後綴名
 * @param string fileName
 ********************/
function getFileExt(filename){
    return filename.replace(/^.*(\.[^\.\?]*)\??.*$/, '$1');
}

/******************
 * 檢查是否是圖像格式
 * @param String filename
 *****************/
function isImage(filename){
    var ext;
    ext = getFileExt(filename).toLowerCase();
    switch (ext) {
        case '.jpeg':
        case '.jpg':
        case '.png':
        case '.gif':
            return true;
        default:
            return false;
    }
    return false;
}

/**
 * 獲取對象的寬,高,left,top
 *
 * @return Object(height,width,top,left)
 */
function getObjOffset(obj){
    var objOffset = new Object();
    objOffset.height = obj.offsetHeight;
    objOffset.width = obj.offsetWidth;
    if (is_moz) {
        objOffset.top = obj.offsetTop;
        objOffset.left = obj.offsetLeft;
    }
    else {
		var version = parseInt(navigator.appVersion.split(";")[1].split(" ")[2]);
		if (version < 7)	{
			var o = obj;
			var t = o.offsetTop;
			var l = diffL = o.offsetLeft;
			while (o != null && o != document.body) {
				t += o.offsetTop;
				l += o.offsetLeft;
				o = o.offsetParent;
			}
			objOffset.top = t;
			objOffset.left = l - diffL;
		} else if (version == 7) {
			var o = obj;
			var t = o.offsetTop;
			var l = diffL = o.offsetLeft;
			while (o != null && o != document.body) {
				t += o.offsetTop;
				l += o.offsetLeft;
				o = o.offsetParent;
			}
			objOffset.top = t;
			objOffset.left = l - diffL;		
		} else {
			objOffset.top = obj.offsetTop;
			objOffset.left = obj.offsetLeft;
		}
    }
    return objOffset;
}

/**
 * 獲得表單輸入框剩余可輸入字符長度
 * @param String 輸入框id
 * @param String 所需要賦值的Span
 * @param Int 需要限制的長度
 * @return Int 返回輸入框輸入文字長度值
 */
function checkValLength(inputId, spanId, maxLth){
    var iId = document.getElementById(inputId);
    var sId = document.getElementById(spanId);
    var valLength = iId.value.length;
    if (valLength <= maxLth) {
        sId.innerHTML = valLength;
    } else {
        iId.value = iId.value.substr(0, maxLth);
    }
}

/**
 * checkAll,unCheckAll
 *
 * @param object obj
 **/
function chkCheckAll(obj, cat){
    var cBox = document.getElementsByName(obj);
    if (cat == "top") {
        a = 0;
    } else {
        a = cBox.length - 1;
    }
    for (var i = 0; i < cBox.length; i++) {
        cBox[i].checked = cBox[a].checked;
    }
}

// 过滤空格
function foramt26str(str){
	str = encodeURIComponent(str);
	//str = str.replace(/&/g,"%26");
	//str = str.replace(/%/g,"％");
	return str;
}

// 转换html代码
function htmlspecialchars(ch){
			ch = ch.replace(/&/g,"&amp;");
			ch = ch.replace(/\"/g,"&quot;");
			ch = ch.replace(/\'/g,"'");
			ch = ch.replace(/</g,"&lt;");
			ch = ch.replace(/>/g,"&gt;");
			return ch
}

function nl2br( str ) {
   return str.replace(/([^>])\n/g, '$1＜br /＞\n');
}

function show(obj)
{
	var obj  = '#'+obj;
	$(obj).show();
}
function showe(obj)
{
	$("#"+obj+":visible").show();
}
// 格式化数字
function num_han(num){
    if ( num == "1" )       return "壹";
    else if ( num == "2" )  return "貳";
    else if ( num == "3" )  return "參";
    else if ( num == "4" )  return "肆";
    else if ( num == "5" )  return "伍";
    else if ( num == "6" )  return "陸";
    else if ( num == "7" )  return "柒";
    else if ( num == "8" )  return "捌";
    else if ( num == "9" )  return "玖";
    else if ( num == "拾" ) return "拾";
    else if ( num == "佰" ) return "佰";
    else if ( num == "仟" ) return "仟";
    else if ( num == "萬" ) return "萬 ";
    else if ( num == "億" ) return "億 ";
    else if ( num == "兆" ) return "兆 ";
    else if ( num == "0" )  return "";
}

function NUM_HAN(num,mode,return_input,is_wan)
{
    if ( num == "" || num == "0" ) {
        if ( mode == "3" ) {
            return_input.value = "";
        }
        return;
    }
		
    num=new String(num);
    num=num.replace(/,/gi,"");

  	if (is_wan) {
		num = num + '0000';
	    num=new String(num);			
	}
	var len  = num.length;
    var temp1 = "";
    var temp2 = "";

    if ( len/4 > 3 && len/4 <= 4 ) {
        if ( len%4 == 0 ) {
            temp1 = ciphers_han(num.substring(0,4)) + "兆" + ciphers_han(num.substring(4,8)) + "億" + ciphers_han(num.substring(8,12)) + "萬" + ciphers_han(num.substring(12,16));
        }
        else {
            temp1 = ciphers_han(num.substring(0,len%4)) + "兆" + ciphers_han(num.substring(len%4,len%4+4)) + "億" + ciphers_han(num.substring(len%4+4,len%4+8)) + "萬" + ciphers_han(num.substring(len%4+8,len%4+12));
        }
    }
    else if ( len/4 > 2 && len/4 <= 3 ) {
        if ( len%4 == 0 ) {
            temp1 = ciphers_han(num.substring(0,4)) + "億" + ciphers_han(num.substring(4,8)) + "萬" + ciphers_han(num.substring(8,12));
        }
        else {
            temp1 = ciphers_han(num.substring(0,len%4)) + "億" + ciphers_han(num.substring(len%4,len%4+4)) + "萬" + ciphers_han(num.substring(len%4+4,len%4+8));
        }
    }
    else if ( len/4 > 1 && len/4 <= 2 ) {
        if ( len%4 == 0 ) {
            temp1 = ciphers_han(num.substring(0,4)) + "萬" + ciphers_han(num.substring(4,len));
        }
        else {
            temp1 = ciphers_han(num.substring(0,len%4)) + "萬" + ciphers_han(num.substring(len%4,len));
        }
    }
    else if ( len/4 <= 1 ) {
        temp1 = ciphers_han(num.substring(0,len));
    }

    for (var i=0; i<temp1.length; i++) {
        temp2 = temp2 + num_han(temp1.substring(i, i+1));
    }

    temp3=new String(temp2);
    temp3=temp3.replace(/億 萬/gi,"億 ");
    temp3=temp3.replace(/兆 億/gi,"兆 ");

    if ( mode == 1 ) {
        alert(temp3 + " 圓");
    } else if ( mode == 2 ) {
        return temp3;
    } else if ( mode == 3 ) {
        return_input.value = "( " + temp3 + " 圓 )";
    }
}

function ciphers_han(num)
{
    var len  = num.length;
    var temp = "";
    if ( len == 1 ) {
        temp = num;
    }
    else if ( len == 2 ) {
        temp = num.substring(0,1) + "拾" + num.substring(1,2);
    }
    else if ( len == 3 ) {
        temp = num.substring(0,1) + "佰" + num.substring(1,2) + "拾" + num.substring(2,3);
    }
    else if ( len == 4 ) {
        temp = num.substring(0,1) + "仟" + num.substring(1,2) + "佰" + num.substring(2,3) + "拾" + num.substring(3,4);
    }
    num=new String(temp);
    num=num.replace(/0拾/gi,"");
    num=num.replace(/0佰/gi,"");
    num=num.replace(/0仟/gi,"");		
    return num;
}
function numchk(num){	  
    num=new String(num);
    num=num.replace(/,/gi,"");
		num = numberConv(num);
    return numchk1(num);
}

function numchk2(num){
	num =new String(num);
    num=num.replace(/,/gi,"");
	num=new Number(num);
	num=num+15;
	return numchk1(num);
}

function numchk3(num){
	num =new String(num);
    num=num.replace(/,/gi,"");
	num=new Number(num);
	num=num*15;
	return numchk1(num);
}

function numchk1(num){
    var sign="";
    if(isNaN(num)) {
        return 0;
    }
    
	if(num==0) {
        return num;
    }
    if(num<0){
        num=num*(-1);
        sign="-";
    }
    else{
        num=num*1;
    }
    num = new String(num)
    var temp="";
    var pos=3;
    num_len=num.length;
    while (num_len>0){
        num_len=num_len-pos;
        if(num_len<0) {
            pos=num_len+pos;
            num_len=0;
        }
        temp=","+num.substr(num_len,pos)+temp;
    }
    return sign+temp.substr(1);
}
function numchk4(num){
	num =new String(num);
    num=num.replace(/,/gi,"");
	num=new Number(num);
	num=num+25;
	return numchk1(num);
}
function checkInteger(obj, allowzero)
{
	obj.value = numberConv(obj.value);
	if (false == allowzero)
	{
		if ((obj.value != '') && obj.value < 1)
		{
			alert('不能為零');
			obj.value = '';
			return false;
		}
	}
 	obj.value=obj.value.replace(/[^0123456789]/g, '');
}
function numberConv(val)
{
	if ('' == val)
	{
		return '';
	}
	return val.replace("０","0").replace("１","1").replace("２","2").replace("３","3").replace("４","4").replace("５","5").replace("６","6").replace("７","7").replace("８","8").replace("９","9").replace("．",".").replace("。",".");
}

// 
function checkIsDouble(obj, help_obj)
 {  
	  if ('' == obj.value) {
			return ;
	  }
		obj.value = numberConv(obj.value);
		re = /^\d+\.?\d*$/;
		if (! re.test(obj.value))
	  {
			if (obj.value.indexOf('.') != -1)
			{
				len = obj.value.length;
				obj.value = obj.value.substr(0, len-1);
			}
			obj.value=obj.value.replace(/[^0123456789.]/g, '');
			if (help_obj)
			{
				$(help_obj).innerHTML = '（請輸入正確的數字）';
			}
			return ;
		}
		if (obj.value < 1)
		{
			if (help_obj)
			{
				$(help_obj).innerHTML = '（數字不能小於0）';
				obj.value = '';
			}
			return ;
		}
		if (help_obj)
		{
			$(help_obj).innerHTML = '（正確的數字）';
		}
 }

// 只允许输入数字
function  onlyNum()
{
	if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)||(event.keyCode==8)))
	event.returnValue=false;
}

function jsAddFavorate(url,webTitle)
{
	if ( window.sidebar && "object" == typeof( window.sidebar ) && "function" == typeof( window.sidebar.addPanel ) ) {
		//  firefox
		window.sidebar.addPanel(webTitle,url, '_blank' );
	} else if ( document.all && "object" == typeof( window.external ) ) {
		//  ie
		
		window.external.addFavorite( url , webTitle);
	}
}
function priceOrder(url) 
{
	window.location.href=url;
}
function chkImageSize(source) {
	var img = new Image();
	img.src =  "file:///" + source;
	alert(img.fileSize);
}

function selectAll()
{
	$(":checkbox").each(function(){
		if ($(this).attr("checked") == true) {
			$(this).attr("checked",false);
		} else {
			$(this).attr("checked",true);
		}
	});
}

//圖片滾動
function slideLine(ul, delay, speed, lh) {
	var slideBox = (typeof ul == 'string')?document.getElementById(ul):ul;
	var delay = delay||1000, speed=speed||20, lh = lh||20;
	var tid = null, pause = false;
	var start = function() {
		tid=setInterval(slide, speed);
	}
	var slide = function() {
		if (pause) return;
		slideBox.scrollTop += 2;
		if (slideBox.scrollTop % lh == 0) {
			clearInterval(tid);
			slideBox.appendChild(slideBox.getElementsByTagName('li')[0]);
			slideBox.scrollTop = 0;
			setTimeout(start, delay);
		}
	}
	slideBox.onmouseover=function(){pause=true;}
	slideBox.onmouseout=function(){pause=false;}
	setTimeout(start, delay);
}

//問卷調查
function gourl(step)
{
	window.location = "index.php?module=survey&action=survey&step=" + step
}

//彈出回覆框
function toggleDiv(id)
{
 	var obj = document.getElementById(id);
 	if (obj.style.display == 'none' || obj.style.display == ""){
 		obj.style.display = 'block';
 	}else{
 		obj.style.display = 'none';
 	}

 } 


$.fn.wait = function(time,type){
	time = time || 1000;
	type = type || 'fx';
	return this.queue(type,function(){
		var self = this;
		setTimeout(function(){
			$(self).dequeue();
		},time);
	});
}

//-------------------------------搜尋loading框
function createLoadingLayer(){
    try {
		var __HOST = "http://statics.8891.com.tw/";
        var spreenWidth = $(document).width();
        var spreenHeight =  window.screen.height;
        var _iHtml = '';
        var _obj = jQuery('<div></div>')
                    .attr("id","content_loading_layer")
                    .fadeIn("normal")
                    .css("position","absolute")
                    .css("left",(spreenWidth - 126)/2)
                    .css("top",($(document).scrollTop() + (spreenHeight - 50))/2)
                    .css("width","126")
                    .css("height","50")
                    .html('<img width="126" height="50" src="' + __HOST + 'img/common/load.gif">');
        jQuery(document.body).append(_obj);
    } catch (e) {
        alert(e);
    }
}

// 搜尋完成后設置loading消失
function unloadLoadingLayer() {
    try {
        jQuery("#content_loading_layer").remove();
    } catch (e) {
        alert(e);
    }
}