﻿/*  Javascript Functions.  Author: NTDTV.com
-------------------------------------------------------*/


var Marquee = {
	c: [], l: [], lis: [], ls: [], d: [], b: [], iv: [], m: [], st: [], sp: [],
	init: function(ci,dir,s) {
		var index = this.c.length;
		this.c.push(document.getElementById(ci));
		this.c[index].innerHTML += '<div class="boundary"></div>';
		this.l.push(this.c[index].getElementsByTagName("ul")[0]?this.c[index].getElementsByTagName("ul")[0]:this.c[index].getElementsByTagName("ol")[0]);
		this.c[index].lastChild.appendChild(this.l[index]);
		this.c[index].style.visibility = "visible";
		this.lis.push(this.l[index].getElementsByTagName("li"));
		this.ls.push(0);
		this.d.push(dir);
		if(this.d[index] == "left"){
			this.b.push(this.c[index].lastChild.clientWidth);
			if(this.lis[index][0].currentStyle) this.iv.push(this.lis[index][0].currentStyle["marginRight"].replace("px", ""));
			else this.iv.push(document.defaultView.getComputedStyle(this.lis[index][0],null).getPropertyValue("margin-right").replace("px", ""));
			for(var i=0; i<this.lis[index].length; i++) this.ls[index] += this.lis[index][i].offsetWidth + eval(this.iv[index]);
			this.l[index].style.width = this.ls[index] + "px";
		} else {
			this.b.push(this.c[index].lastChild.clientHeight);
			if(this.lis[index][0].currentStyle) this.iv.push(this.lis[index][0].currentStyle["marginBottom"].replace("px", ""));
			else this.iv.push(document.defaultView.getComputedStyle(this.lis[index][0],null).getPropertyValue("margin-bottom").replace("px", ""));
			for(var i=0; i<this.lis[index].length; i++) this.ls[index] += this.lis[index][i].offsetHeight + eval(this.iv[index]);
			this.l[index].style.height = this.ls[index] + "px";
		}
		this.m.push(20);
		this.st.push(null);
		this.sp.push(s);
		this.start(index);
	},
	start: function(index) {
		this.m[index]--;
		if(this.d[index] == "left") this.l[index].style.marginLeft = this.m[index] + "px";
		else this.l[index].style.marginTop = this.m[index] + "px";
		if(this.m[index] < -this.ls[index] + eval(this.iv[index])) this.m[index] = this.b[index];
		this.st[index] = setTimeout(function() { Marquee.start(index) }, Marquee.sp[index]);
		this.c[index].lastChild.onmouseover = function() { clearTimeout(Marquee.st[index]) }
		this.c[index].lastChild.onmouseout  = function() { Marquee.st[index] = setTimeout(function() { Marquee.start(index) }, Marquee.sp[index]) }
	}
}



