﻿/*
JavaScript 常用自訂函式集
by Neo Wang 2006/12/20
*/
function _tv(){//Element
return this.value;
};

function _e(id){//Element
	return document.getElementById(id);
};

function _n(_name){//Element By Name
	return document.getElementsByName(_name);
};

function _ev(){
	var args = _ev.arguments;	
	if(args.length==1){//呈現
		return _e(args[0]).value;
	}else{//寫入
		_e(args[0]).value=args[1];
	};
};

function _ev2(){
	var args = _ev2.arguments;	
	if(args.length==1){//呈現
		return _n(args[0]).value;
	}else{//寫入
		_n(args[0]).value=args[1];
	};
};

function _ei(){
	var args = _ei.arguments;	
	if(args.length==1){//呈現
		return _e(args[0]).innerHTML;
	}else{//寫入
		_e(args[0]).innerHTML=args[1];
	};
};

function _es(id){//Element.style
//_e(id)
	return _e(id).style;
};

function _esc(id,_color){//Element.style.color=?  "給予 文字 顏色"
//_e(id),_es(id)
	_es(id).color=_color;
};

function _esbc(id,_color){//Element.style.backgroundColor=?  "給予 背景 顏色"
//_e(id),_es(id)
	_es(id).backgroundColor=_color;
};

function _wn(){
	return window.name
};

function __wn(_name){
	return window.name = _name;
};

function _rT(_x,_y){
	return resizeTo(_x,_y);
};

function _dw(_txt){//document.write  "輸出字串"
	return document.write(_txt);
};

function _br(){
	return "<br />"
};

function _eo(id){//Element.options 使用在" select 選單 "
	return _e(id).options;
};

function _eov(id,num){
	return _eo(id)[num].value;
};

function _eost(id,num){
	return _eo(id)[num].style;
};

function _eobc(id,num){
	return _eost(id)[num].backgroundColor;
};

function _eos(id,num){
	return _eo(id)[num].selected;
};

function _eol(id){
	return _eo(id).length;
};

function _eoDis(){
	var args = _eoDis.arguments;	
	if(args.length==2){//呈現
		return _eo(args[0])[args[1]].disabled;
	}else{//寫入
		_eo(args[0])[args[1]].disabled=args[2];
	};
};

function _eoDis2(id,num){
	if(_eoDis(id,num)){
		_eoDis(id,num,false);
	}else{
		_eoDis(id,num,true);
	};
};

function _eoNS(id){//NowSelected
	for(i=0;i<_eol(id);i++){
		if(_eo(id)[i].selected==true){
			return i ;
			break;
		};
	};
};

function _eoNV(id,_vlaue){//NowValue
	for(i=0;i<_eol(id);i++){
		if(_eov(id,i)==_vlaue){
			return true;
			break;
		};
	};
	return false;
};


function _eoA(from_id,from_num,to_id,to_num){//addOption
	//if (from_num!=""){//2009- 1/14, 5/5,
		return _eo(to_id)[to_num] = new Option(_eo(from_id)[from_num].text,_eo(from_id)[from_num].value);
	//}else{
	//	alert("from_num="+from_num)
	//};
};

function _eod(id,num){//del
	return _eo(id)[num] = null;
};

function _eoAllNull(id){
	if(_eo(id).length>0){
		for(i=_eo(id).length; i>=0 ;i--){
			_eo(id)[i]=null;
		};
	};
};
		

function _eoiS(id,num){//執行選取
	if(_eo(id)[num].selected==true){
		return true;
	}else{
		return false;
	};
};



function _sIt(id){//selectedIndex.text 選取"選單"目前被選取"選項"的文字
//_e(id)
	return _e(id).options[_e(id).selectedIndex].text;
};

function _sIv(id){//selectedIndex.text 選取"選單"目前被選取"選項"的值
//_e(id)
	return _e(id).options[_e(id).selectedIndex].value;

//	for(i=0;i<_e(id).options.length;i++){
//		if(_eos(id,num)){return _ev(id,obj.options[i].value)}
//	}
};

function _sIt2(id,num){//selectedIndex.text 選取"選單"目前被選取"選項"的文字
//_e(id)
	return _e(id).options[num].text;
};

function _sIt3(from_id,to_id){//傳回目標與自身選單文字相同的選單編號
	for(i=0;i<_eol(to_id);i++){
		if(_sIt2(to_id,i)==_sIt(from_id)){
			return i ;
			break;
		};
	};
};


function _Selected(id,val){// 在"選單"選取欲"預設"的選項
	for(i=0;i<_eol(id);i++){
		//alert("if(_eov("+id+","+i+")=="+val+")")
		if(_eov(id,i)==val){
			//_eos(id,i)=true;
			_eo(id)[i].selected=true;	
		};
	};
};

