
var dlg_id=0;
var frame_id=0;

function trim(str){
		//该函数删除字符串前后的空格，相当于PHP语句中的trim();
		
		blankExp1=/^ +/;
		blankExp2=/ +$/;
		blankExp3=/^[\n\r]([\n\r]?)+/;	
		blankExp4=/[\n\r]([\n\r]?)+$/;
		str = str.replace(blankExp1,'');
		str = str.replace(blankExp2,'');
		str = str.replace(blankExp3,'');
		str = str.replace(blankExp4,'');
		return str;	
}
function showSelectBoxes2(){
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		if(selects[i].className!='not_hide_select'){
			Element.show(selects[i]);
		}
	}

	var objects = document.getElementsByTagName("object");
	for (i = 0; i != objects.length; i++) {
		if(objects[i].className!='not_hide_object'){
			Element.show(objects[i]);
		}
	}
	var objects = document.getElementsByTagName("EMBED");
	for (i = 0; i != objects.length; i++) {
		if(objects[i].className!='not_hide_object'){
			Element.show(objects[i]);
		}
	}

}

function hideSelectBoxes2(){
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		if(selects[i].className!='not_hide_select'){
			Element.hide(selects[i]);
		}
	}
	var objects = document.getElementsByTagName("object");
	for (i = 0; i != objects.length; i++) {
		if(objects[i].className!='not_hide_select'){
			Element.hide(objects[i]);
		}
	}
	var objects = document.getElementsByTagName("EMBED");
	for (i = 0; i != objects.length; i++) {
		if(objects[i].className!='not_hide_select'){
			Element.hide(objects[i]);
		}
	}

}

function hide_all(ifHideSelectBox, id){
	if(ifHideSelectBox){
		hideSelectBoxes2();
	}

	if(id==undefined){
		id=2;
	}
	var pageSize=Element.getDimensions(document.body);


	if(!$("overlayImg_"+id)){
		var zindex=10000+id*1000;
		var divstr="<div style='background: #000; Z-Index:"+zindex+";position:absolute;display:none; width:0px; height:0px; filter:alpha(opacity=50);' id='overlayImg_"+id+"'></div>";
		new Insertion.Bottom(document.body, divstr);
	}

	Element.setStyle("overlayImg_"+id,{left:0, top:0, height:pageSize.height+"px", width:pageSize.width+"px"});
	Element.show("overlayImg_"+id);
}

function show_all(ifShowSelectBox, id){
	if(ifShowSelectBox){
		showSelectBoxes2();
	}

	Element.hide("overlayImg_"+id);
}


function add_object(obj_str, o){
	if(o!=undefined){
		o.innerHTML=obj_str;
	}else{
		document.write(obj_str);;
	}
}



function show_msg(msg_type, msg_text, autohide){
	//1:info 2:ok 3:error 4:warning 5:doing

	var divBox=$('mbox');
	if(!divBox){
		var divBox='<div id="mbox"><div id="msg_icon_div"><img src="http://www.xjh.com/js/imgs/msg_5.gif" id="msg_icon" onclick="hide_msg();"></div><div id="msg_text_div">正在操作，请稍等....<br>如果长时间没有反应，<a href="#" onclick="hide_msg(); return false;">请点击这儿关闭窗口重新提交</a></div></div>';
		new Insertion.Bottom(document.body, divBox);
		Element.hide("mbox");
	}
	

	var show_msg_type=5;
	if(msg_type!=undefined){
		show_msg_type=msg_type;
	}
	$('msg_icon').src="http://www.xjh.com/js/imgs/msg_"+show_msg_type+".gif";

	
	var show_msg_text="正在操作，请稍等....";
	if(msg_type==3){
		show_msg_text="操作失败！";
	}

	if(msg_text!=undefined){
		show_msg_text=msg_text;
	}
	if(show_msg_type==5){
		show_msg_text+="<br />如果长时间没有反应，<a href='#' onclick='hide_msg(); return false;'>请点击这儿关闭窗口重新提交</a>";

	}else{
		show_msg_text+="<br /><a href='#' onclick='hide_msg(); return false;'>点击这儿关闭提示窗口</a>";
	}

	$('msg_text_div').innerHTML=show_msg_text;

	
	var is_hidden=$("mbox").getStyle('display');
	if(is_hidden=="none"){
		Element.show("mbox");
		var curleft=Event.pointerX(event);
		var curtop=Event.pointerY(event);

		if(curleft>0 && curtop>0){
			var pageSize=Element.getDimensions(document.body);
			var pwidth=pageSize.width;

			if(curleft+330>pwidth){
				curleft=pwidth-370;
			}else{
				curleft-=40;
			}

			curtop-=20;

			Element.setStyle("mbox", {top: curtop+"px", left:curleft+"px"});	
		}
	}

	if(autohide!=undefined){
		setTimeout("hide_msg()",autohide);
	}

}

