/* 
文件: 天涯百宝箱__ty_vip.js文件
说明: 百宝箱功能集合
作者: fangxu [2009-11-03]
*/

if ( !__ty_vip ) { var __ty_vip = V = {}; }			// 定义对象__ty_vip
if ( !idWriter || !Key ) { var idWriter, Key; }		// 定义idWriter, Key

/* 
功能: __ty_vip类
作者: fangxu [2009-11-03]
*/	
__ty_vip = V = {
	uid: 0,
	params : null,	// idWriter=*&Key=*
	writer : null,	// 记录每次最后查看的作者
	author : chrAuthorName, // 需要全局变量chrAuthorName
	helper : null,
	timeKey : null,
	contenter : null,
	contentLog : null,
	pageContentLog : null,
	isShowAllWriter : false,
	isShowAllFriends : false,
	isShowTimes : false,
	objAttentArticle: null,
	FIRST_AUTHOR_DIV : 'firstAuthor',
	CONTENT_DIV : 'pContentDiv',
	WRITERS_DIV : '__ty_vip_writers',
	FRIENDS_DIV : '__ty_vip_friends',
	/* 
	功能: 得到id="elem"的句柄
	作者: fangxu [2008-9-22]
	*/
	$ : function ( elem ) {
		return (typeof elem == 'string') ? document.getElementById(elem) : elem;
	},
	/* 
	功能: 得到name="elem"的句柄
	作者: fangxu [2008-9-22]
	*/
	$$ : function ( elem ) {
		return (typeof elem == 'string') ? document.getElementsByName(elem) : elem;
	},
	/* 
	功能: 判断Ajax是否加载成功
	作者: fangxu [2008-9-22]
	*/
	isAjaxReady : function () {
		try {
			new Ajax.Request('', {});
			if (!!V.timeKey) {
				clearTimeout(V.timeKey);
				V.timeKey = null;
			}
			return true;
		} catch (e) {
			V.timeKey = window.setTimeout("V.isAjaxReady()", 500);
		}
	},
	/* 
	功能: 是否是4号服务器
	作者: fangxu [2008-9-12]
	*/
	isFourServer : function () {
		(/^([a-zA-z0-9]+)\.tianya\.cn$/).test(window.location.hostname);
		return (RegExp.$1 == 'www4' || RegExp.$1 == 'ww4' || RegExp.$1 == 'test3');
	},
	/* 
	功能: 根据position={'x':,'y':}显示层id="el"
	作者: fangxu [2008-9-22]
	*/
	show : function ( el, position ) {
		var element = V.$(el);
		if ( position ) {
			element.style.top = (position.y + 20) + 'px';
			element.style.left = (position.x - 40) + 'px';
		}
		element.style.display = 'block';
		return V.$(element);
	},
	/* 
	功能: id="el"层隐藏
	作者: fangxu [2008-9-22]
	*/
	hide : function ( el ) {
		V.$(el).style.display = 'none';
		return V.$(el);
	},
	/* 
	功能: id="el"层如果显示状态,则隐藏,否则显示
	作者: fangxu [2008-9-22]
	*/
	toggle : function ( el ) {
		var elem = V.$(el);
		elem.style.display = (elem.style.display == 'none') ? 'block' : 'none';
		return elem;
	},
	/* 
	功能: 得到总内容日志
	作者: fangxu [2008-9-22]
	*/
	getContentLog : function () {
		if ( !V.contenter ) {
			if ( V.$( V.CONTENT_DIV ) == null ) {
				V.timeKey = window.setTimeout("V.getContenterLog()", 500);
			} else {
				V.contenter = V.$( V.CONTENT_DIV );
				V.contentLog = V.contenter.innerHTML;
				if (!!V.timeKey) {
					clearTimeout(V.timeKey);
					V.timeKey = null;
				}
			}
		}
		return V.contentLog;
	},
	/* 
	功能: 验证是否登陆
	作者: fangxu [2008-9-12]
	*/
	isLogin : function () {
		if (!idWriter || !Key) { //注意需要有获取登陆功能函数
			idWriter = __global.getUserId(); Key = __global.getKey(); 
		}
		if (!idWriter || !Key || idWriter <= 0 || Key <= 0) { // 没有登陆
			return false;
		} else {
			V.params = 'idWriter=' + idWriter + '&Key=' + Key + '';
			return true;
		}
	},
	/* 
	功能: 验证是否登陆,执行逻辑操作
	作者: fangxu [2008-9-22]
	*/
	hadLogin : function (isLookAuthor) {
		var isLogin = V.isLogin();
		var ajaxObj = { method: 'get' };
		if ( isLogin ) ajaxObj.parameters = V.params;
		var url = '../../../../new/wap/ty_vip_fn_look_author_log.asp?chrOperation=' + isLookAuthor;
		//if (isLookAuthor) { // 统计使用 '只看楼主' 人数
			try {
				new Ajax.Request( url, ajaxObj );
			} catch (e) { }
		//}
		if ( !isLogin ) {
			//LoginFun.Login(); //注意需要有登陆功能函数
			MenuUtil.loginIfr('登陆社区', '', '');
		} else {
			return true;
		}
	},
	/* 
	功能: 得到验证后的小时表示
	作者: fangxu [2008-9-22]
	*/
	getHour : function (x) {
		var hour = '';
		if ((/^([0-2]?)[0-9]$/).test(x)){
			var number = parseInt(x);
			if (number < 24){
				hour = (RegExp.$1 == '') ? '0' + number : x;
			} else if (number == 24) {
				hour = '00';
			}
		}
		return hour;
	},
	/* 
	功能: 得到验证后的分钟表示
	作者: fangxu [2008-9-22]
	*/
	getMinute : function (x) {
		var minute = '';
		if ((/^([0-6]?)[0-9]$/).test(x)){
			var number = parseInt(x);
			if (number < 60){
				minute = (RegExp.$1 == '') ? '0' + number : x;
			} else if (number == 60) {
				minute = '00';
			}
		}
		return minute;
	},
	/* 
	功能: 只看楼主功能
	作者: fangxu [2008-9-13]
	*/
	lookByAuthor : function ( author ) {
		var name = V.writer = author || V.author || '';
		var log  = V.contentLog || V.getContentLog();
		var contenter = V.contenter;
		var newContent = '';
		var item = '';
		
		// 前提条件: *.tianya.cn 或者 bbs.city.tianya.cn
		if ((/^([a-zA-z0-9\.]+)\.tianya\.cn$/).test(window.location.hostname)) {
			if ((/pub/i).test(window.location.pathname)) { // 主版
				var publicer;
				publicer = contenter;
				//var tagNameA = document.all ? '</A>' : '</a>';
				var arr = publicer.innerHTML.split(/<TABLE /ig); // .replace(/[\n\r]/g,'')
				for (var i = 0; i < arr.length; i ++) {
					item = arr[i];
					if (item.indexOf('作者：') != -1 && item.indexOf('回复日期：') != -1) {
						if (name != '' && item.indexOf('>' + name + '</') != -1) {
							newContent += '<TABLE ' + item;
						}
					} else {
						if (i == 0) {
							if (!!firstAuthor && firstAuthor == name) { // 主版第一个回复内容处理
								newContent = item;
							} else {
								newContent = '';
							}						
						} else {
							newContent += '<TABLE ' + item;
						}
					}
				}
				// 主版第一个回复作者处理
				if (!(name != '' && V.$( V.FIRST_AUTHOR_DIV ).innerHTML.indexOf('>' + name + '</') != -1)) {
					V.$( V.FIRST_AUTHOR_DIV ).style.display = 'none';
				}

				publicer.innerHTML = newContent;
				/************* 分页 修改 添加自动只看**标示 #ty_vip_look[**] ***************/
				name = encodeURIComponent(name);
				topPage = V.$('pageDivTop');
				bottomPage = V.$('pageDivBottom');
				if ( !!topPage && !!bottomPage ) {
					if (!V.pageContentLog) V.pageContentLog = topPage.innerHTML;
				}
				if ( !!topPage && !!bottomPage ) {
					var pageContent = V.pageContentLog.replace(/href="[^"]+"/gi, function (sMatch) {
						return sMatch.substring(0, sMatch.length-1) + '#ty_vip_look['+name+']"';
					});
					topPage.innerHTML = pageContent;
					bottomPage.innerHTML = pageContent;
				}
			} else { // 副版,城市
				log = log.replace(/[\n\r]/g,''); // 删除掉所有换行符
				//log = log.replace('<div id="tianyaBrandSpan1"></div>',''); // 删除掉所有换行符
				var arr;
				if ( !!document.all )
				{
					arr = log.split(/<div class=item>/ig);
				}
				else
				{
					arr = log.split(/<div class="item">/ig);
				}
				for (var i = 0; i < arr.length; i ++) {
					item = arr[i];

					if (item.indexOf('作者：<') != -1 && item.indexOf('日期：') != -1) { //item.indexOf('>作者：<') != -1
						if (name != '' && item.indexOf('>' + name + '</') != -1)
							newContent += '<div class="item">' + item;
					}
				}
				contenter.innerHTML = newContent;
				/************* 分页 修改 添加自动只看**标示 #ty_vip_look[**] ***************/
				name = encodeURIComponent(name);
				if (!!V.$('pageForm')) { // 副版
					if (!V.pageContentLog) V.pageContentLog = V.$('pageForm').action;
				} else {
					if (!V.pageContentLog) V.pageContentLog = V.$('form_select').action;
				}
				if (!!V.$('cttPageDiv') && !!V.$('cttPageDiv1')) { // 副版
					V.$('pageForm').action = V.pageContentLog + '#ty_vip_look['+name+']';
					V.$('pageForm1').action = V.pageContentLog + '#ty_vip_look['+name+']';
				} else{	//城市 if (!!V.$('form_select')) 
					try {
						V.$('FirstPageForm').action = V.pageContentLog + '#ty_vip_look['+name+']';
						V.$('NextPageForm').action = V.pageContentLog + '#ty_vip_look['+name+']';						
						V.$('PreviousPageForm').action = V.pageContentLog + '#ty_vip_look['+name+']';
						V.$('LastPageForm').action = V.pageContentLog + '#ty_vip_look['+name+']';
					} catch (e){}
					try {
						V.$('form_select').action = V.pageContentLog + '#ty_vip_look['+name+']';
						V.$('form_select_ArticleTop').action = V.pageContentLog + '#ty_vip_look['+name+']';
						V.$('form_select_ResponseTop').action = V.pageContentLog + '#ty_vip_look['+name+']';
					} catch (e){}
				}
			}
		}
	},
	/* 
	功能: 只看楼主[返回]功能
	作者: fangxu [2008-9-13]
	*/
	lookByAuthorBack : function ( author ) {
		var name = author || V.author || '';
		var log  = V.contentLog || V.getContentLog();
		
		if ( !!log ) {
			if (name != '' && log.indexOf(name) != -1) {
				if ( log.indexOf(' style="color: red; font-weight: bold;">' + name+'<') == -1 ) { // 没有添加才加亮
					log = log.replace(/[\n\r]/g,''); // 删除掉所有换行符
					log = log.replace(eval('/>'+name+'</g'), ' style="color: red; font-weight: bold;">'+name+'<');
				}
			}
			V.contenter.innerHTML = log;
			if ( !!V.$( V.FIRST_AUTHOR_DIV ) ) // 主版第一个作者处理
				V.$( V.FIRST_AUTHOR_DIV ).style.display = 'block';
			
			if (!!V.$('pageDivTop') && !!V.$('pageDivBottom')){
				V.$('pageDivTop').innerHTML = V.pageContentLog;
				V.$('pageDivBottom').innerHTML = V.pageContentLog;
			} else if (!!V.$('cttPageDiv') && !!V.$('cttPageDiv1')) {
				V.$('pageForm').action = V.pageContentLog;
				V.$('pageForm1').action = V.pageContentLog;
			} else { // if (!!V.$('form_select')) 		
				try {
					V.$('FirstPageForm').action = V.pageContentLog;
					V.$('NextPageForm').action = V.pageContentLog;						
					V.$('PreviousPageForm').action = V.pageContentLog;
					V.$('LastPageForm').action = V.pageContentLog;
				} catch (e){}
				try {
					V.$('form_select').action = V.pageContentLog;
					V.$('form_select_ArticleTop').action = V.pageContentLog;
					V.$('form_select_ResponseTop').action = V.pageContentLog;
				} catch (e){}
			}
		}
	},
	/* 
	功能: 高亮楼主[返回]功能
	作者: fangxu [2008-9-13]
	*/
	redByAuthor : function ( author ) {
		var name = author || V.author || '';
		var log  = V.contentLog || V.getContentLog();
		var contenter = V.contenter;

		if (!!log) {
			if (name != '' && log.indexOf(name) != -1) {
				if ( log.indexOf(' style="color: red; font-weight: bold;">' + name+'<') == -1 ) { // 没有添加才加亮
					log = log.replace(/[\n\r]/g,''); // 删除掉所有换行符
					log = log.replace(eval('/>'+name+'</g'), ' style="color: red; font-weight: bold;">'+name+'<');
				}
				contenter.innerHTML = log;
			}
		}
		if ( !!V.$( V.FIRST_AUTHOR_DIV ) ) { // 主版第一个作者处理
			var first = V.$( V.FIRST_AUTHOR_DIV );
			if (document.all) { // IE兼容
				first = V.$( V.FIRST_AUTHOR_DIV ).firstChild.firstChild.firstChild;
			}
			first.innerHTML = first.innerHTML.replace(eval('/>'+name+'</g'), ' style="color: red; font-weight: bold;">'+name+'<');
		}
	},
	/* 
	功能: 第一次载入默认看[某人]功能
	作者: fangxu [2008-9-22]
	*/
	firstByAuthor : function () {
		if ((/ty_vip_look\[(.+)\]/gi).test(window.location.hash)) {
			V.writer = RegExp.$1;
			if ((/%[0-9a-eA-E][0-9a-eA-E]/gi).test(V.writer)) {
				V.writer = decodeURIComponent(V.writer);
			}
			if (V.writer == V.author) { // 楼主
				new VipFn( V.$('__ty_vip_1'), {'x': 0, 'y': 0});
			} else { 					// 某人 
				V.getContentLog(); //初始化log
				new VipFn( V.$('__ty_vip_4'), {'x': 0, 'y': 0});
				V.hide( "userlist" ); // V.WRITERS_DIV
			}
		}
	},
	/* 
	功能: 显示所有回复者
	作者: fangxu [2009-5-31]
	*/
	showAllWriters : function ( helper ) {
		var options = V.getAllWriters();
		var numbers = options.numbers;
		var writers = options.writers;
		var div = V.$( V.WRITERS_DIV );
		if ( !V.isShowAllWriter ) {
			var li, em;
			var length = numbers.length;
			var newDoc = document.createDocumentFragment();
			for (var i = length - 1; i >= 0; i--) {
				li = document.createElement("li");
				li.innerHTML = '<em>'+writers[i]+'</em>'+numbers[i]+'';
				new Elem(li).addEventListener('click', function(event) {				
					var el = event.target || event.srcElement; //new zEvent(event).target;
					var reg = document.all ? '<EM>' : '<em>';
					if (el.innerHTML.indexOf(reg) > -1)
					{
						return;
					}
					V.writer = el.innerHTML;
					V.checkUser( helper );
					V.hide( "userlist" );
					//helper.parent.innerHTML = helper.html.replace('只看某人回复', '查看所有人回复');
					//V.lookByAuthor( V.writer );
				});
				newDoc.appendChild(li);
			}
			div.appendChild(newDoc);
			newDoc = null;
			V.isShowAllWriter = true;
		}
		V.show( "userlist" );
	},
	/* 
	功能: 得到帖子所有回复者功能
	作者: fangxu [2008-9-22]
	*/
	getAllWriters : function () {
		var log  = V.contentLog || V.getContentLog();
		var writers = [], numbers = [], writer, isFind;
		var arr = log.match(/作者：<a.*?>.*?<\/a>/gi);
		//alert(log.replace('\r\n', ''));
		//document.writeln(log);
		if (arr == null) return { 'writers' : [], 'numbers' : [] };
		for (var i = arr.length - 1; i >= 0; i--) {
			writer = arr[i].replace(/作者：<a.*?>/gi,'').replace(/<\/a>/gi,'');
			isFind = false;
			for ( var j = writers.length - 1; j >= 0; j --) {
				if (writer == writers[j]) {
					isFind = true;
					numbers[j] = ++numbers[j];
					break;
				}
			}
			if (!isFind) {
				writers.push(writer);
				numbers.push(1);
			}
		}
		return V.sorts({ 'writers' : writers, 'numbers' : numbers });
	},
	/* 
	功能: 冒泡排序两个等价数组
	作者: fangxu [2008-9-13]
	*/
	sorts : function ( options ) {
		var numbers = options.numbers;
		var writers = options.writers;
		// 冒泡排序法
		var temp;
		for (var n = 0; n < numbers.length; n++)
		{
			for (var k = 0; k < numbers.length - n; k++) {
				if (numbers[k] > numbers[k+1]) {
					temp = numbers[k];
					numbers[k] = numbers[k+1];
					numbers[k+1] = temp;
					temp = writers[k];
					writers[k] = writers[k+1];
					writers[k+1] = temp;
				}
			}
		}
		return {
			writers: writers,
			numbers: numbers
		};
	},
	/* 
	功能: 返回参数是否被定义有用值
	作者: fangxu [2008-9-22]
	*/
	blank : function ( elem ) {
		return !elem ? '' : elem;
	},
	/* 
	功能: 关注帖子功能
	作者: fangxu [2008-9-15]
	*/
	attentArticle : function ( helper ) {
		var myAjax = new Ajax.Request(
			'../../../../new/wap/ty_vip_fn_attent_article_get.asp', 
			{
				method: 'get',
				parameters: 'idWriter='+idWriter+'&Key='+Key+'&chrType='+chrType+'&chrItem='+chrItem+'&intItem='+intItem+'&intArticleId='+intArticleId,
				onComplete: function(x) {
					var sData = x.responseText.replace(/<script.*<\/script>/ig, '');
					eval("Data = " + sData);
					if (!!Data.message) { alert(Data.message); return; }
					V.objAttentArticle = Data;
					if (!!Data.arrArticles && Data.isHadArticle != 1) {
						if (!!Data.arrArticles.message) { alert(data.arrArticles.message); return; }
						var arr = Data.arrArticles;
						var html = '<h3>已关注的帖子</h3>';
						for ( var i = 0; i < arr.length; i ++ ) {
							html += '<p>'+(i+1) +'、<a href="'+arr[i].chrLink+'" target="_blank">'+arr[i].chrTitle+'</a>('+arr[i].chrAuthorName+')';
							html += ' <a href="javascript:V.attentArticleDel(\''+V.blank(arr[i].chrType)+'\',\''+V.blank(arr[i].chrItem)+'\',\''+V.blank(arr[i].intItem)+'\',\''+V.blank(arr[i].intArticleId)+'\')">取消关注</a></p>';
						}
						V.$('attArts').innerHTML = html;
						html = '<h3>待处理的帖子</h3>';
						html += '<p>'+chrTitle+'('+chrAuthorName+')<a href="javascript:V.attentArticleNext('+helper.pos.x+', '+helper.pos.y+')"> 关注</a></p>';
						V.$('attArt').innerHTML = html;
						V.show('__ty_vip_attent_article', helper.pos);
					} else if (!!Data.objSetting) {
						if (!!Data.objSetting.message && Data.objSetting.message != '没有数据') { alert(Data.objSetting.message); return; }
						V.attentArticleNext(helper.pos);
					}
				}
			}
		);
	},
	/* 
	功能: 关注帖子下一步功能
	作者: fangxu [2008-9-22]
	*/
	attentArticleNext : function ( pos, y ) {
		if ( typeof pos == 'number' ) { 
			var pos = {'x': pos, 'y': y}; V.hide('__ty_vip_attent_article'); 
		}
		var obj = V.objAttentArticle;
		var objSetting = obj.objSetting;
		if (!objSetting.chrSetting) objSetting.chrSetting = '';
		if (objSetting.chrSetting == '') {
			V.$('vip_mobile_mes').checked = '';
			V.show('__ty_vip_att_art_div_1');
			
		} else {
			var sSetting = objSetting.chrSetting.replace(/["{}\[\]]/g,'');
			if (sSetting.indexOf('站内消息接收') != -1) {
				sSetting = sSetting.split(',')[0];
			} else {
				sSetting = sSetting.replace(/,/,'<br />&nbsp;');
			}
			V.$('vip-setting').innerHTML = sSetting;
		}
		if (!!obj.arrArticles && !!obj.isHadArticle && obj.isHadArticle == 1) {
			if (obj.arrArticles[0].intFunctionId == 5) {
				V.$$('vip-fn-id')[0].checked = '';
				V.$$('vip-fn-id')[1].checked = 'true';
			}
			tyMesNum = obj.arrArticles[0].intTyMessageLimit;
		}
		if (objSetting.chrSetting.indexOf('站内消息接收') != -1) {
			V.$('vip_mobile_mes').checked = '';
			V.$('vip_tianya_mes').onclick();
			V.$('vip_tianya_mes').checked = 'true';
		}
		if (!V.isShowTimes)
		{
			V.isShowTimes = true;
			var hour, minute, sCheck;
			var times = objSetting.chrSetting.match(/[0-2][0-9]:[0-6][0-9]/g);
			times = times == null ? [] : times;
			var html = '';
			for ( var i = 0; i < 3; i ++) {
				if ( i < times.length ) {
					sCheck = 'checked="true"';
					hour = times[i].split(':')[0];
					minute = times[i].split(':')[1];
				} else {
					sCheck = '';
					hour = '';
					minute = '';
				}
				
				html += '<li><input class="timecheck" type="checkbox" '+sCheck+' /> <input type="text" value="'+hour+'" /> <em>点</em> <input type="text" value="'+minute+'" /> <em>分</em></li>';
			}
			V.$('vip-att-art-tab-1-2-1').innerHTML = html;
		}		
		V.show('__ty_vip_attent_article2', pos);
	},
	/* 
	功能: 取消关注帖子功能
	作者: fangxu [2008-9-15]
	*/
	attentArticleDel : function (chrType, chrItem, intItem, intArticleId) {
		if (confirm('要取消帖子的关注吗？')) {
			if (V.isLogin()) {
				V.hide('__ty_vip_attent_article');
				V.hide('__ty_vip_attent_article2');
				var form = document.forms['FormResponse']; // 都需要有个FormResponse的form
				var input, hasInputSetting = false;
				for ( var i = 0; i < form.childNodes.length; i ++){
					input = form.childNodes[i];
					if (input.tagName == 'INPUT' && input.name == 'chrTypeDelete'){
						input.value = chrType;
						hasInputSetting = true;
						break;
					}
				}
				if (!hasInputSetting) {
					V.appendInput(form, {'type':'hidden', 'name':'chrTypeDelete', 'value':''+chrType+''});
					V.appendInput(form, {'type':'hidden', 'name':'chrItemDelete', 'value':''+chrItem+''});
					V.appendInput(form, {'type':'hidden', 'name':'intItemDelete', 'value':''+intItem+''});
					V.appendInput(form, {'type':'hidden', 'name':'intArticleIdDelete', 'value':''+intArticleId+''});
				}
				form.action = '../../../../new/wap/ty_vip_fn_attent_article_delete.asp?idWriter=' + idWriter + '&Key=' + Key + '';
				form.method = 'post';
				form.target = '_target';
				form.submit();
			}
		}
	},
	/* 
	功能: 关注帖子提交函数,获取用户设置属性
	作者: fangxu [2008-9-22]
	*/
	attentArticleSubmit : function (parent, options) {
		var setting = (V.$('vip_mobile_mes').checked) ? '"短信接收"' : '"站内消息接收"'; // 设置
		setting = '{接收信息方式:[' + setting + '], 接收短信通知信息时间:[';
		var childs = V.$('vip-att-art-tab-1-2-1').childNodes;
		var hour, minute, sTime = '';
		for ( var i = 0; i < childs.length; i ++ ) {
			//alert(childs[i].firstChild);
			if ( childs[i].firstChild.checked ) {
				//alert(childs[i].childNodes[2].value + ',' + childs[i].childNodes[6].value);
				if (!!childs[i].childNodes[1].value)
				{
					hour = V.getHour(childs[i].childNodes[1].value);
					minute = V.getMinute(childs[i].childNodes[3].value);
				}
				else 
				{
					hour = V.getHour(childs[i].childNodes[2].value);
					minute = V.getMinute(childs[i].childNodes[6].value);
				}
				//alert(hour + ',' + minute);
				if ( hour != '' && minute != '') {
					if ( sTime != '' ) sTime += ',';
					sTime += '"' + hour + ':' + minute + '"';
				}
			}
		}
		setting += sTime + ']}';
		
		var intTyMesLimit = V.$('vip-mes-limit').value;
		var arrFn = V.$$('vip-fn-id');
		var intFunctionId = 0;
		for ( var i = 0; i < arrFn.length; i ++) {
			if (arrFn[i].checked) {
				intFunctionId = arrFn[i].value;
			}
		}
		var _sSetting = setting.replace(/["{}\[\]]/g,'');
		if (_sSetting.indexOf('站内消息接收') != -1) {
			_sSetting = _sSetting.split(',')[0];
		} else {
			if (setting.indexOf('接收短信通知信息时间:[]') != -1) {
				alert('您必须填写一个短信接收时间!');
				return;
			}
		}
		if (confirm(_sSetting)) {
			if ( V.isLogin() ) {
				var form = document.forms['FormResponse'];
				var input, hasInputSetting = false;
				for ( var i = 0; i < form.childNodes.length; i ++){
					input = form.childNodes[i];
					if (input.name == 'chrSetting'){ // input.tagName == 'INPUT' && 
						hasInputSetting = true;
						input.value = setting;
						break;
					}
				}
				if (!hasInputSetting) {
					V.appendInput(form, {'type':'hidden', 'name':'chrSetting', 'value':''+setting+''});
					V.appendInput(form, {'type':'hidden', 'name':'intFunctionId', 'value':''+intFunctionId+''});
					V.appendInput(form, {'type':'hidden', 'name':'intTyMessageLimit', 'value':''+intTyMesLimit+''});
					V.appendInput(form, {'type':'hidden', 'name':'chrType', 'value':''+chrType+''});
				}
				form.action = '../../../../new/wap/ty_vip_fn_attent_article_do.asp?idWriter=' + idWriter + '&Key=' + Key + '';
				form.method = 'post';
				form.target = '_target';
				form.submit();
				V.hide('__ty_vip_attent_article2');
			}
		}
	},
	/* 
	功能: parent添加子input={options}
	作者: fangxu [2008-9-22]
	*/
	appendInput : function (parent, options) {
		var input = document.createElement('INPUT');
		for ( var p in options ) {
			input[p] = options[p];
		}
		parent.appendChild(input);
		return parent;
	},
	/* 
	功能: 验证用户是否是有权限用户
	作者: fangxu [2009-11-03]
	*/
	checkUser : function ( helper ) {
		var helper = helper || V.helper;
		//var isReady = V.isAjaxReady();
		var isLogin = V.hadLogin( helper.name );
		if ( isLogin ) {
			// 4号服务器开发除了关注此帖的所有功能
			if (V.isFourServer() && helper.name != "关注此帖")
			{
				var objVipUser = {'intUserId':idWriter,'isLookAuthorOnly':1,'isLookWriterOnly':1};

				helper.loaded(helper, objVipUser);
			}
			else
			{
				try {
					helper.loading();
					new Ajax.Request(
						'../../../../new/wap/ty_vip_check_user.asp',
						{
							method: 'get',
							parameters: V.params,
							onComplete: function (x) {
								var objVipUser = V.getVipUser(x);

								helper.loaded(helper, objVipUser);
							}
						}
					);
					if (!!V.timeKey) {
						clearTimeout(V.timeKey);
						V.timeKey = null;
						V.helper = null;
					}
				} catch (e) {
					V.helper = helper;
					V.timeKey = window.setTimeout("V.checkUser()", 500);
				}
			}
		}
	},
	/* 
	功能: 验证用户执行函数
	参数: XMLHttpRequest Data
	返回: objVipUser
	作者: fangxu [2008-9-13]
	*/
	getVipUser : function (x) {
		var sData = x.responseText.replace(/<script.*<\/script>/ig, '');
		eval("Data = " + sData);
		if ( !Data.objVipUser ) {
			if ( typeof Data != 'object' ){
				alert('您好，验证您的权限出错，请您把一下文字提供给我们，我们将帮您查找原因，谢谢！。\n '+sData+' \n '+x.responseText+'');
			} else {
				if ( !!Data.message ) {
					if ( Data.message == '没有数据' ) {
						if (confirm('您好！\n此功能为天涯百宝箱业务功能，您尚未开通天涯百宝箱业务，是否立即开通？')) {
							var form = document.createElement("form");
							form.action = 'http://wap.tianya.cn/web/bbx/';
							form.target = '_blank';
							document.body.appendChild(form);
							form.submit();
						}
					} else {
						//alert('验证用户失败：' + Data.message);
						alert(Data.message);
					}
				}
				else if (!!Data.sMessage)
				{
					if (confirm(Data.sMessage + "，是否现在就邀请?"))
					{
						var form = document.createElement("form");
						form.action = 'http://www.tianya.cn/publicforum/content/funinfo/1/1628083.shtml';
						form.target = '_blank';
						document.body.appendChild(form);
						form.submit();
					}
				}
			}
			return null;
		} else {
			if ( !!Data.objVipUser.testDay ) { // 提示免费试用天数 2009-3-19 fangxu
				if (confirm(Data.objVipUser.testDay))
				{
					window.location.href = 'http://wap.tianya.cn/web/bbx/';
				}
			}
			return Data.objVipUser;
		}
	}
};

/* 
说明: 定义vip功能类VipFn
作者: fangxu
时间: 2008-9-12
*/
var VipFn = function (element, position) {
	this.element = V.$(element);
	this.parent = this.element.parentNode;
	this.name = this.element.innerHTML;
	this.html = this.parent.innerHTML;
	this.div = V.WRITERS_DIV;
	this.pos = position;
	
	switch ( this.name )
	{
		case '查看所有':
			this.parent.innerHTML = this.html.replace('查看所有', '只看楼主');
			V.lookByAuthorBack();
			break;
		case '已成功':
			this.parent.innerHTML = this.html; //.replace('高亮楼主', '已成功');
			break;
		case '只看某人回复':
			V.showAllWriters( this );
			break;
		case '查看所有人回复':
			this.parent.innerHTML = this.html.replace('查看所有人回复', '只看某人回复');
			V.lookByAuthorBack();
			break;
		//case '邀请好友':
			//V.showAllFriends( this );
			//break;
		default: 
			V.checkUser(this);
			break;
	}
};

VipFn.prototype.loading = function ( element ) {
	this.parent.innerHTML = '<font color=red>..请等待..</font>';
}
/* 
功能: 定义类VipFn载入完成函数
作者: fangxu
时间: 2008-9-12
*/
VipFn.prototype.loaded = function ( helper, objVipUser ) {
	if ( objVipUser == null ) { 
		helper.parent.innerHTML = helper.html; 
		return;
	}
	if (objVipUser.sMessage)
	{
		if (confirm(objVipUser.sMessage + "，是否现在就邀请?"))
		{
			var form = document.createElement("form");
			form.action = 'http://www.tianya.cn/publicforum/content/funinfo/1/1628083.shtml';
			form.target = '_blank';
			document.body.appendChild(form);
			form.submit();
		}
	}
	switch ( helper.name )
	{
		case '只看楼主':
			if (objVipUser.isLookAuthorOnly == 1) {
				helper.parent.innerHTML = helper.html.replace('只看楼主', '查看所有');
				V.lookByAuthor( V.author );
			} else {
				helper.parent.innerHTML = helper.html;
				if (!objVipUser.sMessage)
					alert('您没有权限!^_^');
			}
			break;
		case '高亮楼主':
			if (objVipUser.isLookAuthorOnly == 1) {
				helper.parent.innerHTML = helper.html.replace('高亮楼主', '已成功');
				V.redByAuthor( V.author );
			} else {
				helper.parent.innerHTML = helper.html;
				if (!objVipUser.sMessage)
					alert('您没有权限!^_^');
			}
			break;
		case '关注此帖':
			helper.parent.innerHTML = helper.html;
			if (objVipUser.isAttentArticle == 1) {
				V.attentArticle( helper );
			} else {
				if (!objVipUser.sMessage)
					alert('您没有权限!^_^');
			}
			break;
		case '只看某人回复':
			if (objVipUser.isLookWriterOnly == 1) {
				helper.parent.innerHTML = helper.html.replace('只看某人回复', '查看所有人回复');
				V.lookByAuthor( V.writer );
			} else {
				helper.parent.innerHTML = helper.html;
				if (!objVipUser.sMessage)
					alert('您没有权限!^_^');
			}
			break;
		case '邀请好友':
			//if (objVipUser.isLookWriterOnly == 1) {
				V.showAllFriends( helper );
			//} else {
			//	helper.parent.innerHTML = helper.html;
			//	alert('您没有权限!^_^');
			//}
			break;
		default: break;
	}
};

/* 
功能: Elem类,添加事件的浏览器兼容
作者: fangxu [2008-9-12]
*/
var Elem = function (element) {
	this.el = V.$(element);
	return this;
}
Elem.prototype.addEventListener = function ( type, fn ) {
	if (this.el.addEventListener) this.el.addEventListener(type, fn, false);
	else this.el.attachEvent('on' + type, fn);
	return this;
}
Elem.prototype.removeEventListener = function(type, fn){
	if (this.el.removeEventListener) this.el.removeEventListener(type, fn, false);
	else this.el.detachEvent('on' + type, fn);
	return this;
};
/* 
功能: 事件兼容类
作者: fangxu
时间: 2008-9-12
*/
function TyEvent ( e ) {
	var posX, posY;

	if (e == null) e = window.event;
	if (e.pageX || e.pageY) 
	{
		posX = e.pageX; 
		posY = e.pageY;
	} 
	else if (e.clientX || e.clientY)
	{
		if (document.documentElement.scrollTop)
		{
			posX = e.clientX + document.documentElement.scrollLeft;
			posY = e.clientY + document.documentElement.scrollTop;
		}
		else
		{
			posX = e.clientX + document.body.scrollLeft;
			posY = e.clientY + document.body.scrollTop;
		}
	}
	return { 'x' : posX, 'y' : posY };
}
