/***********************************************************************
 * @filename            : inc/common.js
 * @author              : Siako Chen
 * @description         : javascript
 * @created             : 2006-12-21
 * @modified            : 2007-03-22
 * @requires            : inc/common.js
 ***********************************************************************/

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_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_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];}
}


/*
counter MS ActiveX Update 2006-04
arguments:
    @ s_src (string) path to movie file
    @ i_width (int) movie width
    @ i_height (int) movie height
    @ a_params (array) other parameters, eg ['wmode|transparent','quality|high']
    sample usage: addFlashObj( 'flash/intro.swf', 400, 300, ['wmode|transparent','bgcolor|#3366CC','FlashVars|userId=12&something=foobar'] );
*/
/*****  *****/
City_Ary = new Array("台北市", "基隆市", "台北縣", "宜蘭縣", "新竹市", "新竹縣", 
                     "桃園縣", "苗栗縣", "台中市", "台中縣", "彰化縣", "南投縣", 
                     "嘉義市", "嘉義縣", "雲林縣", "台南市", "台南縣", "高雄市",
                     "高雄縣", "澎湖縣", "屏東縣", "台東縣", "花蓮縣", "金門縣",
                     "連江縣");
Canton_Ary = new Array(25);
//台北市
Canton_Ary[0] = new Array("中正區","大同區","中山區","松山區","大安區","萬華區","信義區",
                          "士林區","北投區","內湖區","南港區","文山區(木柵)","文山區(景美)");
//基隆市
Canton_Ary[1] = new Array("仁愛區","信義區","中正區","中山區","安樂區","暖暖區","七堵區");
//台北縣
Canton_Ary[2] = new Array("萬里鄉","金山鄉","板橋市","汐止鎮","深坑鄉","石碇鄉","瑞芳鎮",
                          "平溪鄉","雙溪鄉","貢寮鄉","新店市","坪林鄉","烏來鄉","永和市",
                          "中和市","土城市","三峽鎮","樹林市","鶯歌鎮","三重市","新莊市",
                          "泰山鄉","林口鄉","蘆洲市","五股鄉","八里鄉","淡水鎮","三芝鄉",
                          "石門鄉");
//宜蘭縣
Canton_Ary[3] = new Array("宜蘭市","頭城鎮","礁溪鄉","壯圍鄉","員山鄉","羅東鎮","三星鄉",
                          "大同鄉","五結鄉","冬山鄉","蘇澳鎮","南澳鄉");
//新竹市
Canton_Ary[4] = new Array("");
//新竹縣
Canton_Ary[5] = new Array("竹北市","湖口鄉","新豐鄉","新埔鄉","關西鎮","芎林鄉","寶山鄉",
                          "竹東鎮","五峰鄉","橫山鄉","尖石鄉","北埔鄉","峨嵋鄉");
//桃園縣
Canton_Ary[6] = new Array("中壢市","平鎮","龍潭鄉","楊梅鎮","新屋鄉","觀音鄉","桃園市",
                          "龜山鄉","八德市","大溪鎮","復興鄉","大園鄉","蘆竹鄉");
//苗栗縣
Canton_Ary[7] = new Array("竹南鎮","頭份鎮","三灣鄉","南庄鄉","獅潭鄉","後龍鎮","通霄鎮",
                          "苑裡鎮","苗栗市","造橋鄉","頭屋鄉","公館鄉","大湖鄉","泰安鄉",
                          "鉰鑼鄉","三義鄉","西湖鄉","卓蘭鄉");
//台中市
Canton_Ary[8] = new Array("中區","東區","南區","西區","北區","北屯區","西屯區","南屯區");
//台中縣
Canton_Ary[9] = new Array("太平市","大里市","霧峰鄉","烏日鄉","豐原市","后里鄉","石岡鄉",
                          "東勢鎮","和平鄉","新社鄉","潭子鄉","大雅鄉","神岡鄉","大肚鄉",
                          "沙鹿鎮","龍井鄉","梧棲鎮","清水鎮","大甲鎮","外圃鄉","大安鄉");
//彰化縣
Canton_Ary[10] = new Array("彰化市","芬園鄉","花壇鄉","秀水鄉","鹿港鎮","福興鄉","線西鄉",
                           "和美鎮","伸港鄉","員林鎮","社頭鄉","永靖鄉","埔心鄉","溪湖鎮",
                           "大村鄉","埔鹽鄉","田中鎮","北斗鎮","田尾鄉","埤頭鄉","溪州鄉",
                           "竹塘鄉","二林鎮","大城鄉","芳苑鄉","二水鄉");
//南投縣
Canton_Ary[11] = new Array("南投市","中寮鄉","草屯鎮","國姓鄉","埔里鎮","仁愛鄉","名間鄉",
                           "集集鄉","水里鄉","魚池鄉","信義鄉","竹山鎮","鹿谷鄉");
//嘉義市
Canton_Ary[12] = new Array("");
//嘉義縣
Canton_Ary[13] = new Array("番路鄉","梅山鄉","竹崎鄉","阿里山鄉","中埔鄉","大埔鄉","水上鄉",
                           "鹿草鄉","太保市","朴子市","東石鄉","六腳鄉","新港鄉","民雄鄉",
                           "大林鎮","漢口鄉","義竹鄉","布袋鎮");
//雲林縣
Canton_Ary[14] = new Array("斗南市","大埤鄉","虎尾鎮","土庫鎮","褒忠鄉","東勢鄉","台西鄉",
                           "崙背鄉","麥寮鄉","斗六市","林內鄉","古坑鄉","莿桐鄉","西螺鎮",
                           "二崙鄉","北港鎮","水林鄉","口湖鄉","四湖鄉","元長鄉");
//台南市
Canton_Ary[15] = new Array("中區","東區","南區","西區","北區","安平區","安南區");
//台南縣
Canton_Ary[16] = new Array("永康市","歸仁鄉","新化鎮","左鎮鄉","玉井鄉","楠西鄉","南化鄉",
                           "仁德鄉","關廟鄉","龍崎鄉","官田鄉","麻豆鎮","佳里鎮","西港鄉",
                           "七股鄉","將軍鄉","學甲鎮","北門鄉","新營市","後壁鄉","白河鎮",
                           "東山鄉","六甲鄉","下營鄉","柳營鄉","鹽水鎮","善化鎮","大內鄉",
                           "山上鄉","新市鄉","安定鄉");
//高雄市
Canton_Ary[17] = new Array("新興區","前金區","苓雅區","鹽埕區","鼓山區","旗津區","前鎮區",
                           "三民區","楠梓區","小港區","左營區");
//高雄縣
Canton_Ary[18] = new Array("仁武鄉","大社鄉","岡山鎮","路竹鄉","阿蓮鄉","田寮鄉","燕巢鄉",
                           "橋頭鄉","梓官鄉","彌陀鄉","永安鄉","湖內鄉","鳳山市","大寮鄉",
                           "林園鄉","鳥松鄉","大樹鄉","旗山鎮","美濃鎮","六龜鄉","內門鄉",
                           "杉林鄉","甲仙鄉","桃源鄉","三民鄉","茂林鄉","茄萣鄉");
//澎湖縣
Canton_Ary[19] = new Array("馬公市","西嶼鄉","望安鄉","七美鄉","白沙鄉","湖西鄉");
//屏東縣
Canton_Ary[20] = new Array("屏東市","三地門鄉","霧台鄉","瑪家鄉","九如鄉","里港鄉","高樹鄉",
                           "鹽埔鄉","長治鄉","麟洛鄉","竹田鄉","內埔鄉","萬丹鄉","潮州鎮",
                           "泰武鄉","來義鄉","萬巒鄉","嵌頂鄉","新埤鄉","南州鄉","林邊鄉",
                           "東港鎮","琉球鄉","佳冬鄉","新園鄉","枋寮鄉", "枋山鄉","春日鄉",
                           "獅子鄉","車城鄉","牡丹鄉","恆春鎮","滿州鄉");
//台東縣
Canton_Ary[21] = new Array("台東市","綠島鄉","蘭嶼鄉","延平鄉","卑南鄉","鹿野鄉","關山鎮",
                           "海端鄉","池上鄉","東河鄉","成功鎮","長濱鄉","太麻里鄉","金峰鄉",
                           "大武鄉","達仁鄉");
//花蓮縣
Canton_Ary[22] = new Array("花蓮市","新城鄉","秀林鄉","吉安鄉","壽豐鄉","鳳林鎮","光復鄉",
                           "豐濱鄉","瑞穗鄉","萬榮鄉","玉里鎮","卓溪鄉","富里鄉");
//金門縣
Canton_Ary[23] = new Array("金沙鎮","金湖鎮","金寧鄉","金城鎮","烈嶼鄉","烏坵鄉");
//連江縣
Canton_Ary[24] = new Array("南竿鄉","北竿鄉","莒光鄉","東引");

ZipCode_Ary = new Array(25);
//台北市
ZipCode_Ary[0] = new Array("100","103","104","105","106","108","110","111","112",
                           "114","115","116","117");
//基隆市
ZipCode_Ary[1] = new Array("200","201","202","203","204","205","206");
//台北縣
ZipCode_Ary[2] = new Array("207","208","220","221","222","223","224","226","227",
                           "228","231","232","233","234","235","236","237","238",
                           "239","241","242","243","244","247","248","249","251",
                           "252","253");
//宜蘭縣
ZipCode_Ary[3] = new Array("260","261","262","263","264","265","266","267","268",
                           "269","270","272");
