var viewmode
var opexe = "0";
var ct = "0";
var gatectpage="gate_ct.asp";
var agreepage = "gate_agree.asp";
var gatectPageUrl = "";
var agreePageUrl = "";
var osVer;
var browser;
var updateServerKey;

function init(pstr) {
    getBrowser();
    if(browser != "IE"){
        alert(msgrunrsexe);
        getExe();
        return;
    }

	if(pstr=="PREVIEW") {
		doPreview();
		return;
	}
	viewmode = 0;
	var condlist = pstr.split("|")
	if(condlist.length == 1) {
		updateServerName = condlist[0];
	} else if(condlist.length == 2) {
		updateServerName = condlist[0];
		updateServerPort = condlist[1];
	} else if(condlist.length == 3) {
		updateServerName = condlist[0];
		updateServerPort = condlist[1];
		opexe = condlist[2];
	} else if(condlist.length == 4) {
		updateServerName = condlist[0];
		updateServerPort = condlist[1];
		opexe = condlist[2];
        ct = condlist[3];
	} else if(condlist.length == 5) {
		updateServerName = condlist[0];
		updateServerPort = condlist[1];
		opexe = condlist[2];
        ct = condlist[3];
        serverUrl = condlist[4];
	} 
    gatectPageUrl = serverUrl + "/" + gatectpage;
    agreePageUrl = serverUrl + "/" + agreepage;
    
    if(checkAx()) {
		var ret;
        ret = RSUPCTRL.GetNeedForMFCUpdate();
        if(ret == 0){
//    	    alert("Not Need MFC Update");
    	}
        else{
        alert("Need MFC Update");
		// Move Page For MFC42.dll 6.0 download
		location.href="http://remotecall.net/main/update/downloadMFC42.asp";
		return;
        }
        if (document.getElementById) {
            document.getElementById('hidepage').style.visibility = 'hidden';
        } else {
            if (document.layers) {
                document.all.hidepage.style.visibility  = 'hidden';
            } else {
                document.all.hidepage.style.visibility  = 'hidden';
            }
        }
        ret = RSUPCTRL.RunFunctionEx("RemoteCall.VRVDInstallEx","",installpath);
        main.style.display="";
    }
}

var sp2;
var ie7;
var ie8;

//is xp service pack2 intalled?
if(window.navigator.userAgent.indexOf("SV1") != -1) sp2=true;
if(window.navigator.userAgent.indexOf("MSIE 7.0") != -1) ie7=true;
if(window.navigator.userAgent.indexOf("MSIE 8.0") != -1) ie8=true;

function checkAx() {
    var ret,intServerPort
    var axupdate = getCookie("axupdate");
    intUpdateServerPort = parseInt(updateServerPort);
    if(!(RSUPCTRL == null || RSUPCTRL.object == null)) {
        if (axupdate != "no") {
            doInit();
            doGetOSVer();
            //exe module//
            if(opexe=="1" || osVer == "VISTA") {
                ret = RSUPCTRL.RunFunction("RSFileUpdateEx", updateServerKey + ";" + updateServerName+ ";" + updateServerPort +";;;" + downpath + ";" + installpath + ";0;0;1;0;0;0;1;");
            }else{
                ret = RSUPCTRL.RunFunction("RSFileUpdateEx", updateServerKey + ";" + updateServerName+ ";" + updateServerPort +";;;" + downpath + ";" + installpath + ";0;0;1;0;0;0;0;");
            }
            if(ret == ""){
                alert("Update Fail(1)");
//                alert("RunFunction Fail(1)");
    	    }else{
                var i;
                i = parseInt(ret,10);
                if(i == 0){
//	                alert("RunFunction Success");
                    setCookie("axupdate", "no", 1);
	                return true;
	            }else{
//  	                alert("RunFunction Fail(2)");
  	                return true;
  	            }
            }
            return true;
        }else{
            doGetOSVer();
//            alert("do not update");
            return true;
        }
	} else {
		notExistAx();
	}
}

