var scrollTop = 0 , scrollLeft = 0 , clientHeight = 0 , clientWidth = 0 ;
 
//****************************************************************************************************************
//****************************************************************************************************************

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

//*****************************************************************************************************************

function comma_Encoded(str)
{
	var periodPos, i, newPrice = "", decimalPart;

	periodPos = str.indexOf(".");
	
	if (periodPos < 0 )
	{
		periodPos = str.length;
		decimalPart = "";
	}
	else
	{
		decimalPart = str.substring(periodPos, str.length);
	}
	
	newPrice = decimalPart;
	
	periodPos = periodPos -1;
	
	var three = 0;

	for (i = periodPos ; i >= 0 ; i--)
	{
		if (three >= 3) three = 1;
		else three++;

		if (three == 3 && i != 0) 
		{
			newPrice = "," +str.substr(i, 1) + newPrice;
		}
		else
		{
			newPrice = str.substr(i, 1) + newPrice;
		}
	}
	
	return newPrice;
}

function transfer2RealQuote(text)
{
	var regexp1 = /&#39/g;
	var regexp2 = /&#34/g;
	
	text = text.replace(regexp1, "'");
	text = text.replace(regexp2, '"');
	
	return text;
}

function transfer2CodedQuote(text)
{
	var regexp1 = /'/g;
	var regexp2 = /"/g;
	
	text = text.replace(regexp1, "&#39");
	text = text.replace(regexp2, "&#34");
	
	return text;
}

function transfer2BigQuote(text)
{
	var regexp1 = /'/g;
	var regexp2 = /"/g;
	
	text = text.replace(regexp1, "’");
	text = text.replace(regexp2, "”");
	
	return text;
}

function transfer2SmallQuote(text)
{
	var regexp1 = /’/g;
	var regexp2 = /”/g;
	
	text = text.replace(regexp1, "'");
	text = text.replace(regexp2, '"');
	
	return text;
}

//**************************************************************

function trimManySpace2OneSpace(str)
{
	var regex = /　+/gi;

	str = trimString(str);
	str = str.replace(regex," ");
	
	regex = /\s+/gi;
	str = str.replace(regex," ");
	
	
	return str;
}

function markbold(resultT, partName)
{
	var i, re ;

	i = resultT.toLowerCase().indexOf(partName.toLowerCase()); 

	re = "<b>" +  resultT.substr(i, partName.length) + "</b>" + resultT.substr(i + partName.length , resultT.length - i - partName.length );
	
	return re;
}

function checkemailformat(emailstring)
{
	var regexp_mail  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (regexp_mail.test(emailstring)) return true; else return false;
}

function shorting(txt)
{
	var i, total;
	total = 0; 
	var xxx= " ";
	for (i = 0 ; i < txt.length; i++)
	{
		if (txt.charCodeAt(i) >=32 && txt.charCodeAt(i) <=126 )
			total ++;
		else
		   	total = total + 2;
			
		if (total > 12) break;
	}
	
	return txt.substr(0,total) + "...";
}

