/**
 * 回车键提交
 * @return boolean
 */
function enterKeyCheckFrom() {
	$("form :text").bind("keydown", function(e){
		if (e.keyCode == 13) {
			var frm = $(this).parent();
			while (frm && frm.get(0).tagName.toLowerCase() != "form") {
				frm = frm.parent();
			}
			if (frm) {
				if (frm.get(0).onsubmit) {
					frm.get(0).onsubmit();
				} else {
					frm.get(0).submit();
				}
				return false;
			}
		}
	})
}

/**
 * 计算字符,汉字的长度
 * @param {} key
 * @return {}
 */
function strLen(key){
	var l = escape(key), len;
	len =l.length - (l.length - l.replace(/\%u/g, "u").length) * 4;
	l = l.replace(/\%u/g, "uu");
	len = len - (l.length - l.replace(/\%/g, "").length) * 2;
	return len;
}
//团体转社群


/**
 * @param string tabs 用于tabs的ID
 * @param string pages 用于page的ID
 * @param array url 对应的page要装载的远程数据,每页数据只装载一次
 * @param boolean no_click 如果该值为真,则取消点击事件,相应的要使用selectTabs()去选择
 */
function tabs(tab, pages, url, default_selected, no_click) {
	var tab = $(tab);
	if (tab.attr("target_id")) {
		return;
	}
	pages = $(pages);
	tab.attr("target_id", pages.attr("id"));
	tabs_items = tab.children(":not(.tabs_excluded)");
	tabs_items.css({"cursor":"pointer"});
	if (url) {
		for (i=0; i<tabs_items.length; i++) {
			switch (url[i] instanceof Array) {
				case false:
					if (!url[i]) {
						url[i] = "";
					}
					tabs_items.eq(i).attr("url", url[i]);
					break;
				case true:
					if (!url[i][0]) {
						url[i][0] = "";
					}
					
					tabs_item = tabs_items.eq(i)
					tabs_item.attr("url", url[i][0]);
					tabs_item.get(0).callback = url[i][1];
					break;
			}
		}
	}
	if (no_click == true) { 
		tabs_items.unbind("click");
	} else {
		tabs_items.click(function (){
			var tab = $(this).parent().children(":not(.tabs_excluded)");
			selectTabs($(this).parent().attr("id"),tab.index($(this)));
			tab = null;
		})
	}
	selectTabs(tab.attr("id"), default_selected?default_selected:0);
	tab.eq(default_selected?default_selected:0).click();
	tab = pages = null;
}

function selectTabs(tabs_id, index) {
	// 没有target_id属性,表示没有使用过tabs()
	if (tabs_id.substr(0,1) != "#") {
		tabs_id = "#" + tabs_id;
	}
	var tab = $(tabs_id);
	if (!tab.attr("target_id")) {
		return ;
	}

	var page_items = $("#" + tab.attr("target_id")).children(":not(.pages_excluded)");
	var labs_items = tab.children(":not(.tabs_excluded)");
	labs_items.filter(".on").removeClass("on");
	selected_labs = labs_items.eq(index);
	selected_labs.addClass("on");
	page_items.hide();
	page_items.eq(index).show();
	
	if (selected_labs.attr("loaded")!= "yes") {
		
		if (selected_labs.attr("url")) {
			$.ajaxSetup({"cache":false,"global":true});
			
			$.get(selected_labs.attr("url"),(function($t, $p, callback){
				return function(data){
						if(data == '{"errno":"-10000","error":"nologin"}'){
							alertMsg({msg:'你还未登录，请先登录再进行此操作', icon:'warning', okHandle:logout_ajax}); 
							return;
						}
						$t.attr("loaded", "yes");
						$t.parent().children(":not(.tabs_excluded)").filter(".on").removeClass("on");
						$t.addClass("on");
						$p.html(data);
						if (callback)
						{
							this.callback = callback;
							this.callback(data);
						}
					}
				})(selected_labs, page_items.eq(index), selected_labs.get(0).callback));
			
		} else {
			selected_labs.attr("loaded", "yes");
		}
	} else {
		$(".saved_tip").hide();
	}
	
	tab = page_items = labs_items = selected_labs = null;
}


function fixPosition(p, w, h) {
	var bottom = (document.documentElement.clientHeight-h)/2
	var right = (document.documentElement.clientWidth-w)/2;

	p.css('bottom',bottom + 'px');
	p.css('right', right + 'px');
	
}

