$(document).ready(
	function(){
		collapse_caman();
		}
	);
var Collapses={},
	collapseAll,
	collapseDefault=[]
function collapse_caman(){
	var collapseLinks=getElementsByTagAndClass(document.body,"SPAN","collapse-link");
	if (!collapseLinks || collapseLinks.length==0) return
	collapseAll=$id("collapse-all")
	
	//rewrite collapseDefault:
	var wl=window.location+"",
		indAnchor=wl.indexOf("#")
	if (indAnchor>0){
		var anch=wl.substr(indAnchor+1),
			aBlock=$id(anch)
			if(aBlock && aBlock.className.search("collapse")>=0){
				collapseDefault=new Array(anch);
				}
		
		}
	
	for (var i=0;i<collapseLinks.length;i++){
		var cLink=collapseLinks[i],
			cLinkIDArray=cLink.id.split("_"),
			cID=cLinkIDArray[0]
			
		cLink.obj={collapseID:cID}
			
		cLink.className+=" active"
		cLink.onclick=collapse
		Collapses[cID]={c:cID,state:0}
		
		if (collapseDefault && collapseDefault.length>0 && in_array(collapseDefault,cID))
			Collapses[cID].state=switchElementVisibility(cID)
	
		}
		switchCollapseAll()
	
	}

function collapse(e){
	Collapses[this.obj.collapseID].state=switchElementVisibility(this.obj.collapseID)
	switchCollapseAll()
	//alert(Collapses[this.obj.collapseID].state)
	}
	
function switchElementVisibility(el,state){
	var states=new Array('hidden','showed'),
		newState,
		currState=0
	//alert (el+" '"+$id(el).className+"' state="+state)
	el=$id(el)
	
	if (el.className.search(states[0])>-1)
		currState=0
	else if (el.className.search(states[1])>-1)
		currState=1
	newState=(state==null)?((currState==0)?1:0):state

	strTempl='/'+states[currState]+'/'

	if (el.className.search(states[currState])>-1)
		el.className=el.className.replace(states[currState], states[newState])
	else 
		el.className+=" "+states[newState]
		
	return newState
	}
	
function switchCollapseAll(state){
	if (!collapseAll) return
	var showed=0,
		hidden=0,
		summ=0,
		o=''
	for (var i in Collapses){
		var c=Collapses[i]
		if (c.state==1)
			showed++
		else 
			hidden++
		}
	summ=showed+hidden
	

	if (state!=null){
		
		newAllState=state?1:0
		if (newAllState){
			hidden=0
			showed=summ
			}
		else {
			showed=0
			hidden=summ
			}
			
		//alert (newAllState)
		for (var i in Collapses){
			var c=Collapses[i]
			Collapses[i].state=switchElementVisibility(c.c,newAllState)
			//alert($id(c.c).className)
			}
		}
	
	if (showed) o+='<a onclick="switchCollapseAll(0)">Свернуть всё</a>'
	if (hidden) o+=((o!='')?'&nbsp;|&nbsp;':'')+'<a onclick="switchCollapseAll(1)">Развернуть всё</a>'
	collapseAll.innerHTML=o
		
		//alert (Collapses.length)
	}