// History:
// 2008.3.10 Eric 增加 setSelDate()函數, 供設定日期用
// 2008.3.11 Eric 增加 getRadioValue()函數, 以方便取得目前所點選的值

/* 取得目前搜尋的RADIO之值 */
function getRadioValue(elemName)
{
	curType=document.getElementsByName(elemName);
	curTypeNums=curType.length;
	for (var i = 0 ; i < curTypeNums ; i++) 
	{
		if (curType[i].checked)
	  	curTypeId=curType[i].value;
	}	
	return curTypeId;
}

/* 檢查是否符合yy/mm/dd形式 */
function checkYMD(motoText)
{
	data = motoText.match(/^(\d\d)\/(\d\d)\/(\d\d)$/);
	if (!data) return false;
	mm = eval(RegExp.$2);
	dd = eval(RegExp.$3);
	if ((mm < 1) || (mm > 12)) { alert("月份異常"); return false; }
	if ((dd < 1) || (dd > 31)) { alert("日期異常"); return false; }
	return true;
}

// When mouse move to table, Chang it color
function setPointer(theRow, thePointerColor, theNormalBgColor)
{
    var theCells = null;

    if (thePointerColor == '' || typeof(theRow.style) == 'undefined') {
        return false;
    }
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    var rowCellsCnt  = theCells.length;
    var currentColor = null;
    var newColor     = null;
    // Opera does not return valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined' && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        newColor     = (currentColor.toLowerCase() == thePointerColor.toLowerCase())
                     ? theNormalBgColor
                     : thePointerColor;
        for (var c = 0; c < rowCellsCnt; c++) {
            theCells[c].setAttribute('bgcolor', newColor, 0);
        } // end for
    }
    else {
        currentColor = theCells[0].style.backgroundColor;
        newColor     = (currentColor.toLowerCase() == thePointerColor.toLowerCase())
                     ? theNormalBgColor
                     : thePointerColor;
        for (var c = 0; c < rowCellsCnt; c++) {
            theCells[c].style.backgroundColor = newColor;
        }
    }

    return true;
}
// end of the 'setPointer()' function

/* 設定日期 
	cusDate: 格式為 2008/03/12
	selYear,selMonth,selDay : 需為 select object
*/
function setSelDate(cusDate,selYear,selMonth,selDay)
{
	if (cusDate==null)
		var today = new Date();
	else
		var today = new Date(cusDate);
	
	for (i=0; i< selYear.length; i++)
	{
		tmpStr=selYear.options[i].value;
		if(tmpStr==today.getYear())
			selYear.selectedIndex = i;
	}
	for (i=0; i< selMonth.length; i++)
	{
		tmpStr=selMonth.options[i].value;
		if(parseInt(tmpStr)==parseInt(today.getMonth()))
			selMonth.selectedIndex = i+1;
	}
	for (i=0; i< selDay.length; i++)
	{
		tmpStr=selDay.options[i].value;
		if(tmpStr==today.getDate())
			selDay.selectedIndex = i;
	}
}

/* 輸出今日日期 字串
	返回值: 格式為 2008/03/12
*/
function getYMD(cusDate)
{
	if (cusDate==null)
		var today = new Date();
	else
		var today = new Date(cusDate);
	var yy=today.getYear();
	var mm=today.getMonth()+1;
	var dd=today.getDate();	
  return (yy+"/"+mm+"/"+dd);
}

// 確認輸入格式 Cindy
function AdminCheckIsNaN(vTitle,vValue) 
{
		//alert(isNaN(vValue));
	if (isNaN(vValue)){
		alert ('"'+vTitle+'" 請輸入數字 !');
		return false;
	}
}

//list頁 選擇多筆 Cindy
function topclick(obj){
	checkcount=(obj.elements.length)-1;
	if(obj.top.checked == true){
		for(i = 0; i < checkcount; i++){
			obj.elements[i+1].checked = true;
		}				
	}else if(obj.top.checked == false){
		for(i = 0; i < checkcount; i++){
			obj.elements[i+1].checked = false;
		}				
	}
}

