
	var categories = Class.create(kb_base,{
		initialize : function($super, RPCURI, container){
			$super(RPCURI, container);
			this.instID = 'kb_' + parseInt(Math.random()*1000000);
		},
		
		getGrondhoudingenList : function(mode){
			this.mode = mode;
			//1 = vmbo
			//2 = havo
			//3 = vwo
			$('page').hide();
//			$('contentContainer').update('<a href="javascript:window.location.reload();">[Terug]</a>');
			switch (this.mode) {
			case 1:
				// VMBO:
				this.container.update('<h1>Grondhoudingen VBMO</h1>');
				break;
			case 2:
				// HAVO:
				this.container.update('<h1>Grondhoudingen HAVO</h1>');
				break;
			case 3:
				// VWO:
				this.container.update('<h1>Grondhoudingen VWO</h1>');
				break;
			default:
				break;
			}			

			this.waiter(this.container);
			var rpc = new rpcClient(this.RPCURI, '439b3a44-76ce-11de-86f2-001f297dba24');
			if (window.console) rpc.debug = true;
  			rpc.createCall('is', 'getGrondhoudingen');
  			rpc.execute(this.writeGHList.bind(this));
		},
		
		writeGHList : function(req,rpc){
			this.unwaiter();
			var categories = rpc.toObject().responses.response.row;
			var ul = new Element('ul');
			this.container.insert(ul);
			categories.each(
				(function(cat){
					var li = new Element('li');
					ul.insert(li);
					
					var link = new Element('a').update(cat.name);
					li.insert(link);
					link.observe('click', this.showCategory.bind(this));
					
					var catContainer = new Element('div', {className:'categoryContainer'});
					li.insert(catContainer);
					catContainer.hide();
					
					link.cat = cat;
					link.inlineContainer = catContainer;
					
				}).bind(this)
			)
		},
		
		showCategory : function(e){
			var elem = e.element();
			var cat = elem.cat;
			var container = elem.inlineContainer;
			switch (this.mode) {
			case 1:
				// VMBO:
				var story = cat.vmbo_description;
				var combi = cat.combi_vmbo_description;
				break;
			case 2:
				// HAVO:
				var story = cat.description_havo;
				var combi = cat.combi_description;
				break;
			case 3:
				// HAVO:
				var story = cat.description;
				var combi = cat.combi_description_WO;
				break;
			default:
				break;
			}
//			var story = cat.description;
//			var combi = cat.combi_description;
//			if (this.mode == 1){
//			}else if (this.mode == 3){
//				combi = cat.combi_description_WO;
//			}
			this.getCloser(container);
			var img = new Element('img', {src:"http://www.koerswijzer.info/images/" + cat.image, style:"float:right;"});
			
			container.insert(img);
			container.insert(story);
			container.insert("<h1>Combinaties met andere grondhoudingen</h1>");
			container.insert(combi);
			container.show();
		}
			
	});
	
