var http_request = false;
var busy = false;

function btn_status(btn, num, status)
{
	if(status == 1)
	{
		btn.src = 'http://www.flyeon.com/img/web/numbtn' + num + '-1.gif';
	}
	else
	{
		if(document.getElementById('cur').value != num)
		{
			btn.src = 'http://www.flyeon.com/img/web/numbtn' + num + '-0.gif';
		}		
	}
}

function switch_pic(btn, num, file)
{
	var cur = document.getElementById('cur');
	if(cur.value != num)
	{
		blendimage('http://www.flyeon.com/img/char/' + file + '.jpg', 400);
		document.getElementById('ph' + cur.value).src = 'http://www.flyeon.com/img/web/numbtn' + cur.value + '-0.gif';
		btn.src = 'http://www.flyeon.com/img/web/numbtn' + num + '-1.gif';
		cur.value = num;
	}
}

function blendimage(imagefile, millisec)
{ 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 
    document.getElementById('oph').style.backgroundImage = document.getElementById('iph').style.backgroundImage; 
    changeOpac(0); 
    document.getElementById('iph').style.backgroundImage = 'url(' + imagefile + ')';
    for(i = 0; i <= 100; i++) 
	 { 
        setTimeout('changeOpac(' + i + ')', (timer * speed)); 
        timer++; 
    } 
}

function changeOpac(opacity)
{ 
    var object = document.getElementById('iph').style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = 'alpha(opacity=' + opacity + ')'; 
} 

function loadphoto(first)
{
	document.getElementById('wait').style.display='none';
	document.getElementById('img').style.display='block';
	document.getElementById('sel').style.display='block';
	blendimage('http://www.flyeon.com/img/char/' + first + '-1.jpg', 400);
	set_cpt();
}

function ratelen(txt, maxlen)
{
	var tl = txt.value.replace(/[^\x00-\xff]/gi,'xx').length;
	var too_short = maxlen / 10;
	var does_short = too_short * 2;
	var normal = too_short * 3;
	var ok = too_short * 4;
	var lt_long = too_short * 6;
	var stt = document.getElementById('stt');
	var stb = document.getElementById('stb');
	if(tl==0)
	{
		stt.innerHTML = '';
		stb.style.backgroundColor = '#cccccc';;
		stb.style.width = '0px';
		return;
	}
	var bar = parseInt(tl * 100 / 400);
	if (bar > 99)
	{
		bar = 99;
	}
	if(tl < too_short)
	{
		stt.innerHTML = '太 短';
		stt.style.color = '#808080';
		stb.style.backgroundColor = '#333333';;
		stb.style.width = bar + '%';
		return;
	}
	if(tl < does_short)
	{
		stt.innerHTML = '较 短';
		stt.style.color = '#daa520';
		stb.style.backgroundColor = '#ffd700';;
		stb.style.width = bar + '%';
		return;
	}
	if(tl < normal)
	{
		stt.innerHTML = '一 般';
		stt.style.color = '#1e91ce';
		stb.style.backgroundColor = '#1e91ce';;
		stb.style.width = bar + '%';
		return;
	}
	if(tl < ok)
	{
		stt.innerHTML = '很 好';
		stt.style.color = '#00a152';
		stb.style.backgroundColor = '#00a152';;
		stb.style.width = bar + '%';
		return;
	}
	if(tl < lt_long)
	{
		stt.innerHTML = '略 长';
		stt.style.color = '#a52a2a';
		stb.style.backgroundColor = '#a52a2a';;
		stb.style.width = bar + '%';
		return;
	}
	stt.innerHTML = '过 长';
	stt.style.color = '#da5301';
	stb.style.backgroundColor = '#da5301';;
	stb.style.width = bar + '%';
	return;
}

function trim(v)
{
	return v.replace(/^\s*|\s*$/g,'');
}

function urlencode(v)
{
	return encodeURIComponent(v);
}

function get_comment()
{
	var comment = trim(document.getElementById('comment').value);
	return comment.replace(/\r\n|\n|\r/g, '<br />');
}

