var msg;
var mode;
var str;
window.onload=function () {
	msg = document.getElementById('message');
	str = msg.innerHTML;
	msg.innerHTML='';
	document.onmousedown=function() {
		timer=setInterval("interval_appear()",1);
		mode='fast';
	}
}
var e=new Array();
var c=0;
var init_x = (getBrowserWidth() - 800)/2;
var init_y = 150;
function create_ele(letter,x,y,delay) {
    e[c]  = document.createElement('div');
    e[c].style.display="none";
    e[c].style.position="absolute";
    e[c].style.zindex="1000";
	e[c].style.fontSize="40px";
	e[c].style.left=x+"px";
	e[c].style.top=y+"px";
	e[c].innerHTML = letter;
	e[c].setAttribute("id","id"+c);
	if (delay>0) e[c].setAttribute("delay",delay);
    msg.appendChild(e[c]);
	c++;
}
var timer;
function setmsg() {
	str = str.replace(/<br>/ig,'%');
	str = str.replace(/<block/ig,'[');
	str = str.replace(/<\/block>/ig,']');
	str = str.replace(/\n/g,'');
	x=init_x;y=init_y;
	for (i=0;i<str.length;i++) {
		l = str.substring(i,i+1);
		if (l=='%') {
			x=init_x;
			y +=40;
			continue;
		} else {
			x += 40;
		}
		if (l=='[') {
			x=init_x+40;
			y +=40;
			p1 = str.indexOf('>',i);
			p2 = str.indexOf(']',p1);
			l=str.substring(p1+1,p2);
			params = str.substring(i+1,p1);
			arr = params.split(" ");
			delay='';
			for (p in arr) {
				if (arr[p]=='') continue;
				temp_arr = arr[p].split("=");
				param_name=temp_arr[0];
				param_val=temp_arr[1];
				param_name = param_name.replace(/ /g,'');
				param_val = param_val.replace(/"/g,'');
				switch(param_name) {
				case 'indent':
					x += parseInt(param_val);
					break;
				case 'delay':
					delay = parseInt(param_val);
					break;
				}
				
			}
        	create_ele(l,x,y,delay);
			i=p2;
			continue;
		}
        create_ele(l,x,y,0);
	}
	timer=setInterval("interval_appear()",100);
}
setTimeout("setmsg()",500);

var c2=0;
function interval_appear() {
	o = document.getElementById('id'+c2);
	if (!o) return;
	t = o.getAttribute("delay");
	if (t>0) {
		t--;
		o.setAttribute("delay",t);
		return;
	}
	obj_appear(o);
	c2++;
	if (c2==c) clearInterval(timer);
}

function obj_appear(obj){
    if (document.all) { // IE
        obj.style.filter
            ="progid:DXImageTransform.Microsoft.RandomDissolve(Duration=0.2); "

        var objFilter2 = obj.filters['DXImageTransform.Microsoft.RandomDissolve'];

        if(objFilter2.status != 2){
            objFilter2.apply();
            obj.style.display="block";
            objFilter2.play();
        }
    } else {
		obj.style.color="#942";
        obj.style.display="block";
		if (c3!=0) temp_obj.style.color="#942";
		temp_obj = obj;
		if (mode == 'fast') temp_obj.style.color="#942";
		else setTimeout("emerge()",5);
    }
}
var temp_obj;

var c3=0;
function emerge() {
	switch (c3++) {
	case 1:
		temp_obj.style.color="#942";
		break;
	case 2:
		temp_obj.style.color="#942";
		break;
	case 3:
		temp_obj.style.color="#942";
		break;
	}

	if (c3<4) setTimeout("emerge()",5);
	else c3=0;
}

function getBrowserWidth ( ) {  
    if ( window.innerWidth ) { return window.innerWidth; } // firefox  
    else if ( document.documentElement && document.documentElement.clientWidth != 0 ) { return document.documentElement.clientWidth; }  
    else if ( document.body ) { return document.body.clientWidth; }  
    return 0;  
}  
