var voip ;	//控件对象
var cur_status = -1;
var reged = false;
var callno = "";
var key = "";
var md5 = "";
var bb = "";
var _timer_voip ;

var pay_pages = [ "kscz.html", "zfb.html", "wy.html", "czk.html",
      		"hlxk.html" ];

function initVoip() {
	$(".openTc").click(function(){
		$("#msgTc").show();
		var h = $(document).height();
		$(".msgBg").height(h);
		return false;
		});
	$(".btnTcCancel").click(function(){$("#msgTc").hide();});
	$(".btnTcSubmit").click(function(){
		$("#msgTc").hide();
		var tcNum = $(".xm input:checked").parent(".xm").next(".hm").text();
		$(".SPwz .kuang7").val(tcNum);
		return false;
		});
	$(".bbSpth").click(function(){
		showVideo();
//		$("#msgSp").show();
//		var h = $(document).height();
//		$(".msgBg").height(h);
//		$(".spBbNum").text($(".SPwz .kuang7").val());
		return false;
		});
	$(".jsth>a").click(function(){
		closeVoip();
		return false;
		});

}

//显示视频
function showVideo(){
	if(!$.browser.msie){
	//if(false){
		alert("不是IE浏览器");
		return;
	}else{
		var phoneNO = $.trim($(".SPwz .kuang7").val());
		if(phoneNO == ""){
			alert("请填写呼叫号码!");
			return;
		}
		//alert( $(".SPwz .kuang7").val() );
		if( phoneNO.indexOf("ptv_") == -1 && phoneNO.indexOf("pc_") == -1 ){
			$(".SPwz .kuang7").val("ptv_"+$(".SPwz .kuang7").val());
		}
		//alert( $(".SPwz .kuang7").val() );
		$.ajax( {
			type : "GET",
			url : "/interface/checkSecurity.action",
			dataType : "json",
			success : function(data) {
				bb = data.bbno;
				key = data.key;
				md5 = data.pwd;
				setTitle("正在加载,请稍候...");
				var h = $(document).height();
				$(".msgBg").height(h);
				$("#msgSp").show(0,function(){
					setTimeout(initVoipObject,200);
					});
			},
			complete : function(XMLHttpRequest, textStatus) {
				cto(textStatus);
			}
		});
	}
}

//初始化voip插件
function initVoipObject(){
//	alert(voip+"  status " + status + "   reged " + reged);
	if(voip == "undefinded" || voip == null){
		//alert(1);
		$("#voipObject").html("<object height= \"252px\" width = \"336px\" id = \"BabaoVoip\" codebase = \"/voipapp/VOIPSetup1.0.0.4.exe\" classid = \"clsid:EAC35F97-3BF6-443B-A0FD-1BA702D9B69D\"></object>");
		//alert(2);
		voip = BabaoVoip;
		setRemoteScr(0,0,336,252);//设置远程屏幕大小
		setLocalScr(206,152,130,100);//设置本地屏幕位置,大小
		setServer();//设置服务器
	}
	if(!reged){
		reg();//注册插件
	}
	setTimeout(call,1000);
}
var voipResetSize = false;
function resetSize(){
	if(voipResetSize){
		setRemoteScr(0,0,336,252);//设置远程屏幕大小
		setLocalScr(206,152,130,100);//设置本地屏幕位置,大小
	}else{
		setRemoteScr(206,152,130,100);//设置远程屏幕大小
		setLocalScr(0,0,336,252);//设置本地屏幕位置,大小
	}
	voipResetSize = voipResetSize?false:true;
}

/**
* 设置服务器地址和用户信息
*/
function setServer(){
	
	if(voip || voip == 'undefinded'){
		try{
			var res = voip.sip_Init("sip.88popo.com", "pc_"+bb,key,md5);
			//alert("voip init complete!! and return message is " + key);
			
		}catch (e){
//			alert("调用 sip_Init 错误" + e.messge);
		}
	}else{
//		alert("未找到控件" + voip);
	}
}

/**
* 注册
*/
function reg(){
	
	try{
		var resuelt = voip.sip_Register();
//		alert("sip_Register(注册方法)返回:" + resuelt);
//		if(resuelt == 0){
//			reged = true;
//		}
	}catch (e){
//		alert("调用 sip_Register() 错误" + e.messge);
	}
		
}

/**
* 呼叫
*/
function call(){
	
	try{
		if(cur_status == 4){//注册成功后,开始呼叫
			setTitle("正在呼叫");
			callno = document.getElementById("callno").value;
			var Bit = 256000;
			voip.sip_Bitrate(Bit);
			var resuelt = voip.sip_Call(callno);
//			alert("sip_Call(呼叫方法)返回:" + resuelt);
		}
	}catch (e){
//		alert("调用 sip_Call() 错误 : " + e.messge);
	}
}