function floatBox(p) {
	if (p) {
		// 添加外半透明框
//		if (typeof(p) == "string") {
//			p = '<table class="pop_dialog"><tr class="gt"><td class="gtl"></td><td class="gtm"></td><td class="gtr"></td></tr><tr class="gm"><td class="gml"></td><td class="gmm">' + p + '</td><td class="gmr"></td></tr><tr class="gb"><td class="gbl"></td><td class="gbm"></td><td class="gbr"></td></tr></table>';
//		}
//		if (typeof(p) == "object") {
//			var contain = $('<table class="pop_dialog"><tr class="gt"><td class="gtl"></td><td class="gtm"></td><td class="gtr"></td></tr><tr class="gm"><td class="gml"></td><td class="gmm"></td><td class="gmr"></td></tr><tr class="gb"><td class="gbl"></td><td class="gbm"></td><td class="gbr"></td></tr></table>');
//			contain.find(".gmm").append(p);
//			p = contain;
//		}
		p = $(p);
		p.hide();
	}
	this.p = p;
	this.resizeHandle = null;
	this.scrollHandle = null;
	
	this.ready = false;
	
	this.onClose = null;
	
	//IE6用于屏蔽SELECT
	this.iframe = null;
	
	this.width = null;
	this.height = null;
}

floatBox.prototype = {
	panelInit: function() {
		if (!this.ready) {
			$(document.body).append(this.p);
			
			if (isie6) {
				this.iframe = $(document.body.appendChild(document.createElement('IFRAME')));
				this.iframe.attr('id', 'floatboxIframe');
				this.iframe.attr('src', 'about:blank');
				this.iframe.css('position', 'absolute');
				this.iframe.attr('allowtransparency', 'true');
				this.iframe.attr('frameborder', 0);
				this.iframe.css('border', 0);
				this.iframe.css('backgroundColor', '#000000');
//				this.iframe.css('z-index', -1);
				this.iframe.css('opacity', 0.02);
			}
			this.resize();
			this.ready = true;
		}
	},
	
	show: function() {
//		this.resize();
		this.panelInit();
		
		//键盘事件
		document.onkeydown = function(p,evt){
			return function(evt){
				var event = window.event || evt;
				switch (event.keyCode) {
					case 27: //ESC
						overlay && overlay.hide();
						p.hide();
						break;
				}
				//alert(event.keyCode);
			}
		}(this)
				
		this.p.show();
		
		var self = this;
		
		window.setTimeout(function(){
			self.resize();
		}, 50);
		
		//显示透明屏蔽层
		overlay && overlay.show()
	},
	
	hide: function() {
		this.iframe && this.iframe.hide();
		document.onkeydown = '';
		this.onClose && this.onClose();
		this.p && this.p.hide();
		
		overlay && overlay.hide()		
	},
	
	close: function() {
		this.iframe && this.iframe.remove();
		document.onkeydown = '';
		this.onClose && this.onClose();
		this.p && this.p.remove();
		
		overlay && overlay.hide()
	},
	
	resize: function() {
		var p = this.p;
		
		var h = p.height();
		var w = p.width();

		if (isie6){
			var self = this;
			
			p.css('position','absolute');
			setPosition(p, w, h)
			
			
			this.iframe.width(w);
			this.iframe.height(h)
			setPosition(this.iframe, w, h);
			
			if (!this.resizeHandle){
				this.resizeHandle = $(window).resize(function() {
					setPosition(p, w, h);
					setPosition(self.iframe, w, h);
				});
			}
			
			if (!this.scrollHandle){
				this.scrollHandle = $(window).scroll(function() {
					setPosition(p, w, h);

					setPosition(self.iframe, w, h);
				});
			}
		} else {
			p.css('position','fixed');
			fixPosition(p, w, h);
			
			if (!this.resizeHandle){
				$(window).resize(function() {
					fixPosition(p, w, h);
				});
			}
		}
//		p.show();
	}
}


function enterKeyCheckFrom() {
	$("form :text").bind("keydown", function(e){
		if (e.keyCode == 13) {
			var frm = $(this).parent();
			while (frm && frm.get(0).tagName.toLowerCase() != "form") {
				frm = frm.parent();
			}
			if (frm) {
				if (frm.get(0).onsubmit) {
					frm.get(0).onsubmit();
				} else {
					frm.get(0).submit();
				}
				return false;
			}
		}
	})
}

//过滤半角和全角空格
function trim(text)
{
	return (text || "").replace( /^\s+|\s+$/g, "" ).replace(/　+/g, "");
}

