/*  
#####     不分類工具      #####
*/

//計算字串長度  
  function strlens(text){
    var len =0,i=0;
    for(var i=0;i< text.length;i++){
      len += (text.charCodeAt(i) > 255)?2:1;
    }
    return len;
  }
  
//emailCheck
  function emailCheck(eMail){
    re = /^([\w\.%-]+)\@([\w%-]+\.[\w\.%-]+)$/i;
    found=eMail.match(re);
    if(!found){
      alert('請填入正確email');
      return;
    }
    return found[0];
  }
//

//鍵盤的 Enter 可用
  function keyDown_event(fun){
    if(!window.event)return;
    var keyCode = event.keyCode;
    if (keyCode != 13) return -1;
    eval(fun + '()');
  }

//AJAX FUN START 
  function xml_post(){
    var argv=xml_post.arguments;
    var url = argv[0];
    var post_value = argv[1];
    var fun = argv[2];
    var time_out = (argv[3])?argv[3]:"30000";
    
      if (window.ActiveXObject) {
        try {
          xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
        } catch(e) {
          try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch(e2) {
            xmlhttp = null;
          }
        }
      } else if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
      } else {
        xmlhttp = null;
      }
      
      xmlhttp.open("POST",url,true);
      xmlhttp.setRequestHeader("Man", "POST "+url+" HTTP/1.1");
      xmlhttp.setRequestHeader("Content-Type", "text/html");
      xmlhttp.send(post_value);
      if(window.xmlclose) clearTimeout(window.xmlclose);
      window.xmlclose = window.setTimeout('xmlhttp_close()', time_out);
      xmlhttp.onreadystatechange=function() {
        if(xmlhttp.readyState==4) {
          XMLHTTP_val = xmlhttp.responseText;
      	  xmlhttp.abort();
      	  xmlhttp = null;
      	  if(fun)eval(fun + "()");
        }
      }
  }

//AJAX FUN END
  function xmlhttp_close(){
    if(xmlhttp) {
      xmlhttp.abort();
      xmlhttp = null;
    }
  }

//回前一頁
function go_back(){
  window.history.go(-1);
  return;
}

//判斷有無此物件
function chk_obj_defined(){
    var argv = chk_obj_defined.arguments;
    return  (typeof argv[0] == 'undefined')?0:1;
}

//設定 check_box 勾或不勾
//ex: set_chkbx_all(布林 0:1,物件名稱 name)
function set_chkbx_all(ck_flag,obj_name){
    var del_obj = document.getElementsByName(obj_name);
    for(var i=0;i<del_obj.length;i++){
        if(ck_flag){
            del_obj[i].checked = true;
        }else{
            del_obj[i].checked = false;
        }
    }
}

//  check radio
function chk_radio(){
    var argv = chk_radio.arguments;
    var radio_obj=argv[0];
    
    for(var i=0;i<radio_obj.length;i++){
        if(radio_obj[i].checked) return radio_obj[i].value;
    }
    return null;
}

//產生 3 位數字
//get_format_num(INT number)
function get_format_num(){
	var argv = get_format_num.arguments;
	var tmpstr = '000' + argv[0];
	var str_no = tmpstr.substring(tmpstr.length-3,tmpstr.length); //取最後 3 碼	
	return str_no;
}

