var pageCrmResultValue		=	true;
var pageZoomCrmResultValue	=	true;
var timeCrmResultValue		=	true;
var printCrmResultValue		=	true;
var linkCrmResultVale		=	true;
var userCrmResultVale		=	true;

var myStatus = 1;
var myPage;
var myZoomPage;
var CRMpage = new Array();
var CRMtime = new Array();
var CRMcnt = new Array();
var CRMzoomPage = new Array();
var CRMzoomTime = new Array();
var CRMzoomCnt = new Array();
var argFlag , argSend;
var nPage = 0;
var viewTime = 0;
var zoomNpage = 0;
var zoomPpage = 0;
var zoomStart = 0;
var zviewTime = 0;


function newXMLHttpRequest(){
	var reqHttp;

	if(window.ActiveXObject){
		try{
			reqHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try{
				reqHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e1){
				reqHttp = null;
			}
		}
	}
	else{
		try{
			reqHttp = new XMLHttpRequest();
		}
		catch(e){
			reqHttp = null;
		}
	}

	if(reqHttp == null) errorMessage();
	return reqHttp;
}

function errorMessage(){
	alert("error");
}

function openSendStatus(getPost, urlFileAppl, trueFalse, sendData, cbFunction){

	var xmlHttp = newXMLHttpRequest();
	xmlHttp.open(getPost, urlFileAppl, trueFalse);

	xmlHttp.onreadystatechange = function(){


		if(xmlHttp.readyState == 4){

			if(xmlHttp.status == 200){

				cbFunction(xmlHttp);
			}
			else{
	
				exceptionControl(xmlHttp);

			}
		}
	}

	var conType = "application/x-www-form-urlencoded; charset=UTF-8";
	xmlHttp.setRequestHeader("Content-Type", conType);
	xmlHttp.send(sendData);
}

function exceptionControl(xmlHttp){
	var exceptShow = "»óÅÂ ÄÚµå: " + xmlHttp.status;
	exceptShow += ", ºñÁ¤»óÀ¸·Î Á¾·áµÇ¾ú½À´Ï´Ù.";
	alert(exceptShow);
}


function fCRMpage(nPage){

  CRMpage[nPage] = nPage;
  CRMcnt[nPage] = 1;
  CRMtime[nPage] = 0;

}


function fCRMtime(time,page,npage){

  CRMpage[page] = page;

  if(CRMtime[npage]){
    CRMtime[npage] = CRMtime[npage] + ( Math.ceil(time) - zviewTime );
  }
  else{
    CRMtime[npage] = Math.ceil(time) - zviewTime;
  }

  zviewTime = 0;

  if(CRMcnt[page]){
    CRMcnt[page] += 1;
  }
  else{
    CRMcnt[page] = 1;
  }
}



function fCRMclose(page,time){
  CRMtime[page] = Math.ceil(time) - zviewTime;
}


function fCRMzoomClose(page,time,zpage,ztime){

  var Zpage = zpage;

  var value2 = parseInt(Zpage); 


  if(Zpage != value2){

    var nPage2 = Math.floor(page);
    var nPage3 = nPage2 + 1;

    var zPage2 = Math.floor(Zpage);
    var zPage3 = zPage2 + 1;

    CRMtime[nPage2] = Math.ceil(time);
    CRMzoomTime[zPage2] += Math.ceil(ztime);

    CRMtime[nPage3] = Math.ceil(time);
    CRMzoomTime[zPage3] += Math.ceil(ztime);
    CRMtime[page] = Math.ceil(time) - zviewTime;

  }
  else{

    CRMtime[page] = Math.ceil(time);
    CRMzoomTime[zpage] += Math.ceil(ztime);
  

	CRMtime[page] = Math.ceil(time) - zviewTime;
  }

}

function fCRMzoomPage(nPage){

  var NPage = nPage;

  var value2 = parseInt(NPage); 

  if(NPage != value2){

    var nPage2 = Math.floor(NPage);
    
    var nPage3 = nPage2 + 1;

    CRMzoomPage[nPage2] = nPage2;

    if(CRMzoomCnt[nPage2]){

      CRMzoomCnt[nPage2] += 1;
    }
    else{

      CRMzoomCnt[nPage2] = 1;
      CRMzoomTime[nPage2] = 0;
    }


    CRMzoomPage[nPage3] = nPage3;

    if(CRMzoomCnt[nPage3]){

      CRMzoomCnt[nPage3] += 1;
    }
    else{

      CRMzoomCnt[nPage3] = 1;
      CRMzoomTime[nPage3] = 0;
    }



  } 
  else{
  


    CRMzoomPage[nPage] = nPage;

    if(CRMzoomCnt[nPage]){
      CRMzoomCnt[nPage] += 1;
    }
    else{
      CRMzoomCnt[nPage] = 1;
      CRMzoomTime[nPage] = 0;
    }

  }

}