function validateQueryForm(mode) 
{
	var temp;
	
	document.myReturnValue = true;	
	document.reQuery.deleteID.value = "";
	document.maintainData.modifyID.value = "";
	document.maintainData.mod_add_value.value = "";	

	document.reQuery.searchString.value = trimManySpace2OneSpace(document.reQuery.searchString.value);
	
	//check empty
	if ((document.reQuery.searchField.value != "searchNothing") &&
		(trimString(document.reQuery.searchString.value) == ""))
	{
		alert("請輸入欲搜尋字串資料");
		document.reQuery.searchString.focus();
		document.myReturnValue = false;
		return;
	}	
	
	//check ISBN

	if ((document.reQuery.searchField.value == "searchISBN") &&
		!(
			checkIsISBN(trimAndRemoveSpaceString(document.reQuery.searchString.value.toUpperCase()), 10 ) ||
			checkIsISBN(trimAndRemoveSpaceString(document.reQuery.searchString.value.toUpperCase()), 13 ) 
		)
	   )
	{
		alert("請輸入正確的 ISBN numb");
		document.reQuery.searchString.focus();
		document.myReturnValue = false;
		return;
	}
	
	//internal number
	
	var regexp1 = /^[0-9]{1,}$/;
	var regexp2 = /\s+/;

	if (document.reQuery.searchField.value == "searchInternalCode")
	{
		document.reQuery.searchString.value = trimString(document.reQuery.searchString.value);
		
		if (!regexp1.test(document.reQuery.searchString.value)|| regexp2.test(document.reQuery.searchString.value))
		{
			alert("請輸入正確的編號(數字)");
			document.reQuery.searchString.focus();
			document.myReturnValue = false;
			return;
		}
	}
	
	// ***********出版年********************************
	var regexp3 = /^[0-9]{4}$/gi;
	
	if (document.reQuery.searchField.value == "searchPublishYear")
	{
		document.reQuery.searchString.value = trimAndRemoveSpaceString (document.reQuery.searchString.value);
		temp = document.reQuery.searchString.value;
	
		if (!regexp3.test(temp))
		{
			alert("請輸入正確的出版年格式");
			document.reQuery.searchString.focus();
			document.myReturnValue = false;
			return; 
		}
	}
	// **********************************************
		
	document.reQuery.pagenum.value = ""; // 重新查詢時，頁次要歸為第1頁開始顯示
	
	if (mode == "admin") setTimeout('doSubmit_reQuery()',10);	//為了IE6.0可以submit而改寫	
}

function setInit(anotherFalg)
{		
	document.getElementsByName("searchField")[0].selectedIndex = document.getElementsByName("pTargetField")[0].value;
	document.getElementsByName("searchString")[0].value = transfer2SmallQuote(document.getElementsByName("pTargetString")[0].value);
	document.getElementsByName("orderBy")[0].selectedIndex = document.getElementsByName("pTargetOrderBy")[0].value;
	document.getElementsByName("listOrder")[0].selectedIndex = document.getElementsByName("pTargetOrder")[0].value;
	document.getElementsByName("EachPageCount")[0].selectedIndex = document.getElementsByName("pEachPageCount")[0].value;
	
	if (anotherFalg == true)
	{
		document.getElementsByName("BookStatus")[0].selectedIndex = document.getElementsByName("pTargetBookStatus")[0].value;
	}
	
	check_searchString();
	
	document.getElementsByName("runQuery")[0].focus();
}

function check_searchString()
{
	if (document.reQuery.searchField.value != "searchNothing")	
	{
		document.reQuery.searchString.disabled = false;
		document.reQuery.searchString.focus();
	}
	else
	{
		document.reQuery.searchString.disabled = true;
		document.reQuery.searchString.value = ""
	}
}

function pop_w( pic , w , h )
{
//alert(w + "-" + h);
	var tmp = new Date(); 
    tmp = "?" + tmp.getTime();  // 為取得最新ｉｍａｇｅ
  
	//open the window 
		  
	var  new_pop_win = window.open("", "bookWin", "directories=no,location=no,resizable=no,width=" + (w + "") + ",height=" + (h + "") + ",status=no,titlebar=no,toolbar=no,scrollbars=no,menubar=no");

	// write to window	
	
	if (new_pop_win.document.getElementsByName("targetimg")[0])
		new_pop_win.document.getElementsByName("targetimg")[0].src = "./bookpictures/big/" + pic + "" + tmp;
	else
	{
		new_pop_win.document.writeln("<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'/><style type=text/css> body {background-color: #3399CC; margin-left: 0px;margin-top:0px;margin-right: 0px;margin-bottom: 0px;}</style></head><body><div align=center><img id=targetimg name=targetimg src='./bookpictures/big/" + pic + tmp + "' border=0></div></body></html>"); 	
	}
	
	new_pop_win.document.title = "二手書封面照片(編號:" + pic.substr(0,pic.indexOf(".jpg")) + ")";
	
	var targetWidth = w;
	var targetHeight = h;	
	
	if (newIE) targetHeight = targetHeight + 90	; else targetHeight = targetHeight + 50	;
	
	new_pop_win.resizeTo(targetWidth, targetHeight);
	new_pop_win.focus();	
}