//分頁工具
  function get_page_bar(now_page, page_sum, record_sum, fun_name){
    //alert(typeof(record_sum));
    if(record_sum<1)return '';
    var r_value="";
    var pg_start = Math.floor(((now_page - 1) / 10)) * 10 + 1;
    r_value = '<div id="pages" class="title2">';

    now_page = parseInt(now_page);
    
    if(now_page!=1 && pg_start > 0){
      //r_value += '&nbsp;<a href="javascript:'+ fun_name + '(\'' + ( now_page-1 ) + '\')"><span>上一頁</span></a>&nbsp;' + (((pg_start>1)?'&nbsp;<a href="javascript:'+ fun_name + '(\'' + ( pg_start-10 ) + '\')"><span>...</span></a>&nbsp;':''));
      r_value += '<a href="javascript:'+ fun_name + '(\'' + ( now_page-1 ) + '\')">&nbsp;<span>上一頁</span>&nbsp;</a>' + (((pg_start>0)?'<a href="javascript:'+ fun_name + '(\'' + ( pg_start-10 ) + '\')"></a> <span>...</span> ':''));
    }
   
    if(pg_start <0) pg_start = 1;
    var pg_end = (pg_start + 10 > page_sum)?page_sum:(pg_start + 10 - 1);

    for(var i=pg_start ; i<= pg_end; i++){
      if(i == now_page){
        //r_value += i + '&nbsp;' +((i==pg_end)?"":".")+'&nbsp;'; 
        r_value +=  ' &nbsp;' + i +'&nbsp;'; 
      }else{
        //r_value += '&nbsp;<a href="javascript:'+ fun_name + '(\''+i+'\')">'+ i +'</a>&nbsp;'+((i==pg_end)?"":".")+'&nbsp;';
        r_value += ' <a href="javascript:'+ fun_name + '(\''+i+'\')">&nbsp;'+ i +'&nbsp;</a>';
      }
    }
    
    if(now_page != page_sum && record_sum){
    //if(now_page < pg_end && record_sum){
      //r_value += ((( page_sum!= pg_end)?'<a href="javascript:'+ fun_name + '(\'' + ( pg_end+1 ) + '\')"><span>...</span></a>&nbsp;':''));
      //r_value += '&nbsp;<a href="javascript:'+fun_name  +'(\'' + (parseInt(now_page) + 1)+ '\')"><span>下一頁</span></a>&nbsp;';
      
      r_value += ((( now_page < pg_end )?'<a href="javascript:'+ fun_name + '(\'' + ( pg_end+1 ) + '\')"></a> <span>...</span> ':''));
      r_value += '<a href="javascript:'+fun_name  +'(\'' + (parseInt(now_page) + 1)+ '\')">&nbsp;<span>下一頁</span>&nbsp;</a>';
    }

    if(page_sum<1)page_sum =1;
    r_value +='<br> <strong>' + now_page +' / ' + page_sum +'</strong> 頁</span>';
    r_value +='</br></div>';    
    return r_value;
  }
/*  
#####     不分類工具  END    #####
*/
////////////////
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
/////
function openWindow(theURL,winName,features) { //v2.0
  var this_window = window.open(theURL,winName,features);
  this_window.focus();
}

function open_new_window(theURL,winName,features) { //v2.0
  var this_window = window.open(theURL,winName,features);
  this_window.focus();
}

/**
 * catch_repeat_number() Catch the exception of repeat phone number
 *                       The method of counting repeat number is not the
 *                       best.
 * param  $phone_obj     the incoming phone object
 * param  $phone         
 * return string         if successfully returns string, otherwise returns
 *                       false   
 * author                written by Jia-Yun Ye
 */
function catch_repeat_number(phone_obj, phone){
    var agvs = phone_obj;
    var phone_str;
    for(var i=0; i < agvs[0].length; ++i){
		if(agvs[0][i].value){
		    phone_str += ',' + agvs[0][i].value;
		}		    
    }
    var repeat_phone_str = '';
    for(var j=0; j < agvs[0].length; ++j){
        //alert(agvs[0][j].value);
        myRE = new RegExp(agvs[0][j].value, "g");    
        var matches = phone_str.match(myRE);
        var count = matches.length;        
        if(count > 1 && agvs[0][j].value){
           //repeat_phone_str += ', ' + agvs[0][j].value;
           if(!repeat_phone_str.match(agvs[0][j].value)){
               repeat_phone_str += agvs[0][j].value + ' ';
           }
           /*
           if(!repeat_phone_str.match(matches)){
               repeat_phone_str += matches;
           }
           */
        }
        else{
            continue;
            //break;
        }
    }
    return repeat_phone_str;
}

//判斷有效的電話號碼
function valid_phone() {
	var agvs = valid_phone.arguments;
	var chk_flag = false;
	var repeat_number ='';
		
	if(repeat_number = catch_repeat_number(valid_phone.arguments, phone)){
	    /*
	    if(confirm('手機門號有重複為 ' + catch_repeat_number(valid_phone.arguments, phone))){
	    }
	    else{
	    }
	    */
        alert('手機門號有重複為 ' + repeat_number);
        return false;
	}	
	
	for(var i=0; i < agvs[0].length; i++){
		var phone = agvs[0][i].value;		
 		if (phone == ""){
 			//alert('『好友手機門號為必填欄，請重新輸入』');
 			continue;
 		}

	    // 號碼須為 09 開頭的數字串
	    if(!phone.match(/^09[0-9]+/)){
		    return false;
	    }

		// 號碼須為 09 開頭的數字串 ( 用code 碼再次 check)
		if(phone.charCodeAt(0)!= 48 || phone.charCodeAt(1)!= 57){
				//alert('『好友手機門號輸入錯誤，請重新輸入』');
				return false;
		}

 		// 號碼長度須為 10個
 		if (phone.length != 10 ){
 			//alert('『好友手機門號為必填欄，請重新輸入』');
 			return false;
 		}
 		chk_flag = true;
	}
	return chk_flag;
}

