_inovo_ck_tim = new CookieWrapper('cptime'+SERVICE_ID)
_inovo_ck_dur = new CookieWrapper('cpdur'+SERVICE_ID)
inovo_ck_off = new CookieWrapper('cp'+SERVICE_ID)

var _inovo_sid = SERVICE_ID
var _inovo_cpon = CALL_PROMPT
var _inovo_cpd = CALL_PROMPT_TIME * 1000
if (window.BASE) { var _inovo_bs = BASE }
else { var _inovo_bs = "http://static.click2call.ro/" }
var _inovo_tpl = TEMPLATE;
var _inovo_sel
var _inovo_host = window.location.host
var mainClick2Call

window.onload = InitClick2Call
document.write("<link href='"+_inovo_bs+"t"+_inovo_tpl+"/css/click2call.css' rel='stylesheet' type='text/css' />")

function InitClick2Call() {
      activateCallButton()
      mainClick2Call = new Click2Call()
      if (_inovo_cpon){
          mainClick2Call.cp = new CallPrompt()
      }
  }

function activateCallButton() {
  var btns = _getElementsByClassName('echobutton')
  if (BUTTON.indexOf('http') == 0 ) { 
      var btnsrc = BUTTON } else { var btnsrc = _inovo_bs+"im/"+BUTTON
  }
  for (i=0,j=btns.length;i<j;i++) {
    btns[i].src = btnsrc
    }
  }

function Click2Call() {

  this.shroud = document.createElement("DIV")
  this.shroud.id = "callmeouter"
  this.shroud.setAttribute("style","position: absolute; width:100%; left:0; top:0; height:0; background-color:#000000; display:none; z-index:150;  filter: alpha(opacity=60); opacity: .60; -moz-opacity: .60; -khtml-opacity: .60;")
  document.body.appendChild(this.shroud)
  this.callbox = document.createElement("DIV")
  this.callbox.id = "echocall"
  document.body.appendChild(this.callbox)
  this.cache
  _inovo_sel = document.getElementsByTagName('select')

  this.open = function (loc,opsarr) {
    scrollTo(0,0)
    if (window.opsarr || !this.cache) {
      domstr =""
      domstr +="<div id=\"callme\">"
      if (_inovo_tpl!="4") {
        if (!window.opsarr || opsarr.indexOf('NO_LINK') =="-1") { domstr += "<div id=\"callmelink\"><a href=\"http://www.click2call.ro\" target=\"_blank\"><img src=\""+_inovo_bs+"t"+_inovo_tpl+"/im/s.gif\" id=\"callmelinkimg\" /></a></div>" }
  	  }
      if (!window.opsarr || opsarr.indexOf('NO_CLOSE') =="-1") { domstr += "<div id=\"callmeclose\"><img src=\""+_inovo_bs+"t"+_inovo_tpl+"/im/s.gif\" id=\"callmecloseimg\" onClick=\"mainClick2Call.close();return false;\"/></div>" }
      domstr += "<iframe ALLOWTRANSPARENCY=true id=\"callframe\" frameborder='0' src=\""+_inovo_bs+"t"+_inovo_tpl+"/callme.html?sid="+_inovo_sid+"&loc="+loc+"\" scrolling='no'></iframe></div>"
  	  this.callbox.innerHTML = domstr
  	  this.cache = _inovo_bs+"t"+_inovo_tpl+"/callme.html?sid="+_inovo_sid+"&loc="+loc
	  }
    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,j=_inovo_sel.length;i<j;i++) {
   	  _inovo_sel[i].style.visibility = 'hidden'
    }
  }

  this.close = function () {
    window.onresize = ""
    this.shroud.style.height = 0
    this.shroud.style.display = "none"
    document.getElementById('callme').style.display = 'none'
    for (i=0;i<_inovo_sel.length;i++) {
    	_inovo_sel[i].style.visibility = 'visible'
    }
    if(_inovo_cpon && this.cp) { this.cp.stop(); }
  }

  this.cp

  return this

}

function CallPrompt(){

  if (!inovo_ck_off.read() && _inovo_cpon){
		curd = new Date()
		var curt = curd.getTime()
		var time=0
		var dur=0
		time=_inovo_ck_tim.read()
		dur=_inovo_ck_dur.read()
		_inovo_ck_tim.set(curt,.04)
		if (time && dur){
			var difft = curt - time
			dur = parseInt(dur)+parseInt(difft)
			var wait = _inovo_cpd-dur
			if (dur>_inovo_cpd){
                mainClick2Call.open()
            }
			else {
				_inovo_ck_dur.set(dur,.04)
				cpto = setTimeout("mainClick2Call.open()",(wait))
           }
	   }
       else {
	  	   _inovo_ck_dur.set(0,.04)
           if (window._inovo_cpon) {cpto = setTimeout("mainClick2Call.open()",(_inovo_cpd))}
      }
    }

  this.stop = function() {
	  inovo_ck_off.set("1",1)
	  _inovo_ck_tim.erase()
	  _inovo_ck_dur.erase()
  }

  return this
}

function CookieWrapper(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){
      if ( screen.height < windowHeight) {
		pageHeight = windowHeight
        }
      else {
		pageHeight = screen.height
        }
	} else {
      if ( screen.height < yScroll) {
		pageHeight = yScroll
        }
      else {
		pageHeight = screen.height
        }
	}
	return pageHeight
}

function _getElementsByClassName(strClass, strTag, objContElm) {
  strTag = strTag || "*";
  objContElm = objContElm || document;
  var objColl = objContElm.getElementsByTagName(strTag);
  if (!objColl.length &&  strTag == "*" &&  objContElm.all) objColl = objContElm.all;
  var arr = new Array();
  var delim = strClass.indexOf('|') != -1  ? '|' : ' ';
  var arrClass = strClass.split(delim);
  for (var i = 0, j = objColl.length; i < j; i++) {
    var arrObjClass = objColl[i].className.split(' ');
    if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
    var c = 0;
    comparisonLoop:
    for (var k = 0, l = arrObjClass.length; k < l; k++) {
      for (var m = 0, n = arrClass.length; m < n; m++) {
        if (arrClass[m] == arrObjClass[k]) c++;
        if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
          arr.push(objColl[i]);
          break comparisonLoop;
        }
      }
    }
  }
  return arr;
}
