var tv_starv_fun = {

	toggleImgchkChecked:function(obj) {
		if (obj.attributes['ex_disabled'].nodeValue=='true') return false;
		var checked = obj.attributes['ex_checked'].nodeValue;
		setImgchkChecked(obj, (checked=='true' ? false : true));
	},
	setImgchkChecked:function(obj, checked) {
		if (obj.attributes['ex_disabled'].nodeValue=='true') return false;
		if (checked) {
			obj.style.backgroundPosition = "0 -451";
		}
		else{
			obj.style.backgroundPosition = "0 -301";
		}
		obj.attributes['ex_checked'].nodeValue = (checked ? 'true' : 'false');
	},
	setImgchkDisabled:function(obj, disabled) {
		var checked = obj.attributes['ex_checked'].nodeValue;
		if (checked=='true') {
			if (disabled) {
				obj.style.backgroundPosition = "0 -551";
			}
			else{
				obj.style.backgroundPosition = "0 -451";
			}
		}
		else{
			if (disabled) {
				obj.style.backgroundPosition = "0 -401";
			}
			else{
				obj.style.backgroundPosition = "0 -301";
			}
		}
		obj.attributes['ex_disabled'].nodeValue = (disabled ? 'true' : 'false');
	},
	setImgchkDisplay:function(obj, display) {
		if(display)
		obj.style.display = "inline";
		else
		obj.style.display = "none";
	},
	getImgchkDisplay:function(obj) {
		return (obj.style.display != "none");
	},
	jsonToStr:function(jsonData){
		var str="";
		if (typeof(jsonData)=='object') {
			str += "{";
			for(var key in jsonData){
				str += "'"+ key +"':'"+jsonData[key]+"',";
			}
			str = str.slice(0,-1);
			str += "}";
		}
		else{
			if(jsonData.length>0){
				for(var i=0;i<jsonData.length;i++){
					str +="{";
					str1 = "";
					for(var key in jsonData[i]){
						str1 +='"'+ key +'":"'+jsonData[i][key]+'",';
					}
					str1 = str1.slice(0,-1);
					str += str1;
					str +="}";
					str +=',';
				}
				str = str.slice(0,-1);
			}
			str = '['+str+']';
		}
		return str;
	},
	videoUrlPostFix:function(mobile, pwd, clientip){
		if (mobile.length==0){
			mobile = "guest";
			pwd = "guest".MD5(32);
		}

		timestamp = new Date().getTime() + '';
		timestamp = timestamp.substr(0, timestamp.length-3);


		var en = mobile + "+" + pwd + "+" + timestamp;

		en = en.MD5(32);

		rx = "id=" + mobile + "&t=" + timestamp + "&en=" + en;

		return rx;
	},

	getRndNumber:function(m,n){
		return Math.floor(Math.random()*n)+m;
	},
	getRandomString:function(len){
		var charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		var charset_len = charset.length;
		var x = "";
		for (var i=0; i<len; i++)
		{
			x += charset.substr(this.getRndNumber(0, charset_len-1), 1);
		}
		return x;
	},
	getLocTime:function(nS) {

		return new Date(parseInt(nS) * 1000).toLocaleString().replace(/this.lan.year_text|this.lan.month_text/g, "-").replace(/this.lan.day_text/g, " ");
	},
	getPHPTimeStamp:function(){
		var x = Date.parse(new Date());
		x = x / 1000;
		x = convert_int(x);
		return x;
	},
	sec2time:function(seconds) {
		var pd = 1*24*60*60;
		var ph = 1*60*60;
		var pm = 1*60;
		var d = 0;
		var h = 0;
		var m = 0;
		var s = 0;
		var strx = '';

		if (seconds<pm) return seconds+this.lan.seconds_text;
		if (seconds<ph) {
			m = Math.floor(seconds / pm);
			s = seconds % pm;
			strx = m+this.lan.minutes_text;
			if (s>0) strx += s+this.lan.seconds_text;
			return strx;
		}
		if (seconds<pd) {
			h = Math.floor(seconds / ph);
			m = Math.floor((seconds - ph*h) / pm);
			s = (seconds - ph*h) % pm;
			strx = h+this.lan.hours_text;
			if (m>0) strx += m+this.lan.minutes_text;
			if (s>0) strx += s+this.lan.seconds_text;
			return strx;
		}
		if (seconds>=pd) {
			h = Math.floor(seconds / ph);
			m = Math.floor((seconds - ph*h) / pm);
			s = (seconds - ph*h) % pm;

			d = Math.floor(h / 24);
			h = h % 24;
			strx = d+this.lan.days_text;
			if (h>0) strx += h+this.lan.hours_text;
			if (m>0) strx += m+this.lan.minutes_text;
			if (s>0) strx += s+this.lan.seconds_text;
			return strx;
		}
	},
	appendHiddenField:function(frmA,name,value){
		var ipt = document.createElement("input");
		ipt.name = name;
		ipt.value = value;
		ipt.type = "hidden";
		frmA.appendChild(ipt);
	},

	getBodyWidth:function(){
		return document.body.clientWidth-15;
	},
	$:function(objid){
		return document.getElementById(objid);
	},
	insertAfter:function(newElement, targetElement)
	{
		var parent = targetElement.parentNode;
		if(parent.lastChild == targetElement)
		{
			parent.appendChild(newElement);
		}
		else
		{
			parent.insertBefore(newElement, targetElement.nextSibling);
		}
	},
	conv_int:function(mix, dft){
		if (!isInt(mix)) {
			return dft;
		}
		else{
			return mix;
		}
	},
	isInt:function(str){
		return /^(-|\+)?\d+$/.test(str);
	},
	isUnsignInt:function(str){
		return /^\d+$/.test(str);
	},
	isFullDateTime:function(str)
	{
		var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
		var r = str.match(reg);
		if(r==null)return false;
		var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);

		return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
	},
	fixDate2fullWidth:function(num, width){
		var rx = num.toString();
		if (rx.length<width){
			for(var i=1; i<=width-rx.length; i++){
				rx = "0"+rx;
			}

		}
		return rx;
	},
	tagContent:function(tagA, tagB, vstr){
		var rx = "";
		if (vstr.length>0){
			var pa = -1;
			if (tagA.length==0){
				pa = 0;
			}
			else{
				pa = vstr.indexOf(tagA);
			}

			if (pa>-1){
				var pb = -1;
				if (tagB.length==0){
					pb = vstr.length;
				}
				else{
					pb = vstr.indexOf(tagB, pa+tagA.length);
				}

				if (pb>-1){
					rx = vstr.substr(pa+tagA.length, pb-(pa+tagA.length));
				}
			}
		}
		return rx;
	},
	fillNumToCombox:function(obj, vFrom, vTo){
		try{
			for(var i=vFrom; i<=vTo; i++){
				var newopt = new Option(i, i);
				obj.options.add(newopt);
			}
		}
		catch(e){}
	},
	slideCombox:function(obj, vlu){
		try{
			for(var i=0; i<obj.options.length; i++){
				if (obj.options[i].value==vlu){
					obj.options[i].selected = true;
					break;
				}
			}
		}
		catch(e){}
	},
	getPageVisCenterX:function(){
		try{

			var x=document.body.offsetWidth / 2;
			var y=document.body.scrollTop + document.body.offsetHeight / 2;

			return x;
		}
		catch(e){
			return 0;
		}
	},
	getPageVisCenterY:function(){
		try{

			var x=document.body.offsetWidth / 2;
			var y=document.body.scrollTop + document.body.offsetHeight / 2;

			return y;
		}
		catch(e){
			return 0;
		}
	},
	getScreenWidth:function(){
		return window.screen.width;
	},
	getScreenHeight:function(){
		return window.screen.height;
	},
	messageWindow:function(url, name, width, height, scrollbars, resizable) {
		if (typeof(scrollbars)=="undefined") scrollbars = "no";
		if (typeof(resizable)=="undefined") resizable = "no";
		aa = window.open(url, name, "width="+width+",height="+height+",left="+((getScreenWidth()-width)/2)+",top="+((getScreenHeight()-height)/2)+",toolbar=no,location=no,status=no,menubar=no,scrollbars="+scrollbars+",resizable="+resizable);
		aa.focus();
		return aa;
	},
	normalWindow:function(url, name) {
		window.open(url, name, "width="+(parseFloat(window.screen.availWidth)-10)+",height="+(parseFloat(window.screen.availHeight)-155)+",left=0,top=0,toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes");
	},
	getMax:function(vstr, vdeli){
		var rV;
		if (vstr.length>0){
			if (typeof(vdeli)=="undefined") vdeli = ",";
			var ary = vstr.split(vdeli);
			rV = ary[0];
			for(var i=1; i<ary.length; i++){
				if (parseFloat(ary[i])>parseFloat(rV)) rV = ary[i];
			}
		}
		return rV;
	},
	getMin:function(vstr, vdeli){
		var rV;
		if (vstr.length>0){
			if (typeof(vdeli)=="undefined") vdeli = ",";
			var ary = vstr.split(vdeli);
			rV = ary[0];
			for(var i=1; i<ary.length; i++){
				if (parseFloat(ary[i])<parseFloat(rV)) rV = ary[i];
			}
		}
		return rV;
	},
	openFullWindow:function(vurl,vname){
		window.open(vurl,vname,'fullscreen=yes,status=no');


	},
	getRequest:function(strName, strHref)
	{
		if (typeof(strHref)=='undefined') strHref = window.location.href;
		var intPos = strHref.indexOf("?");
		var strRight = strHref.substr(intPos + 1);

		var arrTmp = strRight.split("&");
		for(var i = 0; i < arrTmp.length; i++)
		{
			var arrTemp = arrTmp[i].split("=");
			if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];
		}
		return "";
	},
	setFav:function(){
		window.external.addFavorite(document.location.href,'cn2live');
	},

	setHmp:function(vobj){
		vobj.style.behavior='url(#default#homepage)';
		vobj.sethomepage(document.location.href);
	},

	openUrl:function(vcmb,bs){
		var obj = document.all(vcmb);
		var url = obj.options[obj.options.selectedIndex].value;

		obj.options.selectedIndex = 0;

		if(url!=0){
			if(bs==0){
				document.location=url;
			}
			else{
				window.open(url);
			}
		}
	},

	dowelcom:function(vcmb){
		var obj = document.all(vcmb);
		var i = obj.options.selectedIndex;
		switch(i){
			case 1:
			setFav();
			break;
			case 2:
			setHmp(obj);
			break;
		}

		obj.options.selectedIndex = 0;
	},

	testNUM:function(num){
		var tmp = num + "";
		return tmp==tmp.match(/^\d+$/);
	},

	submitGoPage:function(vpg){
		frmPage.pg.value=vpg;
		frmPage.submit();
	},

	getSiteHost:function(){
		var url = window.location.href;
		var rx = tagContent("//","/",url);
		if (rx.length==0) rx = tagContent("//","",url);
		if (rx.length==0) rx = url;

		return rx;
	},

	getXMLHTTPRequest:function()
	{
		var xmlHttp = null;
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				xmlHttp = false;
			}
		}

		if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
			xmlHttp = new XMLHttpRequest();
		}

		return xmlHttp;
	},

	getEl:function(id){
		return document.getElementById(id);
	},

	getSelIds:function(theName){
		var ids = "";
		var obj = null;
		for(var i=0;i<document.all.length;i++){
			obj = document.all[i]
			if(obj.name==theName){
				if(obj.checked==true){
					ids += obj.value + ",";
				}
			}
		}
		if(ids!=""){
			ids = ids.substr(0,ids.length-1);
		}
		return ids;
	},

	loadXML:function(xmlFile)
	{
		var xmlDoc;
		if(window.ActiveXObject)
		{
			xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
			xmlDoc.async = false;
			xmlDoc.load(xmlFile);
		}
		else if (document.implementation&&document.implementation.createDocument)
		{
			xmlDoc = document.implementation.createDocument('', '', null);
			xmlDoc.load(xmlFile);
		}
		else
		{
			return null;
		}

		return xmlDoc;
	},

	addEventHandler:function(oTarget, sEventType, fnHandler) {
		if (oTarget.addEventListener) {
			oTarget.addEventListener(sEventType, fnHandler, false);
		} else if (oTarget.attachEvent) {
			oTarget.attachEvent("on" + sEventType, fnHandler);
		} else {
			//oTarget["on" + sEventType] = fnHandler;
		}
	},


	getBrowser:function(){
		if(navigator.userAgent.indexOf("MSIE")>0) {
			return "IE";
		}
		if(navigator.userAgent.indexOf("Firefox")>0){
			return "Firefox";
		}
		if(navigator.userAgent.indexOf("Safari")>0){
			return "Safari";
		}
		if(navigator.userAgent.indexOf("Camino")>0){
			return "Camino";
		}
		if(navigator.userAgent.indexOf("Gecko")>0){
			return "Gecko";
		}
	},

	copy_clip:function(copy){
		if (window.clipboardData){
			window.clipboardData.setData("Text", copy);}
			else if (window.netscape){
				netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
				var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
				if (!clip) return;
				var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
				if (!trans) return;
				trans.addDataFlavor('text/unicode');
				var str = new Object();
				var len = new Object();
				var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
				var copytext=copy;
				str.data=copytext;
				trans.setTransferData("text/unicode",str,copytext.length*2);
				var clipid=Components.interfaces.nsIClipboard;
				if (!clip) return false;
				clip.setData(trans,null,clipid.kGlobalClipboard);}
				//alert("Copy OK: "+copy)
				return false;
	},

	selCheckBoxGroup:function(chkg, values, deli){
		values = deli + values + deli;

		for(var i=0; i<chkg.length; i++){
			//alert(values + " : " + deli + chkg[i].value + deli + " : " + values.indexOf(deli + chkg[i].value + deli));
			if (values.indexOf(deli + chkg[i].value + deli) >= 0){

				chkg[i].checked = true;
			}
			else{
				//chkg[i].checked = true;
			}
		}
	},

	DateAdd:function(interval,number,date){
		switch(interval.toLowerCase()){

			case "y": return new Date(date.setFullYear(date.getFullYear()+number));
			case "m": return new Date(date.setMonth(date.getMonth()+number));
			case "d": return new Date(date.setDate(date.getDate()+number));
			case "w": return new Date(date.setDate(date.getDate()+7*number));
			case "h": return new Date(date.setHours(date.getHours()+number));
			case "n": return new Date(date.setMinutes(date.getMinutes()+number));
			case "s": return new Date(date.setSeconds(date.getSeconds()+number));
			case "l": return new Date(date.setMilliseconds(date.getMilliseconds()+number));
		}
	},

	fixTimeWidth:function(value){
		if (value.toString().length==1) value = '0' + value;
		return value;
	},



	getRandomKeyID:function(len){
		if (len == undefined) {
			len = 6;
		}
		var keyID = "";
		var char_arr = new Array();
		char_arr.push(function () {
			return String.fromCharCode(48+Math.floor(Math.random()*10));
		});
		char_arr.push(function () {
			return String.fromCharCode(97+Math.floor(Math.random()*26));
		});
		char_arr.push(function () {
			return String.fromCharCode(65+Math.floor(Math.random()*26));
		});
		for (var i = 0; i<len; i++) {
			keyID += char_arr[Math.floor(Math.random()*char_arr.length)]();
		}
		return keyID;
	},

	getRandomNumber:function(minNum,maxNum){
		if(minNum == undefined){
			minNum = 0;
			maxNum = 10;
		}else if(maxNum == undefined){
			maxNum = minNum;
			minNum = 0;
		}else if(maxNum < minNum){
			var tmpNum = maxNum;
			maxNum = minNum;
			minNum = tmpNum;
		}
		return Math.floor(Math.random()*(maxNum-minNum+1))+minNum;
	},

	replaceAll:function(str,oldStr,reStr){
		return str.split(oldStr).join(reStr);
	},


	strToDate2:function(str)
	{
		var val=Date.parse(str);
		var newDate=new Date(val);
		return newDate;
	},

	strToDate:function(str)
	{
		var arys= new Array();
		arys=str.split('-');
		var newDate=new Date(arys[0],arys[1],arys[2]);
		return newDate;
	},

	fixWidth:function(num, width, fixwith){
		var rx = '';
		for(var i=1; i<=width-num.length; i++){
			rx += fixwith;
		}
		return rx + '' + num;
	},

	updateUrlValue:function(url, name, newvalue, deli){
		if (url.length==0) return '';

		if (typeof(deli)=='undefined') deli = '&'

		rx = '';
		uy = url.split(deli);
		for (var i=0; i<uy.length; i++) {
			if (uy[i].indexOf('=')>-1) {
				tmpy = uy[i].split('=');
				if (tmpy[0]==name) {
					uy[i] = name + '=' + newvalue;
				}
			}
			rx += (rx.length==0 ? '' : deli) + uy[i];
		}

		return rx;
	},

	convert_int:function(value, def_value) {
		if (typeof(def_value)=='undefined') def_value = 0;
		if (isInt(value)) {
			return parseInt(value);
		}
		else{
			return parseInt(def_value);
		}
	},

	strToObj:function(str, deli, subdeli) {
		var tmpay = str.split(deli);
		var obj = {};
		for(var i=0; i<tmpay.length; i++) {
			if (tmpay[i].length>0) {
				var ay = tmpay[i].split(subdeli);
				obj[ay[0]] = ay[1];
			}
		}
		return obj;
	},


	isMobile:function(val){
		var validfield=false;

		if (val.length==11){
			var re = /1\d{10}/;
			validfield = re.test(val);
		}

		return validfield;
	},

	isCfg:function(cfg,key) {
		if (typeof(cfg)!='object') return false;
		if (typeof(cfg[key])!='undefined') {
			return true;
		}
		else{
			return null;
		}
	},
	Cfg:function(cfg,key,default_value) {
		if (typeof(cfg)=='undefined') {
			if (typeof(default_value)!='undefined') {
				return default_value;
			}else{
				return null;
			}
		}
		if (this.isCfg(cfg,key)==null) {
			if (typeof(default_value)=='undefined') {
				return null;
			}
			else{
				return default_value;
			}
		}
		else{
			return cfg[key];
		}
	},

	getXMLDom:function() {
		var _xmlDom = null;
		if (!window.DOMParser  && window.ActiveXObject){
			var arrXmlDomTypes = ['MSXML2.DOMDocument.6.0','MSXML2.DOMDocument.3.0','Microsoft.XMLDOM'];
			for(var i = 0;i<arrXmlDomTypes.length;i++){
				try{
					_xmlDom = new ActiveXObject(arrXmlDomTypes[i]);
				}catch(ex){}
			}
		}else{// Mozilla browsers have a DOMParser
			try{
				if(_xmlDom == null && document.implementation && document.implementation.createDocument){
					//_xmlDom = document.implementation.createDocument("","",null);
					_xmlDom = document.implementation.createDocument("text/xml", "", null);

					Document.prototype.loadXML = function(sXml){
						var oParser= new DOMParser();
						var _xmlDom = oParser.parseFromString(sXml, "text/xml");

						while(this.firstChild){
							this.removeChild(this.firstChild);
						}

						for(var i=0;i<_xmlDom.childNodes.length;i++){
							var oNewNode = this.importNode(_xmlDom.childNodes[i],true);
							this.appendChild(oNewNode);
						}
					}

					Element.prototype.__defineGetter__("text",function(){ return this.textContent; });

					Element.prototype.selectSingleNode=function(sXPath){
						var oEvaluator = new XPathEvaluator();
						var oResult = oEvaluator.evaluate(sXPath,this,null, XPathResult.FIRST_ORDERED_NODE_TYPE,null);
						if(null != oResult){
							return oResult.singleNodeValue;
						}
						return null;
					}

					Element.prototype.selectNodes = function(sXPath){
						var oEvaluator = new XPathEvaluator();
						var oResult = oEvaluator.evaluate(sXPath,this,null, XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);
						var aNodes = new Array();
						if(null != oResult){
							var oElement = oResult.iterateNext();
							while(oElement){
								aNodes.push(oElement);
								oElement = oResult.iterateNext();
							}
						}
						return aNodes;
					}
				}
				isIE = false;
			}catch (ex){}
		}
		return _xmlDom;
	},
	GetNodeValue:function(objXmlElement)
	{
		var str = "";
		if(window.XMLHttpRequest)        //Mozilla
		{
			try
			{
				str = objXmlElement.firstChild.nodeValue;
			}
			catch(ex)
			{
				str = "";
			}
		}
		else if(window.ActiveXObject)    //IE
		{
			str = objXmlElement.text;
		}
		return str;
	},


	ajaxCrossDomain:function(script_e, path_s, callback_f)
	{
		if(typeof script_e==='string'){ script_e = document.getElementById(script_e); }
		if(!script_e){ document.body.appendChild( script_e = document.createElement('script') ); }
		if(!callback_f){ callback_f = function(){} };

		script_e.onload =
		function()
		{
			callback_f()
		}

		script_e.onreadystatechange =
		function()
		{
			if(script_e.readyState=='loaded')
			{
				callback_f()
			}
		}
		script_e.src = path_s;
	},
	
    //获得grid中选中的IDs
    getGridSelIdy:function(field,grid) {
    	if (typeof(field)=='undefined') field = 'Id';
    	
    	var ids = [];
		var selrecs = grid.getSelectionModel().getSelections();
		for(var i=0; i<selrecs.length; i++){
			ids.push(selrecs[i].get(field));
		}
		return ids;
    },
    
    //获得grid选中项的一些数据
    getGridSelData:function(fields,grid) {
    	if (typeof(fields)=='undefined') {
    		fields = [];
    		grid.getStore().fields.eachKey(function(key){
				fdy.push(key);
			});
    	}
    	if (typeof(fields)=='string') {
    		fields = fields.split(',');
    	}
    	if (!Ext.isArray(fields)) {
    		_this.message = 'error parameter: fields, which must be null or be a string deli by ",", or be a array';
    		return false;
    	}
    	
    	var ray = [];
		var selrecs = grid.getSelectionModel().getSelections();
		for(var i=0; i<selrecs.length; i++){
			var co = {};
			for(var j=0; j<fields.length; j++){
				co[fields[j]] = selrecs[i].get(fields[j]);
			}
			ray.push(co);
		}
		if (ray.length==1) {
			return ray[0];
		}
		else{
			return ray;
		}
    },
    
    //根据IDs选中
    setGridSelIds:function(ids, field, deli, grid) {
    	if (typeof(field)=='undefined') field = 'Id';
    	if (typeof(deli)=='undefined') deli = ',';
    	
    	grid.getSelectionModel().clearSelections();
    	arr = new Array();
    	grid.getStore().each(function(record){
    		if ((deli+ids+deli).indexOf(deli+record.get(field)+deli)>-1) arr.push(record);
    	});
    	grid.getSelectionModel().selectRecords(arr);
    },
    
	qpDHanzi:function(strdata){
		return decodeURIComponent(strdata).replace(/\+/g," ");
	}
}