function fCRMzoomTime(time,page){

  var Fpage = page;

  var value2 = parseInt(Fpage); 


  if(Fpage != value2){

    var nPage2 = Math.floor(Fpage);
    
    var nPage3 = nPage2 + 1;

    CRMzoomTime[nPage2] += Math.ceil(time);
    CRMzoomTime[nPage3] += Math.ceil(time);

  }
  else{

    CRMzoomTime[page] += Math.ceil(time);
  }
}


function loag_Time() { 
	Stop = new Date() 
	differ = Stop.getTime() - Start.getTime(); 
	differ = differ / 1000 
	viewTime = differ;
	Start = new Date();
} 

function zoomStartDate(){
	zoomStart = new Date()
}

function zoomTime() { 
	zStop = new Date() 
	zdiffer = zStop.getTime() - zoomStart.getTime(); 
	zdiffer = zdiffer / 1000 
	zviewTime = zdiffer;
	zoomStart = new Date();
} 

function startPageCRM(){

	var getPost = "POST";
	var trueFalse = false;
	var vtime= new Date();
	var sendTime = vtime.getTime();
	var total_PAGE = oBookInfo.iPageCount;

	Start = new Date();
	nPage = Math.floor(oBook.cobGetCurrPage()); 

	myStatus = 1;
	myPage = nPage;
	fCRMpage(nPage);
}

function CRMOpen(xmlHttp){
	var xmlHttpVals = xmlHttp.responseText; 
 // alert(xmlHttpVals);
}



function nextPageCRM(){

	loag_Time();
	nPage = Math.floor(oBook.cobGetCurrPage()); 

	if(nPage % 2 == 0){
		fCRMtime(viewTime,nPage,myPage);
		myPage = nPage;
	}
}

function zoomInPageCRM(argPage){

	if(zoomStart > 0){
		zoomTime();
		fCRMzoomTime(zviewTime,myZoomPage);
	}
	else{
		zoomStartDate();
	}

	zoomNpage = argPage;

	myStatus = 3;
	myZoomPage = zoomNpage;
	var ziPage = argPage; 

	zoomPpage = zoomNpage;

	fCRMzoomPage(zoomNpage);


}


function zoomOutPageCRM(argPage){

	zoomTime();

	var zoPage = argPage; 
	myStatus = 2;
	fCRMzoomTime(zviewTime,zoomPpage);
}


function printPageCRM(page){

	nPage = page;
	var getPost = "POST";
	var trueFalse = false;
	var total_PAGE = oBookInfo.iPageCount;

	var vtime= new Date();
	var sendTime = vtime.getTime();

	if(!gsUserID) var UserId = "";
	else var UserId = gsUserID;

	var urlFileAppl = "http://" +  gsSrv_Main + "/engine/php/CRM/printPageCRM.php";
	var sendData = "SID="+encodeURIComponent(sendTime)+"&CO=" + encodeURIComponent(gsCorporation)+"&PN=" + encodeURIComponent(nPage)+"&BC=" + encodeURIComponent(gsBookCode)+"&ID=" + encodeURIComponent(UserId) + "&TP=" + encodeURIComponent(total_PAGE);

	if(printCrmResultValue == true) openSendStatus(getPost, urlFileAppl, trueFalse, sendData, CRMOpen);
}

function printZoomPageCRM(page){

	nPage = page;
	var getPost = "POST";
	var trueFalse = false;
	var total_PAGE = oBookInfo.iPageCount;

	var vtime= new Date();
	var sendTime = vtime.getTime();

	if(!gsUserID) var UserId = "";
	else var UserId = gsUserID;

	var urlFileAppl = "http://" +  gsSrv_Main + "/engine/php/CRM/printZoomPageCRM.php";
	var sendData = "SID="+encodeURIComponent(sendTime)+"&CO=" + encodeURIComponent(gsCorporation)+"&PN=" + encodeURIComponent(nPage)+"&BC=" + encodeURIComponent(gsBookCode)+"&ID=" + encodeURIComponent(UserId) + "&TP=" + encodeURIComponent(total_PAGE);

	if(printCrmResultValue == true) openSendStatus(getPost, urlFileAppl, trueFalse, sendData, CRMOpen);
}

function linkCRM(page,url){

	nPage = page;
	var getPost = "POST";
	var trueFalse = false;
	var total_PAGE = oBookInfo.iPageCount;

	var vtime= new Date();
	var sendTime = vtime.getTime();

	if(!gsUserID) var UserId = "";
	else var UserId = gsUserID;

	var Url = url;


	var urlFileAppl = "http://" +  gsSrv_Main + "/engine/php/CRM/linkCRM.php";
	var sendData = "SID="+encodeURIComponent(sendTime)+"&CO=" + encodeURIComponent(gsCorporation)+"&PN=" + encodeURIComponent(nPage)+"&BC=" + encodeURIComponent(gsBookCode)+"&ID=" + encodeURIComponent(UserId)+"&URL=" + encodeURIComponent(Url) + "&TP=" + encodeURIComponent(total_PAGE);

	if(linkCrmResultVale == true) openSendStatus(getPost, urlFileAppl, trueFalse, sendData, CRMOpen);
}