function hide_msg(){
	Element.hide("mbox");
}

function createCookie(name,value,days, domain) {
	if(domain==undefined || domain.length<1){
		domain=".xjh.com";
	}
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString()+"; path=/; domain="+domain;
	}
	else var expires = "";
	document.cookie = name+"="+value+expires;
}

function deleteCookie(name, session_cookie, domain){
	if(domain==undefined || domain.length<1){
		domain=".xjh.com";
	}
	var expires = new Date();
	expires.setTime (expires.getTime() - 1);
	if(!session_cookie){
		document.cookie = name+"=; expires="+expires+"; path=/; domain="+domain;

	}else{
		document.cookie = name+"=; expires="+expires;
	}

} 

function ajax_failure(o){
	alert(o.responseText);
	close_dlg();
	show_msg(3, "提交数据时发生错误....");
}


function draw_shadow(obj_id, depth){
	if(!$(obj_id+"_shadow")){
		var z_index=$(obj_id).style.xIndex-1;
		var div_str="<div style='background-color:#333333;width:280px;height:60px;position:absolute;left:206px;top:106px;font-size:12px;filter:alpha(opacity=40);Z-index:"+z_index+";display:none'  id='"+obj_id+"_shadow'></div>";
		new Insertion.After(obj_id, div_str); 
	}
	var org_obj=$(obj_id);
	var shadow_obj=$(obj_id+"_shadow");
	if(!depth) depth=4;
	shadow_obj.style.top = org_obj.offsetTop + depth;
	shadow_obj.style.left = org_obj.offsetLeft + depth;
	shadow_obj.style.width = org_obj.offsetWidth;
	shadow_obj.style.height = org_obj.offsetHeight;
	shadow_obj.style.display="block";
}

function hide_shadow(obj_id){
	Element.hide(obj_id+"_shadow");
}


function ajax_update_content(div_id, url, pars){
	var myAjax = new Ajax.Updater(
		div_id,
		url, 
		{
			method: 'get', 
			parameters: pars
		});	
}

function ajax_do_ok(o){
	var msg=trim(o.responseText);

	if(msg.indexOf('失败')>-1){
		msg+="<br><br><a href='#' onclick='hide_msg(); return false;'>关闭提示窗口</a>";
		show_msg(3, msg);
	}else{
		show_msg(2, msg, 5000);
	}
}

function ajax_do(url, post_method, ok_function){
	show_msg();
	var pars="";
	var get_or_post="get";
	if(post_method!=undefined && post_method=="post"){
		get_or_post="post";
	}

	var urls=url.split("\?");
	url=urls[0];
	if(urls[1]!=undefined){
		pars=urls[1];
	}
	if(pars.length>1){
		pars+="&timestamp="+time_stamp;
	}else{
		pars+="?timestamp="+time_stamp;
	}
	time_stamp++;

	if(ok_function==undefined){
		ok_function=ajax_do_ok;
	}
	var myAjax = new Ajax.Request(
			url, 
			{
				method: get_or_post, 
				parameters:pars, 
				onSuccess: ok_function,
				onFailure: ajax_failure
			});
}

function get_url_script(url){
	var pos=url.indexOf("#");
	if(pos>0){
		url=url.substr(0, pos);
	}
	var pos=url.indexOf("?");
	if(pos>0){
		url=url.substr(0, pos);
	}

	return url;
}


function ajax_submit(o, ok_function){
	var url=window.location.href;
	url=get_url_script(url);
	if(o.action.length>0){
		url=o.action;
	}
	show_msg();
	var pars=$(o.id).serialize();
	if(ok_function==undefined){
		ok_function=ajax_do_ok;
	}
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: ok_function,
				onFailure: ajax_failure
			});

	return false;
}

//拖放

var dragObject  = null;
var mouseOffset = null;

function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function getPosition(e){
	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}

	left += e.offsetLeft;
	top  += e.offsetTop;

	return {x:left, y:top};
}