//
//後端管理 更換視窗狀態列文字 fun
function hideStatus(tmp_obj,evnt_type){
    window.status =(evnt_type=='out')?'':tmp_obj.innerHTML;
    return;
}

//首頁 表情
function add_emotion_face(){
    var agvs = add_emotion_face.arguments;
    var emotion_face_str = agvs[0];

    insertAtCursor(document.getElementById('msg_body'), emotion_face_str);
    check_msg();
    return;
}

//動態新增號碼列
//add_phone_row(OBJ this_obj,STR this_obj_name,INT this_value,INT this_value+1)
function add_phone_row(){
	var argv = add_phone_row.arguments;
	var phone_row_str='',this_obj=argv[0],this_obj_name=argv[1],next_no=argv[3];
	var next_str_no=get_format_num(argv[3]),window_obj=argv[4];
	if(next_str_no == 1){
	    alert('最多一次發送1000個門號!');
	    return -1;
	}

	var new_obj_last_no = argv[2]+5; //最後的電話編號, 5 -> 每一行 5 個號碼
	var grandfather_obj = this_obj.parentNode.parentNode;//input-> div ->td 這個物件
	if(document.getElementById(next_str_no)) return; //有產生過物件,就不再產生

	var d = window_obj.document.createElement("DIV");
	//var d = window.opener.document.createElement("DIV");
	d.id = next_str_no;
	d.name = next_str_no;
//	phone_row_str += '<DIV id='+ next_str_no +' name="'+ next_str_no +'">';
	for(var i=next_no;i<(next_no+5);i++){
		var str_no = get_format_num(i);
		var js_fun_str =(i==new_obj_last_no)?' onclick="add_phone_row(this,this.name,' + i + ','+ (i+1) + ',window)"':'';
		phone_row_str +=  get_format_num(i) + '.<input maxLength=10 size=10 name="' + this_obj_name + '"'+ js_fun_str +'>' + "\r\n";
	}
	d.innerHTML = phone_row_str;
	grandfather_obj.appendChild(d);
//	phone_row_str += "</DIV>";
//
//	alert(grandfather_obj.innerHTML);
//	grandfather_obj.innerHTML += phone_row_str; //把新的 div 塞到原來的後面
}

//把字串插入游標所在
function insertAtCursor(myField, myValue)   
{   
 //IE support   
 if (document.selection)   
 {   
  myField.focus();   
  sel = document.selection.createRange();   
  sel.text = myValue;
  myField.focus();   
 }   
  //MOZILLA/NETSCAPE support   
  else if (myField.selectionStart || myField.selectionStart == 0)   
  {   
   var startPos = myField.selectionStart;   
   var endPos = myField.selectionEnd;   
   myField.value = myField.value.substring(0, startPos)   
   + myValue   
   + myField.value.substring(endPos, myField.value.length);
  }   
  else  
  {   
   myField.value += myValue;   
  }   
}

//把首頁罐頭簡訊 copy 到內文
//pick_can_msg(STR id)
function pick_can_msg(){
	var argv = pick_can_msg.arguments,src_id = argv[0];
	var src_obj = document.getElementById(src_id);
	document.sms_main.msg_body.value =src_obj.innerHTML;
	if(!document.sms_main.msg_table_title)	return;
	
	var msg_table_title_obj = document.getElementById('msg_table_title');
	msg_table_title_obj.focus();
	document.sms_main.msg_table_title.focus();
	document.sms_main.msg_table_title.blur();
}

//把罐頭簡訊 copy 到首頁
//pick_can_msg(STR id)
function pick_can_msg_to_index(){
	var argv = pick_can_msg_to_index.arguments,src_id = argv[0];
	pick_can_msg(src_id);
	document.sms_main.action ="/index.htm";
	document.sms_main.submit();
}

