/**
 * @author ZhaoShuxiang
 * @mail zhaoshuxiang@kingsoft.com
 * @date 2010-09-29
 */

indexWebapps = {
	// ======================
	// 初始化应用程序
	// ======================
	init : function () {
		//this.initEvent();
		this.isInstalled();
		this.getJson();
		this.scrollUl();
	},

	// =======================
	// 初始化事件监听
	// =======================
	initEvent : function () {
	},

	// =======================
	// 获取疫情播报的json数据
	// =======================
	getJson : function () {
		var onlineAntivirusAnnounce = $("#real_time_virus_info ul");
		var item = $('<li><span class="date">10/25 09:59:19</span> 已为  IP为 ：<span class="ip">218.75.94.*</span> （<span class="address">浙江省金华市婺城区 经典网吧</span>）用户成功查杀<span class="antivirusName">win32.troj.onlinegamest.bc</span> 病毒</li>');
		try {
			if (latestjs && latestjs.data) {
				onlineAntivirusAnnounce.find("li").remove();
				for ( var i = 0; i < latestjs.data.length; i++) {
					var itemClone = item.clone(true);
					
					itemClone.find(".date").html(latestjs.data[i].time);
					itemClone.find(".ip").html(latestjs.data[i].ip);
					itemClone.find(".address").html(
							indexWebapps.subStringByBytes(latestjs.data[i].address, 24));
					itemClone.find(".antivirusName").html(latestjs.data[i].name);
					onlineAntivirusAnnounce.append(itemClone);
				}
			}
		} catch (e) {
			var date = new Date();
			$("#real_time_virus_info .date").text(
					(date.getMonth() + 1) + "/" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes());
		}
	},

	// ======================
	// 疫情播报滚动
	// ======================
	scrollUl : function () {
		$('#real_time_virus_info').jdNewsScroll( {
			divWidth : '790px',
			divHeight : '30px',
			fontSize : '12px'
		});
	},

	// ======================
	// 检查控件是否安装
	// ======================
	isInstalled : function () {
		if ($.browser.msie && indexWebapps.checkServicePort() === 0) {
			if (!indexWebapps.isMaxthon()) {
				if (indexWebapps.isIE9()) {
					$("#installPromptBox").text("请点击下方“安装”按钮，开始安装").addClass("prompt_box_ie9").show();
					$("#installPromptBox").css({"top":  (window.innerHeight - 122)+ "px","left": (window.innerWidth/2 + 80) + "px"});
				} else {
					$("#installPromptBox").show();
				}
			}
			setTimeout(indexWebapps.isInstalled, 200);
		} else {
			$("#installPromptBox").hide();
		}
	},

	isIE9 : function () {
		return !!+'\v1';
	},

	isMaxthon : function () {
		if (window.navigator.userAgent.toLowerCase().indexOf('maxthon') !== -1) {
			return true;
		} else {
			return false;
		}
	},

	// ======================
	// 检查端口号是否存在，如果Kxmlhttp.KxEXMLHttpRequest_0.1
	// 已安装，则端口号为:9922
	// ======================
	checkServicePort : function () {
		var nPort = 0;
		try {
			var kxml = new ActiveXObject("Kxmlhttp.KxEXMLHttpRequest_0.1");
			nPort = kxml.servicePort;
		} catch (error) {
			return nPort;
		}
		return nPort;
	},
	
	/**
	 * @brief 获取字符串的字节长度 汉字默认双字节
	 */
	byteLength : function (str) {
		return str.replace(/[^\x00-\xff]/g, "**").length;
	},

	/**
	 * @brief 根据字符长来截取字符串
	 * @param 字符最大个数（汉字算双字）
	 */
	subStringByBytes : function (str, maxBytesLen) {
		var len = maxBytesLen;
		var result = str.slice(0, len);
		while (indexWebapps.byteLength(result) > maxBytesLen) {
			result = result.slice(0, --len);
		}

		return result;
	}
};

$(function () {
	indexWebapps.init();
});