var FadeSlide = {
	c: [], pt: [], nt: [], l: [], lis: [], a: [], o: [], st: [], sp: [], r: [], auto: [], ast:[], b:[],
	init: function(ci,mode,speed,auto,prevText,nextText) {
		var index = this.c.length;
		this.c.push(document.getElementById(ci));
		this.c[index].getElementsByTagName("li")[0].style.left = 0;
		this.pt.push(prevText?prevText:"&lt;&lt;");
		this.nt.push(nextText?nextText:"&gt;&gt;");
		this.c[index].innerHTML += '<div class="sn"><span class="pl"><a href="#">' + this.pt[index] + '</a></span> <span class="nl"><a href="#">' + this.nt[index] + '</a></span></div><ul></ul>';
		this.l.push(this.c[index].getElementsByTagName("ul")[0]?this.c[index].getElementsByTagName("ul")[0]:this.c[index].getElementsByTagName("ol")[0]);
		this.lis.push(this.l[index].getElementsByTagName("li"));
		for(var i=0; i<this.lis[index].length; i++){
			this.lis[index][i].id = i+1;
			this.c[index].lastChild.innerHTML += '<li><a href="' + this.lis[index][i].getElementsByTagName("a")[0].href + '" onmouseover="FadeSlide.change(' + mode + ',' + this.lis[index][i].id + ',' + index + ')">' + (i+1) + '</a></li>';
		}
		this.c[index].style.visibility = "visible";
		this.a.push(this.c[index].lastChild.getElementsByTagName("li"));
		this.a[index][0].className = "current";
		this.c[index].lastChild.previousSibling.firstChild.firstChild.href = "javascript:FadeSlide.change(" + mode + "," + this.lis[index][this.lis[index].length-1].id + "," + index + ")";
		this.c[index].lastChild.previousSibling.lastChild.firstChild.href  = "javascript:FadeSlide.change(" + mode + "," + this.lis[index][1].id + "," + index + ")";
		this.o.push(0);
		this.st.push(null);
		this.sp.push(speed);
		if(auto != false) this.auto.push(auto);
		if(this.auto[index]){
			var number = 2;
			this.b[index] = setTimeout(function() { FadeSlide.change(mode,number,index) }, this.auto[index]);
		}
		this.r.push(null);
	},
	change: function(mode,number,index) {
		if(this.b[index]) clearTimeout(this.b[index]);
		if(this.auto[index]) clearTimeout(this.ast[index]);
		for(var i=0; i<this.lis[index].length; i++) if(this.a[index][i].className == "current") var currentSlide = i;
		if(number == (currentSlide+1) || this.o[index] !== 0){
			var number = eval(number)==(this.lis[index].length)?1:eval(number+1);
			this.ast[index] = setTimeout(function() { FadeSlide.change(mode,number,index) }, this.auto[index]);
			return;
		}
		for(var i=0; i<this.lis[index].length; i++){
			this.lis[index][i].style.zIndex = 99;
			this.a[index][i].className = "";
		}
		this.lis[index][eval(number-1)].style.zIndex = 100;
		this.a[index][eval(number-1)].className = "current";
		this.fadeOut(mode,currentSlide,number,index);
		if(mode == 2){
			this.lis[index][eval(number-1)].style.left = "0";
			this.fadeIn(mode,number,index);
		}
		if(this.auto[index]){
			var number = eval(number)==(this.lis[index].length)?1:eval(number+1);
			this.ast[index] = setTimeout(function() { FadeSlide.change(mode,number,index) }, this.auto[index]);
		}
	},
	fadeOut: function(mode,currentSlide,number,index) {
		var cl = Math.ceil((100 - this.o[index]) / this.sp[index]);
		this.o[index] += cl;
		this.lis[index][currentSlide].style.opacity = (100 - this.o[index])/100;
		this.lis[index][currentSlide].style.filter  = "alpha(opacity=" + (100 - this.o[index]) + ")";
		this.st[index] = setTimeout(function() { FadeSlide.fadeOut(mode,currentSlide,number,index) }, 15);
		if(cl == 0){
			clearTimeout(this.st[index]);
			this.lis[index][currentSlide].style.left = "-500em";
			if(mode == 1){
				this.o[index] = 0;
				this.lis[index][eval(number-1)].style.left = "0";
				this.fadeIn(mode,number,index);
			}
		}
	},
	fadeIn: function(mode,number,index) {
		var cl = Math.ceil((100 - this.o[index]) / this.sp[index]);
		this.o[index] += cl;
		this.lis[index][eval(number-1)].style.opacity = this.o[index]/100;
		this.lis[index][eval(number-1)].style.filter  = "alpha(opacity=" + this.o[index] + ")";
		this.st[index] = setTimeout(function() { FadeSlide.fadeIn(mode,number,index) }, 15);
		if(cl == 0){
			clearTimeout(this.st[index]);
			this.r[index] = setTimeout(function() { FadeSlide.reset(index) }, 100);
			this.c[index].lastChild.previousSibling.firstChild.firstChild.href = "javascript:FadeSlide.change(" + mode + "," + (eval(number-1)==0?(this.lis[index].length):eval(number-1)) + "," + index + ")";
			this.c[index].lastChild.previousSibling.lastChild.firstChild.href  = "javascript:FadeSlide.change(" + mode + "," + (eval(number+1)==(this.lis[index].length+1)?1:eval(number+1)) + "," + index + ")";
		}
	},
	reset: function(index) {
		this.o[index] = 0;
		clearTimeout(this.r[index]);
	}
}