//新竹市
ZipCode_Ary[4] = new Array("300");
//新竹縣
ZipCode_Ary[5] = new Array("302","303","304","305","306","307","308","310","311",
                           "312","313","314","315");
//桃園縣
ZipCode_Ary[6] = new Array("320","324","325","326","327","328","330","333","334",
                           "335","336","337","338");
//苗栗縣
ZipCode_Ary[7] = new Array("350","351","352","353","354","356","357","358","360",
                           "361","362","363","364","365","366","367","368","369");
//台中市
ZipCode_Ary[8] = new Array("400","401","402","403","404","406","407","408");
//台中縣
ZipCode_Ary[9] = new Array("411","412","413","414","420","421","422","423","424",
                           "426","427","428","429","432","433","434","435","436",
                           "437","438","439");
//彰化縣
ZipCode_Ary[10] = new Array("500","502","503","504","505","506","507","508","509",
                            "510","511","512","513","514","515","516","520","521",
                            "522","523","524","525","526","527","528","530");
//南投縣
ZipCode_Ary[11] = new Array("540","541","542","544","545","546","551","552","553",
                            "555","556","557","558");
//嘉義市
ZipCode_Ary[12] = new Array("600");
//嘉義縣
ZipCode_Ary[13] = new Array("602","603","604","605","606","607","608","611","612",
                            "613","614","615","616","621","622","623","624","625");
//雲林縣
ZipCode_Ary[14] = new Array("630","631","632","633","634","635","636","637","638",
                            "640","643","646","647","648","649","651","652","653",
                            "654","655");
//台南市
ZipCode_Ary[15] = new Array("700","701","702","703","704","708","709");
//台南縣
ZipCode_Ary[16] = new Array("710","711","712","713","714","715","716","717","718",
                            "719","720","721","722","723","724","725","726","727",
                            "730","731","732","733","734","735","736","737","741",
                            "742","743","744","745");
//高雄市
ZipCode_Ary[17] = new Array("800","801","802","803","804","805","806","807","811",
                            "812","813");
//高雄縣
ZipCode_Ary[18] = new Array("814","815","820","821","822","823","824","825","826",
                            "827","828","829","830","831","832","833","840","842",
                            "843","844","845","846","847","848","849","851","852");
//澎湖縣
ZipCode_Ary[19] = new Array("880","881","882","883","884","885");
//屏東縣
ZipCode_Ary[20] = new Array("900","901","902","903","904","905","906","907","908",
                            "909","911","912","913","920","921","922","923","924",
                            "925","926","927","928","929","931","932","940","941",
                            "942","943","944","945","946","947");
//台東縣
ZipCode_Ary[21] = new Array("950","951","952","953","954","955","956","957","958",
                            "959","961","962","963","964","965","966");
//花蓮縣
ZipCode_Ary[22] = new Array("970","971","972","973","974","975","976","977","978",
                            "979","981","982","983");
//金門縣
ZipCode_Ary[23] = new Array("890","891","892","893","894","896");
//連江縣
ZipCode_Ary[24] = new Array("209","210","211","212");

function Init_City(CityInput)
{
	CityInput.length = City_Ary.length;
	var inxdnumber = 0;
	for (i = 0; i < City_Ary.length; i++) 
	{
		CityInput.options[i].value = City_Ary[i];
		CityInput.options[i].text = City_Ary[i];
	}
	CityInput.selectedIndex = inxdnumber;
}

function Change_Canton(CityInput, CantonInput, ZipcodeOutput) 
{
	selectedCountyIndex = CityInput.selectedIndex;

	CantonInput.length = Canton_Ary[selectedCountyIndex].length;
	for (i = 0; i < Canton_Ary[selectedCountyIndex].length; i++) 
	{
		CantonInput.options[i].value = Canton_Ary[selectedCountyIndex][i];
		CantonInput.options[i].text = Canton_Ary[selectedCountyIndex][i];
		if (CantonInput.options[i].text == "")
			CantonInput.options[i].selected = true;
	}
	CantonInput.selectedIndex = 0;	

	Output_ZipCode(CityInput, CantonInput, ZipcodeOutput);
}

function Output_ZipCode(CityInput, CantonInput, ZipcodeOutput) 
{
	ZipcodeOutput.value = ZipCode_Ary[CityInput.selectedIndex][CantonInput.selectedIndex];
}

function Initiate(CityInput, CantonInput, ZipcodeOutput)
{ 	
	Init_City(CityInput);
	Change_Canton(CityInput, CantonInput, ZipcodeOutput);
}

function DefaultSelected(CityText,CantonText,CityInput,CantonInput,ZipcodeOutput){
	var CityInputIndex,CantonInputIndex;
	for(i=0;i<City_Ary.length;i++){
		if (City_Ary[i] == CityText ){
			CityInputIndex = i ;
			break;
		}
	}
	CityInput.selectedIndex = CityInputIndex;
	Change_Canton(CityInput, CantonInput, ZipcodeOutput);
	for(j=0;j<Canton_Ary[CityInputIndex].length;j++){
		if (Canton_Ary[CityInputIndex][j] == CantonText ){
			CantonInputIndex = j ;
			break;
		}
	}	
	CantonInput.selectedIndex = CantonInputIndex;
	Output_ZipCode(CityInput, CantonInput, ZipcodeOutput);
}


function addFlashObj( s_src, i_width, i_height, a_params )
{
    var new_params = new Array();
    var new_embed_params = new Array();
    if( typeof a_params != "undefined" )
    {
        for( var i=0; i<a_params.length; i++ )
        {
            var param_bits = a_params[i].split('|');
            var param_name = param_bits[0];
            var param_value = param_bits[1];
            new_params[new_params.length] = '<param name="' +param_name+ '" value="' +param_value+ '" />';
            new_embed_params[new_embed_params.length] = param_name+'="' +param_value+ '"';
        }
    }
    else
    {   // use default values
        new_params[new_params.length] = '<param name="quality" value="high" />';
        new_embed_params[new_embed_params.length] = 'quality="high"';
    }
    var obj_html = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' +i_width+ '" height="' +i_height+ '">'+
    '<param name="movie" value="' +s_src+ '" />'+ 
    new_params.join('') +
    '<embed src="' +s_src+ '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' +i_width+ '" height="' +i_height+ '" ' +new_embed_params.join(' ')+ '></embed>'+
    '</object>';
    document.write( obj_html );
}


/***** Detect Browser Capabilities *****/
var isDom = (document.getElementById) ? true:false;

/***** Generic Functions *****/
/* string manipulation */
function trim( String ) 
{
    if ( String == null )
    {
        return (false);
    }
    return String.replace( /(^\s+)|(\s+$)/g,"" );
}

//Email檢查
function validateEmailv2(email){

    if(email.length <= 0){	  return true;	}

    var splitted = email.match("^(.+)@(.+)$");

    if(splitted == null) return false;

    if(splitted[1] != null )   {

      var regexp_user=/^\"?[\w-_\.]*\"?$/;

      if(splitted[1].match(regexp_user) == null) return false;

    }

    if(splitted[2] != null){

      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;

      if(splitted[2].match(regexp_domain) == null){

	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;

	    if(splitted[2].match(regexp_ip) == null) return false;

      }

      return true;

    }

return false;

}

/* jsCSS : mixed */
/*
swap, add, remove, check
http://www.onlinetools.org/articles/unobtrusivejavascript/cssjsseparation.html
*/
function jsCSS( action, obj, class1, class2 )
{
    switch( action )
    {
        case 'swap': // i.e. toggle
            obj.className = !jsCSS('check',obj,class1) ? 
                obj.className.replace( class2, class1 ) :
                obj.className.replace( class1, class2 );
            break;
        
        case 'add':
            if( !jsCSS('check',obj,class1) )
            { obj.className += obj.className ? ' '+class1 : class1; }
            break;
        
        case 'remove':
            var rep = obj.className.match(' '+class1) ? ' '+class1 : class1;
            obj.className = obj.className.replace( rep, '' );
            break;
        
        case 'check':
            return new RegExp('\\b'+class1+'\\b').test(obj.className);
            break;
    }   // end switch
}   // end jsCSS


/* Multiple Onloads */
/*
usage:
    addLoadEvent( nameOfSomeFunctionToRunOnPageLoad );
    addLoadEvent( function() { // more code to run on page load } );
*/
function addLoadEvent(func) 
{
    var oldonload = window.onload;
    if ( typeof window.onload != 'function' ) 
    {
        window.onload = func;
    } 
    else 
    {
        window.onload = function() 
        {
            oldonload();
            func();
        }
    }
}

/* multiple onsubmits for <form>s */
function addOnSubmitEvent(formObj, func)
{
    var oldonsubmit = formObj.onsubmit;
    if( typeof formObj.onsubmit != 'function' )
    {
        formObj.onsubmit = func;
    }
    else
    {
        form.obj.onsubmit = function()
        {
            oldonsubmit();
            func();
        }
    }
}


