(function () {
	function $(id) {
		return typeof(id) == 'string' ? document.getElementById(id) : id;
	}
    function $C(o){
        return document.createElement(o);
    }
    function $aE(elm, evType, fn, useCapture){
        if (elm.addEventListener) {
            elm.addEventListener(evType, fn, useCapture);
            return true;
        } else if (elm.attachEvent) {
            var r = elm.attachEvent('on' + evType, fn);
            return r;
        } else {
            elm['on' + evType] = fn;
        }
    }
	Function.prototype.bind = function(object) {
	  var __method = this, args = Array.prototype.slice.call(arguments); args.shift();
	  return function() {
		return __method.apply(object, args.concat(Array.prototype.slice.call(arguments)));
	  }
	};
	var lnum = 0;
	var FocusPic = function() {
		this.MaxScreen = 7;
		this.Width = 240;
		this.Height = 200;
		this.changeTime = 5000;
		this.FocusObj = null;
		this.Pics = "";
		this.Titles = "";
		this.STitles = "";
		this.Links = "";
		var _obj_pic = null;
		var _obj_num = "";
		var _obj_tit = null;
		this.CurScreen = 0;
		this.refreshTimer = 0;
		this.init = function(){
			lnum ++;
			this.FocusObj = $(this.FocusObj);
			this.Pics = this.Pics.split("|");
			this.Titles = this.Titles.split("|");
			this.STitles = this.STitles.split("|");
			this.Links = this.Links.split("|");
			if(this.Titles.length < this.MaxScreen) this.MaxScreen = this.Titles.length;
			
			CreateStyle();
			CreatePicBox();
			switchPic(this.CurScreen);
			this.refreshTimer = setTimeout(reSwitchPic, this.changeTime);
		};
		var CreateStyle = function(){
			var styleStr = "";
			styleStr += ".gee_foucspic_box { height:"+this.Height+"px; width:"+this.Width+"px; position:relative; }";
			styleStr += ".gee_foucstit { position:absolute; overflow:hidden; bottom:0; width:100%; left:0; padding:0px 0 0px; margin-bottom:17px; z-index:998;}";
			styleStr += ".gee_foucstit:after {content:\".\";display:block;height:0;clear:both;visibility:hidden;}";
			styleStr += ".gee_foucstit_mask { height:"+this.Height+"px; position:absolute;left:0;top:0;width:100%;z-index:999;text-indent:-999em; background:#000; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); -moz-opacity:.5; opacity:0.5;}";
			styleStr += ".gee_foucstit_n { position:relative;z-index:1000;float:left; display:inline;}";
			styleStr += ".gee_foucstit_n h3{ line-height:28px; height:25px; font-size:18px; overflow:hidden; display:inline; padding:0 12px; margin:0; font-family:\"黑体\"; font-weight:lighter;}";
			styleStr += ".gee_foucstit_n p{ line-height:20px; font-size:12px; padding:0 12px; margin:0;}";
			styleStr += ".gee_foucstit_n a { color:#FFF !important; text-decoration:none;}";
			styleStr += ".gee_foucstit_n a:hover { text-decoration:underline;}";
			styleStr += ".gee_foucspic,.gee_foucspicnum { margin:0; padding:0; list-style:none; position:absolute;}";
			styleStr += ".gee_foucspic { left:0;}";
			styleStr += ".gee_foucspic ul,.gee_foucspic li { display:inline;}";
			styleStr += ".gee_foucspicnum { height:16px; line-height:16px; right:0; bottom:0; z-index:1001; background:#fff; }";
			styleStr += ".gee_foucspicnum li { float:left; font-size:12px; font-family:Verdana; margin-left:1px; display:inline;}";
			styleStr += ".gee_foucspicnum li a { color:#FFF !important; padding:0 6px; text-decoration:none; font-size:10px; background:#000; display:block;}";
			styleStr += ".gee_foucspicnum li a:hover { text-decoration:none; background:#FF0000;}";
			styleStr += ".gee_foucspicnum li.at a { background:#FF0000;}";
			
			var styleId = "FocusPicSheet";
			var _head = document.getElementsByTagName("head").item(0);
			var _old = document.getElementById(styleId);
			if (_old) _head.removeChild(_old);
			var mystyle = document.createElement("style");
			mystyle.type = "text/css";
			mystyle.id = styleId;
			if(mystyle.styleSheet){// IE
				mystyle.styleSheet.cssText = styleStr;
			} else {// w3c
				var cssText = document.createTextNode(styleStr);
				mystyle.appendChild(cssText);
			}
			_head.appendChild(mystyle);
		}.bind(this);
		var CreatePicBox = function(){
			var PicBox = $C("div");
			PicBox.className = "gee_foucspic_box";
			//图片显示
			_obj_pic = $C("ul");
			_obj_pic.id = "_foucspic_ul_" + lnum;
			_obj_pic.className = "gee_foucspic";
			var liHtml = "";
			for(var i in this.Pics){
				if(i <= 0) liHtml += "<li>";
				else  liHtml += "<li style=\"display:none;\">";
				liHtml += "<a href=\"" + this.Links[i] + "\" target=\"_blank\"><img src=\"" + this.Pics[i] + "\" width=\"" + this.Width + "\" height=\"" + this.Height + "\" border=\"0\" /></a></li>";
			}
			_obj_pic.innerHTML = liHtml;
			PicBox.appendChild(_obj_pic);
			//滚动数字
			//var tempUL = document.createElement("ul");
			//alert("aa");
			_obj_num = document.createElement("ul");
			_obj_num.id = "_foucspicnum_ul_" + lnum;
			_obj_num.className = "gee_foucspicnum";
			var NavStr = "" ;
			for (i = 1; i <= this.MaxScreen; i++) {
				if (i == 1) {
					NavStr += '<li class="at"><a href="javascript:void(0);" onfocus="this.blur()" target="_self">'+i+'</a></li>' ;
				}
				else {
					NavStr += '<li><a href="javascript:void(0);" onfocus="this.blur()" target="_self">'+i+'</a></li>' ;
				}
			}
			_obj_num.innerHTML = NavStr;
			PicBox.appendChild(_obj_num);
			//标题部分
			var titDiv = $C("div");
			titDiv.className = "gee_foucstit";
			
			var maskDiv = $C("div");
			maskDiv.className = "gee_foucstit_mask";
			titDiv.appendChild(maskDiv);
			_obj_tit = $C("div");
			_obj_tit.id = "_foucspictit_" + lnum;
			_obj_tit.className = "gee_foucstit_n";
			titDiv.appendChild(_obj_tit);
			
			PicBox.appendChild(titDiv);

			this.FocusObj.appendChild(PicBox);
			$aE(titDiv, "mouseover", pause, false);
			$aE(titDiv, "mouseout", goon, false);
			domEvent();
		}.bind(this);
		var domEvent = function(){
			var _obj_pic_li = _obj_pic.getElementsByTagName("li");
			for (var i = 0; i < this.MaxScreen; i++) {
				$aE(_obj_pic_li[i], "mouseover", pause, false);
				$aE(_obj_pic_li[i], "mouseout", goon, false);
			}
			var _obj_num_li = _obj_num.getElementsByTagName("li");
			for (var i = 0; i < this.MaxScreen; i++) {
				$aE(_obj_num_li[i], "mouseover", pause, false);
				$aE(_obj_num_li[i], "mouseout", goon, false);
				$aE(_obj_num_li[i], "click", goSwitch.bind(this, i), false);
			}
		}.bind(this);
		var switchPic = function (index) {
			if (index >= this.MaxScreen) {
				index = 0;
			}
			//alert(this.MaxScreen);
			var _obj_pic_li = _obj_pic.getElementsByTagName("li");
			for (var i = 0; i < this.MaxScreen; i++) {
				_obj_pic_li[i].style.display = "none";
			}
			_obj_pic_li[index].style.display = "block";
			showSwitchNav(index);
			showSwitchTitle(index);
			this.CurScreen = index;
		}.bind(this);
		var showSwitchTitle = function(index) {
			var titlestr = "";
			titlestr += "<h3><a href=\""+this.Links[index]+"\" target=\"_blank\">" + this.Titles[index] + "</a></h3>";
			if(this.STitles!="" && this.STitles.length > 0){
				titlestr += '<p><a href="'+this.Links[index]+'" target="_blank">' + this.STitles[index] + '</a></p>';
			}
			_obj_tit.innerHTML = titlestr ;
		}.bind(this);
		var showSwitchNav = function(index){
			var _obj_num_li = _obj_num.getElementsByTagName("li");
			for (var i = 0; i < this.MaxScreen; i++) {
				_obj_num_li[i].className = "";
			}
			_obj_num_li[index].className = "at";
		}.bind(this);
		var reSwitchPic = function () {
			this.refreshTimer = null;
			this.CurScreen = this.CurScreen + 1;
			if(this.CurScreen >= this.MaxScreen) this.CurScreen = 0;
			switchPic(this.CurScreen);
			this.refreshTimer = setTimeout(reSwitchPic, this.changeTime);
		}.bind(this);
		var pause = function(){
			clearTimeout(this.refreshTimer);
		}.bind(this);
		var goon = function(){
			clearTimeout(this.refreshTimer);
			this.refreshTimer = setTimeout(reSwitchPic, this.changeTime);
		}.bind(this);
		var goSwitch = function (index) {
			clearTimeout(this.refreshTimer);
			this.CurScreen = index - 1;
			reSwitchPic();
		};
	};
	window.FocusPic = FocusPic;
})();
