var SIM = '~`!@$^*()_-|{}[];,./?';
var NUM = '0123456789';
var ALPHA = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var PATH_SIM = '~`!@$^()_-{}[];,./\\';
var FILE_SIM = '~`!@$^()_-{}[];,.';
var SPACE = ' ';
//var TAB = '\t';
var CR = '\r';
var LF = '\n';
var MENU_COUNT = 22;

var MenuNameArray = new Array(MENU_COUNT);

function checkSpace(str)
{
	if(str.search(/\s/) != -1) {
		return true;
	}
	else {
		return false;
	}
}

function TypeCheck(s, spc)
{
	var i;
	var check = 0;
	var ls = 0;
	for(i=0; i<s.length; i++) {
		if (ls = spc.indexOf(s.substring(i, i+1)) >= 0){
			check = 1;
		}
		else {
			check = 0;
			break;
		}
	}

	if(check == 1) return true;
	else return false;
}

function Trim(strings)
{
	var retString = "";
	var c;
	var i;

	if ((strings!=null)||(strings=="")) {
		for(i=0;i<strings.length;i++) {
			c = strings.charAt(i);
			if(c != ' ') {
				retString += c;
			}
		}
	}
	return(retString);
}

function checkKorean(str)
{
	var ch;
	for(i=0; i<str.length; i++) {
		ch = str.charAt(i);
		if(escape(ch).length > 4)
			return false;
	}
	return true;
}

function TypeCheckEx(s, spc)
{
	var i;
	var ch;

	for(i=0; i< s.length; i++) {
		if (spc.indexOf(s.substring(i, i+1)) < 0){
			ch = s.charAt(i);
			if(escape(ch).length <= 4)
				return false;
		}
	}

	return true;
}

// ë°”ì´íŠ¸ê³„ì‚° í•¨ìˆ˜ Msgì˜ Byteìˆ˜ë¥¼ ê³„ì‚°í•œë‹¤.
function calculate_msglen(msg)
{
	var nbytes = 0;

	for (i=0; i<msg.length; i++) {
		var ch = msg.charAt(i);
		var ech = encodeURI(ch);

		if(ech.length >= 3)  // UTF8 ì´ë©´ 1~4 bytesë¡œ ê°€ë³€ì ì´ë‹¤. (ex %E1%9C%74 )
		{
			nbytes += (ech.length / 3);
		}
		else if (ch == '\n'){
			if (msg.charAt(i-1) != '\r') {
				nbytes += 1;
			}
		}
		else if (ch == '<' || ch == '>') {
			nbytes += 4;
		}
		else{
			nbytes += 1;
		}
	}
	return nbytes;
}

//ì´ˆê³¼í•œ ë°”ì´íŠ¸ì— í•´ë‹¹í•˜ëŠ” ë¬¸ìì—´ ì •ë¦¬ í•¨ìˆ˜
function assert_msglen(message, maximum)
{
	var count = 0;
	var inc = 0;
	var nbytes = 0;
	var msg = new String(message);
	var msglen = message.length;

	for (count=0; count<msglen; count++) {
		var ch = msg.charAt(count);
		var ech = encodeURI(ch);

		if (ech.length >= 3)	// UTF8 ì´ë©´ 1~4 bytesë¡œ ê°€ë³€ì ì´ë‹¤. (ex %E1%9C%74 )
		{
			inc = (ech.length / 3);
		}
		else if (ch == '\n') {
			if (msg.charAt(i-1) != '\r') {
				inc = 1;
			}
		}
		else if (ch == '<' || ch == '>') {
			inc = 4;
		}
		else {
			inc = 1;
		}

		if ((nbytes + inc) > maximum) {
			break;
		}
		else {
			nbytes += inc;
		}
	}
	return msg.substr(0, count);
}

function wv_get_text_write(lang, varDefine) {
	var variable_str;
	try {
		variable_str = eval(varDefine);
		document.write(variable_str[lang]);
	} catch(e) {
		document.write("Not found define language");
	}
}

function wv_get_text_out(lang, varDefine) {
	var variable_str;
	try {
		variable_str = eval(varDefine);
		return (variable_str[lang]);
	} catch(e) {
		return "Not found define language";
	}
}