/* popup window */
function popWin( url, winame, wintype, override_extras ) 
{
    if( typeof wintype != "string" ) { wintype = ""; }
    switch( wintype )
    {
        case 'teamDetails': extras = 'scrollbars=yes,resizable=yes,width=700,height=550,left=20,top=20,status=yes'; break;
        case 'basic': extras = 'scrollbars=yes,resizable=yes,width=350,height=550,left=20,top=20,status=yes'; break;
        case 'entry_details': extras = 'scrollbars=yes,resizable=yes,width=400,height=550,left=40,top=30,status=yes,dependent=yes'; break;
        case 'gbPop': extras = 'scrollbars=yes,resizable=yes,width=400,height=300,status=yes,dependent=yes'; break;
        case 'override': extras = override_extras; break;
        default: extras = 'scrollbars=yes,width=620,height=420,resizable=yes,status=yes';
    }
    myPop = window.open( url, winame, extras );
    myPop.focus();
}


/* confirm action */
function confirmAction( url, msg )
{
    if( typeof msg != "string" )
    { msg = "Are you sure you want to proceed?"; }
    if( confirm( msg ) )
    { window.location = url; }
}


/***** Pagination *****/
function gotoPage( page_id, form_name, actionName )
{
    var formObj = document.forms[form_name];

    formObj.action = actionName + '&Page=' + page_id;
    formObj.page.value = page_id;
    formObj.submit();
}
function orderPage( field, sort_dir, form_name )
{
    var formObj = document.forms[form_name];
    formObj.sort_dir.value = sort_dir;
    formObj.order_by.value = field;
    formObj.page.value = '1'; // always go back to page 1 upon sort/order
    formObj.submit();
}


/***** pre-select a Select Obj *****/
function preSelectByVal( selObj, val )
{
	var selOptionsCount = selObj.options.length;
	for( var i=0; i<selOptionsCount; i++ )
	{
		if( selObj.options[i].value == val )
		{ 
			selObj.options[i].selected = true;
			break;
		}
	}
}


/***** pre-check a Radio Obj *****/
function preCheckByVal( radioObj, val )
{
    for( var i=0; i<radioObj.length; i++ )
    { 
        if( radioObj[i].value == val ) 
        {
            radioObj[i].checked = true;
            break;
        }
    }
}


/***** Validator class *****/
var Validator = new Object();

/* regular expressions */
Validator.RE = new Object();
Validator.RE.email = /^[_\.0-9A-Za-z-]+@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,6}$/;

/* checkString : boolean */
Validator.checkString = function( str, min_len, max_len, chktype )
{
    if( typeof chktype != "string" ) { chktype = ""; }
    if( typeof str != "string" )
    { alert( "Validator.checkString error: non-string provided" ); return false; }
    // trim the string!
    str = trim( str );
    if( min_len == 0 && str.length == 0 ) { return true; }
    if( str.length < min_len ) { return false; }
    if( str.length > max_len ) { return false; }
    switch( chktype )
    {
        case 'email':
            return Validator.RE.email.test(str);
            break;
        
        case 'safe-ascii': // ascii chars except non-printing ones
            for( var i=0; i<str.length; i++ )
            { if( str.charCodeAt(i)>125 || str.charCodeAt(i)<32 ) return false; }
            break;
        
        case 'non-english':
            for( var i=0; i<str.length; i++ )
            { if( str.charCodeAt(i)<128 ) return false; }
            break;
            
        case 'tw-pid': // Personal ID (Taiwan)
            var c, n, i;
            var t = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
            var s = str;
            c = s.substring(0,1);
            c = t.indexOf(c.toUpperCase());
            if ((s.length!= 10) || (c<0)) return false;
            n = parseInt(c/10)+ c%10*9+ 1;
            for (var i=1; i<9; i++) n = n + parseInt(s.substring(i,i+1))* (9-i);
            n = (10- (n% 10))% 10;
            if (n != parseInt(s.substring(9,10))) return false;
            break;
        
        default: // only check length, which is done above
            break;
    }   // end switch
    return true;
}   // end Validator.checkString()

/* checkNumber : boolean */
Validator.checkNumber = function( num, min, max, chktype )
{
    if( isNaN(num) ) { return false; }
    switch( chktype )
    {
        case 'float':
            return ( num >= min && num <= max ); 
            break;
            
        case 'int':
        default:
            if( !(/^[0-9]+$/.test(num) ) ) { return false; }
            else { return ( num >= min && num <= max ); }
            break;
    }
    return true;
}


/***** Form Validation *****/
/*
grabs values from the "required" hidden field
*/
Validator.genericFormChecker = function( formObj )
{
    if( !isDom ) { return true; }
    // no "required" field specified
    if( !formObj.required ) return true;
    var warnings = "";
    // sample "required" field value="username,名字,3,24|gender,性別|city|email,E-mail,10,128,email"
    var req_fields_arr = formObj.required.value.split("|");
    for( var i=0; i<req_fields_arr.length; i++ )
    {
        var field_params_arr = req_fields_arr[i].split(",");
        var field_name = field_params_arr[0];
        var field_label = (field_params_arr[1]) ? field_params_arr[1] : field_name;
        if( !formObj.elements[field_name] )
        { alert("Validator.genericFormChecker Error:\nNot a form element: "+field_name); }
        var ele = formObj.elements[field_name];
        // alert( field_name + " is of type: " + ele.type +", with "+ele.length+" sub elements." );
        // do things according to field type
        switch( ele.type )
        {
            case 'text':
            case 'textarea':
                var min_len = (field_params_arr[2]) ? field_params_arr[2] : 0;
                // max length is optional and will be derviced from "required" param, maxlength attribute or hard coded (216)
                var max_len = (field_params_arr[3]) ? field_params_arr[3] : (ele.maxLength) ? ele.maxLength : 216;
                var chktype = (field_params_arr[4]) ? field_params_arr[4] : ""; // eg. "email"
                if( chktype == "int" || chktype == "float" )
                {
                    if( !Validator.checkNumber( ele.value, min_len, max_len, chktype ) )
                    { warnings += "\n- " + field_label; }
                }
                else if( !Validator.checkString( ele.value, min_len, max_len, chktype ) )
                { warnings += "\n- " + field_label; }
                break;
            
            case 'select-one':
                // just check if selected value is empty or not
                // due to IE's inability to automatically fill-in "text" as the value when
                // none has been specified
                if( ele.options[ele.selectedIndex].value == "" && ele.selectedIndex == 0 )
                { warnings += "\n- " + field_label; }
                break;
            
            case 'select-multiple':
                // not sure what to check for just yet
                break;
            
            case 'checkbox':
                // if specified, must be checked
                if( !ele.checked )
                { warnings += "\n- " + field_label }
                break;
            
            case 'file':
                if( ele.value == "" )
                { warnings += "\n- " + field_label; }
                break;
            
            case 'password': // only check for length
                var min_len = (field_params_arr[2]) ? field_params_arr[2] : 0;
                // max length is optional and will be derviced from "required" param, maxlength attribute or hard coded (216)
                var max_len = (field_params_arr[3]) ? field_params_arr[3] : (ele.maxLength) ? ele.maxLength : 216;
                var chktype = (field_params_arr[4]) ? field_params_arr[4] : ""; // eg. "email"
                if( !Validator.checkString( ele.value, min_len, max_len, chktype ) )
                { warnings += "\n- " + field_label; }
                break;
            
            default: // most likely radio group
                // determine whether this is a group of radio buttons
                if( typeof ele.length != "undefined" && ele[0].type == "radio" )
                {   // there's more than one
                    var radio_checked = 0;
                    for( var j=0; j<ele.length; j++ )
                    { if( ele[j].checked ) { radio_checked++; } }
                    if( radio_checked < 1 )
                    { warnings += "\n- " + field_label; }
                }
        }   // end switch
    
    }   // end for
    if( warnings.length > 1 )
    {
        alert( "Please make sure the following fields are correct:\n" + warnings );
        return false;
    }
    return confirm( "Are you sure you wish to proceed?" );
    
}

/*
attach form checkers
according to the "name" attribute specified
*/
Validator.attachFormCheckers = function()
{
    if( !isDom ) return;
    var formObjs = document.getElementsByTagName( "form" );
    for( var i=0; i<formObjs.length; i++ )
    {
        switch( formObjs[i].name )
        {
            /*
            case 'dashboardIssueListForm':
                addOnSubmitEvent( formObjs[i], function(){this.page.value=''; return Dashboard.listIssues(this)} );
                break;
            */
            default: // attach generic form checker
                if( formObjs[i].elements['required'] )
                { addOnSubmitEvent( formObjs[i], function(){return Validator.genericFormChecker(this)} ); }
                break;
        }
    }
}