//list頁 批次執行 Cindy
function batchAction(obj,vValue,vUrl,vDiv,vMsg){
	if(vValue!="nothing"){
		if(obj!="" && vUrl!="" && vDiv!="" && vMsg!=""){
			chk = confirm(vMsg + "\n\n");
			if(!chk){
				return false;
			}else{
				postAP(vUrl,vDiv,obj);
				return true;
			}
		}
	}
}

//確認Mail格式 Cindy
function checkEmail(e_mail, mstr) {
	var rejectedDomain=new Array()
	var index=0;
	//rejectedDomain[index++]="hotmail"
	//rejectedDomain[index++]="rocketmail"
	//rejectedDomain[index++]="yahoo"
	rejectedDomain[index++]="zdnetmail"

	var rejected=false
	var testresults=true
	var str=e_mail
	var filter=/^.+@.+\..{2,3}$/
	if (filter.test(str)){
		var tempstring = str.split("@")
		tempstring = tempstring[1].split(".")
		for (i=0; i<rejectedDomain.length; i++) {
			if (tempstring[0]==rejectedDomain[i])
			rejected=true
		}
		if (rejected) {
			var message="請確認E-mail是否正確!\n"
			//message += "The following addresses are not allowed:\n"
			for (i=0; i<rejectedDomain.length; i++) {
				message += "\t" + rejectedDomain[i] + "\n"
			}
			alert(message)
			testresults=false
		}
	} else {
		alert(mstr)
		testresults=false
	}
	return (testresults)
}

//確認上傳檔案格式 Cindy
function checkFileType(vTitle, vType) {
	var rejectedDomain=new Array()
	var index=0;
	//rejectedDomain[index++]="hotmail"
	//rejectedDomain[index++]="rocketmail"
	//rejectedDomain[index++]="yahoo"
	rejectedDomain[index++]="zdnetmail"

	var rejected=false
	var testresults=true
	var str=e_mail
	
	switch(vType){
		case "img":
			var filter=("gif", "jpg", "jpeg", "png", "swf" );
			break;
		case "txt":
			var filter=("doc", "xls", "txt", "pdf", "ppt", "zip");
			break;
		case "html":
			var filter=("html", "htm", "xml" );
			break;
		case "mov":
			var filter=("doc", "xls", "txt", "pdf", "gif", "jpg", "zip", "rar", "ppt","html", "htm", "xml", "jpeg", "png" );
			break;
		default:
			var filter=array("pdf", "gif", "jpg", "jpeg", "png", "swf" );
			break;
	}
	var filter=/^.+@.+\..{2,3}$/
	if (filter.test(str)){
		var tempstring = str.split("@")
		tempstring = tempstring[1].split(".")
		for (i=0; i<rejectedDomain.length; i++) {
			if (tempstring[0]==rejectedDomain[i])
			rejected=true
		}
		if (rejected) {
			var message="Please input a more official email address!\n"
			message += "The following addresses are not allowed:\n"
			for (i=0; i<rejectedDomain.length; i++) {
				message += "\t" + rejectedDomain[i] + "\n"
			}
			alert(message)
			testresults=false
		}
	} else {
		alert(mstr)
		testresults=false
	}
	return (testresults)
}

function Over(vDiv)
{
	alert(vDiv);
	vDiv.className = oDiv.className.replace('ListOut', 'ListOver');
}

function Out(vDiv)
{
	vDiv.className = oDiv.className.replace('ListOver', 'ListOut');
}

//判斷多筆資料是否為空白 Cindy
function ChkSubmitNull(vArrayValue,vArrayTitle,vMessage){
	var msg='';
	for(i=0 ; i<vArrayValue.length ; i++){
		if(vArrayValue[i]==''){
			msg+=vArrayTitle[i]+'\n';
		}
	}
	if(msg!=''){
		alert(vMessage+'\n'+msg+'\n\n');	
		return -1;
	}else{
		return 0;	
	}
}

