// topdeals class
function Topdeals ()
{
	// check json request uri
	this.url = 'http://' + window.location.hostname + '/link/other/topdeals.json';
		
	
	// create json request instance
	this.json = new Request.JSON( {
        url: this.url,
        onSuccess: function(objJSON) 
        { 
			// empty container
        	$('divTopDeals').empty();

        	// validate input
        	if (!$chk(objJSON.topdeals)) 
        	{   $('divTopDeals').html = 'Cannot load topdeals.'; 	
        		return 0;   }
        
        	// pseudorandom display of deals
        	var d = new Date();
        	var r = d.getHours() * 60 + d.getMinutes(); // d.getMilliseconds();
        	var a = 7549;
        	var b = 3181;
        	var m = objJSON.topdeals.length;
        	var randDeals = new Array();

			// select pseudorandom deals
			OutMost: for (var i = 0; i < objJSON.amount && i < 25; i++)
			{
				r = (a + b * r) % m;
				if (!$chk(objJSON.topdeals[r])) continue;
				
				// avoid duplicate deals
				for (var j = 0; j < randDeals.length; j++)
				{   
					if (objJSON.topdeals[r].name == randDeals[j].name)
					{   objJSON.amount++;   continue OutMost; }   
				}
				
				randDeals.push(objJSON.topdeals[r]);
				//$('divTopDeals').parentNode.appendText(' ' + r);
			}
        
        	// display pseudorandom topdeals
			$each (randDeals, function (deal) 
			{
				var d = new Element('a', { href: deal.url, title: deal.name + ' - ' + deal.info });
				var dd = new Element('img', { src: deal.image, alt: deal.name + ' - ' + deal.info, width: '160', height:'80' });
				d.appendChild(dd);
				d.appendText(deal.info);
				$('divTopDeals').appendChild(d);
			});
        }});	
        
    // send request
    this.json.get();	
}


// event listener for domready
window.addEvent('domready', function() {  	var objTopdeals = new Topdeals();	});