/***** checkTeamReg *****/
// public void (submits form on success)
function checkTeamReg()
{
    var formObj = document.forms['teamRegForm'];
    var warnings = "";
    // 團隊資料
    if( formObj.team_name.value.length < 2 ) { warnings += "\n- 隊名"; }
    if( formObj.msg4supporters.value.length < 10 || formObj.msg4supporters.value.length > 50 ) 
    { warnings += "\n- 給應援團的留言 (限 10-50 字,現有"+formObj.msg4supporters.value.length+"字)"; }
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return; }
    // 個人資料
    if( formObj.a_name.value.length < 2 ) { warnings += "\n- A: 真實姓名"; }
    if( formObj.a_nickname.value.length < 2 ) { warnings += "\n- A: 暱稱"; }
    if( !Validator.checkString( formObj.a_pid.value, 10, 10, 'tw-pid' ) )
    { warnings += "\n- A: 身分證字號"; }
    if( !Validator.checkString( formObj.a_email.value, 10, 128, 'email' ) )
    { warnings += "\n- A: E-Mail"; }
    if( formObj.b_name.value.length < 2 ) { warnings += "\n- B: 真實姓名"; }
    if( formObj.b_nickname.value.length < 2 ) { warnings += "\n- B: 暱稱"; }
    if( !Validator.checkString( formObj.b_pid.value, 10, 10, 'tw-pid' ) )
    { warnings += "\n- B: 身分證字號"; }
    if( !Validator.checkString( formObj.b_email.value, 10, 128, 'email' ) )
    { warnings += "\n- B: E-Mail"; }
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return; }
    
    // 圖案上傳
    if( formObj.a_pic_1.value.length == 0 || formObj.a_pic_2.value.length == 0 || formObj.b_pic_1.value.length == 0 || formObj.b_pic_2.value.length == 0 )
    { alert("要上傳四張照片哦~!"); return; }
    if( !(/(\.jpg|\.JPG)$/.test( formObj.a_pic_1.value )) ) { alert("參賽者A的第一張照片不是JPEG檔案哦~!"); return }
    if( !(/(\.jpg|\.JPG)$/.test( formObj.a_pic_2.value )) ) { alert("參賽者A的第二張照片不是JPEG檔案哦~!"); return }
    if( !(/(\.jpg|\.JPG)$/.test( formObj.b_pic_1.value )) ) { alert("參賽者B的第一張照片不是JPEG檔案哦~!"); return }
    if( !(/(\.jpg|\.JPG)$/.test( formObj.b_pic_2.value )) ) { alert("參賽者B的第二張照片不是JPEG檔案哦~!"); return }
    
    if( confirm("確定要送出資料?\n(請注意:上傳圖片需要一段時間，請勿重複送出或中止傳輸，謝謝)") ) formObj.submit();
}   // end checkTeamReg


/***** checkSupporterReg *****/
// public void (submits form on success)
function checkSupporterReg()
{
    var formObj = document.forms['supporterRegForm'];
    var warnings = "";
    if( formObj.name.value.length < 2 ) { warnings += "\n- 真實姓名"; }
    if( !Validator.checkNumber(formObj.age.value,10,99,'int') ) { warnings += "\n- 年齡 (限半形數字)"; }
    if( formObj.nickname.value.length < 2 ) { warnings += "\n- 暱稱"; }
    if( !Validator.checkString(formObj.pid.value,10,10,'tw-pid') ) { warnings += "\n- 身分證字號"; }
    if( !Validator.checkString(formObj.email.value,10,128,'email') ) { warnings += "\n- E-Mail"; }
    if( formObj.tel.value.length < 6 ) { warnings += "\n- 聯絡電話"; }
    if( formObj.address.value.length < 5 ) { warnings += "\n- 聯絡地址"; }
    if( formObj.msg4team.value.length > 0 && ( formObj.msg4team.value.length < 10 || formObj.msg4team.value.length > 50 )) 
    { warnings += "\n- 加油留言 (若要填寫,限 10-50 字,現有"+formObj.msg4team.value.length+"字)"; }
    
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return; }
    
    if( confirm("確定要送出資料?") ) formObj.submit();
}   // end checkSupporterReg


/***** checkSurvey *****/
// public void (submits form on success)
function checkSurvey()
{
    var formObj = document.forms['surveyForm'];
    var warnings = "";
    for( var i=1; i<20; i++ )
    {
        if( i==13 ) continue;
        var answerOptions = formObj.elements['Q'+i];
        var oneChecked = false;
        for( var j=0; j<answerOptions.length; j++ )
        {
            if( answerOptions[j].checked )
            { oneChecked = true; }
        }
        if( oneChecked == false )
        { warnings+= (warnings.length==0?'':', ') + i; }
    }
    if( formObj.Q13.value.length > 100 )
    { alert( "第 13 題最多只能填 100 個字哦! (現在有 " +formObj.Q13.value.length+ " 個字)" ); return; }
    
    if( warnings.length > 0 )
    { alert("請填寫第 "+warnings+" 題"); return; }
    
    if( confirm("確定要送出資料?") ) formObj.submit();
}   // checkSurvey


/***** checkForward *****/
// public void (submits form on success)
function checkForward()
{
    var formObj = document.forms['forwardForm'];
    var warnings = "";
    
    var valid_friends = 0;
    for( var i=1; i<=5; i++ )
    {
        var fEmailObj = formObj.elements['friend_email_'+i];
        
        if( !Validator.checkString( fEmailObj.value, 10, 128, 'email' ) )
        { warnings+= "\n- 第"+i+"個欄位的 E-Mail 格式錯了哦~!"; }
        else { valid_friends++; }
    }
    
    if( valid_friends == 0 )
    { alert( "至少要填寫一個 E-Mail 哦~" ); return; }
    
    //if( warnings.length > 0 )
    //{ alert( "請正確填寫下列欄位:\n"+warnings ); return; }
        
    if( confirm("確定要送出資料?") ) formObj.submit();
}   // end checkForward