function check_submit()
{
	var comment = trim(document.getElementById('comment').value);
	var err = document.getElementById('err');
	if(busy)
	{
		err.innerHTML = '系统忙，请稍后再试';
		return false;
	}
	err.innerHTML = '';
	if(comment == '' || comment == '请在此输入你要补充的信息')
	{
		var c = document.getElementById('comment');
		c.value = '请在此输入你要补充的信息';
		c.select();
		return false;
	}
	if(/<[^<]*>/g.test(comment))
	{
		err.innerHTML = '请不要使用HTML或UBB代码，但可用回车分段';
		return false;
	}
	var l = comment.replace(/[^\x00-\xff]/gi,'xx').length;
	if(l > 1000)
	{
		err.innerHTML = '请控制输入文字的长度在500汉字以内';
		return false;
	}
	if(l < 20)
	{
		err.innerHTML = '你输入的内容太短';
		return false;
	}
	var com = document.getElementById('com');
	var loading = document.getElementById('loading');
	com.style.display = 'none';
	loading.style.display = 'block';

	var post_data = 'com=' + urlencode(comment) + '&cid=' + document.getElementById('cid').value + '&forward=' + urlencode(document.getElementById('forward').value) + '&hash=' + urlencode(document.getElementById('hash').value);
	init_http_request();
	if(!http_request)
	{
		show_err('你的浏览器版本太低，无法使用Flyeon网站');
		return false;
	}
	busy = true;
	http_request.onreadystatechange = proc_result;
	http_request.open('POST', '/services/addcharitem', true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send(post_data);

	return false;
}

function show_err(msg)
{
	document.getElementById('err').innerHTML = msg;
	document.getElementById('loading').style.display = 'none';
	document.getElementById('com').style.display = 'block';
}

function init_http_request()
{
	http_request=false;
	if (window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
     		http_request.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject)
	{
		try
		{
      	http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
      	try 
			{
         	http_request = new ActiveXObject("Microsoft.XMLHTTP");
         }
			catch(e)
			{
			}
		}
	}
}

function proc_result()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
      		var xmldoc = http_request.responseXML;
			var code = parseInt(xmldoc.getElementsByTagName('code').item(0).firstChild.nodeValue);
			var msg = xmldoc.getElementsByTagName('msg').item(0).firstChild.nodeValue;
			if(code==0)
			{
				var com = document.getElementById('com');
				com.innerHTML = '<p><strong>来自' + document.getElementById('account').value + '的最新内容</strong></p><ol><li class="c">' + get_comment() + '</li></ol>' + msg;
				document.getElementById('loading').style.display = 'none';
				com.style.display = 'block';
				http_request=false;
			}
			else
			{
				show_err(msg);
			}
		}
		else
		{
	      show_err('在处理你的请求时遇到了技术困难，请稍后再试');
		}
		busy = false;
	}
}

function set_ows(service)
{
	var url = 'http://www.flyeon.com/member/' + service + '?t=ows';
	location.href = url;
}

function edit(id, i)
{
	var err = document.getElementById('e' + i);
	if(busy)
	{
		err.innerHTML = '系统忙，请稍后再试';
		return false;
	}
	init_http_request();
	if(!http_request)
	{
		err.innerHTML='你的浏览器版本太低，无法使用Flyeon网站';
		return false;
	}
	busy = true;
	err.innerHTML = '加载中请稍后...'
	http_request.onreadystatechange = proc_edit;
	http_request.open('GET', '/services/editcharitem?id=' + id + '&li=' + i, true);
	http_request.send(null);
	return false;
}

