function setupDomEvents(){

		var sizes = new Hash({'width':0,'height':0});
		var price;
		
		$$('.price').addEvents({	
			'mouseenter': function(e){

				if(!this.className.match('addtocart')){
				
					if(Browser.Engine.trident){
						
						/* ie blows!! */
						this.setStyle('padding',0);
						sizes = this.getSize();
						this.setStyle('padding','2px 5px 7px 5px');
						
					 } else {
						sizes = this.getSize();
					 }	
	 					
					price = this.get('html');
					this.set('html','');
					this.addClass('addtocart');
					this.setStyles({width:sizes.x,height:sizes.y});				
				}
				
			},
			'mouseleave': function(e){

				if(this.className.match('addtocart')){

					this.removeClass('addtocart');
					this.set('html',price);
					this.setStyles({width:'',height:''});
					
				}
				
			},
			'click': function(e){
				e.stop();
				document.location.href = this.get('rel');
			//	alert('browse trigger');
			}
		});

		$$('.flashContainer').each(function(el){
			el.setStyle('background-image','url("'+el.get('rel')+'")'); 
		});

		Slimbox.scanPage();

}

function loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visibilecount,up,init){
		
	if(init==undefined)
		init = false;

	var req = new Request({
		method: 'get',
		url: siteUrl+'browse_getGadgets.php',
		data: {
			'idm':idmanufactor,
			'idt':iddevicetype,
			'idp':idproduct,
			'limit':limit,
			'page':page,
			'up':up,
			'visiblecount':visiblecount,
			'rand':Math.random()
			
		},
		async: false,
		onComplete: function(response) { 
		
	
			try {
				eval(response);
				
				if(!init)
					setupDomEvents();
				Slimbox.scanPage();
			}
			catch(err){
//				console.log("Feler: " + err);
			}
		}
	}).send();

}

function loadManufactorSelect(iddevicetype){

	var req = new Request({
		method: 'get',
		url: siteUrl+'browse_getManufactorSelect.php',
		data: {
			'idt':iddevicetype,
			'rand':Math.random()
		},
		async: false,
		onComplete: function(response) { 
		
			try {
				eval(response);
			}
			catch(err){
//				console.log("Feler: " + err);
			}
		}
	}).send();

}

function loadDevicetypes(){

	var req = new Request({
		method: 'get',
		url: siteUrl+'browse_getDevicetypesSelect.php',
		async: false,
		data:{
			'rand':Math.random()
		},
		onComplete: function(response) { 
		
			try {
				eval(response);
			}
			catch(err){
//				console.log("Feler: " + err);
			}
		}
	}).send();

}

function loadProducts(idcategory,dup){

	var req = new Request({
		method: 'get',
		url: siteUrl+'browse_getProducts.php',
		async: false,
		data:{
			'dup':dup,
 			'designpage':designpage,
			'idc':idcategory,
			'rand':Math.random()
		},
		onComplete: function(response) { 
		
			try {
				idc = idcategory;

//				designpage = 1;
				eval(response);


				$$('.Design').addEvent('click',function(e){
					idproduct = parseInt(this.get('rel'));
					loadProducts(idc,0);		
					loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,0);
				});
				
				
			}
			catch(err){
//				console.log("Feler: " + err);
			}
		}
	}).send();
	
}

function loadProductCategories(){

	var req = new Request({
		method: 'get',
		url: siteUrl+'browse_getProductCategories.php',
		async: false,
		data:{
			'rand':Math.random()
		},
		onComplete: function(response) { 

			try {
				idproduct = 0;
				eval(response);
				idc = parseInt($('IDCATEGORY').getSelected().get('value'));

				if(!idc)
					idc = $('IDCATEGORY').options[0].value

				loadProducts(idc,0);

			}
			catch(err){
//				console.log("Feler: " + err);
			}
		}
	}).send();

}

