var liuyanbtn,tocallbtn,info,serialno,number;

function urlDecode(str){
    str=str.replace(new RegExp('\\+','g'),' ');
    return unescape(str);
}
function urlEncode(str){
    str=escape(str);
    str=str.replace(new RegExp('\\+','g'),'%2B');
    return str.replace(new RegExp('%20','g'),'+');
}

phprpc_client.create('rpc');
rpc.use_service('server.php');

function SetCookie(name,value) {   
	var expire_days = 30;//(保存的天数)   
  var expire_date = new   Date();   //new   Date("December   31,   3666");//长期有效的办法   
  var ms_from_now = expire_days*24*60*60*1000;   
  expire_date.setTime(expire_date.getTime() + ms_from_now);   
  var expire_string = expire_date.toGMTString();   
//  alert(name + "=" + escape(value)+ ";expires=" + expire_string);
//	document.cookie = name + "=" + escape(value) + ";expires=" + expire_string;
} 
function getFormValues(frm) {
	var objForm,sResult;
	sResult = new Array();
	if(opener)
	{
//		var tmp = opener.location;
		var tmp = "";
//		alert(tmp);
		sResult['phone_referer'] = urlEncode(tmp);
	}
	if(typeof(frm) == "string")
		objForm = $(frm);
	else
		objForm = frm;
	if (objForm && objForm.tagName && objForm.tagName.toUpperCase() == 'FORM') {
		var formElements = objForm.elements;
		for( var i=0; i < formElements.length; i++) {
			if (!formElements[i].name)
				continue;
			if (formElements[i].type && (formElements[i].type == 'radio' || formElements[i].type == 'checkbox') && formElements[i].checked == false)
				continue;
			if (formElements[i].disabled && formElements[i].disabled == true)
				continue;
			var name = formElements[i].name;
			if (name) {
				if(formElements[i].type=='select-multiple') {
					if (name.substr(name.length-2,2) == '[]')
						name = name.substr(0,name.length-2);
					for (var k,j = 0; j < formElements[i].length; j++) {
						if (formElements[i].options[j].selected == true) {
							sResult[name+"["+k+"]"] = formElements[i].options[j].value;
							k++;
						}
					}
				}
				else {
					sResult[name] = formElements[i].value;
				}
			}
		}
	}
	return sResult;
}

rpc.tocall_callback = function(result,args,output) {
	tocallbtn.disabled = false;
	if(result instanceof phprpc_error) {
		info.innerHTML = result.errno + ':' + result.errstr;
	}
	else {
		document.getElementById('spancode').innerHTML = '<img src="checkcode.php?gd=1" alt="验证码" align="absmiddle">';
		info.innerHTML = result['info'];
		if(result['ok'] == 0)
		{
			document.forms['tocallForm'].reset();
			serialno = result['serialno'];
			number = result['number'];
			try
			  {
			  document.tocallForm.phone_referer.value=result['phone_referer'];
			  document.tocallForm.pageurl.value=result['pageurl'];
			  }
			catch(err)
			  {}
			setTimeout("checktocall()",60000);
		}
	}
}

rpc.checktocall_callback = function(result,args,output) {
	tocallbtn.disabled = false;
	if(result instanceof phprpc_error) {
		info.innerHTML = result.errno + ':' + result.errstr;
	}
	else {
		info.innerHTML = result['info'];
//		alert('callback:'+serialno)
//		if(serialno != '-1')
//			setTimeout("checktocall()",10000);
		if(result['serialno'] == -1)
		{
			serialno = result['serialno'];
		}
	}
}

rpc.liuyan_callback = function(result,args,output) {
	liuyanbtn.disabled = false;
	if(result instanceof phprpc_error) {
		info.innerHTML = result.errno + ':' + result.errstr;
	}
	else {
		info.innerHTML = result['info'];
		if(result['ok'] == 0)
			document.forms['liuyanForm'].reset();
	}
}

function tocall() {
	tocallbtn.disabled = true;
	info.innerHTML = '正在连接，请稍候……';
	var formData = new Array();
	if(rpc.ready) {
		var params = getFormValues('tocallForm');
		rpc.tocall(params);
	}
	else {
		info.innerHTML = '远程服务器尚未就绪。';
		tocallbtn.disabled = false;
	}

}

function checktocall() {
//	alert(serialno);
	if(rpc.ready) {
		var params = new Array();
		params['serialno'] = serialno;
		params['number'] = number;
		rpc.checktocall(params);
	}
	else {
		info.innerHTML = '远程服务器尚未就绪。';
	}
}

function liuyan() 
{
/*监测流言输入合法性开始*/
var str="";
var flag=0;
if(document.liuyanForm.title.value=="")
  {
  str+="标题、";
  flag=1;
  }
if(document.liuyanForm.content.value=="")
  {
  str+="内容、";
  flag=1;
  }
if(document.liuyanForm.name.value=="")
  {
  str+="姓名、";
  flag=1;
  }
if(document.liuyanForm.tel.value=="")
  {
  str+="电话、";
  flag=1;
  }
if(document.liuyanForm.email.value=="")
  {
  str+="电子邮箱、";
  flag=1;
  }
/*去掉最后一个顿号*/
var num=str.length-1;
str=str.substr(0,num);
str="请您填写："+str+"。";
/*监测留言输入和发行结束*/
if(flag==1)
  {
  alert(str);
  }
else
  {
  /*提交留言*/
  liuyanbtn.disabled = true;
  info.innerHTML = '正在留言，请稍候……';
  if(rpc.ready)
    {
    var params = getFormValues('liuyanForm');
    rpc.liuyan(params);
	/*判断对象是否存在*/
    if(typeof(zxg_table1)=="object" && typeof(zxg_table2)=="object" && typeof(zxg_table3)=="object")
      {
      tabledisp(0);
      }
    }
  else
    {
	/*远程服务器不可用的话，按钮也不可用*/
    info.innerHTML = '远程服务器尚未就绪。';
    liuyanbtn.disabled = false;
    }
  }
}

window.onload = function() {
	tocallbtn = document.getElementById('tocallbtn');
	liuyanbtn = document.getElementById('liuyanbtn');
	info = document.getElementById('info');
	tocallbtn.onclick = tocall;
	liuyanbtn.onclick = liuyan;
	if(opener)
	{
		SetCookie('phone_referer',opener.location);
	}
}

