String.prototype.lTrim=function () {
  return this.replace(/^\s*/, "");
}

String.prototype.rTrim=function () {
  return this.replace(/\s*$/, "");
}

String.prototype.trim=function () {
  return this.rTrim().lTrim();
}

String.prototype.getLength=function()
{
  return this.replace(/[^\x00-\xff]/gi,'xx').length;
}

function clearSelect(id)
{
	var sObj=document.getElementById(id);
	if ((sObj == undefined) || (sObj.tagName.toUpperCase() != "SELECT"))
	{
	  return;
	}
	for(var i=sObj.length;i>=0;i--)
	{
	 sObj.options[i]=null;
	}
}
function setSelect(id,v)
{
  var sObj=document.getElementById(id);
  if ((sObj == undefined) || (sObj.tagName.toUpperCase() != "SELECT"))
  {
  return;
  }

  for(var i=0; i<sObj.length; i++)
  {
  	  if(sObj.options[i].value==v)
  	  {
  	  	sObj.options[i].selected=true;
  	  }
  }
}
function addSelectItem(id,txt,val,selected)
{
 var sObj=document.getElementById(id);
 if ((sObj == undefined) || (sObj.tagName.toUpperCase() != "SELECT"))
 {
	 return;
 }
 if(selected == undefined)
 {
	 selected=false;
 }
  var opt=new Option(txt,val,false,false);
  sObj.options[sObj.options.length]=opt;
  opt.selected=selected;
}

function getSingleSelectValueById(id){
  var obj=document.getElementById(id);
 if (obj==undefined)
 {
	  return null;
 }
  return obj.options[obj.selectedIndex].value;
}

function setCity(p,c,sv)
{
	if(p==undefined || p=="")
	{
		p="province";
	}
	if(c==undefined || c=="")
	{
		c="city";
	}
   var v=parseInt(getSingleSelectValueById(p));
   clearSelect(c);
 if (v==null)
 {
	 addSelectItem(c,"不限","0");
	 return;
 }
  
 var v=parseInt(v);
    var subObj=sublocation_array[v];
 if(subObj==undefined)
 {
	 return;
 }

  for(key in subObj)
 {
 	if(sv!=undefined && sv==key)
 	{
 		addSelectItem(c,subObj[key],key,true);
 	}else{
	    addSelectItem(c,subObj[key],key);
 	}
 }
}

function setSelectState(name,v){
  var chks = document.getElementsByName(name);	
  if(chks==undefined || chks.length<=0)
  {
  	  return;
  }
  
  for(var i=0; i<chks.length;i++)
  {
  	 chks[i].checked = v;
  }
}
function getCurrentDate(separator)
{
    var now=new Date();
 var m=(now.getMonth()+1)+'';
 var d=now.getDate()+'';
 m=((m.length==1)?('0'+m):m);
 d=((d.length==1)?('0'+d):d);
 if(separator==undefined){
   return now.getYear()+m+d;
 }
 return now.getYear()+separator+m+separator+d;
}
function getNextDate(separator)
{
    var now=new Date();
 var tmp=new Date(now.getYear(),now.getMonth(),now.getDate());

    var t=tmp.getTime()+24*3600*1000;
    var next=new Date(t);
    
 var m=(next.getMonth()+1)+'';
 var d=next.getDate()+'';
 
 m=((m.length==1)?('0'+m):m);
 d=((d.length==1)?('0'+d):d);
 
 if(separator==undefined){
   return next.getYear()+m+d;
 }
 
 return next.getYear()+separator+m+separator+d;
}

