/*
* Version 2006-11-02
*/

function class_catalog(name_obj, catalog_line) {
	
	this.name_obj = name_obj;
	
	this.xmlhttp = null;
	
	if (window.XMLHttpRequest) {
		this.xmlhttp = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (ex) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (ex) {
			}
		}
	}
	
	this.articel_list 	= null;
	this.catalog_line	= catalog_line;
	this.rows			= 3;
	this.cols			= 3;

};

class_catalog.prototype.get_list = function(prg) {
	
	if(document.getElementById('div_catalog_navi'))
		ShowHideObject('div_catalog_navi', 'hide');
	if(document.getElementById('div_catalog_load'))	
		ShowHideObject('div_catalog_load', 'show');

// send request

	var Url = 'site_get_data.php?ac=get_articel_list&prg=' + prg;
	
	this.xmlhttp.open('GET', Url);
	eval("this.xmlhttp.onreadystatechange = function () { " + this.name_obj + ".set_list()};");
	this.xmlhttp.send(null);
	
}

class_catalog.prototype.set_list = function() {
	if (this.xmlhttp.readyState == 4) {
		
		var select = document.getElementById('CatalogSite');
		var end;
		var i = 0;
		var number_of_sites = 0;
		this.articel_list = eval("(" + this.xmlhttp.responseText + ")");
		
	// set navi
	
		end = select.options.length;
		for (i = 0; i < end; i++)
			select.remove(i);

		number_of_sites = Math.ceil(this.articel_list.list.length / (this.rows * this.cols));
	
		for(i = 0; i < number_of_sites; i++) 
			select.options[i] = new Option((i + 1), i, false, false);
		
		document.getElementById('span_catalog_number_of_sites').innerHTML = number_of_sites;
		
		if(document.getElementById('span_catalog_title'))							
			document.getElementById('span_catalog_title').innerHTML = unescape(this.articel_list.title);
			
	// set catalog site
				
		this.set_site(0);
		
	// show catalog
		
		if(document.getElementById('div_catalog_load'))
				ShowHideObject('div_catalog_load', 'hide');
				
		if(document.getElementById('div_catalog_navi'))		
			ShowHideObject('div_catalog_navi', 'show');
		
		if(document.getElementById('div_catalog_overview'))				
			ShowHideObject('div_catalog_overview', 'hide'); 
		
		if(document.getElementById('div_catalog_list'))					
			ShowHideObject('div_catalog_list', 'show');
		
		if(document.getElementById('span_catalog_title'))						
			changeClass('span_catalog_title', 'span_catalog_title'); 
		if(document.getElementById('span_catalog_overview'))							
			changeClass('span_catalog_overview', 'span_catalog_overview_text_off');
	}	
}

class_catalog.prototype.set_site = function(site) {
	
	var i, j = 0;
	var row = 0;
	var end = 0;
	var table = document.getElementById('table_catalog_list');
	var Childs;
	var TR;
	var Tmp;
	
// clear table

	end = table.rows.length;		
	for (i = 0; i < end; i++)
		table.deleteRow(0);
		
// set new list

	if (site < 1 || this.articel_list.list.length < (site * this.rows * this.cols)) site = 0;
	
	end = (site * 1 + 1) * this.rows * this.cols;
	if (end > this.articel_list.list.length) end =  this.articel_list.list.length;
		
	
	for(i = (site * this.rows * this.cols); i < end; i++) {
		if (j == 0) {
			new_tr = table.insertRow(row);
			row++;
		}
		j++;
		if (j >= this.cols) j = 0;
			
		var new_td = this.catalog_line.cloneNode(true);
		
		new_tr.appendChild(new_td);
		
		var items = new_td.getElementsByTagName('a');
		items[0].title = unescape(this.articel_list.list[i].itemnumber);
		
		var items = new_td.getElementsByTagName('img');
		items[0].src = IMAGE_WWW_DIR + 'script_thumb.jpg?image=' + unescape(this.articel_list.list[i].picture) + '&set=2&max[height]=120&max[width]=100';
		
		var items = new_td.getElementsByTagName('span');
		items[0].innerHTML = unescape(this.articel_list.list[i].price);
	}
}

class_catalog.prototype.switch_site = function(direction) {
	var select = document.getElementById('CatalogSite');
		
	direction*= 1
		
	if (select.options[select.selectedIndex + direction]) {
		this.set_site(select.value * 1 + direction);
		select.options[select.selectedIndex + direction].selected = true;
	}
}