function makeDesignPaging(pages,dup){

	var req = new Request({
		method: 'get',
		url: siteUrl+'browse_getDesignPaging.php',
		async: false,
		data:{
			'pages':pages,
			'active':designpage,
			'dup':dup,
			'rand':Math.random()
		},
		onComplete: function(response) { 
		
			try {

				eval(response);

				$$('.ditem').addEvent('click',function(e){
					var itemValue = parseInt(this.get('html'));
					designpage = itemValue;
					idproduct = 0;
					loadProducts(idc,0);
					loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,0);
	
				});
	
				$('dleftScroll').addEvent('click',function(e){
					designpage = designpage - 1;
					idproduct = 0;
					loadProducts(idc,'down');
					loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,0);
				});

				$('drightScroll').addEvent('click',function(e){
					designpage = designpage + 1;
					idproduct = 0;
					loadProducts(idc,'up');					
					loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,0);
				});

			}
			catch(err){
//				console.log("Feler: " + err);
			}
			
		}
	}).send();

}


function makePageing(pages,active,visiblecount,up){

	var req = new Request({
		method: 'get',
		url: siteUrl+'browse_getPageing.php',
		async: false,
		data:{
			'pages':pages,
			'active':active,
			'visiblecount':visiblecount,
			'up':up,
			'rand':Math.random()
		},
		onComplete: function(response) { 
		
			try {
				eval(response);
				
				$$('.item').addEvent('click',function(e){
					var itemValue = parseInt(this.get('html'));
					up = (itemValue >page?'up':'down');
					page = itemValue;
					loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,up);
				});
				
				$('leftScroll').addEvent('click',function(e){
					page = page - 1;
					loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,'down');
				});
				
				$('rightScroll').addEvent('click',function(e){
					page = page + 1;
					loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,'up');
				});
				
			}
			catch(err){
//				console.log("Feler: " + err);
			}
			
		}
	}).send();

}

function displayDesignPageing(pages,dup){

	var current = designpage-1;
	var visibles = new Array();
	var visiblecount = 2;
	var dstartitem = 0;
	
//	console.log(designpage + ' + ' + pages );
	
	if(designpage>visiblecount && dup=='up')
		dstartitem = designpage - visiblecount;
		
	if(dup=='down' && dstartitem>=current)
		dstartitem = current;
	
	if(current==0)
		$('dleftScroll').addClass('hidden');
		
	if(designpage==pages)
		$('drightScroll').addClass('hidden');

	for(j=dstartitem;j<(dstartitem+visiblecount);j++){
//	for(j=0;j<pages;j++){
		visibles.push(j);	
	}


	$$('.ditem').each(function(item,i){
			if(visibles.contains(i))
				item.removeClass('hidden');
	});
	
}

function displayPageing(visiblecount,page,up,pages){

	var current = page-1; // adjust loop starts at 0
	var visibles = new Array();
	
	if(page>visiblecount && up=='up')
		startitem = page - visiblecount;
	
	if(up=='down' && startitem>=current)
		startitem = current;
		
	if(current==0)
		$('leftScroll').addClass('hidden');
		
	if(page==pages)
		$('rightScroll').addClass('hidden');
	
	for(j=startitem;j<(startitem+visiblecount);j++){
		visibles.push(j);	
	}
	
	$$('.item').each(function(item,i){
			if(visibles.contains(i))
				item.removeClass('hidden');
	});
	
}

	var iddevicetype = 0;
	var idmanufactor = 0;
	var idproduct = 0;
	var designpage = 1;
	var idc = 0;
	var page = 1; // startup page
	var limit = 6; // products per page
	var visiblecount = 5; // count of pages visible in paging
	var startitem = 0; // global paging start item
	var dstartitem = 0; // global paging design start item

window.addEvent('domready', function() { 

	loadProductCategories();
	idc = parseInt($('IDCATEGORY').getSelected().get('value'));

	loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,0,true);

	loadDevicetypes();
	
	$('IDDEVICETYPE').addEvent('change',function(e){
		iddevicetype = this.get('value');		
		idmanufactor = 0;
		page = 1;
		startitem = 0;
		loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,0);
		loadManufactorSelect(iddevicetype);
		$('IDMANUFACTOR').disabled=(iddevicetype>0?false:true);	
	});

	$('IDMANUFACTOR').addEvent('change',function(e){
		idmanufactor = this.get('value');		
		startitem = 0;
		page = 1;
		startitem = 0;
		loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,0);
	});

	$$('#IDCATEGORY').addEvent('change',function(e){
		idproduct = 0;
		designpage = 1;
		loadProducts(parseInt(this.getSelected().get('value')),0);
		loadGadgets(iddevicetype,idmanufactor,idproduct,limit,page,visiblecount,0);
	});


});