function getsScrollTopLeft_clientHeightWidth()
{
	scrollTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop: document.documentElement.scrollTop;
	scrollLeft = document.documentElement.scrollLeft == 0 ? document.body.scrollLeft: document.documentElement.scrollLeft;
	
	clientHeight  = document.documentElement.clientHeight== 0 ? document.body.clientHeight: document.documentElement.clientHeight;
	clientWidth  = document.documentElement.clientWidth == 0 ? document.body.clientWidth: document.documentElement.clientWidth;
}

function runtoplayer()
{	
	getsScrollTopLeft_clientHeightWidth();
	
	document.getElementsByName("TopLayer")[0].style.top =  scrollTop + clientHeight -20;
	document.getElementsByName("TopLayer")[0].style.left =  scrollLeft + clientWidth - 45 ;

	document.getElementsByName("TopLayer")[0].style.visibility  = "visible";
	setTimeout("runtoplayer()",50);
}

//****************************************************************************************

function changePage(i, haveBookStatus)
{
	document.reQuery.pagenum.value = (i+'');
	
	document.reQuery.deleteID.value = "";
	document.maintainData.modifyID.value = "";
	document.maintainData.mod_add_value.value = "";	
	
	document.reQuery.searchField.selectedIndex = document.reQuery.pTargetField.value;		
	document.reQuery.searchString.value = document.reQuery.pTargetString.value;
	document.reQuery.orderBy.selectedIndex = document.reQuery.pTargetOrderBy.value;		
	document.reQuery.listOrder.selectedIndex = document.reQuery.pTargetOrder.value;
	
	if (haveBookStatus == true)
	{
		document.reQuery.BookStatus.selectedIndex = document.reQuery.pTargetBookStatus.value;		
	}

	check_searchString();

    setTimeout('doSubmit_reQuery()',10);	//為了IE6.0可以submit而改寫
}

function doSubmit_reQuery()
{
	document.getElementsByName("reQuery")[0].submit();
}

function doSubmit_maintainData()
{
	document.getElementsByName("maintainData")[0].submit();
}
//****************************************************************************************

function checkIsISBN(str, pos) 
{
	var t = 0, i, c, k = 1, base = pos;
	
	for ( i = 0 ; i < str.length ; i++)
	{
		c = str.charCodeAt(i);
		
		if (base == 10)
		{
   			// Final X character
			if (c == 88 && pos == 1)
				t += 10 ;			
	
   			if (c > 47 && c < 58)  //DIGITS
				t += (c-48) * pos; 

			pos--;
		}
		else
		{
			if (c > 47 && c < 58)
			{
				pos--;
				t += (c-48) * (2 + (k =- k) );
			} 
		}
	}
		
	if (base == 10)	
  		return ( pos == 0 ) && ( t%11 == 0 );
	else // ISBN-13
		return  pos == 0 ? ( t%10 == 0 ) : false; 
}

function trimAndRemoveSpaceString (str) {

	var finalText = "", i;
	
  	str = this != window? this : str;
   	str = str.replace(/^\s+/g, '').replace(/\s+$/g, '');
  	str = str.split(" ");
  
  	for(i = 0; i < str.length; i++)
		finalText += str[i];
	
	str = finalText.split("　");
	finalText = "";
	
	for(i = 0; i < str.length; i++)
		finalText += str[i];
			  
	return finalText;
}

function trimString (str) {
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function ISBN10to13(str, targetObj) 
{
	var i, base = 13, sum = 0, weight, checksum;
	
	if (!checkIsISBN(str, 10)) 
	{
		alert("請輸入正確的 ISBN-10");
		return;
	}
	
	str = "978" + str.substr(0, 9);

	for ( i = 0 ; i <= 11 ; i++ )
	{
		weight = (i % 2 == 0) ?  1 : 3;
		sum = sum + parseInt(str.substr(i,1)) * weight; 		
	}
	
	checksum = (sum % 10) == 0 ? 0 : (10 - sum % 10);
	
	if (targetObj != null) targetObj.value = str + checksum + "";
	else return (str + checksum + "");
}