function mouseMove(ev){
	ev= ev || window.event;
	var mousePos = mouseCoords(ev);

	if(dragObject){
//		dragObject.style.position = 'absolute';
		dragObject.style.top      = mousePos.y - mouseOffset.y;
		dragObject.style.left     = mousePos.x - mouseOffset.x;

		return false;
	}
}
function mouseUp(){
	dragObject = null;
}

function makeDraggable(dragobj, moveobj){
	document.onmousemove = mouseMove;
	document.onmouseup   = mouseUp;

	if(!dragobj) return;
	if(!moveobj) moveobj=dragobj;
	dragobj.onmousedown = function(ev){
		dragObject  = moveobj;
		mouseOffset = getMouseOffset(moveobj, ev);
		return false;
	}
}




function get_center_position(element_width, element_height, if_fixed){
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	if(if_fixed){
		var scrollPos=new Array(0, 0);
	}else{
		var scrollPos=Position.realOffset(document.body);
	}
	return new Array((windowWidth-element_width)/2+scrollPos[0], (windowHeight-element_height)/2+scrollPos[1]);

}

function show_frame(frame_title, frame_url, is_hide_all){
	frame_id++;

	if(is_hide_all){
		hide_all(1, 1);
	}

	if(frame_title.length<1){
		frame_title="提示窗口";
	}

	var str='<div class="frame" id="frame_'+frame_id+'"><div id="frame_title_bar" class="frame_title_bar"><span id="frame_title" style="float:left;">'+frame_title+'</span><a href="#" onclick="close_frame(); return false;" class="close_link">r</a></div><div id="frame_body" class="frame_body"></div><div class="frame_footer"></div></div>';
	new Insertion.Bottom(document.body, str);
		
	var new_pos=get_center_position(540, 532, 0);
	Element.setStyle("frame_"+frame_id, {left:new_pos[0]+"px", top:new_pos[1]+"px"});
	makeDraggable($('frame_title_bar'), $("frame_"+frame_id));
	$("frame_body").innerHTML="<br><br><br><br><br><center><img src='http://www.xjh.com/js/imgs/dg_5.gif' width='24' height='24' /> 正在打开页面，请稍侯...！</center>";
	ajax_update_content("frame_body",frame_url,"");

}

function show_frame_ok(o){
	alert(o.responseText);
	$("frame_body").innerHTML=o.responseText;
}

function close_frame(){
	show_all(1, 1);
	$("frame_"+frame_id).remove();
}

function show_dlg(message_type, message_title, message_str, button_html){
	//message_type: 1 info 2 ok 3 error 4 ask 5 doing 0 no icon
		if($("dlg_"+dlg_id)){
			if($("dlg_icon") && message_type){
				$("dlg_icon").src="http://www.xjh.com/js/imgs/dg_"+message_type+".gif";
			}
			$("dlg_title").innerHTML=message_title;
			$("dlg_content_div").innerHTML=message_str;
			$("dlg_button_div").innerHTML=button_html;
			return false;
		}

		hide_all(1, 2);
		if(message_type<0 || message_type>5){
			message_type=5;
		}
		dlg_id++;
		if(message_title.length<1){
			message_title="提示窗口";
		}
		if(button_html==undefined){
			button_html="<button class='pink' onclick='close_dlg();'>关闭</button>";
		}
		var str='<div class="dlg" id="dlg_'+dlg_id+'"><div id="dlg_title_bar" style="cursor:move"><span id="dlg_title" style="float:left;">'+message_title+'</span><a href="#" onclick="close_dlg(); return false;" class="close_link">r</a></div><div id="dlg_body"><div id="dlg_body2">';
		var dlg_content_class="dlg_content_div dlg_content_wide";

		if(message_type>0){
			str+='<div id="dlg_icon_div"><img src="http://www.xjh.com/js/imgs/dg_'+message_type+'.gif" id="dlg_icon"></div>';
			dlg_content_class="dlg_content_div";
		}

		str+='<div id="dlg_content_div" class="'+dlg_content_class+'">'+message_str+'</div></div><div id="dlg_button_div">'+button_html+'</div><div class="hack_for_ff"> </div></div><div id="dlg_footer"></div><br /></div>';
		new Insertion.Bottom(document.body, str);
		
		var dlg_size=Element.getDimensions("dlg_"+dlg_id);
		var new_pos=get_center_position(dlg_size.width, dlg_size.height, 0);
		Element.setStyle("dlg_"+dlg_id, {left:new_pos[0]+"px", top:new_pos[1]+"px"});

		makeDraggable($('dlg_title_bar'), $("dlg_"+dlg_id));
}



