/* /scripts/basic.js */
/*--------------------------------------------------------------------------
[Byice.net] byice.net 网站基础脚本(所有页面公用)

Site:    http://www.byice.net
Version: 1.0
Date:    2008/05/14
Author:  assassinice
Email:   byice.team@gmail.com

Links:   /
---------------------------------------------------------------------------*/


/* =skinNames 存储皮肤名称的全局数组
---------------------------------------------------------------------------*/
var skinNames = ['blue', 'green', 'pink'];

/* =nowSkin 当前皮肤名称的全局属性
---------------------------------------------------------------------------*/
var nowSkin = skinNames[0];

/* =skinCookie 创建cookie对象
---------------------------------------------------------------------------*/
if(NET.BYICE.CookieCla.enabled()) {
	var skinCookie = new NET.BYICE.CookieCla('skinCookie');
};

/* =isSkinCookie 创建cookie对象
---------------------------------------------------------------------------*/
if(skinCookie && skinCookie.skinName) {
	nowSkin = skinCookie.skinName;	
}

document.write('<link id="skin" type="text/css" rel="stylesheet" href="/styles/' + nowSkin + '.css" />');

/* =shiftSkin() 更换皮肤
---------------------------------------------------------------------------*/
function shiftSkin(skinName) {
	// 存储当前皮肤名称
	nowSkin = skinName;
	// 格式化皮肤文件连接地址
	var linkHref = '/styles/' + skinName + '.css';
	// 更换皮肤文件
	if(document.getElementById('skin')) {
		// 如果存在引用皮肤的元素节点,则更新皮肤文件连接地址
		document.getElementById('skin').href = linkHref;
	} else {
		// 如果没有引用皮肤的元素节点,则创建引用元素节点
		var linkTag = NET.BYICE.DOM.create('link');
		NET.BYICE.DOM.attr(linkTag, 'id', 'skin');
		NET.BYICE.DOM.attr(linkTag, 'type', 'text/css');
		NET.BYICE.DOM.attr(linkTag, 'rel', 'stylesheet');
		// 赋给当前皮肤文件连接地址
		NET.BYICE.DOM.attr(linkTag, 'href', linkHref);
		// 追加引用皮肤的元素节点
		var links = document.getElementsByTagName('link');
		NET.BYICE.DOM.after(links[links.length-1],linkTag);
	};
	if(skinCookie) {
		skinCookie.skinName = skinName;
		skinCookie.store(30, '/');
	};
	// 调用高亮显示当前皮肤的连接节点元素
	isNowSkin();
	//window.parent.document.getElementById('aasdf').innerHTML = skinName;
	//var linkHref = 'styles/' + skinName + '.css';
	// 更换皮肤文件

	window.parent.document.getElementById('skin').href = linkHref;

	//parent.location.reload();
};


/* =isNowSkin() 高亮显示当前皮肤的连接节点元素
---------------------------------------------------------------------------*/
function isNowSkin() {
	var skinButton = document.getElementById('skinButton');
	if(!skinButton) { return false; };
	var links = skinButton.getElementsByTagName('a');
	for(var i=0; i<links.length; i++) {
		// 清除当前高亮显示
		NET.BYICE.CSSCLASS.remove(links[i], 'nowSkin');
		// 如果是当前皮肤,则高亮显示
		if(NET.BYICE.CSSCLASS.is(links[i], nowSkin)) {
			NET.BYICE.CSSCLASS.add(links[i], 'nowSkin');
		};
	};
};


/* =skinButton() 在页面中追加skinButton元素节点
---------------------------------------------------------------------------*/
function skinButton() {
	// 创建需要的元素节点
	var ulTag = NET.BYICE.DOM.create('ul');
	var liTag = NET.BYICE.DOM.create('li');
	var aTag = NET.BYICE.DOM.create('a');
	// 创建ulTag的ID属性
	NET.BYICE.DOM.attr(ulTag, 'id', 'skinButton');
	// 循环添加ulTag的子节点
	for(var i=0; i<skinNames.length; i++) {
		// 克隆需要的元素节点
		var liNode = liTag.cloneNode(true);
		var aNode = aTag.cloneNode(true);
		// 创建a节点的属性
		NET.BYICE.DOM.attr(aNode, 'href', '#');
		NET.BYICE.DOM.attr(aNode, 'title', skinNames[i]);
		NET.BYICE.DOM.attr(aNode, 'class', skinNames[i]);
		// 创建a节点的click属性
		NET.BYICE.EVENT.add(aNode, 'click', function(){shiftSkin(this.getAttribute('title'));});
		NET.BYICE.EVENT.add(aNode, 'click', function(e){NET.BYICE.EVENT.stopDefault(e);});
		// 追加相应节点
		liNode.appendChild(aNode);
		ulTag.appendChild(liNode);
	};
	// 在网页头部h1内追加ulTag元素节点
	//var headder = document.getElementById('headder');
	//if(!headder) { return false; };
	//headder.getElementsByTagName('h1')[0].appendChild(ulTag);
	
	if(document.getElementById('colorc')) document.getElementById('colorc').appendChild(ulTag);
	// 调用高亮显示当前皮肤的连接节点元素
	isNowSkin();
};

NET.BYICE.EVENT.add(window, 'load', skinButton);


/* =layoutBox() 宽窄布局判断函数
---------------------------------------------------------------------------*/
function layoutBox() {
	// 获取1024*768布局控制样式表
	var layout = document.getElementById('layout');
	if(!layout) { return false; };
	// 判断是否应用1024*768布局控制样式表
	if(NET.BYICE.GEOMETRY.getViewportWidth() < 920) {
		layout.disabled = true;
	} else {
		layout.disabled = false;
	};
};
// 页面读取到此处触发宽窄布局判断函数
layoutBox();
// 页面尺寸调整时调用宽窄布局判断函数
NET.BYICE.EVENT.add(window, 'resize', layoutBox);


/* =thisPage() 高亮显示导航条本栏目连接
---------------------------------------------------------------------------*/
function thisPage() {
	var thisURL = window.location.toString();
	var siteNav = document.getElementById('siteNav');
	var thisPage = 0;
	
	if(siteNav) {
		var links = siteNav.getElementsByTagName('a');
		for(var i=1; i<links.length; i++) {
			if(thisURL.indexOf(links[i].href.split('/')[3]) >= 0) {
				links[i].className = 'show';
				thisPage = 1;
			};
		};
		
		if(thisPage == 0) {
			links[0].className = 'show';
		};
	};
};

NET.BYICE.EVENT.add(window, 'load', thisPage);


/* =thischannelsPage() 高亮显示频道导航条本页连接
---------------------------------------------------------------------------*/
function thischannelsPage() {
	var thisURL = window.location.toString();
	var channelsNav = document.getElementById('channelsNav');
	var thisPage = 0;
	
	if(channelsNav) {
		var links = channelsNav.getElementsByTagName('a');
		for(var i=0; i<links.length; i++) {
			if(thisURL.indexOf(links[i].href.split('/')[links[i].href.split('/').length - 1]) >= 0) {
				links[i].className = 'now';
			};
		};
	};
};

NET.BYICE.EVENT.add(window, 'load', thischannelsPage);