// Copyright Bidoloo LTD All Rights Reserved
// http://www.bidoloo.com/

var HTMLboxtimeoutID = null;
var Counter = new Array();
var TimeoutID = null;
var ReloadTime = 3000;
var aMount = null;
var ID = new Array();
var cunter = 0;
var container;
var iID;
var price;
var stuff;
var dtime;
var connErr=false;

function timer(container, timertargete){
	if ((!document.getElementById) || (!document.getElementById(container)))
		return;

	this.container=document.getElementById(container);
	this.changetime(timertargete);
	this.timerend=false;
	this.run();
}

timer.prototype.changetime=function(timertargete){
	
	if (typeof timertargete == 'undefined') {
		this.opensat=false;
		this.closed=4;
	}
	else if (timertargete.charCodeAt(0) == 63) {
		if (timertargete.charCodeAt(1) == 63) {
			this.opensat=timertargete.substr(2,11);
			timertargete=timertargete.substr(12);
		}
		else {
			this.opensat=timertargete.substr(1,5);
			timertargete=timertargete.substr(6);
		}
		this.closed=1;
	}
	else if (timertargete.charCodeAt(0) == 33) {
		this.closed=2;
		this.opensat=false;
		timertargete=timertargete.substr(1);
	}
	else if (timertargete.charCodeAt(0) == 61) {
		this.closed=3;
		this.opensat=false;
		timertargete=timertargete.substr(1);
	}
	else {
		this.opensat=false;
		this.closed=0;
	}
	this.timenow=new Date();
	this.timertarget=new Date();
	this.exptime = this.timertarget.getTime();
	this.exptime += parseInt(timertargete);
	this.timertarget.setTime(this.exptime);
}

timer.prototype.run=function(){
	var thisis=this;
	this.timenow=new Date();
	var difference=Math.round((this.timertarget-this.timenow)/1000);
	if (difference<0){
		this.timerend=true;
	}
	else {
		this.timerend=false;
	}
	
	if ((this.closed == 3) || (this.closed == 4)) {
		this.timerend=true;
		this.container.innerHTML=this.showtext();
		return;
	}
	
	var days=Math.floor(difference/(60*24*60));
	var hours=Math.floor((difference-days*(60*24*60))/(60*60));
	var minutes=Math.floor((difference-days*(60*24*60)-hours*(60*60))/60);
	var seconds=Math.floor((difference-days*(60*24*60)-hours*(60*60)-minutes*60));
	this.container.innerHTML=this.showtext(hours, minutes, seconds);
	setTimeout(function(){thisis.run()}, 500);
}

timer.prototype.showtext=function(hours, minutes, seconds){
	if (this.timerend == false){
		if (this.closed == 0) {
			var text = "";
			if (hours != "0") {
				text += "<span class='time'>"+hours+"</span> "+teksti[4]+" ";
				text += "<span class='time'>"+minutes+"</span> "+teksti[5]+" ";
			}
			else {
				if (minutes != "0") {
					text += "<span class='time'>"+minutes+"</span> "+teksti[5]+" ";
				}
			}
			if ((hours == 0) && (minutes == 0) && (seconds < 10)) {
				text += "<span class='time_less10'>"+seconds+" "+teksti[6]+"</span>";
			}
			else if ((hours == 0) && (minutes == 0)) {
				text += "<span class='time_red'>"+seconds+" "+teksti[6]+"</span>";
			}
			else {
				text += "<span class='time'>"+seconds+"</span> "+teksti[6]+" ";
			}
		}
		else if (this.closed == 2) {
			text = "<span class='closed_0e'>" + teksti[12] + "</span>";
		}
		else {
			text = "<span class='closed_0e'>" + teksti[11] + " "+this.opensat+"</span>";
		}
	}
	else {
		if (this.closed == 3) {
			var text="<span class='closed'>" + teksti[13] + "</span>";
		}
		else if (this.closed == 4) {
			var text = "<span class='closed_0e'>" + teksti[17] + "</span>";
		}
		else {
			var text="<span class='closed'>" + teksti[16] + "</span>";
		}
	}
	return text;
}

function StopReloading() {
	if (TimeoutID != null) {
		window.clearInterval(TimeoutID);
		TimeoutID = null;
	}
}

function ReCheck() {
	aMount = Counter.length - 1;
	if (aMount >= 0) {
		for (i=0; i <= aMount; i++) {
			ID[i] = document.getElementById("id_"+i).value;
		}
	}
	TimeoutID = window.setInterval(function(){UpdateInfo()}, ReloadTime);
}