function close_dlg(){
	show_all(1, 2);
	if($("dlg_"+dlg_id)){
		$("dlg_"+dlg_id).remove();
	}
}

function do_login(o){
	var pars=$(o.id).serialize();
	var url="/do_login.php";
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: pars, 
			onSuccess: login_ok,
			onFailure: ajax_failure
		});
}
function login_ok(o){
	if(trim(o.responseText)!="0"){
		res=trim(o.responseText).split("\t");
		//alert("登录成功");
		location.href=decodeURIComponent(res[1]);//decodeURIComponent
	}else{
		alert("登录失败，请重新检查输入的用户信息");
	}
	return false;
}



function do_order_stat(order_id){
	var pars="&order_id="+order_id;
	var url="/do_order_stat.php";
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: pars, 
			onSuccess: do_order_stat_ok,
			onFailure: ajax_failure
		});
}
function do_order_stat_ok(o){
	var res=trim(o.responseText);
	alert(res);
	return false;
}

function checkValid(user_name){
	if(user_name==""){alert("请填写用户名");return false;}
	var pars="&user_name="+user_name;
	var url="/check_valid.php";
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onSuccess: checkValid_OK,
			onFailure: ajax_failure
		});

}

function checkValid_OK(o){
	if(o.responseText==1){
		alert("对不起，你填写的用户名已经被注册了。");	
	}else{
		alert("恭喜，您填写的用户名可以注册");
	}
	return false;
}


var logged_function=null;

function show_log(msg_title, msg_prefix, msg_type, have_register_link, after_log){
	if(msg_title==undefined || msg_title.length<1){
		msg_title="快速登录";
	}
	if(msg_type==undefined || !msg_type){
		msg_type=1;
	}


	var msg="";
	if(msg_prefix!=undefined && msg_prefix.length>0){
		msg+=msg_prefix;
	}
	var log_user_name="";
	if(user_name!==undefined){
		log_user_name=user_name;
	}

	if(after_log!=undefined && after_log){
		logged_function=after_log;
	}else{
		logged_function=null;
	}
	msg+="<br><form id='log2_form' name='log2_form' onsubmit='login(this); return false;'>用户名: <input type='input' id='user_name' name='user_name' value='"+log_user_name+"' style='width:120px;'>";
	if(have_register_link==undefined || have_register_link){
		msg+=" <a href='/register.php'>注册用户</a>";
	}
	msg+="<br>密　码: <input type='password' id='user_password' name='user_password' value=''  style='width:120px;'>";
	msg+=" <a href='http://www.mktar.net/bbs/index.php?act=Reg&CODE=10' target='_blank'>忘记密码</a>";

	msg+="<br>　　　　<input type='checkbox' id='remember' name='remember' value='1' checked>记住我";
	show_dlg(msg_type, msg_title, msg, "<input type='submit' value='登录' class='submit' />&nbsp;&nbsp;&nbsp;&nbsp;<button onclick='close_dlg();'>取消</button></form>");	
}

function login(o){
	var pars=$(o.id).serialize();
	var url="/do_login.php";

	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: pars, 
			onSuccess: login_responseSuccess,
			onFailure: ajax_failure
		});

	show_dlg(5, "正在登录...", "正在登录， 请稍候...<br><br><li>如果很长时间没有反应，请点击取消按钮，然后重新提交。</li>", "<button onclick='close_dlg();'>取消</button>");		

	return false;
}



function login_responseSuccess(o){
	var res=trim(o.responseText).split("\t");
	if(res.length<4){
		show_dlg(2, "发生错误...", "登录时发生错误...", "<button onclick='close_dlg();'>取消</button>");
	}else{
		if(logged_function){
			user_level=1;
			close_dlg();
			logged_function();
			return true;
		}

		if(res[0]==2){
			if(res[1].length>0){
				window.location=res[1];
			}else{
				window.location.reload();
			}
		}else{
			show_dlg(res[0], res[1], res[2], res[3]);
		}
	}

}

function logout(){
	var url="/do_login.php?act=logout";
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			onSuccess: logout_responseSuccess,
			onFailure: ajax_failure
		});
		return false;
}

