var cltree;
var svmap;
var mainebj;
var playerR;
var playerQ;
var player;
var isfirst = true;
var sel_id = 0;
var sel_played = false;
var resetCen = true;
//var ii = 0;
//
var tmpay = videosize.split(',');
if (tmpay.length==4) {
	videosize = {};
	videosize.w = convert_int(tmpay[0]);
	videosize.h = convert_int(tmpay[1]);
	videosize.maxmized = (tmpay[2]=='1' ? true : false);
	videosize.playertype = tmpay[3];
}
else{
	videosize = false;
}
var player_type = (typeof(videosize)=='object' ? videosize.playertype : 'real');


//播放传过来的id
//sel_id = convert_int(getRequest('Id'));
//if (sel_id>0) playById(sel_id);

Ext.onReady(function(){
	//传过来的id要自动播放
	sel_id = convert_int(getRequest('Id'));
	
	//读取服务器上保存的用户视频尺寸
	//readVideoSize();
	
	//获得宽，高
	var _width = screen.width;
	var _height = document.body.clientHeight - 60 - Ext.get('top_area').getHeight();
	
	$('main').style.height = _height;
	$('google_map').style.height = _height;
	
	var index_width = convert_int(Cookies.get('index_width'),300);
	
	mainebj = new Ext.Panel({
		height:_height, layout:'border', border:true, defaults:{border:false}, baseCls:'main_css'
		
		,items:[{
			region:'center', layout:'anchor', defaults:{border:false}
			,items:[
				/*{xtype:'panel', contentEl:'drag1', height:0}*/
				{xtype:'panel', contentEl:'google_map', height:_height}
			]
			,listeners: {
				resize: {
					fn: function(el, adjWidth, adjHeight, rawWidth, rawHeight) {
						if (svmap) svmap.map.checkResize();//通知地图其容器大小已更改
					}
				}
			}
		},{
			region:'west', id:'rgn_camera_tree'
			,collapseMode:'mini'
			,width:index_width, maxSize:800, minSize:100
			,split:true, layout:'fit'
			,listeners: {
				resize: {
					fn: function(el, adjWidth, adjHeight, rawWidth, rawHeight) {
						Cookies.set('index_width',adjWidth);
					}
				}
			}
		}]
	});
	mainebj.render('main');
	
	//显示tree
	showTree('rgn_camera_tree',index_width,_height,icon_root);
	
	//显示地图
	showMap('google_map');
	
	//播放类
	playerR = new ClsRealPlayer();
	playerQ = new ClsQuickTimePlayer();
	playerR.show_playerswitch = false;
	playerQ.show_playerswitch = false;
	playerR.for_public = true;
	playerQ.for_public = true;
	
	player = playerR;
	if (typeof(videosize)=='object') {
		if (videosize.playertype=='apple') {
			player = playerQ;
		}
	}
	
	//尺寸
	if (typeof(videosize)=='object') {
		player.w = videosize.w;
		player.h = videosize.h;
		player.maxmized = videosize.maxmized;
	}
	
	playerR.hdl_savevideosize = function(w,h,maxmized){
		saveVideoSize(w,h,maxmized);
	}
	playerQ.hdl_savevideosize = function(w,h,maxmized){
		saveVideoSize(w,h,maxmized);
	}
	
	if (cltree) {
		cltree.node_clicked = function(node,e) {
			if (node.attributes.classtype=='camera') {
				var dtp = node.attributes.devicetype;
				if (dtp!='false' && dtp!=false) {
					dtp = eval('('+dtp+')');
				}
				else{
					dtp = false;
				}
				/*ii = 1-ii;
				if (ii==0) {
					dtp.PcVideoCodec = "H264";
				}
				else{
					dtp.PcVideoCodec = "MPEG4";
				}
				alert(dtp.PcVideoCodec);*/
				camera_clicked(node.id.replace('c_',''), node.attributes.text, dtp);
			}
		}
	}
});

function camera_clicked(id, text, devicetype){
	//地图联动
	try{
		svmap.setCurDragId(id, text);
	}catch(e){}
	
	//播放
	needChangePlayer(devicetype);
	player.play(id, text, null);
}