/***** XML HTTP Requests (AJAX) *****/
var XHR = new Object();
XHR.constants = new Object();
XHR.constants.target = "xmlhttprequest.php";
XHR.requester = null;
/* 
public boolean
initialises XML-HTTP-Request
*/
XHR.init = function()
{
    try
    {
        XHR.requester = new XMLHttpRequest();
    }
    catch (error)
    {
        try
        {
            XHR.requester = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (error)
        {
            return false;
        }
    }
    return true;
}

/*
public void
stop running connections
*/
XHR.halt = function()
{
    if( XHR.requester != null &&
        XHR.requester.readState != 0 &&
        XHR.requester.readyState != 4 )
    { XHR.requester.abort(); }
}

/***** admin:toggleSendtest *****/
XHR.toggleConsiderTeam = function( checkboxObj )
{
    XHR.halt();
    if( !XHR.init() )
    { alert("無法啟用 XML HTTP Request"); return; }
    var mode = checkboxObj.checked ? 'consider_team':'ignore_team';
    XHR.requester.open( "GET", "admin.php?mode="+mode+"&team_id="+checkboxObj.value );
    XHR.requester.send( null );
    XHR.requester.onreadystatechange = function()
    {
        if( XHR.requester.readyState == 4 )
        {
            //alert( "XHR.requester.status: " + XHR.requester.status);
            if( XHR.requester.status == 200 )
            {   // success
                var trObj =  document.getElementById('tr_team_'+checkboxObj.value );
                var trObj2 = document.getElementById('tr_team_'+checkboxObj.value+'b' );
                if( trObj )
                { 
                    var css_action = (mode=='consider_team') ? 'add':'remove';
                    jsCSS( css_action, trObj, 'consider-team' );
                    jsCSS( css_action, trObj2, 'consider-team' );
                    alert( XHR.requester.responseText );
                }
                else
                { alert( "怪怪的哦... 找不到顯示結果的欄位(sendtest_"+checkboxObj.value+")!" ); }
                return;
            }
            else
            {   // failed
                alert( "錯誤: 無法執行!" );
                return;
            }
        }
    }
}


/***** Codes to run on body onload *****/
addLoadEvent( Validator.attachFormCheckers );

//身分證檢查
function validatePID( s ){
    
	var c, n, i;
    var t = "ABCDEFGHJKLMNPQRSTUVXYWZIO";

    c = s.substring(0,1);
    c = t.indexOf(c.toUpperCase());
    if ((s.length!= 10) || (c<0)) 	return false;

    n = parseInt(c/10)+ c%10*9+ 1;
    for (var i=1; i<9; i++) n = n + parseInt(s.substring(i,i+1))* (9-i);
    n = (10- (n% 10))% 10;
    if (n != parseInt(s.substring(9,10))) 	return false;

    return true;
}

/* 設定開新視窗, 顯示方式為置中 */
function openwin( setURL, setW, setH, resize, name ){

   var w = setW; 
   var h = setH; 
   var left = (screen.width - w) / 2; 
   var top = (screen.height - h) / 2; 
   var props = 'height='+h+',width='+w+',top='+top+',left='+left+',resizable='+resize+',scrollbars=yes'; 

   win = window.open( setURL, name, props);; 
   win.window.focus(); 

}

function previewURL(){

	setURL = document.getElementById('signup_myblogURL').value;
	openwin( setURL, '800', '600', 'NO' );
	
}

//CheckBox 一次全選的檢查
function chkBox_AllSelect(){

	var formObj = document.forms['box'];

	for(var i=0; i < formObj.elements.length; i++ )
	{
		if( formObj.elements[i].type == 'checkbox' && formObj.elements[i].name.indexOf("cb") == 0 )
			formObj.elements[i].checked = true;
			
	}

}

//CheckBox 一次全不選的檢查
function chkBox_AllCancel(){

	var formObj = document.forms['box'];

	for(var i=0; i < formObj.elements.length; i++ )
	{
		if( formObj.elements[i].type == 'checkbox' && formObj.elements[i].name.indexOf("cb") == 0 )
			formObj.elements[i].checked = false;
	}

}

/* 單一刪除共用函式 */
function chkDEL(PHPFileName, Mode, Catalog, DelID, Page, AID, STATUS, BID, KID ){
	
	SET_MSG = '確定要將所選取的「' + Catalog + '」之項目刪除嗎？';
	
    if( confirm( SET_MSG ) ) 
    { 
		location.href = './mod/' + PHPFileName + '?mode=' + Mode + '&DelID=' + DelID + '&Page=' + Page + '&aID=' + AID;
		//return true;
	} else {
		return false; 
	}
    
}

//處理 CheckBox 全選與個別多選刪除判斷 (主題用)
function chkBox_AllTopiceventsSet( Mode, ID ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;
	var setTopic = 0;	
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;	

	if( ID != '' ){
		document.getElementById('DIV_MODE1').innerHTML = '<input type="hidden" name="delaID" id="mode" value="' + ID + '">';	
	}
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
			setTopic = setTopic+1;
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ 
		errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行首頁文章自訂動作！\n'; 
	}else if( setTopic > 2 ){ errStr += '\n- 活動特區勾選超過兩個項目，系統無法執行首頁活動特區自訂動作！\n'; 
	}else{}
			
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目入出首頁活動特區顯示嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選刪除判斷 (主題用)
function chkBox_AllTopicmainSet( Mode, ID ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;
	var setTopic = 0;	
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;	

	if( ID != '' ){
		document.getElementById('DIV_MODE1').innerHTML = '<input type="hidden" name="delaID" id="mode" value="' + ID + '">';	
	}
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
			setTopic = setTopic+1;
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ 
		errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行首頁文章自訂動作！\n'; 
	}else if( setTopic > 1 ){ errStr += '\n- 精選主打勾選超過一個項目，系統無法執行首頁精選主打自訂動作！\n'; 
	}else{}
			
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目入出首頁精選主打顯示嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選刪除判斷 (主題用)
function chkBox_AllTopicshare( Mode, ID ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;
	var setTopic = 0;	
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;	

	if( ID != '' ){
		document.getElementById('DIV_MODE1').innerHTML = '<input type="hidden" name="delaID" id="mode" value="' + ID + '">';	
	}
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
			setTopic = setTopic+1;
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ 
		errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行首頁文章自訂動作！\n'; 
	}else if( setTopic > 4 ){ errStr += '\n- 分享文章勾選超過四個項目，系統無法執行首頁分享文章自訂動作！\n'; 
	}else{}
			
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目入出首頁分享文章顯示嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選刪除判斷 (主題用)
function chkBox_AllTopic( Mode, ID ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;
	var setTopic = 0;	
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;	

	if( ID != '' ){
		document.getElementById('DIV_MODE1').innerHTML = '<input type="hidden" name="delaID" id="mode" value="' + ID + '">';	
	}
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
			setTopic = setTopic+1;
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ 
		errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行首頁文章自訂動作！\n'; 
	}else if( setTopic > 8 ){ errStr += '\n- 文章勾選超過 8 個項目，系統無法執行首頁文章自訂動作！\n'; 
	}else{}
			
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目入出首頁文章顯示嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選刪除判斷
function chkBox_AllDel( Mode, ID ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;	

	if( ID != '' ){
		document.getElementById('DIV_MODE1').innerHTML = '<input type="hidden" name="delaID" id="mode" value="' + ID + '">';	
	}
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行刪除動作！\n'; }
		
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目全部刪除嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選優惠行程使用判斷
function chkBox_Ticketsuse( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	

	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行優惠行程動作！\n'; }
		
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目設定為優惠行程嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選優惠行程不使用判斷
function chkBox_Ticketsno( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	

	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行一般行程動作！\n'; }
		
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目設定為一般行程嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選精選行程使用判斷
function chkBox_TripFeatureduse( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	

	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行精選行程動作！\n'; }
		
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目設定為精選行程嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選精選行程不使用判斷
function chkBox_TripFeaturedno( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	

	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行一般行程動作！\n'; }
		
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目設定為一般行程嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選顯示判斷
function chkBox_AllShow( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	

	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行顯示動作！\n'; }
		
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目全部顯示嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選隱藏判斷
function chkBox_AllHidden( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行隱藏動作！\n'; }
		
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目全部隱藏嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

//處理 CheckBox 全選與個別多選隱藏判斷
function chkBox_Sort( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行隨選排序動作！\n'; }
		
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目全部隨選排序嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

/* 檢驗登出 */
function chk_Logout(){

    if( confirm("您確定登出嗎？" ) ) 
    { 
			
		location.href = './mod/mod_Handle.php?mode=Logout'; 
		return true;
		
	} else { 
		
		return false; 
		
	}
    
}

/* Logout check */
function chk_ADLogout( ){

    if( confirm("確定要登出管理系統嗎？" ) ) 
    { 
			
		top.location.href = './mod/mod_adminHandle.php?mode=Logout'; 
		return true;
		
	} else { 
		
		return false; 
		
	}
    
}

// Check 會員帳號
function Validate_Account( frmName ) {
	var formobj = document.forms[frmName];
		
	if( trim( formobj.account.value ) == '' ){
		return false;
	}else{
	  
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/Chk_Account.php',
						{ method: 'get',
						  parameters: 'uid=' + formobj.account.value,
						  evalScripts: true
						});
	
	}
	
}

//檔案上傳內容檢驗
function check_FilesDetail(){
    var formobj = document.forms['detail'];
    var warnings = "";
	
	if( trim( formobj.files.value ) == '' && !formobj.files.disabled )
	{ warnings+= "\n- 請選擇上傳的檔案？"; }
  
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}


// Check 會員身分證號碼
function Validate_Id( frmName ) {
	var formobj = document.forms[frmName];

	if( trim( formobj.Pid.value ) == '' ){
		return false;
	}else{
	
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/Chk_Id.php',
						{ method: 'get',
						  parameters: 'uid=' + formobj.Pid.value,
						  evalScripts: true
						});
					
	}

}

// Check 會員原密碼
function Validate_OLDPassword( frmName ) {
	var formobj = document.forms[frmName];
		
	var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/Chk_Password.php',
					{ method: 'get',
					  parameters: 'uid=' + $('oldpasswd').value,
					  evalScripts: true
					});

}

// Check 會員新密碼確認
function Validate_NEWPasswordConfirm( frmName ) {
	var formobj = document.forms[frmName];

	var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/Chk_NewPassword.php',
					{ method: 'get',
					  parameters: 'npw=' + $('newpasswd').value + '&npwconfirm=' + $('passwdConfirm').value,
					  evalScripts: true
					});

}

// Check 驗證碼
function Validate_Security( frmName ) {
	var formobj = document.forms[frmName];
		
	var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/Chk_Seccode.php',
					{ method: 'get',
					  parameters: 'secid=' + $('validation').value,
					  evalScripts: true
					});

}

// Check 驗證碼
function Validate_Security2( frmName ) {
	var formobj = document.forms[frmName];
		
	var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/Chk_Seccode.php',
					{ method: 'get',
					  parameters: 'secid=' + $('validation').value,
					  evalScripts: true
					});

}

//會員登入資料檢驗
function check_Login(){
    var formobj = document.forms['login'];
    var warnings = "";
	
	if( trim( formobj.account.value ) == '' )
	{ warnings+= "\n- 您的帳號必須輸入？"; }

	if( trim( formobj.passwd.value ) == '' )
	{ warnings+= "\n- 您的密碼必須輸入？"; }
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定無誤，要登入嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//會員密碼修改資料檢驗
function check_PWD(){
    var formobj = document.forms['reg'];
    var warnings = "";
	
	if( trim( formobj.oldpasswd.value ) == '' )
	{ warnings+= "\n- 原密碼必須輸入？"; }

	if( trim( formobj.newpasswd.value ) == '' )
	{ warnings+= "\n- 新密碼必須輸入？"; }
	
	if( !formobj.newpasswd.value.match(/^[a-zA-Z0-9]{6,15}$/) )
	{ warnings+= "\n- 新密碼必須輸入英文或數字6-15字以內！"; }
		
	if( trim( formobj.passwdConfirm.value ) == '' )
	{ warnings+= "\n- 確認密碼必須輸入？"; }
 
    if( trim( formobj.validation.value ) == '' )
    { warnings+= "\n- 驗證碼必須輸入？"; }
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//線上意見回函資料檢驗
function check_Enquiry(){
    var formobj = document.forms['reg'];
    var warnings = "";
	
	if( trim( formobj.yname.value ) == '' )
	{ warnings+= "\n- 您的真實姓名必須輸入？"; }

	if( !Validator.checkString( formobj.yemail.value, 10, 100, 'email' ) )
	{ warnings+= "\n- Email格式錯誤？";}
	
	if( trim( formobj.ytitle.value ) == '' )
	{ warnings+= "\n- 主題必須輸入？"; }
	
	if( trim( formobj.ycontent.value ) == '' )
	{ warnings+= "\n- 意見及查詢必須輸入？"; }
			
    if( trim( formobj.validation.value ) == '' )
    { warnings+= "\n- 驗證碼必須輸入？"; }
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//我有興趣商品回函資料檢驗
function check_Productbuy(){
    var formobj = document.forms['reg'];
    var warnings = "";
	
	if( trim( formobj.yname.value ) == '' )
	{ warnings+= "\n- 您的真實姓名必須輸入？"; }

	if( !Validator.checkString( formobj.yemail.value, 10, 100, 'email' ) )
	{ warnings+= "\n- Email格式錯誤？";}
		
	if( trim( formobj.ycontent.value ) == '' )
	{ warnings+= "\n- 商品詢問必須輸入？"; }
			
    if( trim( formobj.validation.value ) == '' )
    { warnings+= "\n- 驗證碼必須輸入？"; }
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//查詢忘了密碼資料檢驗
function check_Forget(){
    var formobj = document.forms['reg'];
    var warnings = "";

    if( trim( formobj.ybirth.value ) == '' )
    { warnings+= "\n- 生日必須輸入？"; }
    
	if( !Validator.checkString( formobj.yemail.value, 10, 100, 'email' ) )
	{ warnings+= "\n- Email格式錯誤？";}
	
    if( trim( formobj.validation.value ) == '' )
    { warnings+= "\n- 驗證碼必須輸入？"; }
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//訂閱電子報資料檢驗
function check_Mailer(){
    var formobj = document.forms['reg'];
    var warnings = "";
	
	if( !Validator.checkString( formobj.yemail.value, 10, 100, 'email' ) )
	{ warnings+= "\n- Email格式錯誤？";}
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//會員子選單顯示判斷
function subMenuShow(ID){

		if( document.getElementById('submenu'+ID).style.display == "none"){
	
			document.getElementById('submenu'+ID).style.display = "block";
			document.getElementById('submenuSty'+ID).style.backgroundColor='#ff6633';
			
		}else{
		
			document.getElementById('submenu'+ID).style.display = "none";
			document.getElementById('submenuSty'+ID).style.backgroundColor='';			
			
		}
}
function subMenuClear1(){
		
	document.getElementById('submenu1').style.display = "none";
	document.getElementById('submenuSty1').style.backgroundColor='';		
	
}
function subMenuClear2(){
		
	document.getElementById('submenu2').style.display = "none";
	document.getElementById('submenuSty2').style.backgroundColor='';		
	
}
function subMenuClear3(){
		
	document.getElementById('submenu3').style.display = "none";
	document.getElementById('submenuSty3').style.backgroundColor='';	

}

//園區報名資料檢驗
function check_Signup(){
    var formobj = document.forms['reg'];
    var warnings = "";
	
	if( trim( formobj.account.value ) == '' )
	{ warnings+= "\n- 帳號必須輸入？"; }

	if( !formobj.account.value.match(/^[a-zA-Z0-9]{6,15}$/) )
	{ warnings+= "\n- 帳號必須為英文或數字6~15字內！"; }
	
	if( trim( formobj.passwd.value ) == '' )
	{ warnings+= "\n- 密碼必須輸入？"; }
	
	if( !formobj.passwd.value.match(/^[a-zA-Z0-9]{6,15}$/) )
	{ warnings+= "\n- 密碼必須為英文或數字6-15字以內！"; }
		
	if( trim( formobj.passwdConfirm.value ) != trim( formobj.passwd.value ) )
	{ warnings+= "\n- 確認密碼必須與密碼欄輸入相同？"; }
				
	if( trim( formobj.name.value ) == '' )
	{ warnings+= "\n- 姓名必須輸入？"; }
	
	if( !Validator.checkString( formobj.email.value, 10, 100, 'email' ) )
	{ warnings+= "\n- Email格式錯誤？";}
            
    if( trim( formobj.signup_address.value ) == '' )
    { warnings+= "\n- 地址必須輸入？"; }
 
    if( trim( formobj.validation.value ) == '' )
    { warnings+= "\n- 驗證碼必須輸入？"; }
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//園區報名資料檢驗 (會員基本資料修改)
function check_Signupedit(){
    var formobj = document.forms['reg'];
    var warnings = "";
				
	if( trim( formobj.name.value ) == '' )
	{ warnings+= "\n- 姓名必須輸入？"; }
	
	if( !Validator.checkString( formobj.email.value, 10, 100, 'email' ) )
	{ warnings+= "\n- Email格式錯誤？";}
            
    if( trim( formobj.signup_address.value ) == '' )
    { warnings+= "\n- 地址必須輸入？"; }
 
    if( trim( formobj.validation.value ) == '' )
    { warnings+= "\n- 驗證碼必須輸入？"; }
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//園區報名資料檢驗 (後端會員基本資料修改)
function check_AdminSignupedit(){
    var formobj = document.forms['reg'];
    var warnings = "";
				
	if( trim( formobj.name1.value ) == '' && trim( formobj.name2.value ) == '' )
	{ warnings+= "\n- 姓名必須輸入？"; }
	
	if( !Validator.checkString( formobj.email.value, 10, 100, 'email' ) )
	{ warnings+= "\n- Email格式錯誤？";}
            
    if( trim( formobj.address.value ) == '' )
    { warnings+= "\n- 地址必須輸入？"; }
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//園區景點內容檢驗
function check_TripDetail(){
    var formobj = document.forms['detail'];
    var warnings = "";
	
    if( trim( formobj.Tcontent1.value ) == '' )
    { warnings+= "\n- 內容說明必須輸入？"; }
   /* 
    if( formobj.content.value.length > 600 )
    { warnings+= "\n- 您輸入的內容字數已經超過限制的 600 個字元？"; }
    */
	if( trim( formobj.Imgfile.value ) == '' && !formobj.Imgfile.disabled )
	{ warnings+= "\n- 圖片尚未上傳？"; }
	    
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

//園區景點內容檢驗
function check_AttractionsDetail(){
    var formobj = document.forms['detail'];
    var warnings = "";
	
    if( trim( formobj.content.value ) == '' )
    { warnings+= "\n- 內容說明必須輸入？"; }
   /* 
    if( formobj.content.value.length > 600 )
    { warnings+= "\n- 您輸入的內容字數已經超過限制的 600 個字元？"; }
    */
	if( trim( formobj.Imgfile.value ) == '' && !formobj.Imgfile.disabled )
	{ warnings+= "\n- 圖片尚未上傳？"; }
	    
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}
/*
//顯示輸入字數
function chk_Textnums(){
 
	if( document.detail.content.value.length > 600 ){

		document.getElementById('ShowNums').innerHTML = '超過限制字數！';
			
	}else{
	
		document.getElementById('ShowNums').innerHTML = document.detail.content.value.length + " 個字元";
		
	}
    
}

function chk_Textnums1(){
 
	if( document.detail.Tcontent1.value.length > 600 ){

		document.getElementById('ShowNums1').innerHTML = '超過限制字數！';
			
	}else{
	
		document.getElementById('ShowNums1').innerHTML = document.detail.Tcontent1.value.length + " 個字元";
		
	}
    
}
function chk_Textnums2(){
 
	if( document.detail.Tcontent2.value.length > 600 ){

		document.getElementById('ShowNums2').innerHTML = '超過限制字數！';
			
	}else{
	
		document.getElementById('ShowNums2').innerHTML = document.detail.Tcontent2.value.length + " 個字元";
		
	}
    
}
function chk_Textnums3(){
 
	if( document.detail.Tcontent3.value.length > 600 ){

		document.getElementById('ShowNums3').innerHTML = '超過限制字數！';
			
	}else{
	
		document.getElementById('ShowNums3').innerHTML = document.detail.Tcontent3.value.length + " 個字元";
		
	}
    
}
*/
//文章內容 - 文字大小變換
function Content_ChangeFnt( VIEW, ROWS ){
	
	for(var i=1; i <= ROWS; i++ )
	{
	
		if( VIEW == 'LARG' ){ document.getElementById('PC'+i).className = 'PRINT_CONTENT_LARG'; }
			
		if( VIEW == 'NORMAL' ){ document.getElementById('PC'+i).className = 'PRINT_CONTENT_NORMAL'; }
			
		if( VIEW == 'SMALL' ){ document.getElementById('PC'+i).className = 'PRINT_CONTENT'; }
						
	}

}	

function check_imgtype( pn, imgValue ){

    var formobj = document.forms['detail'];
    var warnings = "";
        
    if( imgValue == 1 ){
    
		if( pn == 'noimg' ){
	
			formobj.isUse.disabled = true;			
			formobj.Imgfile.disabled = true;	
					
		}else{
		
			formobj.isUse.disabled = false;			
			formobj.Imgfile.disabled = true;	
					
		}		
		    
    }else if( imgValue == 0 ){
    
		if( pn == 'noimg' ){
			
			formobj.Imgfile.disabled = true;	
					
		}else{
		
			formobj.Imgfile.disabled = false;
					
		}
		  
    }else if( imgValue == 3 ){
    
		if( pn == 'noimg' ){
			
			formobj.Imgfile.disabled = true;	
					
		}else{
		
			formobj.Imgfile.disabled = true;
					
		}
				   
    }else if( formobj.isUse.checked ){
	
		formobj.Imgfile.disabled = false;
		
	}else{
	
		formobj.Imgfile.disabled = true;

	}

}

//Ajax: 版面對應資料
function Ajax_Categ( MODULE, MODE, BID, THISVALUE, PID ) {
	
	if( MODULE == 'M1' ){	
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Select.php',
						{ method: 'get',
						  parameters: 'mode=' + MODE + '&bID=' + BID + '&sID=' + THISVALUE + '&pID=' + PID,
						  evalScripts: true
						});	
	}					
	
	if( MODULE == 'M2' ){	
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Select.php',
						{ method: 'get',
						  parameters: 'mode=' + MODE + '&bID=' + BID,
						  evalScripts: true
						});		
	}	
	
}

//Ajax: RT DATA
function Ajax_RTD_SAVE( MODULE, MODE, ID, B_NAME, L_RANK, L_NAME, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14 ){
	
	//NEWS			
	if( MODULE == 'NEWS' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
	
	//COFFEETIME			
	if( MODULE == 'COFFEETIME' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
		
	if( MODULE == 'EVENT' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
		
	
	if( MODULE == 'NOTICE' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
			
	//MAILEREMAIL			
	if( MODULE == 'MAILEREMAIL' ){
	
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}	
	
	//MAILER			
	if( MODULE == 'MAILER' ){
	
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}	
	
	if( MODULE == 'JOB' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
		
		
	//PRODUCTS			
	if( MODULE == 'PRODUCTS' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
	
	//PRODUCTS			
	if( MODULE == 'PRODUCTS2' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}	
	
	//PRODUCTS			
	if( MODULE == 'FAQ' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
		
	//WALLPAPER			
	if( MODULE == 'WALLPAPER' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}	

	//BANNERCLASS			
	if( MODULE == 'BANNERCLASS' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
		
	//BANNER			
	if( MODULE == 'BANNER' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}	
		
	//STOREMAP			
	if( MODULE == 'STOREMAP' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
				
	//SIGNUP資料			
	if( MODULE == 'SIGNUP' ){
	
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Bid.php',
						{ method: 'get',
						  parameters: 'module=' + MODULE + '&mode=' + MODE + '&l_id=' + ID + '&d1=' + encodeURIComponent( D1 ) + '&d2=' + encodeURIComponent( D2 ) + '&d3=' + encodeURIComponent( D3 ) + '&d4=' + encodeURIComponent( D4 ) + '&d5=' + encodeURIComponent( D5 ) + '&d6=' + encodeURIComponent( D6 ) + '&d7=' + encodeURIComponent( D7 ) + '&d8=' + encodeURIComponent( D8 ) + '&d9=' + encodeURIComponent( D9 ) + '&d10=' + encodeURIComponent( D10 ),
						  evalScripts: true
						});
													
	}
										
}

//Ajax:商品分類即時增修資料存入
function Ajax_RTD( MODE, SB_NO, NAME, STATUS, TYPE ){
	
		//商品分類_新增版面
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Site.php',
						{ method: 'get',
						  parameters: 'mode=' + MODE + '&bname=' + encodeURIComponent( NAME ) + '&bstatus=' + STATUS + '&bno=' + SB_NO  + '&type=' + TYPE,
						  evalScripts: true
						});
	
}

function chpag_c( pID, sbno, sbtno, sbrno, page, c ) {

	location.href="./admin.php?mode=EditProducts&pID=" + pID + "&sbno=" + sbno + "&sbtno=" + sbtno + "&sbtno1=" + sbtno + "&Page=" + page + "&c=" + c;	

}

//Ajax:商品圖片刪除
function Ajax_DELPIC( MODE, PID, idname, idvalue ){

	if( document.getElementById(''+idname+'').checked ){
		if( confirm("您確定要刪除第 "+idvalue+" 張商品圖片嗎？") ) 
		{ 
		
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Delpic.php',
						{ method: 'get',
						  parameters: 'mode=' + MODE + '&pID=' + PID,
						  evalScripts: true
						});		
		return true;
		
		} else { 
		
		document.getElementById(''+idname+'').checked = false;
		return false; 
		
		}
	}
}

//Ajax:桌布圖片刪除
function Ajax_DELWPIC( MODE, PID, idname, idvalue ){

	if( document.getElementById(''+idname+'').checked ){
		if( confirm("您確定要刪除此的圖片嗎？") ) 
		{ 
		
		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Delwpic.php',
						{ method: 'get',
						  parameters: 'mode=' + MODE + '&wID=' + PID,
						  evalScripts: true
						});		
		return true;
		
		} else { 
		
		document.getElementById(''+idname+'').checked = false;
		return false; 
		
		}
	}
}

//Ajax: 商品分類對應資料
function Ajax_Class( MODE, BID, dblID ) {
	
	if( BID != '' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Class.php',
						{ method: 'get',
						  parameters: 'mode=' + MODE + '&bID=' + BID + '&dblID=' + dblID,
						  evalScripts: true
						});	
						
	}else{ return false; }

}

//Ajax: 商品分類對應資料
function Ajax_Class2( MODE, BID, dblID ) {
	
	if( BID != '' ){

		var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Class2.php',
						{ method: 'get',
						  parameters: 'mode=' + MODE + '&bID=' + BID + '&dblID=' + dblID,
						  evalScripts: true
						});	
						
	}else{ return false; }

}

//前端 -- 商品下拉送出顯示
function PID_Change( SELECTNAME, BID, LID, THISVALUE1, THISVALUE2 ){
	if( SELECTNAME == 'm_id' ){
	
		if( document.getElementById(''+SELECTNAME+'').value != 0 ){
			location.href='./main.php?mode=productsList&bID='+BID+'&lID='+LID+'&mID='+THISVALUE1;
		}else{ return false; }
	}
	if( SELECTNAME == 's_id' ){
	
		if( document.getElementById(''+SELECTNAME+'').value != 0 ){
			location.href='./main.php?mode=productsList&bID='+BID+'&lID='+LID+'&mID='+THISVALUE1+'&sID='+THISVALUE2;
		}else{ return false; }
	}	
	
}


//後端形成資料捷徑設定
function chkBox_AreaPath( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選資料項目，系統無法執行變更區域動作！\n'; }
		
	if( errStr.length > 0 ){ alert( errStr ); return false; }
    if( confirm("確定要將所選取的項目全部變更區域嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }

}

/*----------------------------------------------------------------------------------*/
//後端形成資料捷徑設定
function chkBox_ProductsPath( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;
	var showStr = '';
	
	if( Mode != 0 ){
	
	if( Mode == 'ProductsHotuse' ){ showStr = '熱門新品'; }
	if( Mode == 'ProductsBuyuse' ){ showStr = '暢銷商品'; }		
	if( Mode == 'ProductsAuthenticuse' ){ showStr = '正品型態'; }	
	if( Mode == 'ProductsSpecialuse' ){ showStr = '特品型態'; }		
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選商品項目，系統無法執行'+showStr+'動作！\n'; }
		
	if( errStr.length > 0 ){ formObj.reset();alert( errStr ); return false; }
    if( confirm("確定要將所選取的商品設定為"+showStr+"嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }
	} else { return false; }
	
}

function chkBox_ProductsPathClear( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;	
	var showStr = '';
	
	if( Mode != 0 ){
		
	if( Mode == 'ProductsHotno' ){ showStr = '熱門新品'; }
	if( Mode == 'ProductsBuyno' ){ showStr = '暢銷商品'; }		
	if( Mode == 'ProductsAuthenticno' ){ showStr = '正品型態'; }	
	if( Mode == 'ProductsSpecialno' ){ showStr = '特品型態'; }	
	
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選商品項目，系統無法執行取消'+showStr+'動作！\n'; }
		
	if( errStr.length > 0 ){ formObj.reset();alert( errStr ); return false; }
    if( confirm("確定要將所選取的商品恢復為一般商品嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }
	} else { return false; }
	
}

/*----------------------------------------------------------------------------------*/
//後端訂單資料捷徑設定
function chkBox_OrderinfoPath( Mode ){

	var formObj = document.forms['box'];
	var errStr = '';
	var checkBOXChecked = 0;
	var showStr = '';

	if( Mode != 0 ){
	
	if( Mode == 'OrderinfoActive' ){ showStr = '已完成出貨'; }
	if( Mode == 'OrderinfoSuccess' ){ showStr = '準備出貨中'; }		
	if( Mode == 'OrderinfoPending' ){ showStr = '訂單處理中'; }
	if( Mode == 'OrderinfoDisabled' ){ showStr = '訂單已取消'; }
			
	document.getElementById('DIV_MODE').innerHTML = '<input type="hidden" name="mode" id="mode" value="' + Mode + '">';
	//formObj.mode.value = Mode;
	
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.elements.length; i++)
	{

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( formObj.elements[i].checked )

		{ 
			checkBOXChecked = 1; 
		}	
	}	
	
	//如果 check 值為 0，彈跳訊息說明
	if( checkBOXChecked == 0 ){ errStr += '\n- 尚未全部勾選或個別單一勾選訂單項目，系統無法執行'+showStr+'動作！\n'; }
		
	if( errStr.length > 0 ){ formObj.reset();alert( errStr ); return false; }
    if( confirm("確定要將所選取的訂單設定為"+showStr+"嗎？" ) ) 
    { formObj.submit(); return true;} else { return false; }
	} else { return false; }
	
}

//後端分類資料刪除
function classDel( MODE, FIELD, ID, NAME, STR ){
    if( confirm("確定要刪除 "+NAME+" 的"+STR+"資料?") ){ 
		location.href='./mod/mod_adminProductsHandle.php?mode='+MODE+'&'+FIELD+'='+ID; 
	}else{ return false; }
}

//連絡客服資料檢驗
function check_Enquiry(){
    var formobj = document.forms['enquiry'];
    var warnings = "";
	
	if( trim( formobj.yname.value ) == '' )
	{ warnings+= "\n- 您的真實姓名必須輸入？"; }

	if( !Validator.checkString( formobj.yemail.value, 10, 100, 'email' ) )
	{ warnings+= "\n- Email格式錯誤？";}
	
	if( trim( formobj.subject.value ) == '' )
	{ warnings+= "\n- 主題必須輸入？"; }
	
	if( trim( formobj.ycontent.value ) == '' )
	{ warnings+= "\n- 意見及查詢必須輸入？"; }
     
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }

    if( confirm("確定資料無誤，要送出嗎？") ) 
    { formobj.submit(); return true;} else { return false; }
    
}

/*----------------------------------------------------------------------------------*/

//填寫資料註冊表單檢驗
function reg_check() {
    var formObj = document.forms['Reg'];	
	var warnings = "";

	//設定 check 初始值 0
	var ChangeRadioChecked = 0;
       	
    if( !Validator.checkString( formObj.Pid.value, 10, 10, 'tw-pid' ) )
    { warnings += "\n- 您的【身分證字號】請正確填寫？"; }
    
	if( trim( formObj.account.value ) == '' )
	{ warnings+= "\n- 【帳號】尚未設定？"; }
	
	if( !formObj.account.value.match(/^[0-9a-zA-Z]{6,12}/) )
	{ warnings+= "\n- 【帳號】不分大小寫，長度需為 6-12 個英文與數字的組合字元內，不可用中文帳號？"; }

	if( trim( formObj.passwd.value ) == '' )
	{ warnings+= "\n- 【密碼】尚未設定？"; }

	if( !formObj.passwd.value.match(/^[0-9a-zA-Z]{4,8}/) )
	{ warnings+= "\n- 【密碼】不分大小寫，長度需為 4-8 個英文與數字的組合字元內，不可用中文字碼當密碼？"; }
	
	if( trim( formObj.passwd_confirm.value ) != trim( formObj.passwd.value ) )
	{ warnings+= "\n- 【確認密碼】必須與【密碼】設定相同？"; }

	if( trim( formObj.email.value ) == '' )
	{ warnings+= '\n- 【聯絡信箱】尚未輸入？'; }
	
	if( !validateEmailv2( formObj.email.value ) )
	{ warnings+= '\n- 【聯絡信箱】格式輸入錯誤？'; }		
		
	if( trim( formObj.name1.value ) == '' )
	{ warnings+= '\n- 【中文姓氏】尚未輸入？'; }		
		
	if( trim( formObj.name2.value ) == '' )
	{ warnings+= '\n- 【中文名字】尚未輸入？'; }		
		
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.gender.length; i++)
	{
		//設定表單物件中的所有 Tags 陣列 指向 e 變數
		var e = formObj.gender[i];

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( ( e.type == "radio" ) && e.checked )

		{ 
			ChangeRadioChecked = 1; 
		}

	}
	//如果 check 值為 0，彈跳訊息說明
	if ( ChangeRadioChecked == 0 )
	{ warnings += '\n- 您尚未選擇【性別】？'; } 
	
	if( formObj.birth_yy.value == '' || formObj.birth_mm.value == '' || formObj.birth_dd.value == '' )
	{ warnings+= '\n- 【生日】請正確填寫？'; }
		
	if( trim( formObj.address.value ) == '' )
	{ warnings+= '\n- 【通訊地址】尚未輸入？'; }	
	
	if( trim( formObj.tel.value ) == '' )
	{ warnings+= '\n- 【連絡電話】尚未輸入？'; }			

	if( !formObj.tel.value.match(/^[0-9]/) )
	{ warnings+= '\n- 【連絡電話】必須為數字？'; }
	
	if( trim( formObj.mobile.value ) == '' )
	{ warnings+= '\n- 【行動電話】尚未輸入？'; }		
		
	if( !formObj.mobile.value.match(/^[0-9]{10}$/) )
	{ warnings+= '\n- 【行動電話】必須為數字，長度10位數？'; }
	
    if( formObj.mobile.value.substring(0,2) != '09' )
    { warnings+= "\n- 您輸入【行動電話】號碼非手機規格號碼"; }    
			
    if( trim( formObj.validation.value ) == '' )
    { warnings+= "\n- 【驗證碼】必須填入"; }

    if( document.getElementById('errcode').value == '0' )
    { warnings+= "\n- 您【驗證碼】輸入錯誤？"; }
    
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }
      
    if( confirm("確定要送出資料?") ){ formObj.submit(); }else{ return false; }


}

//個人帳戶資料修改表單
function checkDataUP()
{
    var formObj = document.forms['Reg'];
    var warnings = "";
    
	if( trim( formObj.passwd.value ) != '' )
	{ 

		if( !formObj.passwd.value.match(/^[0-9a-zA-Z]{4,8}/) )
		{ warnings+= "\n- 【密碼】不分大小寫，長度需為 4-8 個英文與數字的組合字元內，不可用中文字碼當密碼？"; }
		
		if( trim( formObj.passwd_confirm.value ) != trim( formObj.passwd.value ) )
		{ warnings+= "\n- 【確認密碼】必須與【密碼】設定相同？"; }

	}
	
	if( !validateEmailv2( formObj.email.value ) )
	{ warnings+= '\n- 【聯絡信箱】格式輸入錯誤？'; }
	    
    if( trim( formObj.validation.value ) == '' )
    { warnings+= "\n- 驗證碼必須填入"; }
      
    if( document.getElementById('errcode').value == '0' )
    { warnings+= "\n- 您【驗證碼】輸入錯誤？"; }
            
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }
      
    if( confirm("確定要送出資料?") ){ formObj.submit(); }else{ return false; }
}   // end checkDataUP

/******************* 購物相關判斷處理 ***********************************************/
//放入購物車
function sendQtymyCarts( pID, Qty, colorID, sizeID ){
	location.href = './mod/mod_Handle.php?mode=addCarts&colorID=' + colorID + '&sizeID=' + sizeID + '&Qty=' + Qty + '&pID=' + pID;
}

//檢驗輸入的數量
function QtyReset(){
	if( document.qty.Qty.value == 0 || document.qty.Qty.value == '' ){
		document.qty.Qty.value = 1;
		alert( '您的購物數量不可選購「0」，系統自動更換為「1」！' );
	}
}

//刪除購物車商品
function checkDEL( pID )
{
    if( confirm("您確定要將此商品丟出您的購物車？") ){ 
		location.href = './main.php?mode=myCarts&sMode=DELItems&cID=' + pID;
		return true;
	}else{ 
		return false; 
	}
}   // end checkDEL

//排序位置JS
function changeSeq( tbname, tbID, tbSort, gdsno, name, etctno, old_value, _sno, WF, bID, cID, ChangeSort, AgetID )
{
						
	var obj = document.getElementById("seq_"+_sno);
	var showMsg = '';
	var MVCHG = '';

	showMsg = "此動作將改變\"" + name + "\"的順序，" + name + "的位置將由第" + obj.value + "個位置之間插入排序?";
	MVCHG = "&mvChg=" + ( obj.value-0.5 );	; 
			 
	if(obj.value!="" && obj.value != old_value  )
	{
		
		if(confirm(showMsg)){
			//window.location = "./good_main.php?display=2&act=seq&gdsno="+gdsno+"&num="+obj.value+"&etcsno="+etctno+"&show_h="; 
		  //alert( 'mode=MoveData&Smode=MV&tbname='+tbname+'&tbID='+tbID+'&tbSort='+tbSort+'&gdsno='+gdsno+'&num='+obj.value+'&WF='+WF+'&etcsno='+etctno+MVCHG+'&AgetID='+AgetID );

				var ajaxCheckID = new Ajax.Updater ('ID_NOUSE', './script/request_Move.php',
							{ method: 'get',
							  parameters: 'mode=MoveData&Smode=MV&tbname='+tbname+'&tbID='+tbID+'&tbSort='+tbSort+'&gdsno='+gdsno+'&num='+obj.value+'&WF='+WF+'&etcsno='+etctno+MVCHG+'&AgetID='+AgetID,
							  evalScripts: true
							});
							
		}else{	document.getElementById('seq_' + _sno).value = old_value; }
	}else{	document.getElementById('seq_' + _sno).value = old_value;}
}

//訂購資料Chk
function checkORDER()
{
    var formObj = document.forms['Sendorder'];
    var warnings = "";
	//設定 check 初始值 0
	var ChangeRadioChecked = 0;
	    
	//利用for迴圈，檢驗所有 input tags
	for(var i=0; i<formObj.timer.length; i++)
	{
		//設定表單物件中的所有 Tags 陣列 指向 e 變數
		var e = formObj.timer[i];

		//如果 e.type 是 checkbox 屬性或是 radio 屬性並且有勾選，便將 check 值設定為 1
		if( ( e.type == "radio" ) && e.checked )

		{ 
			ChangeRadioChecked = 1; 
		}

	}
	//如果 check 值為 0，彈跳訊息說明
	if ( ChangeRadioChecked == 0 )
	{ warnings += '\n- 您尚未選擇【寄貨的時間點】？'; } 
        
    if( warnings.length > 0 )
    { alert( "請正確填寫下列欄位:\n"+warnings ); return false; }
             
    if( confirm("您的訂購資料確定無誤，要送出訂單嗎?\n一旦按下「確定」後您的訂單立即生效，若不確定請按下「取消」即可！") ){ 
		return true;
	}else{ 
		return false; 
	}
}   // end checkORDER
function checkORDER2(chgPay)
{   
    var SET_TXT = '';
    var formObj = document.forms['Sendorder'];	
    if( chgPay == 1 ){ SET_TXT = '當按下確定後，系統將導向中國信託銀行線上信用卡金流付款平台，進行你購物的付款！'; 
    }else if( chgPay == 2 ){ SET_TXT = '當按下確定後，系統將導向中國信託銀行線上WebATM金流付款平台，進行你購物的付款！'; 
    }else if( chgPay == 3 ){ SET_TXT = '您已完成線上代收金流服務，若7日內仍未收到產品，請主動與線上客服聯絡，謝謝您！'; 
    }
    alert(SET_TXT); 
	formObj.submit();

}   // end checkORDER
/*************************************************************************************/