function _SelectedAll(id,_type){// 全選
	for(i=0;i<_eol(id);i++){
		if(_type==0){
			_eo(id)[i].selected = true;
		}else{
			if(_eo(id)[i].selected==true){
				_eo(id)[i].selected=false;
			}else{
				_eo(id)[i].selected=true;	
			};
		};
	};
};

function _S(id,_type){//S=Show 是否隱匿?
//_e(id),_es(id)
	if(_type==0){//執行隱匿
		_es(id).visibility="hidden";
		_es(id).position="absolute";
	};
	if(_type==1){
		_es(id).visibility="visible";
		_es(id).position="static";
	};
};

function _S2(){//偶數;id,_type,id,_type,id,_type,id,_type
	var args = _S2.arguments;
	for(i=0;i<args.length;i++){
		_S(args[i],args[i+1]);
	};
};

function _Cc(_name){//取出 checkbox的選取狀態
	return _n(_name)[0].checked
};

function _CA(_name,this_checked){//CA=CheckAll "全選" 限 checkbox tag
//_n(name)
	_name = _n(_name);
	for(var i=0;i<_name.length;i++){
		_name[i].checked=this_checked;//看當時的checkbox布林值
	};
};

function _CAvv(_name){//view value
	_name = _n(_name);
	var txt = "";
	for(var i=0;i<_name.length;i++){
		if(_name[i].checked==true){
		//_name[i].checked=this_checked;//看當時的checkbox布林值
		txt = txt + _name[i].value + ", ";
		};
	};
	return txt
};

function _CAi(_name){ //  CA=CheckAll invert "反向全選" 限 checkbox tag  
//_n(name)
	_name = _n(_name);
	for(var i=0;i<_name.length;i++){
		if(_name[i].checked==true){
			_name[i].checked=false;
		}else{
			_name[i].checked=true;
		};
	};
};

function _CAx(_name){//  CA=CheckAll x=取消 "全部取消"  限 checkbox tag  
//_n(name)
	_name = _n(_name);
	_name[0].checked=false;
};


function replace(sostrdv,plsostr,resostr)
{var sostr = " "+sostrdv;var sostr2=plsostr.length;var sostr1=sostr.indexOf(plsostr)+1;return (sostr.indexOf(plsostr)<1)?sostrdv:replace(mid(sostr.substring(0,sostr1-1)+resostr+sostr.substring(sostr1+sostr2-1,sostr.length),2),plsostr,resostr);};

function len(sostrxx){
	return sostrxx.length;
};

function left(sostrcx,sostrlen){
	return sostrcx.substring(0, sostrlen);
};

function right(sostrccx,sostrlen){
	return sostrccx.substring(sostrccx.length-sostrlen,sostrccx.length);
};

function mid(sostr,sostrs,sostre){
	if (isNaN(sostre)==true){return sostr.substring(sostrs-1,sostr.length);}else {return sostr.substring(sostrs-1,sostrs+sostre-1);};
};

function rtrim(sostr){
	for (rxxmx = sostr.length - 1; rxxmx >= 0; rxxmx-- ){if (sostr.charAt(rxxmx) != ' '){break;}}return sostr.substring(0, rxxmx+1);
};

function ltrim(sostr){
	for (rxxmx = 0; rxxmx < sostr.length; rxxmx++){if (sostr.charAt(rxxmx) != ' '){break;}}return sostr.substring(rxxmx, sostr.length);
};

function trim(sostr){
	var getsor = sostr;spstr= ltrim(rtrim(getsor));return spstr;
};


function _GLA2(str){
	var count = '2';
	var strD = '_';
	return GetListAt(str,count,strD)
};

function _GLA1(str){
	var count = '1';
	var strD = '_';
	return GetListAt(str,count,strD)
};



/*判斷當前物件是否可見*/ 

function isVisible(obj){
 var visAtt,disAtt;
 try{
  disAtt=obj.style.display;
  visAtt=obj.style.visibility;
 }catch(e){}
 if(disAtt=="none" || visAtt=="hidden")
  return false;
 return true;
}
 
/*判斷當前物件及其父物件是否可見*/ 

function checkPrVis(obj){
 var pr=obj.parentNode;
 do{
  if(pr == undefined || pr == "undefined") return true;
  else{
   if(!isVisible(pr)) return false;
  }
 }while(pr=pr.parentNode);
 return true;
}
 
/* 彈出警告對話方塊，用戶點確定後將游標置於出錯文本框上， 並且將原來輸入內容選中。*/ 

