﻿// JavaScript Document
/* break down mouse click right-button for every page */
var message="Function Disabled!";
function clickIE() {if (document.all) {alert(message);return false;}}
function clickNS(e) {if 
(document.layers||(document.getElementById&&!document.all)) {
if (e.which==2||e.which==3) {alert(message);return false;}}}
if (document.layers) 
{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}
else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;}

document.oncontextmenu=new Function("return false")

if ((navigator.appName == "Microsoft Internet Explorer") &&
    (navigator.platform != "MacPPC") &&
    (navigator.platform != "Mac68k")) {
  var browser = "IE";
} else {
  var browser = "Netscape";
  top.dt.user.player = "Quicktime";
}

/* get Product-ID for OEM */
function getOemPID() {
    document.write(top.dt.user.OemPID);
}

/* draw <body> and big graphic <table> include: left-border and center-border */
function drawBigTable() {
    document.write("<body onload='init();' background='images/all_bg.gif' leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>");
    document.write("<table cellspacing=0 cellpadding=0 width=100% height=528>");
    document.write("<tr><td width=7 valign=top height=502><img src='images/IE_left.gif' width=7 height=528></td>");
    document.write("	<td background='images/IE_center.gif' valign=top align=center>");
}

/* draw big graphic <table> right-border */
function drawBigTableEnd() {
    document.write("<td width=3 valign=top height=502><img src='images/IE_right.gif' width=7 height=528></td></tr>");
    document.write("</table>");
    document.write("</body>");
}

function abortHttp(httpObject)
{
	httpObject.abort();
}