function proc_edit()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
      		var xmldoc = http_request.responseXML;
			var code = parseInt(xmldoc.getElementsByTagName('code').item(0).firstChild.nodeValue);
			if(code == 2)
			{
				busy = false;
				http_request=false;
				var url = 'http://www.flyeon.com/member/login?t=require_login&forward=' + urlencode(location.href);
				location.href=url;
				return false;
			}
			else
			{
				var li = xmldoc.getElementsByTagName('li').item(0).firstChild.nodeValue;
				var msg = xmldoc.getElementsByTagName('msg').item(0).firstChild.nodeValue;
				var err = document.getElementById('e' + li);
				if(code == 0)
				{
					var i = document.getElementById('i' + li);
					if(i)
					{
						i.detachEvent('onselectstart', rfalse);
						i.innerHTML = msg;
						var edit=document.getElementById('edit' + li);
						edit.focus();
						edit.select();
					}
					err.innerHTML = '';
				}
				else
				{
					err.innerHTML = msg;
				}
				http_request=false;
			}
		}
		else
		{
			alert('在处理你的请求时遇到了技术困难，请稍后再试');
		}
		busy = false;
	}
}
function cancel_edit(id, i)
{
	var err = document.getElementById('e' + i);
	if(busy)
	{
		err.innerHTML = '系统忙，请稍后再试';
		return false;
	}
	init_http_request();
	if(!http_request)
	{
		err.innerHTML ='你的浏览器版本太低，无法使用Flyeon网站';
		return false;
	}
	busy = true;
	http_request.onreadystatechange = proc_save;
	http_request.open('POST', '/services/editcharitem', true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	var post_data = 'id=' + id + '&li=' + i + '&hash=' + urlencode(document.getElementById('hash' + i).value);
	http_request.send(post_data);

	return false;
}


function save_edit(id, i)
{
	var err = document.getElementById('e' + i);
	var comment = trim(document.getElementById('edit' + i).value);
	err.innerHTML = '';
	if(comment == '' || comment == '请输入编辑后的内容')
	{
		var c = document.getElementById('edit' + i);
		c.value = '请输入编辑后的内容';
		c.select();
		return false;
	}
	if(/<[^<]*>/g.test(comment))
	{
		err.innerHTML = '请不要使用HTML或UBB代码，但可用回车符分段';
		return false;
	}
	var l = comment.replace(/[^\x00-\xff]/gi,'xx').length;
	if(l > 1000)
	{
		err.innerHTML = '请控制输入文字的长度在500汉字以内';
		return false;
	}
	if(l < 20)
	{
		err.innerHTML = '你输入的内容太短';
		return false;
	}	
	
	if(busy)
	{
		err.innerHTML = '系统忙，请稍后再试';
		return false;
	}
	init_http_request();
	if(!http_request)
	{
		err.innerHTML ='你的浏览器版本太低，无法使用Flyeon网站';
		return false;
	}
	busy = true;
	http_request.onreadystatechange = proc_save;
	http_request.open('POST', '/services/editcharitem', true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	var post_data = 'com=' + urlencode(comment) + '&id=' + id + '&li=' + i + '&hash=' + urlencode(document.getElementById('hash' + i).value);
	http_request.send(post_data);
	return false;
}

function proc_save()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
      		var xmldoc = http_request.responseXML;
			var code = parseInt(xmldoc.getElementsByTagName('code').item(0).firstChild.nodeValue);
			var li = xmldoc.getElementsByTagName('li').item(0).firstChild.nodeValue;
			var msg = xmldoc.getElementsByTagName('msg').item(0).firstChild.nodeValue;
			if(code == 0)
			{
				var i = document.getElementById('i' + li);
				if(i)
				{
					i.innerHTML = msg;
					i.attachEvent('onselectstart', rfalse);
				}
			}
			else
			{
				var err = document.getElementById('e' + li);
				err.innerHTML = msg;
			}
			http_request=false;
		}
		else
		{
			alert('在处理你的请求时遇到了技术困难，请稍后再试');
		}
		busy = false;
	}
}
function rfalse()
{
	return false;
}
function cfalse()
{
	window.clipboardData.setData('Text', '');
}
function set_cpt()
{
	if(document.attachEvent)
	{
		document.getElementById('cpt').attachEvent('onselectstart', rfalse);
		var cpt = null;
		for(var i=0; i<11; i++)
		{
			cpt = document.getElementById('i' + i);
			if(cpt)
			{
				cpt.attachEvent('onselectstart', rfalse);
			}
		}
//		document.body.attachEvent('onblur', cfalse);
	}
}