/**
* 挂断
*/
function hangup(){
	
	try{
		var resuelt = voip.sip_Hangup();
//		alert("sip_Hangup(挂断方法)返回 : " + resuelt);
	}catch (e){
//		alert("调用 sip_Hangup() 错误 : " + e.messge);
	}
}


/**
* 反注册
*/
function Unreg(){
	
	try{
		var resuelt = voip.sip_Unregister();
		reged = false;
//		alert("sip_Unregister(反注册方法)返回 : " + resuelt);
	}catch (e){
//		alert("调用 sip_Unregister 错误 : " + e.messge);
	}
}

function captureScr(){
	if(cur_status == 11 && voip != null && voip != "undefinded"){
//		alert("CaptureSnapshot");
		var re = voip.sip_CaptureSnapshot(true);
//		alert("CaptureSnapshot end and code = " + re);
	}
}

function UnloadConfirm() { 
	setTitle("正在注销.."); 
	if(cur_status == 11){
		hangup();
	}
//	Unreg();
//	页面离开后的事件 
//	var resuelt = voip.sip_Terminate();
//	$("#voipObject").html();
//	voip = null;
}

function closeVoip(){
	clearInterval(_timer_voip);//停止计时
	UnloadConfirm();//注销插件
	$("#msgSp").hide();
}

/**
 * 设置大屏幕
 * */
function setRemoteScr(x,y,w,h){
	voip.MoveRemoteWindow(x, y, w, h);
}

/**
 * 设置大屏幕
 * */
function setLocalScr(x,y,w,h){
	voip.MoveLocalWindow(x, y, w, h);
}

//显示状态
function showStatus(i,v){
	window.status = i;
	cur_status = i;
	var str = "";
	switch(i){
		case 0:
			str = "发生错误";
			break;
		case 1:
			str = "正在初始化...";
			break;
		case 2:
			str = "正在创建线路...";
			reged = false;
			switch(v){
			case "timeout":
				str = "注册超时,请稍候再试.";
				break;
			}
			break;
		case 3:
			str = "注册中...";
			break;
		case 4:
			str = "已经注册";
			reged = true;
			if(v != null && v != "undefinded" && v != ""){
				str = v;
			}
			break;
		case 5:
			str = "震铃";
			break;
		case 6:
			str = "呼叫";
			break;
		case 7:
			str = "正在呼叫,对方收到震铃";
			break;
		case 8:
			str = "摘机";
			break;
		case 9:
			str = "拒绝";
			break;
		case 10:
			str = "挂机";
			break;
		case 11:
			str = "连通状态";
			timer();
			_timer_voip = setInterval(timer,1000);
			break;
	}
	setTitle(str);
}

function setTitle(t){
	$("#showStatus").text(t);
}

function close(){
	if(cur_status == 11 || cur_status == 7){
		hangup();
	}
	Unreg();
	if(voip != "undefinded" && voip != null){
		var resuelt = voip.sip_Terminate();
	}
}

window.onunload = close;


function changePayPage(i,w) {
	var where = "mpage_zh/pay/";
	if(i == -1)return;
	if(w){
		where = "mpage_en/pay/";
	}
	i = parseInt(i);
//	if(pages[i] == ""){
//		window.location = "/User/usercenter.action";
//		return;
//	}
	$.ajax( {
		url : where + pay_pages[i],
		cache : false,
		success : function(html) {
			$("#payPage").html(html);
			if($("#payPage").css("display") == "none"){
				$(".babaoContent_1:visible").hide();
				$("#payPage").show();
			}
			switch (i) {
				case 0:
	//				index_bindJS();
					break;
				case 1:
	//				yysc_bindJS();
	//				$(".TVList a:eq(3)").click();
					break;
				case 2:
	//				general_bindJS();
					break;
				case 5:
	//				cjwt_bindJS();
					break;
				case 7:
	//				cjwt_bindJS(1);
					break;
			}
		}
	});
}

/**
 * 通话计时
 * */
function timer(){
	s_timer ++;
	if(s_timer >= 60){
		m_timer ++;
		s_timer = 0;
	}
	if(m_timer >= 60){
		h_timer++;
		m_timer = 0;
	}
	$("#voipTimer").text((h_timer < 10 ? "0" + h_timer : h_timer) + ":" + (m_timer < 10 ? "0" + m_timer : m_timer) + ":" + (s_timer < 10 ? "0" + s_timer : s_timer));
}