//submit
function sms_submit(){
	var argv = sms_submit.arguments,tar_location = argv[0];
	var form_obj = document.forms[0];
	form_obj.action =tar_location;
	form_obj.submit();
	//document.sms_main.action =tar_location;
	//document.sms_main.submit();
}

//check_login
  function check_acc(){
    var form_obj = document.sms_main;
    var userid_value = form_obj.userid.value;
  
    userid_value = userid_value.replace(/[ ]/g,"");

    if(!form_obj.userpass.value.match(/^[\w]+$/)) {
      alert("密碼輸入格式錯誤!");
      return form_obj.userpass.focus();
    }
    
    if(userid_value != "" && !(userid_value.match(/@/)))
      userid_value = userid_value + "@pchome.com.tw";
    
    if(!emailCheck(userid_value)) 
      return form_obj.userid.focus();

    form_obj.userid.value=userid_value.toLowerCase();
    form_obj.action = '/adm/chk_login';   
    form_obj.submit();
  }

  // 好友電話簿 樹狀切換群組 
  function chg_friend_group_no(){
    var argv = chg_friend_group_no.arguments;
    document.sms_main.friend_group_no.value=argv[0];
    //sms_submit("");
    sms_submit(window.location.pathname);
  }

//好友清單詳細內容
  function show_friend_detail(){
    var argv = show_friend_detail.arguments;
    document.sms_main.sms_friend_no.value=argv[0];
    sms_submit("friend_detail.htm");
  }

  //bind tab 下方的 path 文字
  function bind_tabpath(){
    var sms_tabpath_obj = document.getElementById('sms_tabpath');
    try{sms_tabpath_text}
    catch(e){
      return;
    }
    //alert(sms_tabpath_text);
    sms_tabpath_obj.innerHTML = sms_tabpath_text;
  }

  //bind 好友電話簿 左邊 下方的 文字 CSS
  function bind_blk_and_bold(){
           var argv = bind_blk_and_bold.arguments;
           var t_group_name_obj= document.getElementById(argv[0]);
           t_group_name_obj.style.fontWeight='bolder';
           t_group_name_obj.style.color='#000000';
  }

/// 把物件加入觸發事件屬性
function addEvent(elm, evType, fn, useCapture) {  
  if (elm.addEventListener)   {  
    elm.addEventListener(evType,   fn,   useCapture);  
    return   true;  
  }  
  else if (elm.attachEvent)   {  
    //var r = elm.document.attachEvent('on' + evType, fn);  
    var r = elm.attachEvent('on' + evType, fn);  
    return   r;  
  }  
  else  {  
    elm['on'   +   evType]   =   fn;  
  }  
}  

//////////////////
/*
  function change_len(obj, t_obj, maxlen){
    var tmp_obj = document.getElementById(t_obj);
    //var lens = strlens(obj.value);
    var lens = obj.value.length;
    if(maxlen && lens > maxlen) {      
      //alert("maxlen =>" + maxlen + "; lens=> "+lens )
      alert("已超過" + maxlen + "個字元!!");
      //obj.value = cut_len(obj.value, maxlen);      
      obj.value = obj.value.substr(0,maxlen);
      document.body.focus();
    }
    if(tmp_obj) tmp_obj.innerHTML = strlens(obj.value);
  }
*/
  // for strip whitespace from the beginning and end of a string
/*
  function change_len(obj, t_obj, maxlen){
    var tmp_obj = document.getElementById(t_obj);
    //var lens = strlens(obj.value);
    var trim_obj = stringFilter(obj.value);
    var lens = trim_obj.length;
    if(maxlen && lens > maxlen) {      
      //alert("maxlen =>" + maxlen + "; lens=> "+lens )
      alert("已超過" + maxlen + "個字元!!");
      //obj.value = cut_len(obj.value, maxlen);      
      trim_obj = trim_obj.substr(0,maxlen);
      document.body.focus();
    }
    if(tmp_obj) tmp_obj.innerHTML = strlens(trim_obj);
  }
  */
  

  function change_len(obj, t_obj, maxlen){
    var tmp_obj = document.getElementById(t_obj);
    //var lens = strlens(obj.value);
    var lens = multi_byte_length(obj.value);
    if(maxlen && lens > maxlen) {      
      //alert("maxlen =>" + maxlen + "; lens=> "+lens )
      alert("已超過" + maxlen + "個字元!!");
      //obj.value = cut_len(obj.value, maxlen);      
      obj.value = obj.value.substr(0,maxlen);
      document.body.focus();
    }
    if(tmp_obj) tmp_obj.innerHTML = strlens(obj.value);
  }