function makeEventTime(obj, range, selIndex)
{
	for (var i=0; i<range; ++i) {
		obj.options[i] = new Option(i, i);
	}
	obj.selectedIndex = selIndex;
}

function changePTZtoGMT(diffDay, day)
{
	if (diffDay>0) {
		if (day == 0) {
			day = 6;
		}
		else {
			--day;
		}
	}
	else if (diffDay<0) {
		if (day == 6) {
			day == 0;
		}
		else {
			++day;
		}
	}
	return day;
}

function changeGMTtoPTZ(diffDay, day)
{
	if (diffDay>0) {
		if (day == 6)	{
			day = 0;
		}
		else {
			++day;
		}
	}
	else if (diffDay<0) {
		if (day == 0) {
			day == 6;
		}
		else {
			--day;
		}
	}
	return day;
}

function writeObjCtrl(nWidth, nHeight, strName, strID, strCLSID, strCodebase)
{
	if (strCodebase == '')
		var str = '<OBJECT name=' + strName + ' tabindex=-1' + ' width=' + nWidth + ' height=' + nHeight + ' id=' + strID + ' classid=' + strCLSID + '></OBJECT>';
	else
		var str = '<OBJECT name=' + strName + ' tabindex=-1' + ' width=' + nWidth + ' height=' + nHeight + ' id=' + strID + ' classid=' + strCLSID + ' codebase="' + strCodebase + '"></OBJECT>';

	document.write(str);
}

function IpCamStart(sDeviceIP,sMAC,sDevicePort,sDeviceUSER,sDevicePW)
{     
      try
      {
         
         $(document).ready(function() {
    	    var sVenderName = "Samsung";
	        var sModelName;
    	    
	        if (sDevicePort == '60001')
	            sModelName = "SNC-B2331";
	        else
	            sModelName = "SNC-B2315";
    	    
	        var bAllControlDim = 1;
	        var nOverlayText = 1;	    
	        var nUserLevel = 1;
    	    
	        bAllControlDim = true;
    	    
            document.getElementById('GTileContainerCtrl').SetVersion(2);
            document.getElementById('GTileContainerCtrl').AddDevice(sVenderName, sModelName, 1, sMAC, sDeviceIP, sDevicePort, sDeviceUSER, sDevicePW, 1, nUserLevel, nOverlayText);    	

        }); 
    }
    catch(err)
    {
        //alert(err);
    } 
}

function IpCamStartStop()
{
	document.getElementById('GTileContainerCtrl').DeleteDevice(sDeviceIP);
}

function CreateIpCamObject(nWidth, nHeight, strName, strID, strCLSID, strCodebase)
{
	if (strCodebase == '')
		var str = '<OBJECT name=' + strName + ' tabindex=-1' + ' width=' + nWidth + ' height=' + nHeight + ' id=' + strID + ' classid=' + strCLSID + '></OBJECT>';
	else
		var str = '<OBJECT name=' + strName + ' tabindex=-1' + ' width=' + nWidth + ' height=' + nHeight + ' id=' + strID + ' classid=' + strCLSID + ' codebase="' + strCodebase + '"></OBJECT>';
    
	document.write(str);
}

var firmware = [
	["Firmware"],
	["íŒì›¨ì–´"],
	["å›ºä»¶"],
	["Microlog"],
	["Firmware"],
	["Firmware"],
	["Firmware"]
];

var product = [
	["Product S/N"],
	["ì œí’ˆ S/N"],
	["äº§å“ S/N"],
	["Sig/br prod"],
	["S/N prod."],
	["S/N producto"],
	["Produkt-S/N"]
];

var write_apply_u = [
	["APPLY"],
	["적용"],
	["应用"],
	["APPLIQUER"],
	["APPLICA"],
	["APLICAR"],
	["ÜBERNEHMEN"]
];

var write_cancel = [
	["Cancel"],
	["취소"],
	["取消"],
	["Annuler"],
	["Annulla"],
	["Cancelar"],
	["Abbrechen"]
];

var write_reset = [
	["Reset"],
	["초기화"],
	["重置"],
	["Réinitialiser"],
	["Reimposta"],
	["Reinicializar"],
	["Zurücksetz."]	
];


var write_apply = [
	["Apply"],
	["적용"],
	["应用"],
	["Appliquer"],
	["Applica"],
	["Aplicar"],
	["Übernehmen"]
];