function unPageCRM(){
  
	var pageResult = '';
	var zoomResult = '';
	var total_PAGE = oBookInfo.iPageCount;

	var getPost = "POST";
	var trueFalse = false;
	var vtime= new Date();
	var sendTime = vtime.getTime();

	if(!gsUserID) var UserId = "";
	else var UserId = gsUserID;

	loag_Time();

	if(myStatus == 3) zoomTime();

	if(myStatus == 3){

		fCRMzoomClose(myPage,viewTime,myZoomPage,zviewTime);
	}
	else{
		fCRMclose(myPage,viewTime);
	}


	for(var i=0; i<CRMpage.length; i++){
		if(CRMpage[i] == 0 || CRMpage[i]){
			var t = CRMpage[i];
			var pageResult2 = eval(t) + 1;
			//alert('page = '+CRMpage[i]+'cnt='+CRMcnt[t]+'time='+Math.ceil(CRMtime[t]));
			var pageResult = pageResult + CRMpage[i] + '-' + CRMcnt[t] + '-' + Math.ceil(CRMtime[t]) + '|' + pageResult2 + '-' + CRMcnt[t] + '-' + Math.ceil(CRMtime[t]) + '|';

		}
	}

	for(var i=0; i<CRMzoomPage.length; i++){
		if(CRMzoomPage[i] == 0 || CRMzoomPage[i]){
			var t = CRMzoomPage[i];
			//alert('zpage='+CRMzoomPage[i]+'zcnt='+CRMzoomCnt[t]+'ztime='+Math.ceil(CRMzoomTime[t]));
			var zoomResult = zoomResult + CRMzoomPage[i] + '-' + CRMzoomCnt[t] + '-' + Math.ceil(CRMzoomTime[t]) + '|';
		}
	}

	if(timeCrmResultValue == true) var TC = 'Y';
	else var TC = 'N';

	if(pageZoomCrmResultValue == true) var ZC = 'Y';
	else var ZC = 'N';

	if(pageCrmResultValue == true) var PC = 'Y';
	else var PC = 'N';

	if(userCrmResultVale == true) var UC = 'Y';
	else var UC = 'N';

	var urlFileAppl = "http://" +  gsSrv_Main + "/engine/php/CRM/New_TotalCRM.php";
	var sendData = "SID="+encodeURIComponent(sendTime)+"&CO=" + encodeURIComponent(gsCorporation)+"&BC=" + encodeURIComponent(gsBookCode)+"&ID=" + encodeURIComponent(UserId)+"&PN=" + encodeURIComponent(pageResult) + "&ZPN=" + encodeURIComponent(zoomResult) + "&TC=" + encodeURIComponent(TC) + "&ZC=" + encodeURIComponent(ZC) + "&PC=" + encodeURIComponent(PC) + "&UC=" + encodeURIComponent(UC)  + "&TP=" + encodeURIComponent(total_PAGE);


	openSendStatus(getPost, urlFileAppl, trueFalse, sendData, CRMOpen2);


}

function CRMOpen2(xmlHttp){
	var xmlHttpVals = xmlHttp.responseText; 
	return xmlHttpVals;

}



function onFunctionEnd(){
	unPageCRM();

}

var os = userAgent();

if(os == 'IE'){
	if (window.attachEvent) window.attachEvent('onload', startPageCRM); 
	else if (window.addEventListener) window.addEventListener('load', startPageCRM); 


	if (window.attachEvent) window.attachEvent('onbeforeunload', onFunctionEnd); 
	else if (window.addEventListener) window.addEventListener('beforeunload', onFunctionEnd); 
}
else{

	window.onload = startPageCRM;
	window.onbeforeunload = onFunctionEnd;
}

function userAgent(){
	
	var browserType = "";

	if(navigator.userAgent.indexOf("MSIE") != -1){
		
		browserType = "IE";
		return browserType;
	}

	if(navigator.userAgent.indexOf("Firefox") != -1){
		
		browserType = "FF";
		return browserType;
	}

	if(navigator.userAgent.indexOf("Mozilla") != -1){
		
		browserType = "MZ";
		return browserType;
	}

	if(navigator.userAgent.indexOf("Opera") != -1){
		
		browserType = "OP";
		return browserType;
	}

	if(navigator.userAgent.indexOf("Safari") != -1){
		
		browserType = "SF";
		return browserType;
	}

	if(navigator.userAgent.indexOf("Mac") != -1){
		
		browserType = "MC";
		return browserType;
	}

	browserType = "NG";
	return browserType;

}

