function DownO() {
	var itemId; 
	var startTime; 
	var endTime; 
	var timerId; 
	var active;
	var sold;
	var price; 
	var time_area; 
	var best; 
	var aeg; 
	var hind; 
	var parim;
	
	
	this.setStartTime = function(startTime) {this.startTime = startTime;}
	this.setPrice = function(price) {this.price = price;}
	this.getActive = function() {return this.active;}
	this.setBest = function(best) {this.best = best;}
	this.getItemId = function() {return this.itemId;}
	this.setEndTime = function(endTime) {this.endTime = endTime;}
	this.setItemId = function(itemId) {this.itemId = itemId;}
	
	
	this.init = function(){ 
		this.aeg = document.getElementById("aeg" + this.itemId); 
		this.hind = document.getElementById("hind" + this.itemId); 
		this.parim = document.getElementById("parim" + this.itemId); 
		this.calcActive(); 
		this.display(); 
		objects[objects.length] = this; 
	} 
	
	this.count = function() { 
		this.calcActive(); 
		this.display();
	}
	
	this.calcActive = function() { 
		var oldActive = this.active;
		
		if (this.startTime - now <= 0) { 
			this.active = true; 
		} else { 
			this.active = false; 
		} 
		
		if (oldActive != undefined && oldActive != this.active) {
			this.alternateButtons();
		}
	}
	
	this.alternateButtons = function() {
		var hide = document.getElementById("betTagHide" + this.itemId);
		var show = document.getElementById("betTagShow" + this.itemId);
		
		this.showHideButton(hide);
		this.showHideButton(show);
	}
	
	this.showHideButton = function(el) {
		if (el != undefined) {
			if (el.style.display == "none") {
				el.style.display = "block";
			} else {
				el.style.display = "none";
			}
		}
	}
	
	this.display = function() {
		if (this.active) { 
			var diff = this.endTime - now; 
		} else { 
			var diff = this.endTime - this.startTime; 
		}
		
		var disp = "";
		var cssClass = "";
		
		if (diff < timeRed) { 
			cssClass = "timeRed"; 
		} else if (diff < timeOrange) { 
			cssClass = "timeOrange"; 
		} else { 
			cssClass = "timeGreen"; 
		}
		
		if (diff > 0) {
			diff = new Date(diff);
			
			disp += diff.getMinutes();
			disp = checkZero(disp) + ":";
				
			disp += checkZero(diff.getSeconds());
			disp = checkZero(disp);
			
		} else if (diff <= -waitTime) {
			disp = soldMsg;
			this.active = false;
			this.sold = true;
			this.alternateButtons();
		} else {
			disp = checkMsg;
		}
		
		
		this.aeg.className = cssClass;
		this.aeg.innerHTML = disp;
		this.hind.innerHTML = this.price;
		
		/*if (this.active) { 
			this.parim.innerHTML = bestStart + this.best; 
		}*/
		
		if (this.active) {
			this.parim.innerHTML = bestStart + "<strong>" + this.best + "</strong>";
		}  else if (this.sold) {
			this.parim.innerHTML = winnerStart + "<strong>" + this.best + "</strong>";
		} else {
			//this.parim.innerHTML = timeStart + "<strong>" + formatDate(this.startTime) + "</strong>";
			//Toote timer algus ajani
			this.parim.innerHTML = text + "<strong>" + formatTimerDate( this.startTime, now ) + "</strong>";
		}
	}
}

function formatTimerDate(date, timeNow) {
	var difTime = date.getTime() - timeNow.getTime();
	if( difTime > 0 ){
		var newP = Math.floor( difTime / (86400000) );
		var newH = Math.floor( difTime / (3600000) ) - ( newP * 24 );
		var newMin = Math.floor( difTime / (60000) ) - ( newP * 1440 ) - ( newH * 60 );
		var newSec = Math.floor( difTime / 1000 ) - ( newP * 86400 ) - ( newH * 3600 ) - ( newMin * 60 );
		
		var retString = "- ";
		var prev = false;
		
		if( newP > 0 ){
			retString += newP + "D ";
			prev = true;
		}
		if( newH > 0 || ( prev && newH >= 0 ) ){
			retString += checkZero(newH) + "h ";
			prev = true;
		}
		if( newMin > 0 || ( prev && newMin >= 0 ) ){
			retString += checkZero(newMin) + "min ";
			prev = true;
		}
		if( newSec > 0 || ( prev && newSec >= 0 ) ){
			retString += checkZero(newSec) + "s ";
			prev = true;
		}
		
		return retString;
	}
	return checkZero(date.getDate()) + "." + checkZero(date.getMonth() + 1) + " " + formatTime(date);
}

function formatTimerTime(date, timenow) {
	return checkZero(date.getHours()) + ":" + checkZero(date.getMinutes()) + ":" + checkZero(date.getSeconds());
}

function createDate(dateString) { 
	var split1 = dateString.split(" "); 
	var dateSplit = split1[0].split("-"); 
	var timeSplit = split1[1].split(":"); 
	return new Date(dateSplit[0], dateSplit[1] - 1, dateSplit[2], timeSplit[0], timeSplit[1], timeSplit[2]); 
}

function formatDate(date) {
	return checkZero(date.getDate()) + "." + checkZero(date.getMonth() + 1) + " " + formatTime(date);
}

function formatTime(date) {
	return checkZero(date.getHours()) + ":" + checkZero(date.getMinutes()) + ":" + checkZero(date.getSeconds());
}

function checkZero(val) {
	if (val < 10) {
		return "0" + val;
	}
	
	return val;
}




var objects = new Array();

function runObjects() {
	//console.log("running, now is " + now);	
	var ids = "";
	var doComma = false;
	
	for (var i = 0; i < objects.length; i++) { 
		objects[i].count(); 
		
		if (objects[i].getActive()) { 
			if (doComma) { 
				ids += ","; 
			} else { 
				doComma = true; 
			} 
			
			ids += objects[i].getItemId(); 
		} 
	}
	getIds(ids);
	
	for (var i = 0; i < objects.length; i++) {
		objects[i].count();
	}
	
	//var el = document.getElementById("time_area");
	//el.innerHTML = formatTime(now);	
}

setInterval("runObjects()", 1000);

function renewItems(input) {
	var inputs = input.split("#");
	
	for (var i = 0; i < inputs.length; i++) {
		if (i == 0) {
			now = createDate(inputs[i]);
		} else if (inputs[i] != "") {
			var infos = inputs[i].split("|");
			var obj = eval("oksjon" + infos[0]);
			obj.setStartTime(createDate(infos[1]));
			obj.setEndTime(createDate(infos[2]));
			obj.setBest(infos[3]);
			obj.setPrice(infos[4]);
		}
	}
}