

	
Array.prototype.contains = function(obj) {
  var i = this.length;
  while (i--) {
    if (this[i] === obj) {
      return true;
    }
  }
  return false;
};


	var servertime = 0;

	var Site = 
	{ 
		counter: 0,
		updateSiteTimerInterval: 0,
		myRequest: null
		
	};
	
	var formatTimeout = function(s)
	{
		//if(s == 0) return '<span style="font-size: 0.8em; font-style:oblique;">kontrola</span>';
		if(s == 0) s = 1
		
		var m = Math.floor(s / 60);
		ss = s % 60;
		if(ss < 10) { ss = '0' + ss; }
		return(m + ":" + ss);
	}
	
	var animateWonAuction = function(auctionId, show)
	{
		//$('auction' + auctionId).style.backgroundColor = '#0ff';
		
		var wonAuctionEl = $('auction' + auctionId).getElement('.wonAuction');
		
		
		if(show && wonAuctionEl && wonAuctionEl.style.display == 'none')
		{
		
			if(Browser.Plugins.Flash.version >= 7 && !(Browser.Platform.mac && Browser.Engine.trident))
			{
				var movie = '/files/flash/fireworks_time2.swf';
				var w = 340;
				var h = 237;
				//alert(Browser.Plugins.Flash.version);
				
				if($('auction' + auctionId).hasClass('featuredAd'))
				{
					h = 238;
					w = 690;
				}
				
				var myswf = new Swiff(movie, {
			        width: w,
			        height: h,
			        container: wonAuctionEl,
			        params: {
			        	scale: 'noborder'
			        }
			   });
			   
			}	
			
			wonAuctionEl.style.display = 'block';
			
			
		}
		else if(!show && wonAuctionEl && wonAuctionEl.style.display == 'block')
		{
			wonAuctionEl.style.display = 'none';
		}
	}
	

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + '&nbsp;' + '$2');
	}
	return x1 + x2;
}


	var NumberCs = function(num)
	{
		return addCommas(num + '').replace('.', ',');
	}



	var changeAuctionState = function(auctionId, lastState, newState, auction) 
	{
		var name = $('name' + auctionId);
		
		if(name)
		{
			if(name.hasClass('name0'))
				name.removeClass('name0');
			if(name.hasClass('name1'))
				name.removeClass('name1');
			if(name.hasClass('name2'))
				name.removeClass('name2');
			if(name.hasClass('name4'))
				name.removeClass('name4');
		
			name.addClass('name' + newState);
		}
		
		/*
		if(newState == 0 || newState == 2 || newState == 4)
		{
			var timeoutEl = $('timeoutPeriod' + auctionId);
			if(timeoutEl)
				timeoutEl.style.display = 'none';
			
		}
		else if(newState == 1)
		{
			var timeoutEl = $('timeoutPeriod' + auctionId);
			if(timeoutEl)
				timeoutEl.style.display = 'block';
			
		}
		*/
		
		var auctionBoxB = $('auctionBoxB' + auctionId);
		if(auctionBoxB.hasClass('auctionBoxB' + lastState))
			auctionBoxB.removeClass('auctionBoxB' + lastState)
		
		var auctionBoxBMsg = $('auctionBoxBMsg' + auctionId)
		if(auctionBoxBMsg)
			auctionBoxBMsg.innerHTML = auction.auctionBoxBMsg;
		
		var auctionBidButton = $('auctionBidButton' + auctionId);
		if(newState == 1)
		{
			auctionBidButton.style.display = 'block';
			if(auctionBoxBMsg)	auctionBoxBMsg.style.display = 'none';
		}
		else
		{
			auctionBidButton.style.display = 'none';
			if(auctionBoxBMsg)	auctionBoxBMsg.style.display = 'block';
		}
					
		auctionBoxB.addClass('auctionBoxB' + newState)
		
		/*
		var td = $('lastLine' + auction.id);
		if(td)
		{
			if(newState == 0 && td.hasClass('lineT'))	
				td.removeClass('lineT');
			else if(!td.hasClass('lineT'))
				td.addClass('lineT');
		}
		*/
				
		 
		//alert('go');
	}


	var updateAuctions = function(auctionData) {
	
		var auctionEl = null;
		
		auctionData.each(function(auction) {
			//alert(auction);
			auctionEl = $('auction' + auction.id)
			
		
			
			if(auctionEl) 
			{
				
				//alert(auctionEl.lastState);
				
				//auctionEl.getElement('.auctionBoxMsg').innerHTML = auction.auctionBoxMsg;
				//$('auctionBoxMsg' + auction.id).innerHTML = auction.auctionBoxMsg;
				
				//$('auctionBoxMsg' + auction.id).innerHTML = auction.auctionBoxTable[1];
				
				
				var th1 = $('th1_' + auction.id)
				if(th1) 
					th1.innerHTML = (auction.auctionBoxTable.th[0]);
					
				// timeout
				var th2 = $('th2_' + auction.id); 
				if(th2)
					th2.innerHTML = (auction.auctionBoxTable.th[1]);
					
				// winner
				var th3 = $('th3_' + auction.id);
				if(th3)
				{
					if(auction.auctionBoxTable.th[2])
						th3.innerHTML = auction.auctionBoxTable.th[2];
					else
						th3.innerHTML = ''
				}
							
				// price
				var r1 = $('r1_' + auction.id);
				if(r1)
					r1.innerHTML = NumberCs(auction.auctionBoxTable.td[0]);
					
				// timeout
				var r2 = $('r2_' + auction.id)
				if(r2)
				{
					r2.innerHTML = (auction.auctionBoxTable.td[1]);
				}
				
				// winner
				var r3 = $('r3_' + auction.id)
				if(r3)
				{
					if(auction.auctionBoxTable.td[2])
						r3.innerHTML = auction.auctionBoxTable.td[2];
					else
						$('r3_' + auction.id).innerHTML = '';
				}
				
				if(auctionEl.lastState == null || auctionEl.lastState != auction.state)
					changeAuctionState(auction.id, auctionEl.lastState, auction.state, auction)
				
				
				if(auctionEl.timeoutLength == null || auction.timeoutLength != auctionEl.timeoutLength)
				{
					var tim = $('timeoutPeriod' + auction.id);
					if(tim)
						tim.innerHTML = auction.timeoutLength;
					
					auctionEl.timeoutLength = auction.timeoutLenght;
				}
				
				if(auction.auctionHistory)
				{
					historyEl = $('auctionHistory' + auction.id);
					if(historyEl)
						historyEl.innerHTML = auction.auctionHistory;
						
				}
				
				/*
				if(auctionEl.seconds == undefined 
					|| auction.auctionTimeout <= auctionEl.seconds 
					|| auction.auctionTimeout >= 3 + auctionEl.seconds 
				)
				{ 
						$('auction' + auction.id).seconds = auction.auctionTimeout;
					
						
						
						//if($('timeout' + auction.id))
						//{
						//	$('timeout' + auction.id).innerHTML = formatTimeout(auction.auctionTimeout);
						//}
												
						if($('bidingForm_submit' + auction.id))
						{
							if(auction.timeout == 0) 
							{
								$('bidingForm_submit' + auction.id).disabled = true;
							}
							else
							{
								$('bidingForm_submit' + auction.id).disabled = false;
							}
						}
				}
				*/
				
				var winnerEl = $('r3_' + auction.id)
				
				if(winnerEl && auction.winnerBold == 1)
				{
					if( !winnerEl.hasClass('winnerHilite') )
						winnerEl.addClass('winnerHilite');
						
				}
				else if(winnerEl)
				{
					if( winnerEl.hasClass('winnerHilite') )
						winnerEl.removeClass('winnerHilite');
				
				}
				
					
				
				if(auction.state == 2)
				{
					animateWonAuction(auction.id, true);
				}	
				else
				{
					animateWonAuction(auction.id, false);
				}
			
				auctionEl.lastState = auction.state;
				
				//$('auction' + auction.id).getElement('div.info').innerHTML = auction.info;
				//$('price' + auction.id).innerHTML = auction.price;
				
			}
			
		});
	};
	
	
	
	
	//alert(now.getHours());
	
	var updateSite = function(data)
	{
		var now = new Date();
		if( now.getHours() == 10 && 
			now.getMinutes() == 0 && 
			now.getSeconds() >= 1 && now.getSeconds() < 5)
		{
			//alert('ssss');
			history.go(0);
		}
		
		if($('creditInd') 
			&& data.meta.credit > '')	// ZN added 20090414
		{
			$('creditInd').innerHTML = data.meta.credit;
		}
		
		var timeoutPeriod = $('timeoutPeriod');
		if(timeoutPeriod)
		{
			if(data.meta.timeoutPeriod)
			{
				if(data.meta.timeoutPeriod == ' ')
					timeoutPeriod.style.display = 'none';
				else if(data.meta.timeoutPeriod > '')
				{	
					timeoutPeriod.style.display = 'block';
					// timeoutPeriod.innerHTML = "<a href='#' style='text-decoration: none; color: white;' title='Aktuální délka timeoutu'>" + data.meta.timeoutPeriod + "</a>";
					timeoutPeriod.innerHTML = data.meta.timeoutPeriod;
					
				}
			} 
		}
		
		updateAuctions(data.auctions);
		// highliteFavouriteAuctions(data.meta.fav);
		
	}
	

	var updateSiteTimer = function()
	{
		$$('.auctionBox').each(function(i) {
			if(i.seconds - 1 >= 0) 
			{
				i.seconds = i.seconds - 1;
				//$('clock').innerHTML = i.id.substring(7)
				if($('timeout' + i.id.substring(7)))
				{
					$('timeout' + i.id.substring(7)).innerHTML = formatTimeout(i.seconds);
				}
				
				
			}
			
		});
		//$('clock').innerHTML = $('auction24').seconds;
		
		
	}