function logout_responseSuccess(o){
	window.location.reload();
}

function goto_page(o, url){
if(o.value<1 || o.value=="NaN"){alert("请指定页码！"); return false;};
var page_no=o.value-1;
window.location=url.replace("%d", page_no);
}


function add_fav(){
	disable_link($("add_fav_link"));
	var url="/fav.php?group_id="+group_id+"&topic_id="+topic_id;
	ajax_do(url, "post", fav_ok);
}

function fav_ok(o){
	var res=trim(o.responseText).split("\t");
	if(res[0]=="1"){
		var msg="收藏成功";
		show_msg(2, msg);
		if($("favs")){
			$("favs").innerText=parseInt($("favs").innerText)+1;			
		}else{
			var str="[<a href='#' onclick='show_fav_users(); return false;' id='favs'>1</a>]";
			new Insertion.After($("add_fav_link"), str);
		}
	}else{
		var err_msg="未知原因";
		if(res[1]!=undefined){
			err_msg=res[1];
		}
		show_msg(3, "发生错误！错误提示:"+err_msg);
	}

}


function alt_sel_change(o){
	var id=o.id;
	var text_id=id.substr(4);
	var text_obj=$(text_id);
	text_obj.value=o.value;
	text_obj.show();
	Element.remove(o);

}

function disable_link(o){
	var txt=o.innerText;
	var str="<span style='color:#999' id='"+o.id+"'>"+txt+"</span>";
	o.replace(str);
}



function change_segs(org_str, seg, splitter, add_remove){
	//org_str 原来的字符串 seg新增加的字段 splitter 字段与字段之间的分隔符 add_remove 1:增加 2:减少
	var segs=new Array();
	var seg_cnt=0;
	if(org_str.length>0){
		segs=org_str.split(splitter);
		seg_cnt=segs.length;
	}
	var have_found=0;
	if(add_remove==1){
		for(var i=0; i<seg_cnt; i++){
			if(segs[i]==seg){
				have_found=1;
				break;
			}
		}
		if(!have_found){
			segs.push(seg);
		}

	}else{
		for(var i=0; i<seg_cnt; i++){
			if(segs[i]==seg){
				segs.splice(i, 1);
				break;
			}
		}
	}
	org_str=segs.join(splitter);
	return org_str;
}


function quote(i){
	if(!i && $("recad")) $("recad").remove();
	var post_text=$('post_text_'+i).innerHTML;
	post_text="<span class='quote'><label>"+posts[i][4]+" 在"+posts[i][2]+"写到</label><br />"+post_text+"</span>";

	var editor=document.frames["editor"];

	editor.editor_paste(post_text);
	editor.focus();
	return true;
}


function show_tip(tip_what, tip_str, tip_id, need_scroll_to){
	if(!$(tip_what)) return false;
	var obj_pos=Position.cumulativeOffset($(tip_what));
	var obj_width=Element.getDimensions($(tip_what)).width;
	var tip_top=obj_pos[1]-10;
	var tip_left=obj_pos[0]+obj_width;
	var str="<div id='tip_div' style='left:"+tip_left+"px; top:"+tip_top+"px'><div id='tip_div_content'>"+tip_str+"</div><div id='tip_div_closer'><a href='#' onclick='close_tip("+tip_id+"); return false;'>我知道了，不要再提示</a></div></div>";
	new Insertion.Bottom(document.body, str);
	if(need_scroll_to){
		$("tip_div").scrollTo();
	}
}

function close_tip(tip_id){
	createCookie("have_show_tip_"+tip_id,1,30);
	createCookie("have_show_tip",1,1);
	$("tip_div").fade();
}

function do_search(obj){
	if(obj.wd.value==""){
		alert("请输入搜索关键词");
		obj.wd.focus();
		return false;
	}
}

function showdiv(a,b)
{	
	$("ct"+a).style.display="block";
	$("a"+a).className="sele";
	$("ct"+b).style.display="none";
	$("a"+b).className="";
}
function showdivs(a,b,c,d)
{
	$("ct"+b).style.display="none";
	$("a"+b).className="";
	$("ct"+c).style.display="none";
	$("a"+c).className="";
	$("ct"+d).style.display="none";
	$("a"+d).className="";
	$("ct"+a).style.display="block";
}
		
function zoomFont(size){
	if(size<=16 && size>=12){
		$("content").style.fontSize=size+'px';
	}
	return false;
}