function notExistAx(){
	if(sp2) {
	    document.all.sp2.style.visibility  = '';
	    document.all.ie.style.visibility  = 'hidden';
//		alert(msgSp2);
	}else if(ie7 || ie8){
	    document.all.sp2.style.visibility  = '';
        document.all.ie.style.visibility  = 'hidden';
//			alert(window.navigator.userAgent);
    }else{
    document.all.sp2.style.visibility  = 'hidden';
    document.all.ie.style.visibility  = '';
	    alert(msgDoInstallActiveX);
	}
}

function onUpdateFail() {
    alert("Update Failed");
}

function open_connect(id,guid,ctrlcode,usepincode,useagree,usemsg,connectpage) {
	if(viewmode) return;
	document.f.id.value = id;
	document.f.guid.value = guid;
	document.f.connectpage.value = connectpage;
	document.f.useagree.value = useagree;
	document.f.usepincode.value = usepincode;
	document.f.usemsg.value = usemsg;
	document.f.ctrlcode.value = ctrlcode;
	if(useagree=="1" || usepincode=="1") {
		open_agree();
	} else {
		open_gateconnect();
	}
}

function open_connectExt(id,guid,ctrlcode,usepincode,useagree,usemsg,connectpage,psgatectpage,psagreepage) {
	if(viewmode) return;
	document.f.id.value = id;
	document.f.guid.value = guid;
	document.f.connectpage.value = connectpage;
	document.f.useagree.value = useagree;
	document.f.usepincode.value = usepincode;
	document.f.usemsg.value = usemsg;
	document.f.ctrlcode.value = ctrlcode;
    if(psgatectpage != "") gatectPageUrl = serverUrl + "/" + psgatectpage;
    if(psagreepage != "") agreePageUrl = psagreepage + "/" + psagreepage;
	

    if(useagree=="1" || usepincode=="1") {
		open_agree();
	} else {
		open_gateconnect();
	}
}

function closeWin() {
	self.opener = self;
	window.close();
}

function open_gateconnect() {
	document.f.action = gatectPageUrl;
	document.f.method = "POST";
	document.f.submit();
}

function open_agree() {
	document.f.action = agreePageUrl;
	document.f.method = "POST";
	document.f.submit();
}

