﻿var alreadyrunflag=0 //flag to indicate whether target function has already been run

if (document.addEventListener)
  document.addEventListener("DOMContentLoaded", function(){alreadyrunflag=1;salestalker_addobservers(); }, false)
else if (document.all && !window.opera){
  document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>')
  var contentloadtag=document.getElementById("contentloadtag")
  contentloadtag.onreadystatechange=function(){
    if (this.readyState=="complete"){
      alreadyrunflag=1;
      salestalker_addobservers();
     
    }
  }
}
else if(/Safari/i.test(navigator.userAgent)){ //Test for Safari
  var _timer=setInterval(function(){
  if(/loaded|complete/.test(document.readyState)){
    alreadyrunflag=1;
    clearInterval(_timer);
   salestalker_addobservers(); // call target function
  }}, 10)
}

window.onload=function(){
  setTimeout("if (!alreadyrunflag){salestalker_addobservers();}", 0)
}


var salestalker_addobservers= function()
{
 var allscripts=xGetElementsByTagName("script");
 var id="";
 for(var i =0;i<allscripts.length;i++)
 {
  var s =allscripts[i];
  if(s.src && s.src.match(/salestalker\.js(\?.*)?$/))
  {
    var path = s.src.replace(/salestalker\.js(\?.*)?$/,'');
    var includes = s.src.match(/\?.*c=([0-9a-zA-Z]*)/);
   if(includes)
    {
    id=includes[1];
                                        
    }
  }
 }
 xGetElementsByClassName("livechat",document,"a",function(ev){
 
 xAddEventListener(ev,"click",function(e){
 
  if(id!="")
  {
             
   window.open('http://chat.salestalker.com/StartLiveChat.aspx?c='+id+'&parenturl='+window.location, 'SingleSecondaryWindowName','resizable=yes,scrollbars=yes,status=yes,width=450,height=500');
   //window.open('StartLiveChat.aspx?c='+id+'&parenturl='+window.location, 'SingleSecondaryWindowName','resizable=yes,scrollbars=yes,status=yes,width');
   }else
   {
   alert("not authorised");
  }
 stopEvent(e);
 
 },false);
 
 });

 
}

var xGetElementById=function(e)
{
  if(typeof(e)=='string') {
    if(document.getElementById) e=document.getElementById(e);
    else if(document.all) e=document.all[e];
    else e=null;
  }
  return e;
}
var xAddEventListener=function(e,eT,eL,cap)
{
  if(!(e=xGetElementById(e)))return;
  eT=eT.toLowerCase();
  if(e.addEventListener)e.addEventListener(eT,eL,cap||false);
  else if(e.attachEvent)e.attachEvent('on'+eT,eL);
  else {
    var o=e['on'+eT];
    e['on'+eT]=typeof o=='function' ? function(v){o(v);eL(v);} : eL;
  }
}
var xGetElementsByTagName=function(t,p)
{
  var list = null;
  t = t || '*';
  p = xGetElementById(p) || document;
  if (typeof p.getElementsByTagName != 'undefined') { // DOM1
    list = p.getElementsByTagName(t);
    if (t=='*' && (!list || !list.length)) list = p.all; // IE5 '*' bug
  }
  else { // IE4 object model
    if (t=='*') list = p.all;
    else if (p.all && p.all.tags) list = p.all.tags(t);
  }
  return list || [];
}
var xGetElementsByClassName= function(c,p,t,f)
{
  var r = [], re, e, i;
  re = new RegExp("(^|\\s)"+c+"(\\s|$)");
//  var e = p.getElementsByTagName(t);
  e = xGetElementsByTagName(t,p); // See xml comments.
  for (i = 0; i < e.length; ++i) {
    if (re.test(e[i].className)) {
      r[r.length] = e[i];
      if (f) f(e[i]);
    }
  }
  return r;
}
var stopEvent=function(e) {
	if(!e) var e = window.event;
	
	//e.cancelBubble is supported by IE - this will kill the bubbling process.
	e.cancelBubble = true;
	e.returnValue = false;

	//e.stopPropagation works only in Firefox.
	if (e.stopPropagation) {
		e.stopPropagation();
		e.preventDefault();
	}
	return false;
}