//////////
  function cut_len(str, len){
    var tmplen =0,i=0;
    for(var i=0;i< str.length;i++){
      tmplen += (str.charCodeAt(i) > 255)?2:1;
      if(tmplen > len) {        
        return str.substr(0, i);
      }
    }
    return str;
  }

//
function check_send_time(){
    var argv = check_send_time.arguments;
    var dateobj_prefix_str = argv[0];
    var year_obj = document.getElementById( dateobj_prefix_str + '_year');
    var month_obj = document.getElementById( dateobj_prefix_str + '_month');
    var day_obj = document.getElementById( dateobj_prefix_str + '_day');

    return false;

    var dd_date_obj = new Date(year_obj.value,month_obj.value-1,day_obj.value);
    if(month_obj.value != (dd_date_obj.getMonth()+1) ||  day_obj.value != dd_date_obj.getDate() ) alert("日期有誤..將更正!!");
    day_obj.value = dd_date_obj.getDate();
    month_obj.value = (dd_date_obj.getMonth()+1);
}
/////////////////////////////////////
// indedx.htm
function initial_sms_dom(){
  addEvent(document.getElementById('msg_body'),"keyup",check_msg,false); //建立 簡訊內容 keyup event
  addEvent(document.getElementById('can_msg_table'),"click",check_msg,false); //建立 罐頭簡訊 click event
  check_msg(); //
}

function stringFilter(s){
    // Characters will be stripped out
    filteredValues = "\r\n";
    var i;
    var returnString = "";
    // Search through string and append to unfiltered values to returnString.
    for (i = 0; i < s.length; i++) { 
        var c = s.charAt(i);
        if (filteredValues.indexOf(c) == -1) returnString += c;
    }
    //alert("returnString=" + returnString);
    return  returnString;
}