function funcDisplay(vObj){
	if(vObj.style.display=='none') vObj.style.display='block';
	else vObj.style.display='none';
}

//存瀏覽記錄
function initialize(){
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(historyChange);
	//dhtmlHistory.add();
}

function historyChange(newLocation, historyData) {
	if(historyData != null){
//		MainDate.innerHTML = historyData;
		showAP(newLocation,historyData);
	}else{
		showAP('list_data.php','MainDate');
	}
};

//即時看縮圖
function chk_getpic(obj, id, objsize ,objWidth){
	var vValur=obj.value;
	if(vValur != ''){
		if(vValur.indexOf('.jpg',1)<0 && vValur.indexOf('.gif',1)<0){
			alert('副檔名必需為jpg或gif, 請重新選擇圖片!');
		}else{
			//判斷大小
			id.src = vValur;
			id.width=objWidth;
		}
	}
}

function chk_getpicUrl(obj, id){
//	alert(obj.length());

//var image=new Image();
//image.src= obj.value;
//alert(image.fileSize);

id.href=obj.value;

//if(image.fileSize > 51200)
//{
//obj.outerHTML=obj.outerHTML;
//  return;
//}

/*	if(obj.value != ''){ id.href = obj.value;
		ImageIcon icon = new ImageIcon(obj.value);   
		icon.getIconHeight();   
		icon.getIconWidth();
	}
*/}

function chk_del(vPage,vTitle){
	chk = confirm("你確定要刪除 '"+vTitle+"' 嗎 ?\n\n");
	if(!chk){
		return false;
	}else{
		//showAP(vPage,'subData');
		location.href=vPage;
	}
}


function FriendPrint(vDiv,vTitle) {
	var PringPage = window.open('../_library/firendprint.php','Print','width=660,height=600,resizable');
	 mmst = document.getElementsByName(vDiv);
	 nHTML = "";
	 for (I=0;I<mmst.length;I++) nHTML = nHTML + mmst[I].innerHTML;
	PringPage.focus();
	//PringPage.document.all['DivPrint'].innerHTML=nHTML;
}

function FrontFriendPrint(vDiv,vTitle) {
	var PringPage = window.open('firendprint.php','Print','width=660,height=600,resizable');
	 mmst = document.getElementsByName(vDiv);
	 nHTML = "";
	 for (I=0;I<mmst.length;I++) nHTML = nHTML + mmst[I].innerHTML;
	PringPage.focus();
	//PringPage.document.all['DivPrint'].innerHTML=nHTML;
}

// 加千分號 1
function moneyFormat(str){
	if(str.length<=3)    return str;
	else    return moneyFormat(str.substr(0,str.length-3))+","+(str.substr(str.length-3));
}

// 加千分號 2
function fnc_format(str){       
   var newStr="";  
 for(var m=0;m<str.length;m++){
     var c=str.charAt(m);
     if(c=='.')
       break;
  }
 var b=m%3; 
 switch(b){
      case 1:{
         for(var i=0;i<str.length;i++){
           newStr=newStr+str.charAt(i);
            if(i==0){
               newStr=newStr+',';
               }
             else {
               if(i%3==0 && i<m-1){
                    newStr=newStr+',' ;
                      }
                }
            }
         break;
        }
      case 2:{
         for(var i=0;i<str.length;i++){
          newStr=newStr+str.charAt(i);
            if(i==1){
               newStr=newStr+',';
               }
             else {
               if((i+2)%3==0 && i<m-1){
                newStr=newStr+',' ;
                      }
                }
            }
         break;
        }
      case 0:{
         for(var i=0;i<str.length;i++){
          newStr=newStr+str.charAt(i);
          if((i+1)%3==0 && i<m-1){
                 newStr=newStr+',';
                      }
            }
         break;
        }         
   }
  return newStr;
}