var AutoSlide = {
	c: [], lm: [], l: [], d: [], st: [], a: [], ast:[],
	init: function(ci,slideNum,speed,auto) {
		var index = this.c.length;
		this.c.push(document.getElementById(ci));
		this.lm.push(0);
		this.c[index].innerHTML += '<div class="boundary"></div>';
		this.l.push(this.c[index].getElementsByTagName("ul")[0]?this.c[index].getElementsByTagName("ul")[0]:this.c[index].getElementsByTagName("ol")[0]);
		this.c[index].lastChild.appendChild(this.l[index]);
		this.c[index].style.visibility = "visible";
		var li = this.l[index].getElementsByTagName("li")[0];
		if(li.currentStyle) this.d.push(eval(li.currentStyle["marginBottom"].replace("px", "")) + li.offsetHeight);
		else this.d.push(eval(document.defaultView.getComputedStyle(li,null).getPropertyValue("margin-bottom").replace("px", "")) + li.offsetHeight);
		this.st.push(null);
		this.a.push(auto);
		setTimeout(function() { AutoSlide.next(index,slideNum,speed) }, this.a[index]);
	},
	next: function(index,slideNum,speed) {
		clearTimeout(this.ast[index]);
		var cl = Math.ceil((this.d[index] - this.lm[index]) / speed);
		this.lm[index] = cl + this.lm[index];
		this.l[index].style.marginTop = "-" + this.lm[index] + "px";
		this.st[index] = setTimeout(function() { AutoSlide.next(index,slideNum,speed) }, 15);
		if(cl == 0){
			clearTimeout(this.st[index]);
			this.lm[index] = this.l[index].style.margin = 0;
			for(var i=0; i<slideNum; i++) this.l[index].appendChild(this.l[index].getElementsByTagName("li")[0]);
			this.ast[index] = setTimeout(function() { AutoSlide.next(index,slideNum,speed) }, this.a[index]);
		}
	}
}



function Divide(id,number) {
	var con  = document.getElementById(id);
	var list = con.getElementsByTagName("ul")[0]?con.getElementsByTagName("ul"):con.getElementsByTagName("ol");
	for(var i=0; i<list.length; i++){
		if(list[i].getElementsByTagName("h3")[0]) continue;
		var li = list[i].getElementsByTagName("li");
		for(var j=0; j<Math.ceil(li.length/number); j++){
			list[i].appendChild(document.createElement("div"));
			for(var k=0; k<li.length; k++){
				if(!li[0].parentNode.tagName.match(/div/i)) list[i].lastChild.appendChild(li[0]);
				if(!((k+1)%number)) break;
			}
		}
	}
}



function scheduleSwitch(month) {
	var schedule = document.getElementById("schedule");
	if(schedule.className.match(month)) return;
	var monthLinks = document.getElementById("choose-month").getElementsByTagName("a");
	for(var i=0; i<monthLinks.length; i++){
		if(monthLinks[i].href.match(month)) monthLinks[i].className = "current";
		else monthLinks[i].className = "";
	}
	var monthTr = [];
	var tr = schedule.getElementsByTagName("tr");
	for(var i=1; i<tr.length; i++) if(tr[i].className.match(month)) monthTr.push(tr[i]);
	for(var i=0, oe=""; i<monthTr.length; i++){
		monthTr[i].className  = monthTr[i].className.replace(/odd|even/, "");
		monthTr[i].className += oe = (oe == " odd")?" even":" odd";
	}
	schedule.className  = schedule.className.replace(/jan|feb|mar|apr|june|aug|may|jul|sep|oct|nov|dec|apr/, "");
	schedule.className += " " + month;
}



function popularSwitch(scale) {
	var scaleLinks = document.getElementById("choose-scale").getElementsByTagName("a");
	for(var i=0; i<scaleLinks.length; i++) scaleLinks[i].className = "";
	var lists = document.getElementById("popular").getElementsByTagName("ol");
	for(var i=1; i<lists.length; i++) lists[i].parentNode.className = "";
	switch(scale){
		case "week":  scaleLinks[1].className = lists[2].parentNode.className = "current"; break;
		case "month": scaleLinks[2].className = lists[3].parentNode.className = "current"; break;
		default:      scaleLinks[0].className = lists[1].parentNode.className = "current";
	}
}
