var viewLimit=3;

function hide(targButton){
	var li=targButton.parentNode.getElementsByTagName('li');
	 for(i=0;i<li.length;i++){
		if(i>=viewLimit && li[i].className!='button')
			li[i].style.display='none';
	}
//	targButton.innerHTML='see more..';
	targButton.style.backgroundPosition='right 0';
	targButton.onmouseover=function(){position(this,'closedOver');}
	targButton.onmouseout=function(){position(this,'closedOut');}
	targButton.onclick=function(){reveal(this);}
}

function reveal(targButton){
	var li=targButton.parentNode.getElementsByTagName('li');
	 for(i=0;i<li.length;i++){
		li[i].style.display='block';
	}
//	targButton.innerHTML='..see less';
	targButton.style.backgroundPosition='right -54px';
	targButton.onmouseover=function(){position(this,'openOver');}
	targButton.onmouseout=function(){position(this,'openOut');}
	targButton.onclick=function(){
		hide(this);
	}
}

function position(targButton,stat){
	switch(stat){
		case 'closedOver':
			targButton.style.backgroundPosition='right -27px';
			break;
		case 'closedOut':
			targButton.style.backgroundPosition='right 0px';
			break;
		case 'openOver':
			targButton.style.backgroundPosition='right -81px';
			break;
		case 'openOut':
			targButton.style.backgroundPosition='right -54px';
			break;
	}
}

function init(){
	var ul=document.getElementsByTagName('ul');
	for(i=0;i<ul.length;i++){
		if(ul[i].className=='collapse' ){
			li=ul[i].getElementsByTagName('li');
							
			for(ii=0;ii<li.length;ii++){
					// hide li beyond viewLimit except button li
				if(ii>=viewLimit && li[ii].className!='button')
					li[ii].style.display='none';
				else{
						// if no hidden li, hide button
					if((li.length-1)<=viewLimit && li[ii].className=='button'){
						li[ii].style.background='none';
						li[ii].style.cursor='default';
					}
					if( li[ii].className=='button'){
						li[ii].onmouseover=function(){position(this,'closedOver');}
						li[ii].onmouseout=function(){position(this,'closedOut');}
						li[ii].onclick=function(){reveal(this);}
					}
				}
			}
		}
	}
}



function addEvent(elm, evType, fn, useCapture){  //cross-browser event handling
	if(elm.addEventListener){//firefox, safari, chrome, opera
		elm.addEventListener(evType, fn, useCapture);
		if(navigator.userAgent.indexOf('Chrome')!=-1)
			chrome=true;
		return true;
	}else if(elm.attachEvent){//ie
		ie=true;
		ieVer=navigator.userAgent.charAt(navigator.userAgent.indexOf('MSIE')+5);
		ieVerNum=parseInt(ieVer);
		if(ieVerNum<=7)
			ie7=true;
			
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}else{
		elm['on' + evType] = fn;
	}
}
addEvent(window, 'load', init, false);