function Cookie(document, name, hours, path, domain, secure)
{
    this.$document = document;
    this.$name = name;
    if (hours)
        this.$expiration = new Date((new Date()).getTime() + hours*3600000);
    else this.$expiration = null;
    if (path) this.$path = path; else this.$path = null;
    if (domain) this.$domain = domain; else this.$domain = null;
    if (secure) this.$secure = true; else this.$secure = false;
}
Cookie.prototype.store = function () {
    var cookieval = "";
    for(var prop in this) {
        if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function')) 
            continue;
        if (cookieval != "") cookieval += '&';
        cookieval += prop + ':' + escape(this[prop]);
    }

    var cookie = this.$name + '=' + cookieval;
    if (this.$expiration)
        cookie += '; expires=' + this.$expiration.toGMTString();
    if (this.$path) cookie += '; path=' + this.$path;
    if (this.$domain) cookie += '; domain=' + this.$domain;
    if (this.$secure) cookie += '; secure';

    this.$document.cookie = cookie;
}
Cookie.prototype.load = function() { 
    var allcookies = this.$document.cookie;
    if (allcookies == "") return false;

    var start = allcookies.indexOf(this.$name + '=');
    if (start == -1) return false;   
    start += this.$name.length + 1;  
    var end = allcookies.indexOf(';', start);
    if (end == -1) end = allcookies.length;
    var cookieval = allcookies.substring(start, end);

    var a = cookieval.split('&');    
    for(var i=0; i < a.length; i++) 
        a[i] = a[i].split(':');
    
    for(var i = 0; i < a.length; i++) {
        this[a[i][0]] = unescape(a[i][1]);
    }
    return true;
}
Cookie.prototype.remove = function() {
    var cookie;
    cookie = this.$name + '=';
    if (this.$path) cookie += '; path=' + this.$path;
    if (this.$domain) cookie += '; domain=' + this.$domain;
    cookie += '; expires=Fri, 02-Jan-1970 00:00:00 GMT';
    this.$document.cookie = cookie;
}
function nchangeImg(img_id)
{
	if(!img_id)
	{
		img_id = 'imgVerify';
	}
	var img = document.getElementById(img_id);
	//img.src = "http://nverify.qq.com/getimage?" + Math.random();
	img.src = "http://ptlogin2.qq.com/getimage?aid=15000102&" + Math.random();
	var ctrl = document.getElementById("code");
	if (ctrl != null)
	{
		ctrl.focus();
	}
}
function qq_input(id,is_focus)
{
	var qq = document.getElementById(id);
	qq.value = qq.value.trim();
	if(is_focus){
		qq.value = "";
	}else{
		if(qq.value == "")
		{
			qq.value = "请输入QQ号码";
		}
	}
}
function checkQQ(id)
{
  var qq = document.getElementById(id);
  var reQQ= /^[1-9]\d{4,11}$/;
  if( !reQQ.test(qq.value) || qq.value < 10001 || qq.value > 1100000000 ){
  	alert("请输入正确的QQ号码!");
  	return false;
  }
  return true;
}

function city_pub(txt)
{
   try{
     document.getElementById("city_pub").innerHTML=txt;
	 }catch(e){}
}

function city_pub_init()
{
   var d=new Request(city_pub,'get','http://city.qzone.qq.com/html/pub.htm','');
   d.sendRequest();
}

function new_commend(txt)
{
    document.getElementById("new_commend").innerHTML=txt;
}


function _Callback(data)
{
	var  send_list = '';

   send_list += '<h3 class="list_02"><span>慷慨达人榜</span></h3>';

   data = data.data;
   var length = data.length;

	for(i=0; i<length; i++)
	{
	   send_info = data[i];
	   if(typeof(send_info) != 'object')
	   {
	   	  break;
	   }
	   if(i == 0)
	   {
	        
			send_list += '<div class="vcard"> <div class="pic"><a href="http://city.qzone.qq.com/index.php?mod=user&act=guest&uin='
			     + send_info['sender'] + '" target="_blank"'
			     + ' class="pic"><img src="' + send_info['smallurl'] + '" class="logo" /></a> </div> '
				 + '<div class="daren_info"><p class="fn n"> <strong>No.1</strong>' 
				 + '<a href="http://city.qzone.qq.com/index.php?mod=user&act=guest&uin='+send_info['sender']
				 + '" target="_blank"><strong class="given-name">  ' 
				 + send_info['nickname'] + ' </strong> </a></p><p><span class="age">' + send_info['age'] + ' 岁 </span>'
				 + '<span class="sex"> ' + send_info['sex_chn'] + ' </span>  </p><p><span class="constellation"> ' + send_info['astro_chn']
				 +' </span><span> '+send_info['bloodtype'] + ' </span> </p><p><span class="adr"> '
				 + ' <a href="'+send_info['home_pcity_url']+'" target="_blank">'+send_info['sublocation_chn']+'</a> </span></p>' 
				 + '<p class="go_qzone"><a href="http://city.qzone.qq.com/index.php?mod=user&act=guest&uin='
			     + send_info['sender'] + '" target="_blank">'
				 + '<img src="http://imgcache.qq.com/QzonePortal_v2/img/city/check_detail.gif" alt="查看详情" /></a></p>'
				 + ' <p class="go_qzone">送出礼物'+send_info['gift_num']+'个</p></div></div>'
				 + '<ul class="new_join">';
	   }
	   else
	   {
		   if(send_info['index'] < 10)
		   {
			   index = '0'+send_info['index'];
		   }
		   else
		   {
			   index = send_info['index'];
		   }
			send_list += '<li><span><strong>No.'+index+'</strong> &nbsp; </span><span class="name">'
				+ '<a href="http://city.qzone.qq.com/index.php?mod=user&act=guest&uin='+send_info['sender']+'" target="_blank">' 
			    + send_info['nickname'] + '</a></span>  <span class="place"> 送出礼物'+send_info['gift_num']+'个</span></li>	';	
	  
			if(i == (length-1))
			{
				send_list += '</ul>';
			}
	   }
	}
	
	send_list += '<br />本榜单只统计昨日一天内（0:00到24:00）累计送出礼物最多的达人';

	document.getElementById('new_commend').innerHTML = send_list;
}

