﻿var modules = [];
function $id(id)
{
	return document.getElementById(id)
}
Function.prototype.bind = function(object){
	var __method = this;
	return function(){
		__method.apply(object, arguments)
	}
}
modules.push(FocusViwer = {
	items:[],
	current:-1,
	picture:null,
	bar:null,
	linker:null,
	paused:false,
	running:false,
	initialize: function() {
		if(this.items.length > 0) {
			this.running = true;
			this.picture = document.getElementById("fv_focus_pic");
			if(navigator.userAgent.toLowerCase().indexOf('msie') > -1)
            {
                this.picture.firstChild.style.filter="revealtrans(duration=0.5,transition=25)";
            }
			(this.bar = document.getElementById("fv_focus_bar")).innerHTML = "";
			this.linker = document.getElementById("fv_focus_link");
			
			for(var i = 0;i != this.items.length;i++) {
				this.addButton(i);
			}
			
			this.picture.parentNode.onmouseover = function() {
				this.paused = true;
			}.bind(this);
			this.picture.parentNode.onmouseout = function() {
				this.paused = false;
			}.bind(this);
			
			this.switchFocus();
			window.setInterval(this.switchFocus.bind(this),5000);
		}
	},
	addButton: function(idx) {
		var button = document.createElement("div");
		button.focusid = idx;
		button.viwer = this;
		button.onmouseover = function() {
			this.viwer.showFocus(this.focusid);
		};
		button.innerHTML = idx + 1;
		this.bar.appendChild(button);
	},
	addItem: function(item) {
		if(this.running) {
			this.addButton(this.items.length);
		}
		this.items.push(item);
	},
	switchFocus: function() {
		if(!this.paused) {
			this.showFocus((this.current + 1) % this.items.length);
		}
	},
	showFocus: function(idx) {
		this.bar.childNodes[Math.max(this.current,0)].className = "";
		this.bar.childNodes[this.current = idx].className = "current";
		this.linker.innerText = this.items[idx].title;
		this.linker.href = this.items[idx].link;
		if(window.isIE) {
		    with(this.picture) {
			    with(firstChild.filters[0]) {
				    apply();
				    transition = 25;
				    play();
			    }
			    href = this.items[idx].link;
			    firstChild.src = this.items[idx].image;
		    }
		}
		else{
		    this.picture.innerHTML = '<img border="0" src="'+this.items[idx].image+'" alt="'+this.items[idx].title+'" />';
		}
	}
});
window.onload = function() {
	for(var i = 0;i != modules.length;i++) {
		modules[i].initialize();
	}
}

window.onerror = function() {
//	var func=window.onerror.caller;
//	var re = /(function\s+)([^\{]*)(\{)([\w\W]*)/mgi;
//	var re2 = /(function\s?[^\{]*)(\{)([\w\W]*)/gi;
//	var stack = [];
//	while(func!=null)
//	{
//		stack.push(func.toString().replace(re,"$2").replace(re2,"$1"));
//		func = func.caller;
//	}
//	var query = [];
//	query.push(arguments[1]);
//	query.push(arguments[2]);
//	query.push(stack.reverse().join("->").replace(/\s/gi,""));
//	query.push(arguments[0]);
//	query.push(navigator.userAgent);
//	query.push(navigator.cookieEnabled+ "\r\n"); 
//	var httpRequest = new HTTPRequest(true,true);
//	httpRequest.send("/elog.aspx",query.join("\t"));
}