
// telescopic text engine 1.0
// by meir sadan, nascent

function init_telescopic(e) {
	var spans = e.getElementsByTagName('span');
	var tempStr;
	for (var i=0; i<spans.length; i++) {
		if (spans[i].id.indexOf('_0')>-1) {
			spans[i].style.display='none';
		} else {
			spans[i].innerHTML="<a href='#' onclick='t_expose(this); return false;' class='tele' rel='telescopic'>"+spans[i].innerHTML+"</a>";
		}
	}
	spans[0].style.display='inline';
}

function destroy_telescopic(e) {
	var spans = e.getElementsByTagName('span');
	var anchors = e.getElementsByTagName('a');
	var tempStr, tempElement;
	for (var i=0; i<anchors.length; i++) {
		if (anchors[i].getAttribute('rel')=='telescopic') {
			tempStr=anchors[i].innerHTML;
			tempElement=anchors[i].parentNode;
			tempElement.removeChild(anchors[i]);
			tempElement.innerHTML=tempStr;
		}
	}
	for (var i=0; i<spans.length; i++) {
		spans[i].removeAttribute('style');
	}
}

function t_disappear(newEl) {
	var exposeR=215, exposeG=215, exposeB=215;
	var delta=20;
	var limitR=255, limitG=255, limitB=255;
	var disappearFunc = function() {
		if (exposeR<limitR) exposeR+=delta; else exposeR=limitR;
		if (exposeG<limitG) exposeG+=delta; else exposeG=limitG;
		if (exposeB<limitB) exposeB+=delta; else exposeB=limitB;
		newEl.style.backgroundColor='rgb('+exposeR+','+exposeG+','+exposeB+')';
		if ((exposeR != limitR) || (exposeG != limitG) || (exposeB != limitB)) {
			setTimeout(disappearFunc, 25);
		} else {
			newEl.style.backgroundColor='transparent';
		}
	}
	disappearFunc();
}

function t_expose(e) {
	var exposeR=65, exposeG=159, exposeB=221;
	var delta=20;
	var limitR=215, limitG=215, limitB=215;
	var exposeFunc = function() {
		if (exposeR<limitR) exposeR+=delta; else exposeR=limitR;
		if (exposeG<limitG) exposeG+=delta; else exposeG=limitG;
		if (exposeB<limitB) exposeB+=delta; else exposeB=limitB;
		newEl.style.backgroundColor='rgb('+exposeR+','+exposeG+','+exposeB+')';
		if ((exposeR != limitR) || (exposeG != limitG) || (exposeB != limitB)) {
			setTimeout(exposeFunc, 25);
		} else {
			setTimeout(function() { t_disappear(newEl); }, 5000);
		}
	}
	e.parentNode.style.display='none';
	var newEl=document.getElementById(e.parentNode.id+"_0");
	newEl.style.display='inline';
	setTimeout(exposeFunc, 25);
}

function expand_all(e) {
	var spans = e.getElementsByTagName('span');
	var tempStr;
	for (var i=0; i<spans.length; i++) {
		if (spans[i].id.indexOf('0')>-1) {
			spans[i].style.display='inline';
		} else {
			spans[i].style.display='none';
		}
	}
}

function contract_all(e) {
	var spans = e.getElementsByTagName('span');
	for (var i=0; i<spans.length; i++) {
		if (spans[i].id.indexOf('0')>-1) {
			spans[i].style.display='none';
		} else {
			spans[i].style.display='inline';
		}
	}
	spans[0].style.display='inline';
}