function createHttpRequestObj()
{
	var XMLhttpObject = null;
	try {XMLhttpObject = new XMLHttpRequest();}
	catch(e){
		try {XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");}
		catch(e){
			try {XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");}
			catch(e) {return null;}
		}
	}
	return XMLhttpObject;
}

function requestCgiParam(xmlhttp, requestData)
{
	if (xmlhttp)
	{
    	requestData += getRandomURL();
		xmlhttp.open("get", requestData, true);
		xmlhttp.send(null);
	}
}

function sendCgiParam(xmlhttp, requestData)
{
	if (xmlhttp)
	{
    	requestData += getRandomURL();
		httpObj.open("get", requestData, true);
		httpObj.send(null);
	}
}

function GetCgiParam(objStr, strSearch)
{
	var curr_pos;
	var result;
	
	objStr.strSearch	= strSearch;
	objStr.curr_pos 	= 0;
	
	do
	{
		result = 1;
		curr_pos = objStr.strSrc.indexOf(objStr.strSearch, objStr.curr_pos);
		if (curr_pos < 0)
		{
			result = 0;
			break;
		}
		objStr.curr_pos = curr_pos + objStr.strSearch.length;
		
		curr_pos = objStr.strSrc.indexOf('\n', objStr.curr_pos);
		//alert(curr_pos);
		//return 0;
		
		if (curr_pos < 0)
		{
			if (objStr.curr_pos < objStr.strSrc.length)
			{
				//alert(curr_pos);
				objStr.strGet 	= objStr.strSrc.substring(objStr.curr_pos, objStr.strSrc.length);
				objStr.curr_pos = curr_pos;	
				break;
			}
			result = 0;
			break;
		}
		objStr.strGet 	= objStr.strSrc.substring(objStr.curr_pos, curr_pos);
		objStr.curr_pos = curr_pos;
		
		//alert(objStr.strGet);
	} while(0);
	
	return result;
}

function GetCgiResult(strResult)
{
	tmpstr= strResult.split('\n');
	return tmpstr[0];
}
/*
function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    alert(strQueryString);
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if ( 
		aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return strReturn;
} 
*/
function getURL(){
	var a = document.URL.split("//"); // split at protocol
	a = (a[1] ? a[1] : a[0]).split("/"); 
	// use last element of a; split at /
	// host is a[0]; path is a[1..(n-1)]; a[n] is page
	//alert(a.join("\n"));
	return a[0];
	//return "192.168.5.46";
}

function Hex2Str(n)
{
    var m = n & 0x0000FF;
    var str = "";
    var tmp1 = parseInt(m/16);
    var tmp2 = parseInt(m%16);
    switch (tmp1)
    {
        case 15: str = "F"; break;
        case 14: str = "E"; break;
        case 13: str = "D"; break;
        case 12: str = "C"; break;
        case 11: str = "B"; break;
        case 10: str = "A"; break;
        default: str = tmp1; break;
    }
    switch (tmp2)
    {
        case 15: str += "F"; break;
        case 14: str += "E"; break;
        case 13: str += "D"; break;
        case 12: str += "C"; break;
        case 11: str += "B"; break;
        case 10: str += "A"; break;
        default: str += ""+tmp2;
    }
    return str;
}

var tmpVal= "";
function keepVal(val)
{
    tmpVal=val;
}

function chkRangeNumber(obj, minNo, maxNo)
{
    if(obj.value != ""){
    if(isNaN(obj.value) || obj.value.indexOf(" ")!=-1 || obj.value.indexOf(".")!=-1 || (obj.value*1)<minNo || (obj.value*1)>maxNo)
        obj.value = tmpVal;
    }
}

function chkTimeNumber(obj)
{
    if(isNaN(obj.value) || obj.value.indexOf(" ")!=-1 || obj.value.indexOf(".")!=-1 || parseInt(obj.value)>60)
        obj.value = tmpVal;
}

function chkNumber(obj)
{
    if(isNaN(obj.value) || obj.value.indexOf(" ")!=-1 || obj.value.indexOf(".")!=-1)
        obj.value = tmpVal;
}

function parsePreZero(obj)
{
    if(obj.value != "")
    obj.value = obj.value*1;	
}

function parseTwoNum(obj)
{
    if(parseInt(obj.value,10)<10)
        obj.value = "0" + parseInt(obj.value,10);
}

/* support YES/NO, ON/OFF, 1/0 */
function selYesOn1(obj, selStr)
{
    if(selStr.toUpperCase() == "YES" || selStr.toUpperCase() == "ON" || selStr == "1")
        obj.selectedIndex = 0;
    else
        obj.selectedIndex = 1;
}

/* give a value to select a option */
function selObjIndex(obj, selStr)
{
    for(iSel=0; iSel<obj.length; iSel++)
    {
        if(obj[iSel].value == selStr)
        {
            obj.selectedIndex = iSel;
            break;
        }
    }
}

/* check http response, 0 => OK, <0 => ERROR */
function isErr(val)
{
    tmpStr = val.split("\n");
    if(tmpStr[0]<0){
        alert(tmpStr[1]);
        return true;
    }
    else{
        return false;
    }
}

/* 4 drop 5 up, ex: 5.4 => 5, 5.7 => 6 */
function parse4d5u(num)
{
    return parseInt(num + 0.5);
}

/* check user input value if between the range. */
function notRangeNumber(obj, minNo, maxNo, errMsg)
{
    if(obj.value == "" || isNaN(obj.value) || obj.value.indexOf(" ")!=-1 || obj.value.indexOf(".")!=-1 || (obj.value*1)<minNo || (obj.value*1)>maxNo){
        alert(errMsg);
        return true;
    }
    else
        return false;
}

/* check user input value if number. */
function notNumber(obj, errMsg)
{
    if(obj.value == "" || isNaN(obj.value) || obj.value.indexOf(" ")!=-1 || obj.value.indexOf(".")!=-1){
        alert(errMsg);
        return true;
    }
    else
        return false;
}

function notRangeNumberDot(obj, minNo, maxNo, errMsg)
{
    if(obj.value == "" || isNaN(obj.value) || obj.value.indexOf(" ")!=-1 || (obj.value*1)<minNo || (obj.value*1)>maxNo){
        alert(errMsg);
        return true;
    }
    else
        return false;
}
/* generate a random value behind a URL for avoid browser cache */
/* CGI ignored this parameter: rnd */
function getRandomURL()
{
    return "&rnd=" + Math.random();
}

/* get scroll bar's position point, using for small ActiveX scroll bar. */
/* ex:Preset, Cruise, AutoTracking. */
function getPosPoint(jMin, jMax, iCur, iTotal)
{
    if(jMin < jMax){
        iMin = jMin;
        iMax = jMax;
        iFlag = 0;
    }
    else{
        iMin = jMax;
        iMax = jMin;
        iFlag = 1;
    }
    if(iMin<=iCur && iCur<=iMax){
        tmpPos = parseInt((iTotal * (iCur - iMin)) / (iMax - iMin));
        if(iFlag)
            return (iTotal - tmpPos);
        else
            return tmpPos;
    }
    else
        return 0;
}

/* get real count value from scroll bar value. */
function getPosReal(jMin, jMax, iCur, iTotal)
{
    if(jMin < jMax){
        iMin = jMin;
        iMax = jMax;
        iFlag = 0;
    }
    else{
        iMin = jMax;
        iMax = jMin;
        iFlag = 1;
    }
    if(iFlag)
        tmpCur = (iTotal - iCur);
    else
        tmpCur = iCur;
    return parseInt((tmpCur * (iMax - iMin)) / iTotal) + iMin;
}

function setCookie(cookieName, cookieValue){
    document.cookie = cookieName + "=" + cookieValue;
}

function getCookie(cookieName){
    if (document.cookie.length>0){
        c_start = document.cookie.indexOf(cookieName + "=");
        if (c_start != -1){ 
            c_start = c_start + cookieName.length+1;
            c_end = document.cookie.indexOf(";",c_start);
            if (c_end == -1)
                c_end = document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        }
    }
    return "";
}

function getLg(id)
{
    var lgId = 0;
    lgId = top.dt.user.language;
    if(lgId > 0)
        lgId--;
    
    var tmpStr = ""+top.MultiLgArr[id][lgId];
    if(tmpStr == "")
        tmpStr = ""+top.MultiLgArr[id][0]; /* default: ENGLISH */
    
    return ""+tmpStr;
}

function getLgSelItem(obj, strArr, valArr)
{
    var lgId = 0;
    lgId = top.dt.user.language;
    if(lgId > 0)
        lgId--;

	var tmpArr = strArr[lgId];
    if(tmpArr == "")
        tmpArr = strArr[0]; /* default: ENGLISH */
	
	if(tmpArr.length < valArr.length)
	    alert("'"+ obj.name + "' mapping array count error.");
	
	for(i=0; i<valArr.length; i++)
	    obj.options[i]= new Option(""+tmpArr[i], valArr[i]);
}

function getLgSelAuto(obj, strArr)
{
    var lgId = 0;
    lgId = top.dt.user.language;
    if(lgId > 0)
        lgId--;

	var tmpArr = strArr[lgId];
    if(tmpArr == "")
        tmpArr = strArr[0]; /* default: ENGLISH */
	
	for(i=0; i<tmpArr.length; i++)
	    obj.options[i]= new Option(""+tmpArr[i], i);
}

function getLgSelByValue(obj, strArr)
{
	for(i=0; i<strArr.length; i++)
	    obj.options[i]= new Option(strArr[i], strArr[i]);
}

function getLgStr(trgArr, id)
{
    var lgId = 0;
    lgId = top.dt.user.language;
    if(lgId > 0)
        lgId--;
    
    var tmpStr = ""+trgArr[lgId][id];
    if(tmpStr == "")
        tmpStr = ""+trgArr[0][id]; /* default: ENGLISH */
    return ""+tmpStr;
}

function getTxtArrAuto(obj, strArr)
{
    var lgId = 0;
    lgId = top.dt.user.language;
    if(lgId > 0)
        lgId--;

	var tmpArr = strArr[lgId];
    if(tmpArr == "")
        tmpArr = strArr[0]; /* default: ENGLISH */

    for(i=0;i<7;i++)
        obj[i].innerHTML = "" + tmpArr[i];
}

function chkOnKeyDownNumber()
{
	var key = window.event.keyCode;
    if((key==8)||(key==45)||(key==46)||(key==37)||(key==39)||(key==144))
    	return;    
	if( (key>=96 && key<=105) || (key>=48 && key<=57))
    	return;    	
    window.event.returnValue=false;
}

function chkOnKeyDownHexNumber()
{
	var key = window.event.keyCode;
    if((key==8)||(key==45)||(key==46)||(key==37)||(key==39)||(key==144))
    	return;    
	if( (key>=96 && key<=105) || (key>=48 && key<=57) || (key>=65 && key<=70))
    	return;    	
    window.event.returnValue=false;
}

function setLowerCase(obj)
{
    obj.value = obj.value.toLowerCase();
}

function isNotNumberFormat(val)
{
    if(val!=""){
        for(i=0; i<val.length; i++){
            a = val.substring(i,i+1);
            if(!a.match("^[0-9]"))
                return true;
        }
    }
    else
        return false;
}

function isNotHexNumberFormat(val)
{
    if(val!=""){
        for(i=0; i<val.length; i++){
            a = val.substring(i,i+1);
            if(!a.match("^[0-9a-fA-F]"))
                return true;
        }
    }
    else
        return false;
}

function cutSpace(cutStr)
{
    if(cutStr == "&nbsp;")
        return "";
    else
        return cutStr;
}

