﻿// JScript File
var xmlHttp;

var WriteToFileRequestKey = "f";
var WriteStringRequestKey = "s";
var PhoneKey = "Phone";
var TimeDelay = -1;
var DelayPercent;
function playAd(lineNumber){

    try{
        DelayPercent = document.getElementById("hdnRoundTripDelayPercent").value;
        xmlHttp = GetXmlHttpObject();
        if(xmlHttp== null){
                alert("Your browser is not supported");
                return;
        }
        var d = new Date();
        BaseUrl=location.href.substring(0, location.toString().lastIndexOf("/")) + "/CallServiceWebForm.aspx";

        var url = BaseUrl + "?l=" + lineNumber + "&t="+ d.toString();

        startTimer();

        xmlHttp.onreadystatechange = responseReceived;
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }catch(e){
        alert("Error Placing the Call. Try Again Later");
    }
}
function responseReceived(){

    if(xmlHttp.readyState == 4){
        var roundTripTime = stopTimer();
        TimeDelay = (DelayPercent / 100) * roundTripTime;
        document.getElementById("hdnRoundTripTime").value = TimeDelay;
        
        /*try{
            var xmlDoc = xmlHttp.responseXML.documentElement;
            var serverDelay = xmlDoc.getElementsByTagName("time")[0].firstChild.nodeValue;
            var roundTripTime = stopTimer();
            TimeDelay = (DelayPercent / 100) * roundTripTime;
            document.getElementById("hdnRoundTripTime").value = TimeDelay;
            window.status = TimeDelay;
            
        }catch(e){
                alert("Error reading response time.");
                TimeDelay = 100;
        }*/
    }
    
}
function GetXmlHttpObject(){
    var xmlHttp = null;
    try{
        // FF, Mozilla, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }catch(e){
        // IE
        try{
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
            try{
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }catch(e){
            }
        }
    }
    return xmlHttp;
}


var timerID = null;

// create instance of Date object representing current time
var startTime;

// start timer
function startTimer() {      

    // set global variable to new time              
    var initial = new Date()                    

    // assign milliseconds since 1970 to global variable    
    startTime = initial.getTime()   
}

        // stop timer
function stopTimer() {  

    var current = new Date();                    
    var curTime = current.getTime(); 
    var result = curTime - startTime;           

    return result;
}

function checkTime() {
    return TimeDelay;
}