function multi_byte_length(str) {
    var nLen   =   str.length;
    //nLen = str.length;
    var i;
    for(i=0;i<str.length;i++)
    //if(str.charCodeAt(i)>255)
    if(str.charCodeAt(i) == 10 ||  str.charCodeAt(i) == 13)
    nLen++;
    //alert(nLen);
    return nLen;
         
}
  
  function check_msg(evt){
    //var evt_elm_obj = evt.target || evt.srcElement; //引發事件的物件
    //if(evt_elm_obj.id && evt_elm_obj.id.match(/can_msg_[0-9]/)){
    //    evt_elm_obj = window.document.sms_main.msg_body;
    //}
    //if(evt_elm_obj.name != 'msg_body') return;
    var evt_elm_obj = document.getElementById("msg_body"); // 簡訊文字的物件
    
    var msg_note_text_obj = document.getElementById("msg_note_text"); // 簡訊下方文字說明的物件
    //alert(evt.keyCode); //  鍵盤碼
    //目前簡訊的最佳編碼型態
    var encoding_type_def= def_msg_encode_type(evt_elm_obj.value);

    //目前簡訊編碼型態的最長字數限制
    var msg_max_length = encoding_type_def.max_msg_len * encoding_type_def.max_msg_count;
    //alert("目前是:" + encoding_type_def.encoding_type_name);
    
    //目前簡訊需要的發送則數
//alert("value=" + stringFilter(evt_elm_obj.value));
    //We should strip off white space like \r\n becasue php mb_streln() will caculate the double length
    //var trim_body = stringFilter(evt_elm_obj.value);
    var inc_trim_len = multi_byte_length(evt_elm_obj.value);
    //alert("muti_byte_len=" + inc_trim_len);    
    
    //var evt_elm_obj_type_count = Math.ceil(evt_elm_obj.value.length / encoding_type_def.max_msg_len);    
    var evt_elm_obj_type_count = Math.ceil(inc_trim_len / encoding_type_def.max_msg_len);
    
    // 簡訊下方文字說明
    if(evt_elm_obj_type_count > 1){
        //var msg_note_text_str = (evt_elm_obj.value.length<1)?'英文160字，中英文70個字':encoding_type_def.encoding_type_name + ' '+ encoding_type_def.max_msg_len +' 字';    
        //msg_note_text_obj.innerHTML = '<font color=red>注意：請勿輸入特殊符號！即使部分字元無法發送／接收，長簡訊將一律視作發送成功。</font><br>'+'一共輸入了 ' + evt_elm_obj.value.length + ' 個字，需要 '+ evt_elm_obj_type_count +' 則簡訊傳送〈一則簡訊：' + msg_note_text_str + '〉';
        
        var msg_note_text_str = (inc_trim_len<1)?'英文160字，中英文70個字':encoding_type_def.encoding_type_name + ' '+ encoding_type_def.max_msg_len +' 字';    
        msg_note_text_obj.innerHTML = '<font color=red>注意：請勿輸入特殊符號！即使部分字元無法發送／接收，長簡訊將一律視作發送成功。</font><br>'+'一共輸入了 ' + inc_trim_len + ' 個字，需要 '+ evt_elm_obj_type_count +' 則簡訊傳送〈一則簡訊：' + msg_note_text_str + '〉';    
        
    }else{
        //var msg_note_text_str = (evt_elm_obj.value.length<1)?'英文160字，中英文70個字':encoding_type_def.encoding_type_name + ' '+ encoding_type_def.max_msg_len +' 字';    
        //msg_note_text_obj.innerHTML = '一共輸入了 ' + evt_elm_obj.value.length + ' 個字，需要 '+ evt_elm_obj_type_count +' 則簡訊傳送〈一則簡訊：' + msg_note_text_str + '〉';
        
        var msg_note_text_str = (inc_trim_len<1)?'英文160字，中英文70個字':encoding_type_def.encoding_type_name + ' '+ encoding_type_def.max_msg_len +' 字';    
        msg_note_text_obj.innerHTML = '一共輸入了 ' + inc_trim_len + ' 個字，需要 '+ evt_elm_obj_type_count +' 則簡訊傳送〈一則簡訊：' + msg_note_text_str + '〉';
        
    }
    //if(evt_elm_obj.value.length > msg_max_length) change_len(evt_elm_obj, evt_elm_obj, msg_max_length);
    if(inc_trim_len > msg_max_length) change_len(evt_elm_obj, evt_elm_obj, msg_max_length);    
    //控制則數為1則
    /*
    if(evt_elm_obj_type_count > 1) {
        alert("超過一則以上為長簡訊，請勿輸入特殊符號~");
    }else 
    */
    if(evt_elm_obj_type_count > 5) {
        alert("簡訊內文過長請修改~");
        return false;
    }else{
        return true;
    }
  }

	//check 發送簡訊的電話內容
	function check_sms_data(){
		var argv = check_sms_data.arguments;

		// check 電話清單
		var phone_list_obj = document.getElementsByName("mobile_phone[]");
		var phone_list_str = document.getElementsByName("mobile_list");

		//  兜 快速發送的 phone_list_obj 結構
		if(phone_list_str.length >0){
			phone_list_arr_tmp = phone_list_str[0].value;
			phone_list_arr_tmp = phone_list_arr_tmp.replace(/,/g,";");
			phone_list_arr_tmp = phone_list_arr_tmp.replace(/[;]?\r\n/g,";");
			phone_list_arr_tmp = phone_list_arr_tmp.replace(/\s+/g,";");
			phone_list_arr_tmp = phone_list_arr_tmp.replace(/;+/g,";");
			phone_list_arr_tmp = phone_list_arr_tmp.replace(/;+$/g,"");
			phone_list_arr = phone_list_arr_tmp.split(";");
			
			if(phone_list_arr.length>1000){
			    alert('最多一次發送1000個門號！');
			    return -1;
			}
			//alert(' 本次共'+ phone_list_arr.length +'個門號');
			
			//改 phone_list_arr_tmp 結構定義
			var phone_list_arr_tmp =Array();		
			for(i=0,j=0;i<phone_list_arr.length;i++){
				if(phone_list_arr[i]!=''){
				     if(phone_list_arr[i].length==9){
				        phone_list_arr[i]= 0 + phone_list_arr[i];
				     }
				     phone_list_arr_tmp[j++] = phone_list_arr[i];
				}
				
				//phone_list_str.value=phone_list_arr_tmp.join(,);
			}
			//phone_list_arr_tmp(',')
			phone_list_str[0].value=phone_list_arr_tmp.join('\r\n');
			//var rr = 'phone_list_obj =[{value:"' + phone_list_arr_tmp.join('"},{value:"') + '"}];';
			eval('phone_list_obj =[{value:"' + phone_list_arr_tmp.join('"},{value:"') + '"}];');               
		}
		
		if(phone_list_obj.length>0 && phone_list_obj){
			if(!valid_phone(phone_list_obj)){
				alert('門號內容有誤');
				return -1;
			}
			/*
		    if(catch_repeat_number(phone_list_obj.arguments, phone)){
	            if(confirm('手機門號有重複為 ' + catch_repeat_number(phone_list_obj.arguments, phone))){
	                return false;
	            }
	            else{
	            }
	        }
	        */
		}

		//檢查簡訊內容
	    var evt_elm_obj = document.getElementById("msg_body"); // 簡訊文字的物件
	    
	    var msg_note_text_obj = document.getElementById("msg_note_text"); // 簡訊下方文字說明的物件
	    
	    //alert(evt.keyCode); //  鍵盤碼
	    //目前簡訊的最佳編碼型態
	    var encoding_type_def= def_msg_encode_type(evt_elm_obj.value);
	    
	    //目前簡訊編碼型態的最長字數限制
	    var msg_max_length = encoding_type_def.max_msg_len * encoding_type_def.max_msg_count;
	    //alert("目前是:" + encoding_type_def.encoding_type_name);
	    
	    //目前簡訊需要的發送則數
	    var inc_trim_len = multi_byte_length(evt_elm_obj.value);
	    //var evt_elm_obj_type_count = Math.ceil(evt_elm_obj.value.length / encoding_type_def.max_msg_len);		
	    var evt_elm_obj_type_count = Math.ceil(inc_trim_len / encoding_type_def.max_msg_len);
		
		//Confirming how many cell phone numbers and messages in one order the user have
		//before going to ezpay and sending
		var phone_list_count = 0;
		if(phone_list_str.length > 0 ){
		    //alert("再次提醒您：\n請勿輸入特殊符號！即使部分字元無法發送／接收，長簡訊將一律視作發送成功。");
		    if(confirm("您本次發送的簡訊內文需要＿"+ evt_elm_obj_type_count +"＿則簡訊傳送＿，"+ phone_list_arr.length +"＿門號，共需扣除＿"+ ( evt_elm_obj_type_count * phone_list_arr.length) +"＿點數。")){
	            if(!check_msg()){
	                return false;
	            }                
                var encoding_type_def = def_msg_encode_type(document.sms_main.msg_body.value);
                //alert(encoding_type);
                document.sms_main.encoding_type.value = encoding_type_def.encode_type;                
                sms_submit(argv[0]);
		    }
		    else{
		    }
		}else{
		    for(var j =0; j < phone_list_obj.length; ++j){		        
		        if(phone_list_obj[j].value != ''){		            
		            ++phone_list_count;
		        }
		    }
		    if(confirm("您本次發送的簡訊內文需要＿"+ evt_elm_obj_type_count +"＿則簡訊傳送，＿"+ phone_list_count +"＿門號，共需扣除＿"+ ( evt_elm_obj_type_count * phone_list_count) +"＿點數。")){
	            if(!check_msg()){
	                return false;
	            }                
                var encoding_type_def = def_msg_encode_type(document.sms_main.msg_body.value);
                //alert(encoding_type);
                document.sms_main.encoding_type.value = encoding_type_def.encode_type;                
                sms_submit(argv[0]);
		    }
		    else{
		    }		    		    
		}
	/*	
		if(!check_msg()){
		    return false;
		}

     var encoding_type_def = def_msg_encode_type(document.sms_main.msg_body.value);
     //alert(encoding_type);
     document.sms_main.encoding_type.value = encoding_type_def.encode_type;
     
     sms_submit(argv[0]);
     */
  }