//刷新验证码
function refreshImg(id) {
	var ccImg = document.getElementById(id);
	if (ccImg) {
		if (ccImg.src.indexOf('?') > 0) {
			ccImg.src = ccImg.src+'&ran='+Math.random();
		} else {
			ccImg.src = ccImg.src+'?ran='+Math.random();
		}
	}
}


function floatLoginDiv(user) {
	var user = user == 'null' ? '' : user;
	if ('webuc' == user) {
		$('#username').focus();
		return;
	}
	var html = '<div class="login webuc_login" id="ucLoginIdDiv">'
			+	'<h2>登录新浪通行证<span id="floatLoginClose" class="close" title="关闭">关闭</span></h2>'
			+	'<form name="theForm" action="" method="post">'
			+	'<input type="hidden" name="state" id="state" value="" />'
			+	'<div class="wl_m">'
			+	'<p><span>帐 号：</span><input type="text" id="username" name="username" tabindex="1" title="电子邮箱/UC号/会员帐号/手机号" alt="电子邮箱/UC号/会员帐号/手机号" value="'+user+'"/><a href="/reg.php">注册新帐号</a></p>'
			+	'<p><span>密 码：</span><input type="password" id="passwd" name="passwd" tabindex="2" value=""/><a href="http://login.sina.com.cn/cgi/getpwd/getpwd0.php?entry=sso" target="_blank">找回密码</a></p>'
			+	'</div>'
			+	'<div class="login_state">'
			+	'<div class="remember"><label><input type="checkbox" tabindex="3" name="login_info" checked="checked"/>记住帐号</label></div>'
			+	'</div>'
			+	'<input class="login_btn" id="login_submit" tabindex="4" type="button" onfocus="blur();" onclick="slogin(this)" title="登录"/>'
			+	'</form>'
			+	'<div class="error_layout" id="error_show_layout">'
			+	'<div class="el_t"></div>'
			+	'<div class="el_m">'
			+	'<div class="close" title="关闭">关闭</div>'
			+	'<p id="show_error">帐号或密码错误！</p>'
			+	'</div>'
			+	'<div class="el_b"></div>'
			+	'</div>'
			+	'</div>';
	var main = new floatBox(html);
	
	function _close() {
		overlay.hide();
		main.close();
	}
	function _closeTip() {
		$('#error_show_layout').css('display', 'none');
	}
	
	overlay.show();
	main.show();
	
	$('#floatLoginClose').mouseover(function(){
		$('#floatLoginClose').addClass('close_hover');
	})
	$('#floatLoginClose').mouseout(function(){
		$('#floatLoginClose').removeClass('close_hover')
	})
	$('#floatLoginClose').click(_close);
	$('.close', $('#error_show_layout')).click(_closeTip);
	
	$('#username').focus();
}

function isLoginTip()
{
	var html = '<div class="login_tip" id="isLoginTip">'
    		 + '<h2>提示：<span class="close" title="关闭">关闭</span></h2>'
        	 + '<p class="txt">你当前已登录新浪会员帐号<br />可直接使用这个帐号登录新浪 UC或先退出再注册</p>'
         	 + '<p class="btn"><a href="javascript:slogout()">退出</a> <a id="cancelBtn" href="###">取消</a></p>'
    		 + '</div>';
    var ele = $(html).appendTo('body');
	var main = new floatBox(ele);
	
	function _close() {
		overlay.hide();
		main.close();
		window.location.href = '/';
	}
	if (isie) {
		$('select').attr('disabled', 'disabled');
	}
	overlay.show();
	main.show();
	
	$('.close', ele).click(_close);
	$('#cancelBtn').click(_close);
}

function closeLoginTip()
{
	$('#error_show_layout').hide();
}

function ucStateMenu()
{
	var closeSign = false;
	var _self = this;
	_self.init = function (id){init(id)};
	_self.hideMenu = function (){hideMenu()};
	
	function init(id) {
		id = id || 'uc_chang_state';
		//为改变状态添加点击事件
		$('#'+id).click(function(){
			closeSign = true;
			$('#uc_state_meuu').fadeIn('normal');
			setTimeout(function(){
				_self.hideMenu();
			}, 1000);
		})
		
		$('#uc_state_meuu > li').mouseover(function(){
			closeSign = false;
		})
		
		$('#uc_state_meuu > li').mouseout(function(){
			closeSign = true;
			setTimeout(function(){
				_self.hideMenu();
			}, 200);
		})
	}

	function hideMenu() {
		//隐藏状态菜单
		if (closeSign) {
			$('#uc_state_meuu').fadeOut('normal');
		}
	}
}


