
var agentname='';
var lives=1;
var pause = 0;
var pausemn = 0;
var coupon = "";
var waiting = false;
var messageNum = 0;
document.onclick = function() {window.onbeforeunload = null}
document.onmouseout = function(){window.onbeforeunload = function(e){
        if(lives==1){
            IE7fix();
            setBox();
            getCouponCode();
            lives=0;
            document.getElementById('chatter-box').style.display = 'block';
            document.getElementById('chaddar').style.display = 'block';
            xmlDoc = getBoxData();
            var e = e || window.event;
            var msg = xmlDoc.getElementsByTagName("alertingmessage")[0].childNodes[0].nodeValue;
            type('welcome');
            // For IE and Firefox
            if (e) {
                e.returnValue = msg;
            }
            // For Safari / chrome
            return msg;
        }
    }
}
window.onbeforeunload = function(e){
    if(lives==1){
        IE7fix();
        setBox();
        getCouponCode();
        lives=0;
        document.getElementById('chatter-box').style.display = 'block';
        document.getElementById('chaddar').style.display = 'block';
        xmlDoc = getBoxData();
        var e = e || window.event;
        var msg = xmlDoc.getElementsByTagName("alertingmessage")[0].childNodes[0].nodeValue;
        type('welcome');
        // For IE and Firefox
        if (e) {
            e.returnValue = msg;
        }
        // For Safari / chrome
        return msg;
    }
}
function IE7fix(){
    if(checkVersion()=="IE7"){
        document.getElementById('type-area').style.marginLeft='12px';
    }
}
function setBox(){
    var tH = screen.availHeight;
    var tW = screen.availWidth;
    var tMar1 = ((tH)/2)-325;
    var tMar = ""+tMar1+"px";
    var lMar1 = ((tW)/2)-313;
    var lMar = ""+lMar1+"px";
    document.getElementById('chatter-box').style.marginTop = tMar;
    document.getElementById('chatter-box').style.marginLeft = lMar;
    xmlDoc = getBoxData();
    agentname = xmlDoc.getElementsByTagName("agentname")[0].childNodes[0].nodeValue;
    document.getElementById('chatter-title').innerHTML =  xmlDoc.getElementsByTagName("boxtitle")[0].childNodes[0].nodeValue;
}
function checkVersion(){
  var msg = "You're not using Internet Explorer.";
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  var ver = rv;
  if ( ver > -1 ){
    if (ver >= 8.0)
      msg = "You're using a recent copy of Internet Explorer."
    else if(ver==7.0)
      msg = "IE7";
  }
  return msg;
}
function addMessage(v){
    xmlDoc = getMessages();
    document.getElementById('typing').innerHTML = " ";
    var wlcmsg = "";
    if(v=="message"){
        if((xmlDoc.getElementsByTagName(v)).length>messageNum){
            wlcmsg = xmlDoc.getElementsByTagName(v)[messageNum].childNodes[0].nodeValue;
            messageNum = messageNum + 1;
        }else{
            wlcmsg = xmlDoc.getElementsByTagName("bye")[0].childNodes[0].nodeValue;
        }
    }else{
        wlcmsg = xmlDoc.getElementsByTagName(v)[0].childNodes[0].nodeValue;
    }
    while(wlcmsg != wlcmsg.replace("[coupon]",coupon)){
        wlcmsg = wlcmsg.replace("[coupon]",coupon);
    }

    while(wlcmsg != wlcmsg.replace("[pause]","")){
        wlcmsg = wlcmsg.replace("[pause]","");
        pause = pause + 1;
    }
    while(wlcmsg != wlcmsg.replace("[","<")){	
        wlcmsg = wlcmsg.replace("[","<");
    }
    while(wlcmsg != wlcmsg.replace("]",">")){
        wlcmsg = wlcmsg.replace("]",">");
    }   
    var message = "<font color='navy' size='2' style='font-family:arial;'><b>"+agentname+": </b>"+wlcmsg+"</font><br/><br/>";
    document.getElementById('message-container').innerHTML =  document.getElementById('message-container').innerHTML + message;
    document.getElementById('message-container').scrollTop = document.getElementById('message-container').scrollHeight;
    while(pause>0){
        xmlDoc = getMessages();
        var ptime = xmlDoc.getElementsByTagName('pause')[pausemn].childNodes[0].nodeValue;
        pause = 0;
        pausemn = pausemn + 1;
        ptime = ptime * 1000;
        if(v=="welcome"){
            v = "message";
        }
         setTimeout(function(){todo(v);},ptime);
    }
}
function todo(opt){
    document.getElementById('typing').innerHTML = agentname+" is typing!";
    xmlDoc = getMessages();
    var time = opt+"time";
    var time1 = 0;
    if(opt=="message"){
        if((xmlDoc.getElementsByTagName(opt)).length>messageNum){
            time1 = xmlDoc.getElementsByTagName(time)[messageNum].childNodes[0].nodeValue;
        }else{
            time1 = xmlDoc.getElementsByTagName("byetime")[0].childNodes[0].nodeValue;
        }
    }else{
        time1 = xmlDoc.getElementsByTagName(time)[0].childNodes[0].nodeValue;
    }
    time1 = time1 * 1000;
    t = setTimeout(function(){addMessage(opt);},time1);
}
function wait(opt){
    clearTimeout(waiting);
    waiting = setTimeout(function(){todo(opt);},500);
}
function type(opt){
        function delay(opt){
                        wait(opt);
        }
        countDown = setTimeout(function(){delay(opt);},500);
}
function youWork(){
    if(document.getElementById('chatter-box').style.display == 'block'){
        if(lives==0){
            var you = document.getElementById('type-in').value;
            document.getElementById('type-in').value="";
            var message = document.getElementById('message-container').innerHTML + "<font  size='2' style='font-family:arial;' color='black'><b>You: </b>"+you+"</font>"+"</font><br/><br/>";
            document.getElementById('message-container').innerHTML = message;
            document.getElementById('message-container').scrollTop = document.getElementById('message-container').scrollHeight;
            type('message');
        }
    }
}
function vanish(){
    document.getElementById('chatter-box').style.display = 'none';
    document.getElementById('chaddar').style.display = 'none';
    document.getElementById('message-container').innerHTML = "";
}
function getMessages(){
    if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }else{// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET","messages.xml",false);
    xmlhttp.send();
    xmlDoc=xmlhttp.responseXML;
    return xmlDoc;
}
function getBoxData(){
    if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }else{// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET","boxinfo.xml",false);
    xmlhttp.send();
    xmlDoc=xmlhttp.responseXML;
    return xmlDoc;
}
function getCouponCode(){
    for (var i =0;i<6; i++){
     coupon = coupon + whichto(Math.floor(Math.random()*61));
    }
}
function whichto(chosed){
    var toret = '0';
    switch(chosed){
        case 0:{
            toret='0';
            break;
        }
        case 1:{
            toret='A';
            break;
        }
        case 2:{
            toret='a';
            break;
        }
        case 3:{
            toret='1';
            break;
        }
        case 4:{
            toret='2';
            break;
        }
        case 5:{
            toret='3';
            break;
        }
        case 6:{
            toret='4';
            break;
        }
        case 7:{
            toret='5';
            break;
        }
        case 8:{
            toret='6';
            break;
        }
        case 9:{
            toret='7';
            break;
        }
        case 10:{
            toret='8';
            break;
        }
        case 11:{
            toret='9';
            break;
        }
        case 12:{
            toret='b';
            break;
        }
        case 13:{
            toret='c';
            break;
        }
        case 14:{
            toret='q';
            break;
        }
        case 15:{
            toret='w';
            break;
        }
        case 16:{
            toret='e';
            break;
        }
        case 17:{
            toret='r';
            break;
        }
        case 18:{
            toret='t';
            break;
        }
        case 19:{
            toret='u';
            break;
        }
        case 20:{
            toret='i';
            break;
        }
        case 21:{
            toret='o';
            break;
        }
        case 22:{
            toret='p';
            break;
        }
        case 23:{
            toret='s';
            break;
        }
        case 24:{
            toret='d';
            break;
        }
        case 25:{
            toret='f';
            break;
        }
        case 26:{
            toret='g';
            break;
        }
        case 27:{
            toret='h';
            break;
        }
        case 28:{
            toret='j';
            break;
        }
        case 29:{
            toret='k';
            break;
        }
        case 30:{
            toret='l';
            break;
        }
        case 31:{
            toret='m';
            break;
        }
        case 32:{
            toret='n';
            break;
        }
        case 33:{
            toret='x';
            break;
        }
        case 34:{
            toret='v';
            break;
        }
        case 35:{
            toret='c';
            break;
        }
        case 36:{
            toret='z';
            break;
        }
        case 37:{
            toret='Q';
            break;
        }
        case 38:{
            toret='W';
            break;
        }
        case 39:{
            toret='E';
            break;
        }
        case 40:{
            toret='R';
            break;
        }
        case 41:{
            toret='T';
            break;
        }
        case 42:{
            toret='Y';
            break;
        }
        case 43:{
            toret='U';
            break;
        }
        case 44:{
            toret='I';
            break;
        }
        case 45:{
            toret='O';
            break;
        }
        case 46:{
            toret='P';
            break;
        }
        case 47:{
            toret='S';
            break;
        }
        case 48:{
            toret='D';
            break;
        }
        case 49:{
            toret='F';
            break;
        }
        case 50:{
            toret='G';
            break;
        }
        case 51:{
            toret='H';
            break;
        }
        case 52:{
            toret='J';
            break;
        }
        case 53:{
            toret='K';
            break;
        }
        case 54:{
            toret='L';
            break;
        }
        case 55:{
            toret='Z';
            break;
        }
        case 56:{
            toret='X';
            break;
        }
        case 57:{
            toret='C';
            break;
        }
        case 58:{
            toret='V';
            break;
        }
        case 59:{
            toret='B';
            break;
        }
        case 60:{
            toret='N';
            break;
        }
        default:{
            toret='M';
            break;
        }
    }
    return toret;
}