/*
encoding_type_no  encode_type  encoding_type_name  max_msg_len  max_msg_count  
      1 ASCII 英文簡訊 140 127 
      2 BIG5 中文簡訊 70 127 
      3 LASCII 英文長簡訊 153 5 
      4 LBIG5 中文長簡訊 67 5 
*/
//
  function def_msg_encode_type(){
    var argv = def_msg_encode_type.arguments;
    var msg = argv[0];
    var msg_len = msg.length;
    var long_sms_flag=0; //是否開放長簡訊

//switch on long msg
    long_sms_flag = 1;
    var i=0,c_flg=0;
    while(msg_len>0 && (i==0 || !c_flg)){
        c_flg = (msg.charCodeAt(i++) > 255)?1:0;
        //i++;
        if(c_flg || msg_len == i) break;
    }    
    if( c_flg ){
        //alert(" 有中文");        
        if(msg_len > 70 && long_sms_flag){
            var encoding_type_def = {"encode_type" :"LBIG5"
                                    ,"encoding_type_name":"中文長簡訊"
                                    ,"max_msg_len":"67"
                                    ,"max_msg_count":"5"};            
        }else{
            var encoding_type_def = {"encode_type" :"BIG5"
                                    ,"encoding_type_name":"中文簡訊"
                                    ,"max_msg_len":"70"
                                    ,"max_msg_count":"127"};            
        }
    }else{
        //alert("XX");
        if(msg_len > 160 && long_sms_flag){
        //alert("long");
            var encoding_type_def = {"encode_type" :"LASCII"
                                    ,"encoding_type_name":"英文長簡訊"
                                    ,"max_msg_len":"153"
                                    ,"max_msg_count":"5"};            
        }else{
            var encoding_type_def = {"encode_type" :"ASCII"
                                    ,"encoding_type_name":"英文簡訊"
                                    ,"max_msg_len":"160"
                                    ,"max_msg_count":"127"};
        }
    }

    return encoding_type_def;
  }