// -------------------------
/*
var xmlHttp = null;

if (window.XMLHttpRequest)  {xmlHttp = new XMLHttpRequest(); } 
else if (window.ActiveXObject) {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}

function communicate(url, targetId, method)
{
	var targetEl = $(targetId);	
	if (xmlHttp) 
	{
		xmlHttp.open("GET", url);
		xmlHttp.onreadystatechange = function()
		{
			if (xmlHttp.readyState == 4) 
			{
				var res = xmlHttp.responseText;
				if (method == "updateSiteAjaxCallback") 
				{
					updateSiteAjaxCallback(res);
				}
				
			}
		}
		xmlHttp.send(null);
	}
}

var updateSiteAjaxCallback = function(res)
{
	jsonObj = JSON.decode(res);
	//document.getElementById('clock').innerHTML = jsonObj.data.meta.time;
	if(jsonObj == null)
	{ 
		//alert(res);
		return;
	}
	
	if(jsonObj.data.meta.time < servertime)
							{
							}
							else
							{
								var clock = $('clock');
								if(clock) clock.innerHTML = jsonObj.data.meta.time ;
								servertime = jsonObj.data.meta.time;
								
								updateSite(jsonObj.data);
								
							}
	
}
*/
// -------------------------

	var updateSiteAjax = function()
	{ 
		this.counter++;
		if($$('.auctionBox').length == 0) return;
		//if($('clock') == null) return;
		
		
		//$('price1').innerHTML = this.counter;
		//alert('x')
		
		
		//communicate('/app/jobs/auctionData.php', 0, 'updateSiteAjaxCallback');
		
		
		
		if(this.myRequest != null) this.myRequest.cancel();
		
		var url = '/app/jobs/auctionData3.php';
		if(Site.isDialog) url = '/app/jobs/auctionData.php';
						
		this.myRequest = new Request.JSON(
					{
						method: 'get', 
						url: url, 
						timeout: 1000,
						link: 'cancel',
						onSuccess: function(jsonObj)
						{
							//$('clock').innerHTML = jsonObj.data.meta.time; //JSON.encode(jsonObj);
							//$('clock').style.display = 'block';
							if(!jsonObj || !jsonObj.data) return;
							//alert(jsonObj.data.meta.time + ", " + servertime);
							if(jsonObj.data.meta.time <= servertime)
							{
							}
							else
							{
								var clock = $('clock');
								if(clock) clock.innerHTML = jsonObj.data.meta.time ;
								servertime = jsonObj.data.meta.time;
								
								updateSite(jsonObj.data);
								
							}
						}
					});
					
					var params = '';
					if(this.isDialog) 
					{
						params = 'auctionId=' + Site.auctionId;
						//alert('y');
					} 
					else if(this.auctionState != -1)
						params = 'state=' + this.auctionState;
						
					this.myRequest.send(params); //'auctionId=' + item.get('id').substring(17) );
		
		
		
	};
	
	

	
	
	var mbBidAlert = function(msg)
	{
		//alert(msg + "xx");
		//$('inlinePopup').innerHTML = msg;
		//Mediabox.open('#mb_inline', 'Upozornění', '640 244')
		if(msg == 'LoginRequired')
		{
			Mediabox.open('/app/Main/register/src/' + msg, 'Registrace', '614 664')
		}
		else if(msg == 'InsufficientCredit')
		{
			Mediabox.open('/app/Main/manageAccount/src/' + msg, 'Správa účtu', '717 676')
		}
		else if(msg == 'NoBidsAllowed')
		{
			$('inlinePopup').innerHTML = '<p><br/><br/><br/>K aukci již nelze přihazovat.</p>';
			Mediabox.open('#mb_inline', 'Upozornění', '349 244')
		}
		else
		{
			$('inlinePopup').innerHTML = msg;
			Mediabox.open('#mb_inline', 'Upozornění', '349 244')
		}
		
		
	}
	
	