function new_commend_init()
{
document.write('<script language="JavaScript" type="text/javascript" src="/html/js/send_gift_top.js"><\/script>');
 /* var tmpProvince = getSingleSelectValueById("province");
   var tmpCity = getSingleSelectValueById("city");
   var file = "p0";
   for(var i = 0; i<=6;i++)
   {
   	 var tmpCode = city_code_array[i];
   	 if((tmpCode.length == 4 && tmpCode == tmpCity) || (tmpCode.length == 2 && tmpCode == tmpProvince))
   	 {
   	 	file = tab_array[i];
   	 }
   }
   
   var d=new Request(new_commend,'get','/html/include/zx_'+file+'.htm','');
   d.sendRequest();	 */
	 
}

function search_init()
{
	city_pub_init();
	new_commend_init();
}

function switch_search_tab(d)
{
	var index=parseInt(d);
	if(index < 0 && index > 2)
	{
      index = 0;
	}
    
	for(var i=0;i<=2;i++)
	{
	  	var tmpE = document.getElementById("c_search_p"+i);
	  	var tmpEA = document.getElementById('lbl_search_p'+i);
	  	if(tmpE && index==i){
	  		tmpEA.className="nonce";
	  		tmpE.style.display="block";
	  	}else{
				tmpEA.className="";
	  		tmpE.style.display="none";
	  	}
	}
}

var city_code_array = new Array('0','11','31','4401','4403','5101','0');
var tab_array = new Array('p0','p1','p2','p3','p4','p5','p6');
function switch_tab(d)
{
	var index=parseInt(d);
	if(index < 0 && index > 6)
	{
      index = 0;
	}
    
	for(var i=0;i<=6;i++)
	{
	  	var tmpE = document.getElementById(tab_array[i]);
			if(i==6){
	  	  var tmpE_zx = document.getElementById('zx_p0');
	  	}else{
			  var tmpE_zx = document.getElementById('zx_'+tab_array[i]);
			}
	  	var tmpEA = document.getElementById('lbl_'+tab_array[i]);
	  	if(tmpE && index==i){
	  		tmpEA.className = "nonce";
	  		tmpE.style.display = "block";
	  		tmpE_zx.style.display = "block";
	  	}else{
				tmpEA.className = "";
	  		tmpE.style.display    = "none";
				if(i<6){
	  		  tmpE_zx.style.display = "none";
				}
	  	}
	}
}

function getArgs() {
  var args = new Object();
  var query = location.search.substring(1);     
  var pairs = query.split(",");                 

	for(var i = 0; i < pairs.length; i++) {
	   var pos = pairs[i].indexOf('=');          
	   if (pos == -1) continue;                  
	   var argname = pairs[i].substring(0,pos);  
	   var value = pairs[i].substring(pos+1);    
	   args[argname] = unescape(value);          
  }
  return args; 
}
function openBigPic(url,qq){
	 var page_url="http://city.qzone.qq.com/html/info.htm?url="+escape(url)+",qq="+qq;
   window.open(page_url);
}
function getPageOffset(element){
  var left=0,top=0;
  do{ 
    top+=element.offsetTop || 0; 
    left+=element.offsetLeft || 0; 
    element=element.offsetParent; 
  }while(element); 
  return {x:left,y:top};
}
function home_data_init()
{
	  var eles=document.getElementsByName("qq_name");
		var s='';
    for(i=0;i<eles.length;i++)
	  {
			if(i==eles.length-1){
				s=s+eles[i].value;
			}else{
				s=s+eles[i].value+',';
			}
		}
		if (s=="")
		{
			return '';
		}
  	var d=new Request(data_init,'get','/index.php','mod=user&act=homedata&qqs='+s);
		d.sendRequest();
}
function data_init(t)
{
	try{
		var d=t.split(',');
		if(d.length<=0) return;
		for(i=0;i<d.length;i++)
		{
			var tmp=d[i].trim();
			if (tmp=='') continue;
			var tmp_d=tmp.split(':');
			if(tmp_d.length!=3) continue;

			document.getElementById("gift_number_"+tmp_d[0]).innerHTML=tmp_d[2];
			if(tmp_d[1]==1){
				document.getElementById("online_"+tmp_d[0]).innerHTML='<p class="online" title="在线"><span>在线</span></p>';
			}else{
				document.getElementById("online_"+tmp_d[0]).innerHTML='<p class="notinline" title="离线"><span>离线</span></p>';
			}

		}
	}catch(e){}
}

