ck_tim = new EchoCookie('echocptime'+host)
ck_dur = new EchoCookie('echocpdur'+host)
ck_off = new EchoCookie('echocp'+host)

var sid = SERVICE_ID
var cpon = CALL_PROMPT && !ck_off.read()
var cpd = CALL_PROMPT_TIME * 1000
var bs = BASE_URL
var sel
var host = window.location.host
var clarityc2c
document.write("<link href='"+bs+"click2call/css/click2call.css' rel='stylesheet' type='text/css' />");

window.onload = clarityInit

function clarityInit(opsarr) {
   clarityc2c = new ClarityCallback();
	if (cpon){
   clarityc2c.cp = new CallPrompt();
   }
	}

  
function ClarityCallback(opsarr) {
  this.shroud = document.createElement("DIV")
  this.shroud.id = "callmeoute14:51 19/09/2007r"
  this.shroud.setAttribute("style","position: absolute; width:100%; left:0; top:0; height:0; background-color:#000000; display:none; z-index:98;  filter: alpha(opacity=60); opacity: .60; -moz-opacity: .60; -khtml-opacity: .60;")
  document.body.appendChild(this.shroud)
  this.echobox = document.createElement("DIV")
  this.echobox.id = "claritycall"
  document.body.appendChild(this.echobox)
  this.cache
  sel = document.getElementsByTagName('select')

  this.open = function (opsarr) {
    scrollTo(0,0)
    if (opsarr || !this.cache) {
      domstr =""
      domstr +="<div id=\"callme\">"
      domstr +="<img id=\"callmeimage\" src=\""+bs+"click2call/im/box.png\" alt=\"\"/>"
      if (opsarr==undefined || opsarr.indexOf('NO_CLOSE') =="-1") { domstr += "<div id=\"callmeclose\"><a href=\"javascript:void(0)\" onClick=\"clarityc2c.close()\"><img src=\""+bs+"click2call/im/s.gif\" id=\"callmecloseimg\" /></a></div>" }
      domstr += "<iframe ALLOWTRANSPARENCY=true id=\"callframe\" frameborder='0' src=\""+bs+"click2call/callme.html?id="+sid+"\"></iframe></div>"
	    this.echobox.innerHTML = domstr
	    this.cache = bs+"click2call/callme.html?id="+sid
	  }
    else {
			document.getElementById('callframe').src = this.cache
    }
    this.shroud.style.height = getPageHeight()+"px"
    this.shroud.style.width = "100%"
    this.shroud.style.display = "block"
    document.getElementById('callme').style.display = 'block'
    for (i=0;i<sel.length;i++) {
   	  sel[i].style.visibility = 'hidden'
    }
    if(cpon) { this.cp.stop() }

  }

  this.close = function () {
    this.shroud.style.height = 0
    this.shroud.style.display = "none"
    document.getElementById('callme').style.display = 'none'
    for (i=0;i<sel.length;i++) {
    	sel[i].style.visibility = 'visible'
    }
  }

  this.cp

  return this

}

function CallPrompt(){

  if (!ck_off.read() && cpon){
		curd = new Date()
		var curt = curd.getTime()
		var time=0
		var dur=0
		time=ck_tim.read()
		dur=ck_dur.read()
		ck_tim.set(curt,.04)
		if (time && dur){
			var difft = curt - time
			dur = parseInt(dur)+parseInt(difft)
			var wait = cpd-dur
			if (dur>cpd){ clarityc2c.open() }
			else {
				ck_dur.set(dur,.04)
				cpto = setTimeout("clarityc2c.open()",(wait))
			}
	  }
	  else {
	  	ck_dur.set(0,.04)
      cpto = setTimeout("clarityc2c.open()",(cpd))
    }
  }

  this.stop = function() {
	  ck_tim.erase()
	  ck_dur.erase()
	  ck_off.set(1,1)
  }

  return this
}

function EchoCookie(nm) {
	this.name=nm
  this.value
  this.days

	this.set = function(val,expire) {
	  this.value=val
	  this.days=expire
	  if (this.days) {
		  var date = new Date()
		  date.setTime(date.getTime()+(this.days*24*60*60*1000))
		  var expires = "; expires="+date.toGMTString()
	  }
	  else var expires = ""
	  document.cookie = this.name+"="+this.value+expires+"; path=/"
  }

	this.read = function() {
	  var nameEQ = this.name + "="
	  var ca = document.cookie.split(';')
	  for(var i=0;i < ca.length;i++) {
	  	var c = ca[i]
	  	while (c.charAt(0)==' ') c = c.substring(1,c.length)
	  	if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length)
	  }
	  return null
  }

  this.erase = function() {
  	this.set("",-1)
  }

  return this
}

function getPageHeight(){
	var yScroll
	if (window.innerHeight && window.scrollMaxY) {
		yScroll = window.innerHeight + window.scrollMaxY
	} else if (document.body.scrollHeight > document.body.offsetHeight){
		yScroll = document.body.scrollHeight
	} else {
		yScroll = document.body.offsetHeight
	}
	var windowHeight
	if (self.innerHeight) {
		windowHeight = self.innerHeight
	} else if (document.documentElement && document.documentElement.clientHeight) {
		windowHeight = document.documentElement.clientHeight
	} else if (document.body) {
		windowHeight = document.body.clientHeight
	}
	if(yScroll < windowHeight){
		pageHeight = windowHeight
	} else {
		pageHeight = yScroll
	}
	return pageHeight
}

[].indexOf || (Array.prototype.indexOf = function(v){
       for(var i = this.length; i-- && this[i] != v;);
       return i;
});
