/****************
    ver.1.1.2
*****************/
/*
    2021-08-21. jun
    영상 엔진을 편리하게 연결하고 사용하기 위해 작성
    파일 수정할때마다 해달 파일의 맨 위쪽 주석에 버전 변경 요청
    commit 할때 commit message 에 변경된 버전 기재

    * 버전 변경 형식 : ver.a.b.c
    아래의 범주에 따라 숫자가 1씩 증가
    a : 대대적인 수정작업(코드의 80% 이상), a가 증가되면 b,c는 0으로 초기화
            ex) 2.1.3 -> 3.0.0

    b : 버그 패치
            ex) 1.1.9 -> 1.2.0
        b가 증가하면 c는 0으로 초기화
            ex) 1.1.5 -> 1.2.0
        현재 b가 9인 경우 a를 증가 b,c는 0으로 초기화
            ex) 1.9.5 -> 2.0.0

    c : 리팩토링, 개선
            ex) 1.1.1 -> 1.1.2
        현재 c가 9인 경우 b를 증가 c는 0으로 초기화
            ex) 1.1.9 -> 1.2.0

    * 파일 배포 방법
    이 파일 자체를 별도로 배포해야 할때 아래와 같은 절차로 파일을 생성하여 배포한다.
    1. 버전 형식에 맞춰 제일 위의 주석에 버전 변경
    2. jsvascript minifier (https://javascript-minifier.com/)
    3. 본 소스를 좌측 영역(Input JavaScript)에 붙여 넣고 Minify과정을 거쳐 우측영역(Minified Output)을 메모장에 붙여 넣기
    4. 변경된 버전으로 파일생성
        ex) 수정하여 ver.1.1.1이 된 경우 => icomsys-video-1.1.1.min.js
 */
// 순천시 영상상담
// const baseUrl = "https://callview.suncheon.go.kr:8443";
const baseUrl = "https://conf.visionmeet.com:8443";
const smsUrl = "https://www.pingpongkorea.com/sms/sms.php?strTelList=";
const strCallBack = "&strCallBack=0314503328";
let roomIds = { roomId: "", uuid: "" };
let textUrl = "";

function getUuid() {
	return roomIds.uuid;
}

function getTextUrl() {
    return textUrl;
}

// 영상상담 새 세션 실행
function generate(container, company, userid) {
    let vmCustOrg = 'company=' + company + '&userid=' + userid;
    let xhr = new XMLHttpRequest();
    xhr.open('POST', baseUrl + '/room?' + vmCustOrg, false);

    xhr.onreadystatechange = function (e) {
        if (xhr.readyState === 4 && xhr.status === 200) {

            let resText = xhr.responseText;
            roomIds = JSON.parse(resText);

            addIframe(container);
        }
    }
    xhr.send();
}

// 영상상담 종료, 새 세션 실행
function connectOver(container, company, userid) {
    container.innerHTML = '';
    roomIds.roomId = "";
    roomIds.uuid = "";

    generate(container, company, userid);
}

function checkStatus() {
    let xhr = new XMLHttpRequest();
    xhr.open('GET', baseUrl + '/masterjoined?roomid=' + roomIds.roomId, false);

    let rtnStatus = "";
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 && xhr.status == 200) {
            let response = xhr.responseText;
            rtnStatus = JSON.parse(response).status;
        }
    }
    xhr.send(null);

    return rtnStatus;
}

function addIframe(container) {
    let iframe = document.createElement("iframe");

    iframe.src = baseUrl + '/room/' + roomIds.roomId + '/master';
    iframe.width = 1370;
    iframe.height= 600;
    iframe.style.width="100%";
    iframe.allow="camera; microphone";
    iframe.scrolling="no";

    container.appendChild(iframe);

    textUrl = baseUrl + '/room/' + roomIds.roomId;
}

// 영상 상담 중에 상담원의 선택 이미지 고객에게 공유하기
function shareImage(imgUrl) {
    let xhr = new XMLHttpRequest();
    let vmUrl = baseUrl + '/room/' + roomIds.roomId + '/image?url=' + imgUrl;

    xhr.open('PUT', vmUrl, true);
    xhr.send();

    xhr.onreadystatechange = function (e) {
        if (xhr.readyState === 4 && xhr.status === 200) {
            let result = xhr.responseText;
        }
    };
}

/*
// 젠데스크 영상상담쪽과 연관이 있는것으로 추정
let imageIdx = 1;
function changeImage() {
    let imgUrl = 'https://www.gstatic.com/webp/gallery/' + imageIdx + '.jpg';
    imageIdx++;

    let xhr = new XMLHttpRequest();
    let vmUrl = baseUrl + '/room/' + roomIds.roomId + '/image?url=' + imgUrl;

    xhr.open('PUT', vmUrl, true);
    xhr.send();

    xhr.onreadystatechange = function (e) {
        if (xhr.readyState === 4 && xhr.status === 200) {
            let result = xhr.responseText;
        }
    };
}
*/