function out_year_opt(id,start,end,y)
{
	clearSelect(id);
	if(y==undefined)
	{
		y=1980;
	}
	addSelectItem(id,'年份',0,true);
	for(var i=end;i>=start;i--)
	{
		if(i==y){
			addSelectItem(id,i+'年',i,true);
		}else{
			addSelectItem(id,i+'年',i,false);		
		}
	}
}

function out_month_opt(id,m)
{
	  clearSelect(id);
		for(var i=1;i<=12;i++)
		{
			if(i==m){
				addSelectItem(id,i+'月',i,true);
			}else{
				addSelectItem(id,i+'月',i,false);
			}
		}
}
function out_day_opt(yid,mid,did,d)
{
	var max=30;
	var y=getSingleSelectValueById(yid);
	var m=getSingleSelectValueById(mid);

	if(y!=null && y%4==0 && m==2)
	{
		max=29;
	}else if(((y!=null && y%4!=0) || y==0) && m==2)
	{
		max=28;
	}else if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12){
		max=31;
	}
  clearSelect(did);
	for(var i=1;i<=max;i++)
	{
		if(i==d){
			addSelectItem(did,i+'日',i,true);
		}else{
			addSelectItem(did,i+'日',i,false);
		}
	}
}

function getElementPageOffset1(x,y)
{
	var l=(document.documentElement.scrollLeft>0?document.documentElement.scrollTop:document.body.scrollLeft);
	var h=(document.documentElement.scrollTop>0?document.documentElement.scrollTop:document.body.scrollTop);
	return {x: x + l - 2, y: y + h - 2};
}

function centerElement(e)
{
  var w=(window.screen.availWidth -e.clientWidth)/2;
	var h=(window.screen.availHeight - e.clientHeight)/3;
	var p=getElementPageOffset1(w,h);
	e.style.position="absolute";
	e.style.top=p.y+"px";
	e.style.left=p.x+"px";
}

function validate_qq(uin)
{
	//var reQQ= /^[1-9]\d{4,11}$/;
  	//return reQQ.test(uin);
  	if ( uin > 10000 && uin < 1100000000 )
  	{
  		return true;
  	}
  	else
  	{
  		return false;
  	}
}