function addToFavorite(shortcutName) { 
	if(viewmode) return;
	if ((navigator.appVersion.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) { 
		window.external.AddFavorite(location.href, shortcutName); 
		RSUPCTRL.RunFunction("CreateDesktopIcon",location.href + ";" + shortcutName +";" + installpath + "\\rcmain.ico;");
	}
} 

function addToFavoriteExt(psurl,shortcutName) { 
	if(viewmode) return;
	if ((navigator.appVersion.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) { 
		window.external.AddFavorite(psurl, shortcutName);
		RSUPCTRL.RunFunction("CreateDesktopIcon",psurl + ";" + shortcutName +";" + installpath + "\\rcmain.ico;");
	}
} 

function pcinfo() {
	if(viewmode) return;
	var testwin = window.open('http://userpc.com/asset/asset.asp','TEST','toolbar=0,location=no,directiories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=527,height=607');
	testwin.focus();
}

function manually_popup(url) {
	var testwin = window.open(serverUrl+"/main/common/"+url,'TEST','toolbar=0,location=no,directiories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=578,height=607');
	testwin.focus();
}

function getExe() {
    if(pagename =="gcode"){
	    window.location.href = serverUrl + "/files/rsg.exe";
	}else{
	    window.location.href = serverUrl + "/files/rs.exe";
	}
}

//g_code
function getExeG() {
	window.location.href = serverUrl + "/files/rsg.exe";
}

function getExe2() {
    window.location.href = serverUrl + "/files/AxInst_rc41.exe";
}

function activex_install_popup() {
	var testwin = window.open(serverUrl+"/main/popup/activex_install.asp",'REMOTECALL','toolbar=0,location=no,directiories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=700,height=530');
	testwin.focus();
}

function refresh() {
	if(viewmode) return;	
	location.reload();
}

function openLiveCall(psgatename) {
    if(confirm(msgLiveCallScanning)) {
        dest = serverUrl + "/main/livecall/popup_livecall.asp?gatename="+psgatename;
        //dest = "http://10.21.1.51/main/livecall/popup_livecall.asp?gatename="+psgatename;
        window.open(dest,'popup_livecall','width=460,height=290,top=50,left=150');
    }
}

function openLiveCallExt(psgatename, psserveraddr) {
    if(confirm(msgLiveCallScanning)) {
        dest = serverUrl + "/main/livecall/popup_livecall.asp?gatename="+psgatename+"&serveraddr="+psserveraddr;
        window.open(dest,'popup_livecall','width=460,height=290,top=50,left=150');
    }
}

function doPreview() {
	if (document.getElementById) {
		document.getElementById('hidepage').style.visibility = 'hidden'
	} else {
		if (document.layers) {
			document.hidepage.visibility = 'hidden';
		} else {
			document.all.hidepage.style.visibility  = 'hidden';
		}
	}
    main.style.display = "";
	viewmode = 1;
} 

function doInit(){
    updateServerName = updateServerName.replace("http://", "");
    updateServerName = updateServerName.replace("https://", "");
    if(updateServerPort == "443"){
        updateServerName = "https://" + updateServerName
    }else{
        updateServerName = "http://"  + updateServerName 
    }
    getUpdateServerKey();
    ret = RSUPCTRL.Init(updateServerKey, updateServerName,updateServerPort,"update/rsupcomn");

    if(ret == 0){
//    	alert("Init Success");
    }else{
        if(updateServerPort == "443"){
//            alert("Init Fail");
        }else{
            updateServerPort = "443";
            doInit();
        }
    }
}

function gcode_init(pstr) {
    getBrowser();
    if(browser != "IE"){
        alert(msgrunrsgexe);
        getExe();
        return ;
    }
    if(checkAx()) {
		var ret;
        ret = RSUPCTRL.GetNeedForMFCUpdate();
        if(ret == 0){
//    	    alert("Not Need MFC Update");
    	}
        else{
            alert("Need MFC Update");
//		    Move Page For MFC42.dll 6.0 download
		    location.href="http://remotecall.net/main/update/downloadMFC42.asp";
		return;
        }
        if (document.getElementById) {
            document.getElementById('hidepage').style.visibility = 'hidden';
        } else {
            if (document.layers) {
                document.all.hidepage.style.visibility  = 'hidden';
            } else {
                document.all.hidepage.style.visibility  = 'hidden';
            }
        }
        ret = RSUPCTRL.RunFunctionEx("RemoteCall.VRVDInstallEx","",installpath);
        main.style.display="";
        document.f.gcode.focus();
    }
}

function getCookie(name) {
	var Found = false;
	var start, end;
	var i = 0;

	// cookie txt search//
	while (i <= document.cookie.length) {
		start = i;
		end = start + name.length;
		
		if (document.cookie.substring(start, end) == name) {
			Found = true;
			break;
		}
		i++;
	}
	if (Found == true) {
		start = end + 1;
		end = start + 2;
		//end = document.cookie.indexOf(";", start);//
		
		if(end > start)

		return document.cookie.substring(start, end);
	}
	return "";
}

function setCookie(name, value, expiredays) {
    var todayDate = new Date();
    todayDate.setMinutes(todayDate.getMinutes() + expiredays);
    document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

//Ax use check //
function IsActiveXEnabled(){
    var activeXEnabled = false;
	try{
		var control=new ActiveXObject("Microsoft.ActiveXPlugin.1");
		activeXEnabled=control!=null;
		control= null;}
	catch(e) {
		try{
			var control=new ActiveXObject("MSXML");
			activeXEnabled=control!=null;
			control=null;}
		catch(e) {}}
//    alert(activeXEnabled);
	return activeXEnabled;
}

function doGetOSVer() {
    ret = RSUPCTRL.RunFunction("GetOSVer","1");
    //alert(ret);
    if(ret >= 60){
        osVer   = "VISTA";
        installpath = vistainstallpath;
    }else if(ie8){
        osVer   = "VISTA";
    }
}

function doAdminCheck(){
    if(!(RSUPCTRL == null || RSUPCTRL.object == null)){
        ret = RSUPCTRL.RunFunction("IsAdminUserCheck","");
        if(ret == ""){        //alert("RunFunction Fail1");
        }else{
            if(ret == "1"){
                //alert("Admin User");
            }else{              
                //alert("Limit User");
                if(osVer == "VISTA"){
                    if(pagename =="gcode"){
                        document.all.gcodeinfo_admin.style.display  = 'none';
                        document.all.gcodeinfo_guest.style.display  = '';
                        document.all.iconview.style.visibility  = 'hidden';
                    }else{
                        document.all.iconview.style.visibility  = 'hidden';
                        document.all.limit.style.visibility  = '';
                    }
                }else{
                    document.all.limit.style.visibility  = '';
                }
            }
        }
    }
}

function popup_help(colorcd,ptype) {
    var rsupwin
    if((colorcd = "DA1") && (ptype = "icon")){
        rsupwin = window.open(serverUrl+"/main/popup/help.asp?ptype="+ptype,'RSUPPORT','toolbar=0,location=no,directiories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=700,height=530');
    }else{
        rsupwin = window.open(serverUrl+"/main/common/popup.asp",'RSUPPORT','toolbar=0,location=no,directiories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=578,height=607');
    }
	rsupwin.focus();
}

//images resize
function resize_img(img_name,maxWidth,maxHeight){
    w = eval("document."+img_name+".width");
    h = eval("document."+img_name+".height");
    if(w > maxWidth){
        nw = maxWidth;
    }else{
        nw = w;
    }
    if(h > maxHeight){
        nh = maxHeight;
    }else{
        nh = h;
    }
    if(nh == 0){nh =maxHeight}
    if(nw == 0){nw =maxWidth}
    eval("document."+img_name+".height="+nh);
    eval("document."+img_name+".width="+nw);
}

function doAdminCheck_F(){
    if(!(RSUPCTRL == null || RSUPCTRL.object == null)){
        ret = RSUPCTRL.RunFunction("IsAdminUserCheck","");
        if((ret != "") && (ret != "1") && (osVer == "VISTA")){
            document.all.main.style.display='none';
            document.all.hidepage.style.visibility  = '';
        }
    }
}

function getBrowser(){
    if(window.ActiveXObject){
        browser = "IE";     //internet explorer
    }else if(window.XMLHttpRequest){
        browser = "ETC";    // firefox, opera...
    }else{
        browser = "ETC";    // ETC
    }
}

function getUpdateServerKey(){
    //b.rsup.net
    if(updateServerName == "b.rsup.net")                      {updateServerKey = "D46F26182F8551ADF9A9080C46FE5762";}
    else if(updateServerName == "http://b.rsup.net")          {updateServerKey = "30F1DED29F4FF3DCEE8C60210C892D65";}
    else if(updateServerName == "https://b.rsup.net")         {updateServerKey = "52527ED5646AA777803A7310F38ABC56";}
    //rsup.net
    else if(updateServerName == "rsup.net")                   {updateServerKey = "95579C378F8A75B8AC52A42C683FB6E9";}
    else if(updateServerName == "http://rsup.net")            {updateServerKey = "CAD16BF71902A06285F62E9C6027740C";}
    else if(updateServerName == "https://rsup.net")           {updateServerKey = "7BDE3ED15B72A59F0FB707E04D7BAE60";}
    //remotecall.jp
    else if(updateServerName == "remotecall.jp")              {updateServerKey = "E5016C874D9A93231E25C9DBFAB482B2";}
    else if(updateServerName == "http://remotecall.jp")       {updateServerKey = "9BABB04E32E810318CB67C89951AD260";}
    else if(updateServerName == "https://remotecall.jp")      {updateServerKey = "155A59EBDD39288C51D60C0AA9047BB1";}
    //usupdate.rsup.net
    else if(updateServerName == "usupdate.rsup.net")          {updateServerKey = "688C2BAA66141D4B69FE653A3BBBA947";}
    else if(updateServerName == "http://usupdate.rsup.net")   {updateServerKey = "91F98CEDDF571DB638246CCA457707FB";}
    else if(updateServerName == "https://usupdate.rsup.net")  {updateServerKey = "25A33404DFD4354214B13DCD488BBD95";}
    //deupdate.rsup.net
    else if(updateServerName == "deupdate.rsup.net")          {updateServerKey = "632F79A5C48C2A3D6A5AED5C026D0068";}
    else if(updateServerName == "http://deupdate.rsup.net")   {updateServerKey = "38DF6796E6CAB7622DDEEB689F323163";}
    else if(updateServerName == "https://deupdate.rsup.net")  {updateServerKey = "181E64FEC40F2D5A8955EC348A027911";}
    //rc40.net
    else if(updateServerName == "rc40.net")                   {updateServerKey = "E2B984724B6ED040320F8C2FC249EAAC";}
    else if(updateServerName == "http://rc40.net")            {updateServerKey = "D61E526ABEBEF548DBF6F8D80DF03A85";}
    else if(updateServerName == "https://rc40.net")           {updateServerKey = "3DB5988182DFC0D342DA1AE956636971";}
    //rs009.com
    else if(updateServerName == "rs009.com")                  {updateServerKey = "543AAB572D048AD7C86CE69475A7DA6E";}
    else if(updateServerName == "http://rs009.com")           {updateServerKey = "2C53C40F37142E52381FAC2E1BD279CD";}
    else if(updateServerName == "https://rs009.com")          {updateServerKey = "AF707F03380570C6191D939929709CFC";}
    //sgupdate.startsupport.com
    else if(updateServerName == "sgupdate.startsupport.com")        {updateServerKey = "C5CF8AF9234544CCED613ABA647BD67F";}
    else if(updateServerName == "http://sgupdate.startsupport.com") {updateServerKey = "F1E741D71FA0B4E14402EA0B0EB2E50C";}
    else if(updateServerName == "https://sgupdate.startsupport.com"){updateServerKey = "0CFC84B15765D2FEA59F1A225AB02AAB";}
    //rsup.kr
    else if(updateServerName == "rsup.kr")                    {updateServerKey = "14313DB2CA1B4D0C8A70C72FF1AEBAD8";}
    else if(updateServerName == "http://rsup.kr")             {updateServerKey = "FF1A029C866349C13CA1D04274EB99D9";}
    else if(updateServerName == "https://rsup.kr")            {updateServerKey = "7A16049495BA2BA92CA287B9691E1034";}
    //update.gatecall.net
    else if(updateServerName == "update.gatecall.net")        {updateServerKey = "F15470506D6BA8CF16A910CFFC84D979";}
    else if(updateServerName == "http://update.gatecall.net") {updateServerKey = "379765939B3584A5C15B96CEE97577FA";}
    //192.168.150.251
    else if(updateServerName == "192.168.150.251")                {updateServerKey = "FA12E1383402AD5A2D36625DD8115723";}
    else if(updateServerName == "http://192.168.150.251")         {updateServerKey = "84945F533B9FB3475FD6BB38EAA011C0";}
    //10.21.30.51
    else if(updateServerName == "10.21.30.51")                {updateServerKey = "C83956607122DB232DE08228D8EA59A5";}
    else if(updateServerName == "http://10.21.30.51")         {updateServerKey = "14241E3F93D5B0BEF81951DBC6C090AD";}
    //akamai
    else if(updateServerName == "akamai.rsupport.com")                 {updateServerKey = "77DCAD86270AD1EC16B70E3B5604C624";}
    else if(updateServerName == "http://akamai.rsupport.com")          {updateServerKey = "218FD17DB259D8D1CEDFBDBE8B661D9F";}
    else if(updateServerName == "https://akamai.rsupport.com")         {updateServerKey = "939A610895A775B28BEC067F055AB367";}
    //125.141.144.9
    else if(updateServerName == "125.141.144.9")                {updateServerKey = "1568DA72487222E119B59772E69B2911";}
    else if(updateServerName == "http://125.141.144.9")         {updateServerKey = "C58C5CD46C15B5D6867739B7197167AD";}  
    //125.141.144.21
    else if(updateServerName == "125.141.144.21")                {updateServerKey = "38196168413B797BC4EB9C8CEE81CC49";}
    else if(updateServerName == "http://125.141.144.21")         {updateServerKey = "F27E30266FD6F03DBB87146F5B3351B9";}    
    //192.168.150.250
    else if(updateServerName == "192.168.150.250")                {updateServerKey = "95506A2A843E02FDD0A047E527A07EB5";}
    else if(updateServerName == "http://192.168.150.250")         {updateServerKey = "0B72C971ED86D38A91D51ED9D9179FBC";}    
                
}