/////////////////////////////////////////////////////////////////////////////////////////////////////////
  function store_submit(){
    var fun_string = "";
    var argv = new Array();
    var result, err = 0;
    for(var i=0; i <store_submit.arguments.length; i++){
      if(i == 0){
      	fun_string = "result=" + store_submit.arguments[i];
      }else{
        argv[i - 1] = '"' + store_submit.arguments[i] + '"';
      }
    }
    if(fun_string.length){
      eval(fun_string + "(" + argv.join(',') + ")");
      if(result < 0) return;
    }
    if(checkedit) if(check_value(document.sms_main)) return;
    document.sms_main.submit();
  }
  
  function check_value(obj){
    var m_title;
    var err = 0;
    for(var i=0;i<obj.elements.length;i++){
      if(obj.elements[i].isContentEditable){
      	m_title = "";
        if(obj.elements[i].title) m_title = obj.elements[i].title;
        if(m_title.match(/NOT_CHECK/)) continue;
        var tmp_value =  obj.elements[i].value.replace(/^\s*/,"");
        if(!tmp_value.replace(/\s*$/,"")){ alert(" " + ((m_title)?m_title:"") + "資料填寫內容不可空白！"); err=1;}
        // if(!document.main.elements[i].value.replace(/^\s*(.*?)\s*$/,"$1")){ alert(" " + ((m_title)?m_title:"") + "資料填寫內容不可空白！"); err=1;}
        //if(!err && obj.elements[i].value.match(/('|"|\$|\%|\&|\\|\|)/i)){ alert(" " + ((m_title)?m_title:"") + "資料填寫內容不可有\n『 \'、 \"、\$、\%、\&、\\ 或 \|』符號"); err=1;}
        if(!err && obj.elements[i].value.match(/('|"|\\)/i)){ alert(" " + ((m_title)?m_title:"") + "資料填寫內容不可有\n『 \'  \"  \\ 』符號"); err=1;}
        if(err) {
          obj.elements[i].focus();
          return -1;
        }
      }
    }
  }

  function check_lens(obj){
    for(var i=0;i<obj.elements.length;i++){
      if(obj.elements[i].isContentEditable && strlens(obj.elements[i].value) > obj.elements[i].lang){
        var s_title = obj.elements[i].title.replace("/NOT_CHECK/","");
        alert(s_title +" 字元過長 (上限字元-"+ obj.elements[i].lang+")");
        obj.elements[i].focus();
        return -1;
      }
    }
  }
  
//計算click 的資料
  function get_click(){
    var argv=get_click.arguments;
	var post_var = 'click_type='+argv[0]+'&message_no='+argv[1];
	xml_post("/tool_api/get_click.htm",post_var,'close_get_click',300000);    
  }

//計算click 的資料 回收
  function close_get_click(){
    if(XMLHTTP_val.match(/^system convert error/i) || XMLHTTP_val.match(/^system can't convert/i)){
      alert("瀏覽器無法正確傳送資料,請洽程式設計人員!!!");
      return -1;
    }else{
//          eval(XMLHTTP_val);
//      alert(XMLHTTP_val);
      xmlhttp_close();
      return;
    }
  }