function model_wnd()
{
	var divE=document.getElementById('mod_wnd');
	if(divE==undefined)
	{
		var divE = document.createElement('div');
		divE.id="mod_wnd";
		divE.style.position="absolute";
		divE.style.filter="alpha(opacity=0);-moz-Opacity:0;	Opacity:0;";
		divE.style.top="0px";
		divE.style.left="0px";
		divE.style.width=document.body.clientWidth+"px";
		divE.style.height=document.body.clientHeight+"px";
		divE.style.zIndex="99";
		divE.innerHTML='<iframe scrolling="No" style="z-index:99" border="0" frameborder="0" width="'+document.body.clientWidth+'" height="'+document.body.clientHeight+'" src=""></iframe>';
		document.body.appendChild(divE);
	}
	divE.style.display="block";
}
function hidden_model_wnd()
{
	var e=document.getElementById('mod_wnd');
	if(e==undefined)
	{
		return;
	}
	e.style.display="none";
}
function sendpage_wnd(uin, title, content)
{
	//判断用户是否登陆
	if(!is_logon())
	{
		try{
		scrollTo(0,0);
		qq_login_form(15000102, 'http://city.qzone.qq.com/pk/');
		}catch(e){
		 alert("请先登录");
		}
		return;
	}
	model_wnd();
	if(!validate_qq(uin)){
		uin='';
	}
	var divE=document.getElementById('div_spage');
  if(divE==undefined)
	{
		var s=' <div class="msg_box_title" style="z-index:202" id="sendpage_head"><h4>发送小纸条</h4> <button onclick="javascript:hidden_sendpage_wnd()" title="关闭发送框">&#9587;</button></div><div id="div_spage_content" style="height:'+(Browser&&Browser.isFirefox ?420:394)+'px"><iframe id="frm_spage" allowtransparency="true" scrolling="No" border="0" frameborder="0" width="578" height="'+(Browser&&Browser.isFirefox ?420:394)+'" src="http://imgcache.qq.com/qzone/admin/msg_editor.html?para=||"></iframe></div>';
		var divE = document.createElement('div');
		divE.id="div_spage";
		divE.className="msg_box";
		divE.style.zIndex="201";
		divE.style.height=(Browser&&Browser.isFirefox ?440:414)+'px';
		divE.innerHTML=s;

		document.body.appendChild(divE);
	}
	top.g_Main_Domain="users.qzone.qq.com";
	top.g_iLoginUin=getUin();
	title = title ? encodeURIComponent(title) : '';
	content = content ? encodeURIComponent(content) : '';
	var v_frm_spage=document.getElementById('frm_spage');
	v_frm_spage.src='http://imgcache.qq.com/qzone/admin/msg_editor.html?para='+uin+'|'+title+'|'+content+'|1';
	centerElement(divE);
	var h_tool=document.getElementById("sendpage_head");
	h_tool.onmousedown=startSendPageMove;
	divE.style.display="block";
}

function hidden_sendpage_wnd()
{
	hidden_model_wnd();
	var divE=document.getElementById('div_spage');
	divE.style.display="none";
	var h_tool=document.getElementById("sendpage_head");
	h_tool.onmousedown=null;
}

function closePopup()
{
	hidden_sendpage_wnd();
}

// drag functions
function startSendPageMove(evt)
{
	evt = getCurrentEvent(evt);
		
	if ( !isLeftKeyDown(evt) )
		return;
	
	var alertDlg = document.getElementById("sendpage_head");
	var loginCtnr = document.getElementById("div_spage");
	setEventCapture(alertDlg);
	stopEventTransfer(evt);
	//alertDlg.$clientX = evt.clientX;
	//alertDlg.$clientY = evt.clientY;
	loginCtnr.$clientX = evt.clientX;
	loginCtnr.$clientY = evt.clientY;
	alertDlg.onmousemove = MoveSendPageIt;
	alertDlg.onmouseup = stopSendPageMove;
}

function MoveSendPageIt(evt)
{
	evt = getCurrentEvent(evt);

	if ( !isLeftKeyDown(evt) )
		return;
	
	var alertDlg = document.getElementById("div_spage");//login_container
	
	var w_wid = document.body.scrollWidth;
	var w_hgt = document.body.scrollHeight;
	var xoffset = alertDlg.offsetLeft + (evt.clientX - alertDlg.$clientX);
	var yoffset = alertDlg.offsetTop + (evt.clientY - alertDlg.$clientY);
	
	if ( xoffset + getWidth(alertDlg) > w_wid )
	{
		alertDlg.style.left = w_wid - getWidth(alertDlg) - 4 + 'px';
		return;
	}
	else if ( yoffset + getHeight(alertDlg) > w_hgt )
	{
		alertDlg.style.top = w_hgt - getHeight(alertDlg) - 4 + 'px';
		return;
	}
	
	alertDlg.style.left = xoffset + "px";
	alertDlg.style.top = yoffset + "px";
	alertDlg.$clientX = evt.clientX;
	alertDlg.$clientY = evt.clientY;
}

function stopSendPageMove(evt)
{
	evt = getCurrentEvent(evt);

	if ( !isLeftKeyDown(evt) )
		return;

	var alertDlg = document.getElementById("sendpage_head");
	alertDlg.onmousemove = null;
	alertDlg.onmouseup = null;
	releaseEventCapture(alertDlg);
}

function createYellowLink()
{
	document.write('<a href="http://vip.qzone.qq.com/" target="_blank"><img src="http://imgcache.qq.com/QzonePortal_v2/img/city/icon/yellow.gif" alt="黄钻贵族" title="黄钻贵族" /></a>');
}