function f_alert(obj,alertInfo)
{
 var caption = obj.getAttribute("eos_displayname");
 if(caption == null)
  caption = "";
 alert(caption + "：" + alertInfo + "！"); 
 obj.select();
 if(isVisible(obj) && checkPrVis(obj))
  obj.focus();
}

function createXMLHttpRequest()
{
	var XMLhttpObject = null;
	try{
		XMLhttpObject = new XMLHttpRequest();
	}catch(e){
		try{
			XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				return null;
			}
		}
	}
	return XMLhttpObject;
}

function checkMaxInput(source,target,maxLen){
	if(_ev(source).length>=maxLen){
		_ev(source,_ev(source).substring(0,maxLen));
	};
	_ei(target,"限 "+maxLen+" 個字，已輸入 "+(maxLen-(maxLen-_ev(source).length))+" 個字，剩 "+(maxLen-_ev(source).length)+" 個字。");
};



function copyUrl(){ 
var clipBoardContent=this.location.href; 
window.clipboardData.setData("Text",clipBoardContent); 
alert("複製成功，現在您可以貼給您MSN的朋友了!"); 
} 

function aBFB(sTitle,sUrl){ 
addBookmarkForBrowser(sTitle,sUrl);
} 


function addBookmarkForBrowser(sTitle,sUrl){
if(window.sidebar && window.sidebar.addPanel){
addBookmarkForBrowser = function(sTitle, sUrl) {
window.sidebar.addPanel(sTitle, sUrl, "");
}
} else if (window.external) {
addBookmarkForBrowser = function(sTitle, sUrl) {
window.external.AddFavorite(sUrl, sTitle);
}
} else {
addBookmarkForBrowser = function() {
alert("do it yourself");
}
}

return addBookmarkForBrowser(sTitle, sUrl);
}


function round_neo_1(id,robg,row,ribg,rip,a,b,c){
//round_neo_1('aaa','#CCC','300px','#FFF','10px','8px','1px','10px');
//robg=#CCC row=300px
//ribg=#FFF	rip=10px
//a=8px b=1px c=10px

_dw('<style type="text/css">')
_dw('div.round_outer{background:'+robg+';width:'+row+';float:left;}')
_dw('div.round_inner{background:'+ribg+';padding:'+rip+';border:0;}')
_dw('</style>')
_ei(id,'<div class="round_outer"><div class="round_inner">'+_ei(id)+'</div></div>');
$('.round_inner').corner("round "+a).parent().css('padding', b).corner("round "+c);
};

function GetMousePosition(e)
{
	if(is_ie)
	{
		xmouse = document.documentElement.scrollLeft + window.event.clientX;
		ymouse = document.documentElement.scrollTop + window.event.clientY;
	} else
	{
		xmouse = e.pageX;
		ymouse = e.pageY;
	}

	//var my_width = xmouse + xoffset + 392 - getWindowWidth() / 2;
	var my_width = xmouse + xoffset;
	hoverdisplay.left = parseInt(my_width) + "px";		
	hoverdisplay.top = parseInt(ymouse-yoffset) + "px";
};

function getWindowWidth() {
	var x = 0;
	
	if (self.innerHeight) 
	{
		x = self.innerWidth;
	} 

	else if (document.documentElement && document.documentElement.clientHeight) 
	{
		x = document.documentElement.clientWidth;
	} 
	
	else if (document.body) 
	{
		x = document.body.clientWidth;
	}

	return x;
};

function showHover(_text)//(price, price_parameter, ssprice) 
{
	hoverdisplay.display = "";
	//字串組合區
	_ei('_hoverbox',_text);
	
};

function hideHover()
{
	hoverdisplay.display = "none";
};

function _sH(_text){
	if(_text!=''){showHover(_text);};
	
};
function _hH(){hideHover()};


function _WinOpen1(_url)
{
	window.open (_url,'mhPicUploads','height=600, width=400, top=0, left=0, toolbar=no, menubar=no,  resizable=no,location=no, status=no');//scrollbars=no,
	//height=100 窗口高度；
	//width=400 窗口寬度；
	//top=0 窗口距離瀏覽器上方的像素值；
	//left=0 窗口距離瀏覽器左側的像素值；
	//toolbar=no 是否顯示工具列，yes為顯示、no為不顯示；
	//menubar=no 是否顯示選單列，yes為顯示、no為不顯示；
	//scrollbars=no 是否顯示滑動軸，yes為顯示、no為不顯示；
	//resizable=no 是否允許改變窗口大小，yes為允許、no為不允許；
	//location=no 是否允許顯示網址列，yes為允許、no為不允許；
	//status=no 是否顯示狀態檔內的訊息，yes為允許、no為不允許；
};


function _random(minNum,maxNum){
 var n = Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum; 
return n
}