function needChangePlayer(devicetype) {
	var video_code = 'H264';	//未知视频类型时，使用QuickTime播放，虽然加载慢，但可以播放
	if (devicetype) {
		video_code = devicetype.PcVideoCodec;
	}
	else{
		Ext.QuickMsg.msg('','Unknown devicetype, QuickTime will be loaded for playing');
	}
	if (video_code=='H264') {	//如果要播放的视频编码是H264, 则强制换为用QuickTime播放
		if (player==playerR) {	//切换播放器
			var w = playerR.w;
			var h = playerR.h;
			if (playerR.maxmized) {
				h = h+playerR.videobar_height;
				w = playerQ.getVWByH(h);
			}
			//
			playerQ.w = w;
			playerQ.h = h;
			playerQ.maxmized = playerR.maxmized;
			
			playerR.close();
			
			player_type = 'apple';
			player = playerQ;
		}
	}
	else{	//如果要播放的视频编码不是H264, 则强制换为用Real播放
		if (player==playerQ) {	//切换播放器
			var w = playerQ.w;
			var h = playerQ.h;
			if (playerQ.maxmized) {
				h = h-playerR.videobar_height;
				w = playerR.getVWByH(h);
			}
			//
			playerR.w = w;
			playerR.h = h;
			playerR.maxmized = playerQ.maxmized;
			
			playerQ.close();
			
			player_type = 'real';
			player = playerR;
		}
	}
}
function playById(id){
	var node = cltree.tree.getNodeById(id);
	node.select();
	node.fireEvent('click', node);
}
function showMap(showto){
	try{
		svmap = new SVMap();
		
		svmap.renderto = showto;
		svmap.is_pub= true;
		svmap.load_accessed = 1;
		svmap.load_accessed_flags = 'play';
		svmap.drags_loadcomplete = function(){
			if (!cltree) return false;
			if (cltree.currentTreeNode) {
				try{
					svmap.setCurDragId(cltree.currentTreeNode.id, cltree.currentTreeNode.text);
				}catch(e){}
			}
		}
		svmap.drag_click = function(id, title){
			playById(id);	//播放
		};
		svmap.initialize();
		svmap.ipToPlace(map_addr);
		//svmap.showAddress(map_addr);
	}
	catch(e){Ext.Msg.show({minWidth:300, title:'提示', msg:'地图功能不可用，可能由于网络原因。或尝试刷新页面。', buttons: Ext.Msg.OK, icon:Ext.MessageBox.INFO});}
}

function showTree(addto,w,h,icon_root){
	var cfg = {
		icon_root: icon_root
	};
	
	cltree = new ClsPubTree(cfg);
	cltree.expand_all = true;
	cltree.getMTree();
	cltree.hdl_node_loaded = function(node){
		if (sel_id>0 && !sel_played) {
			var nd = cltree.tree.getNodeById(sel_id);
			if (nd) {
				sel_played = true;
				playById(sel_id);	//播放传过来的id
			}
		}
		/*if (sel_id>0) {
			if (convert_int(tagContent("_","",node.id)) == sel_id) {
				playById(sel_id);	//播放传过来的id
			}
		}*/
	}

	Ext.getCmp(addto).add(cltree.tree);
	Ext.getCmp(addto).doLayout();
}

function saveVideoSize(w,h,maxmized){
	Ext.Ajax.request({
        url: g_root + 'videosize_server.php',
        params: {opr:'savesize', w:w, h:h, maxmized:(maxmized ? 1 : 0), playertype:player_type},
        success: function(response, options){
            try{
	        	var rjdata = Ext.util.JSON.decode(response.responseText);
	            if (!rjdata.success) {
	            	alert(qpDHanzi(rjdata.error));
	            }
			}
			catch(e){alert(e.message + "\r\n\r\n" + response.responseText);}
        },
        failure: function(response, options){
        	//alert('意外错误[saveVideoSize]');
        }
    });
}
function readVideoSize(){
	Ext.Ajax.request({
        url: g_root + 'videosize_server.php',
        params: {opr:'readsize'},
        success: function(response, options){
            try{
	        	var rjdata = Ext.util.JSON.decode(response.responseText);
	            if (!rjdata.success) {
	            	alert(qpDHanzi(rjdata.error));
	            }
	            else{
	            	var tmpay = rjdata.data.split(',');
	            	if (tmpay.length==3) {
	            		videosize = {};
	            		videosize.w = convert_int(tmpay[0]);
	            		videosize.h = convert_int(tmpay[1]);
	            		videosize.maxmized = (tmpay[2]=='1' ? true : false);
	            	}
	            }
			}
			catch(e){alert(e.message + "\r\n\r\n" + response.responseText);}
        },
        failure: function(response, options){
        	//alert('意外错误[readVideoSize]');
        }
    });
}