window.addEvent('domready', function() {
	
	
	
	//alert($$('.auctionBox').length);
	
	
	
	if($$('input.makeABid').length > 0)
	{
		
		$$('input.makeABid').each( function(item, index)
			{
			//alert('jo');
				item.addEvent('click', function(event){
					//alert('jo');
					event.stop();
					//alert('xxx' + (index + 1));
					//alert(item.get('id').substring(17));
					item.disabled = true;
					var myRequest = new Request.JSON(
					{
						method: 'get', 
						url: '/app/jobs/makeABid.php',
						timeout: 2000,
						onSuccess: function(jsonObj)
						{
							//$('clock').innerHTML = jsonObj.data; //JSON.encode(jsonObj);
							
							var clock = $('clock')
							if(clock) clock.innerHTML = jsonObj.data.meta.time ;
							
							//if(jsonObj.data.meta.userId == 0) alert('You must be logged in to make a bid.');
							if(jsonObj.data.meta.error !== 0) mbBidAlert(jsonObj.data.meta.errMsg);
							
							servertime = jsonObj.data.meta.time;
							//updateAuctions(jsonObj.data.auctions);
							updateSite(jsonObj.data);
							item.disabled = false;
						}
					});
					myRequest.send('auctionId=' + item.get('id').substring(17) );
				});
				
			});
	}
	
	
});

