
function clearNodes(el){
	if(el){
		if(el.hasChildNodes){
			while (el.hasChildNodes()){
			  el.removeChild(el.firstChild);
			}	
		}
	}
}

function add_generic_node(el, node_type, html_args, css_args, pos, before_el){
	
	var childEl=document.createElement(node_type);
	
	pos=pos || 'after';
	
	var attributes=Array();
	
	for(property in html_args){
		switch(property){
			case 'text':
				//we need to do a switcheroony on &amp; - but how?
				text=html_args['text']
				text=text.replace(/&lt;/gi, '\u003c');
				text=text.replace(/&gt;/gi, '\u003e');
				text=text.replace(/&quot;/gi, '\u0022');
				text=text.replace(/&amp;/gi, '\u0026');
				
				txtNode=document.createTextNode(text);
				childEl.appendChild(txtNode);	
				break;
			
			default:
				value=html_args[property];
				prop=property;
				if(prop=='className' || prop=='classname')
					prop='class';
								
				childEl.setAttribute(prop, value);
		}
			
	}
	
	for(property in css_args){
		//NOTE: all stylesheet attributes must be in the javascript format, ie fontFamily, not font-family
		eval('childEl.style.' + property + "='" + css_args[property] + "'");
	}
	
	if(pos=='after')
		el.appendChild(childEl);
	
	if(pos=='before')
		el.insertBefore(childEl, before_el);
	
	return childEl;

}

function add_element(el, node_name, html_args, css_args, pos, before_el){
	
	//Div is the default element
	node_name=node_name || 'div';
	
	pos=pos || 'after';
	
	var new_node=add_generic_node(el, node_name, html_args, css_args, pos, before_el);
	
	return new_node;
	
}

function build_skyscraper(colour, caption){
	wrapper=add_element(dest_el, 'div');
	wrapper.id='nzlive-wrapper';
	
	if(width!='' && parseInt(width)>0)
		wrapper.style.width=width + 'px';
		
	inner=add_element(wrapper, 'div', {id: '', className: ''});
	inner.id='nzlive-itemcontainer';
	inner.className='nzliveinner';
	title=add_element(inner, 'div');
	title.className='title';
	add_element(title, 'h1', {text: caption});
	
	if(typeof(new_win) == 'undefined'){
		new_win = false;
	}
	
	for(var i=0; i<contents.length; i++){
		
		var item=add_element(inner, 'div');
		item.className='item';
		var h2=add_element(item, 'h2');
		var a=add_element(h2, 'a', {href: '#'});
		a.className='togglebuttonfolded';
		a.onclick=new Function("nzlive_toggleallview(this); return false;");
		if ( ( (typeof(new_win) == "undefined") ? false : true) && new_win) {
			add_element(h2, 'a', {href: contents[i].link, text: contents[i].title, target:'_blank'});
		} else {
    		add_element(h2, 'a', {href: contents[i].link, text: contents[i].title});
    	}
    	var folded=add_element(item, 'div');
    	folded.className='folded';
    	var p=add_element(folded, 'p');
    	add_element(p, 'strong', {text: contents[i].when});
    	add_element(folded, 'p', {text: contents[i].desc});
    	    
	}
	
	
	//add_element(wrapper, 'script', {type: 'text/javascript', text: 'nzlive_hideFocusBorders();'});
	var footer=add_element(wrapper, 'div');
	footer.className='nzlivefooter';
	var a=add_element(footer, 'a', {href: 'http://www.nzlive.com/', target: '_blank'});
	add_element(a, 'img', {src: "http://www.nzlive.com/images/logo_" + colour + ".gif", alt: "nzlive.com", width: '154', height: '54', border: '0'});
}

var dest_el=null;
function get_events(el, colour){
	dest_el=document.getElementById(el);
	var heads=document.getElementsByTagName('head');
	
	if(colour!='blue' && colour!='black')
		colour='grey';
		
	if(heads.length>0){
		var head=heads[0];
		var search_string='';
		for(property in search){
			value=search[property];
			search_string+=property + '=' + value + '&';
		}
		search_string+='colour=' + colour;
		
		add_element(head, 'script', {type: 'text/javascript', src: 'http://www.nzlive.com/retrieve.php?' + search_string});
		add_element(head, 'script', {type: 'text/javascript', src: 'http://www.nzlive.com/js/folding.js'});
		add_element(head, 'link', {href: 'http://www.nzlive.com/skyscraper.css', rel: 'stylesheet', type: 'text/css'});
		add_element(head, 'link', {href: 'http://www.nzlive.com/skyscraper_' + colour + '.css', rel: 'stylesheet', type: 'text/css'});
		
	}
	
}