function UpdateInfo(bid, did, type) {
	var Http = GetHTTPObject();
	if (Http.overrideMimeType) {
		if (type == null) {
			type = 'plain';
		}
		Http.overrideMimeType('text/' + type);
	}
	
	if (readCookie('cookcheck') != 1) {
		var HttptimeoutId = window.setTimeout(
		function() {
		Http.abort();
		StopReloading();
		if (connErr == false) {
			loadHTMLbox("#connection");
			for (oo=0; oo<=aMount; oo++) {
				Counter[oo].changetime();
			}
		}
		connErr=true;
		},
		6000
		);
	}

	if ((Http.readyState == 4) || (Http.readyState == 0)) {
		if(bid != null) {
			var url = path + "check/" + escape(bid) + "/" + escape(did);
			var buttoncontainer=document.getElementById("account_bid_" + did);
			buttoncontainer.innerHTML="<img width='180' height='10' border='0' src='" + path + "images/loading.gif'/>";
		}
		else {
			var url = path + "check/" + escape(ID.toString());
		}
		Http.open("GET", url, true);
		Http.onreadystatechange = function() {
			if ((Http.readyState == 4) && (Http.status == 200)) {
				if (readCookie('cookcheck') != 1) {
					window.clearTimeout(HttptimeoutId);
				}
				var Results = Http.responseText.split(";");
				cunter=0;
				if (Results[cunter] == 'bid') {
					cunter++;
					var didder=parseInt(Results[cunter]);
					cunter++;
					var creditcontainer=document.getElementById("credits");
					creditcontainer.innerHTML=Results[cunter];
					var run=0;
					var buttoncontainer=document.getElementById("account_bid_" + didder);
				}
				else {
					clock(Results[cunter], true, false);
					var run=aMount;
				}
				cunter++;
				for (u=0; u<=run; u++) {
					container=null;
					stuff=null;
					iID=null;
					iID=Results[cunter];
					container=document.getElementById("real_time_data_"+Results[cunter]);
					if (container == null) {
						StopReloading();
						if (connErr == false) {
							loadHTMLbox("#connection");
							for (oo=0; oo<=aMount; oo++) {
								Counter[oo].changetime();
							}
						}
						connErr=true;
						break;
					}
					
					if (didder != null) {
					   	buttoncontainer.innerHTML="<a class=\"bid_now\" href='' onClick='UpdateInfo(" + Results[cunter] + ", " + didder + ");return false;'>"+teksti[14]+"</a>";
					}
					cunter++;
					if (didder != null) {
						Counter[didder].changetime(Results[cunter]);
					}
					else {
						Counter[u].changetime(Results[cunter]);
					}
					cunter++;
					stuff = teksti[1]+":<br/><b>"+Results[cunter]+"</b>";
					cunter++;
					price=null;
					price=document.getElementById("current_price_"+iID);
					price=price.innerHTML.split(' ');
					price=parseFloat(price[0]);
					container.innerHTML="<div class=\"current_bidder\">"+stuff+"</div><div class=\"current_price\" id=\"current_price_"+iID+"\">"+Results[cunter]+" <span class=\"currency_small\">"+teksti[15]+"</span></div>";
					if ((price != parseFloat(Results[cunter])) && (readCookie('cookblink') != 1)) {
						colorFade(container, [88,194,255], [255,255,255], 200);
					}
					cunter++;
				}
			}
		}
		Http.send(null);
	}
}

function GetHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}

function clock(timee, update, timeout) {
	var cont=document.getElementById("time");

	if (update == true) {
		dtime=new Date(timee);
		cont.innerHTML=addZero(dtime.getDate())+"."+addZero(eval(dtime.getMonth()+1))+"."+dtime.getFullYear()+" "+addZero(dtime.getHours())+":"+addZero(dtime.getMinutes())+":"+addZero(dtime.getSeconds());
	}
	else {
		dtime.setSeconds(dtime.getSeconds()+1);
		cont.innerHTML=addZero(dtime.getDate())+"."+addZero(eval(dtime.getMonth()+1))+"."+dtime.getFullYear()+" "+addZero(dtime.getHours())+":"+addZero(dtime.getMinutes())+":"+addZero(dtime.getSeconds());
	}
	if (timeout == true) {
		window.setTimeout(function(){clock(false, false, true)}, 1000);
	}
}

function loadHTMLbox(u) {
	fb.loadAnchor(u, "width: 400px; height: 400px; scrolling: no;");
}

function addZero(uu){
	var uloste=(uu.toString().length==1)? '0'+uu : uu;
	return uloste;
}

function readCookie(name) {
	var nameEQ = 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;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}


function eraseCookie(name) {
	createCookie(name,"",-1);
}

function editCheckCookie(ju) {
	if (ju.checked) {
		eraseCookie("cookcheck");
	}
	else {
		createCookie("cookcheck",1,100);
	}
}

function editBlinkCookie(ju) {
	if (ju.checked) {
		eraseCookie("cookblink");
	}
	else {
		createCookie("cookblink",1,100);
	}
}

function colorFade(element, startcolour, endcolour, time_elapsed) {
	var interval = 30;
	var steps = time_elapsed / interval;
	var red_change = (startcolour[0] - endcolour[0]) / steps;
	var green_change = (startcolour[1] - endcolour[1]) / steps;
	var blue_change = (startcolour[2] - endcolour[2]) / steps;
	var currentcolour = startcolour;
	var stepcount = 0;
	element.style.backgroundColor = 'rgb(' + currentcolour.toString() + ')';
	var timmer = setInterval(function(){
		currentcolour[0] = parseInt(currentcolour[0] - red_change);
		currentcolour[1] = parseInt(currentcolour[1] - green_change);
		currentcolour[2] = parseInt(currentcolour[2] - blue_change);
		element.style.backgroundColor = 'rgb(' + currentcolour.toString() + ')';
		stepcount += 1;
		if (stepcount >= steps) {
			element.style.backgroundColor = 'rgb(' + endcolour.toString() + ')';
			clearInterval(timmer);
		}
	}, interval);
	
	return false;
}


// Copyright Bidoloo LTD All Rights Reserved
// http://www.bidoloo.com/
