var clearGuba=false;
//%符号
var Public_PercentChar="%";
//忙时更新时间间隔(秒)
var Public_TimeoutSecond=30;
//闲时更新时间间隔(秒)
var Public_IdleFrequency=300;
//买卖提示标识显示时间
var Public_PriceUpFrequency=2;
//每页显示条数
var Public_PageSize=50;
var BaseLine=30;//高亮显示基准值
//下载文件更新时间点
var Public_DownladTime="15:30";
var hqMainQueryHost="http://hqquery.jrj.com.cn";
var hqCenterDomain="http://summary.jrj.com.cn";
var Download_Tip="行情下载文件每5分钟更新一次";
//获得用户自选股请求代理地址
function getZixuanProxyURL(sso_sUid)
{
	return "http://myjrj.jrj.com.cn/DataForStock2.aspx?userid="+sso_uid+"&type=1&p=1";
}
//获得更新频率时间,区分空闲非空闲时间
function getDataFrequency()
{
	var dataFrequency=Public_TimeoutSecond;
	var myDate = new Date(); 
	var hours = myDate.getHours();
	var minutes = myDate.getMinutes(); 
	if(hours<9) dataFrequency=Public_IdleFrequency; 
	if(hours>15) dataFrequency=Public_IdleFrequency;
	if(hours==15 && minutes>30) dataFrequency=Public_IdleFrequency;
	return dataFrequency;
}
function getFrequency_a()
{
	return 	getDataFrequency();
}
function getFrequency_hkus()
{
	return 	getDataFrequency()*2+1;
}
function getFrequency_wb()
{
	return 	getDataFrequency()*1.5+2;
}

//-----------Map数据对象
　　function Map(){
	　　this.elements=new Array();
	　　this.size=function(){
			return this.elements.length;
	　　}
	　　
		this.put=function(_key,_value){
	　　		this.elements.push({key:_key,value:_value});
	　　}
	
	　　this.remove=function(_key){
	　　	var bln=false;
		　　try{
			　　for (i=0;i<this.elements.length;i++){
				　　if (this.elements[i].key==_key){
					　　this.elements.splice(i,1);
					　　return true;
			　　		}
			　　}
		　　}catch(e){
		　　		bln=false;
		　　}
	　　		return bln;
	　　}
	　　
	　　this.containsKey=function(_key){
	　　		var bln=false;
		　　try{
		　　		for (i=0;i<this.elements.length;i++){
		　　			if (this.elements[i].key==_key){
		　　			bln=true;
		　　			}
		　　		}
		　　}catch(e){
		　　		bln=false;
		　　}
	　　		return bln;
	　　}
	　　
	　　this.get=function(_key){
		　　try{
		　　		for (i=0;i<this.elements.length;i++){
			　　		if (this.elements[i].key==_key){
			　　			return this.elements[i];
		　　			}
		　　		}
		　　}catch(e){
		　　		return null;
		　　}
	　　}
	
	　　this.getAllParamLink=function(){
	　　	var allParamLink="";
		　　try{
		　　		for (i=0;i<this.elements.length;i++){
			　　			allParamLink=allParamLink+"&"+this.elements[i].key+"="+this.elements[i].value;
		　　		}
			return allParamLink;
		　　}catch(e){
		　　		return e;
		　　}
	　　}
　　}
//获得涨跌方向箭头标识
function getUpTag(hqDataMap,StockCode,PriceLimit)
{
	var upTag="&nbsp;&nbsp;";
	var myPLObj=hqDataMap.get(StockCode);
	if(myPLObj!=null)
	{
		var myPL=Number(myPLObj.value.toString());
		if((PriceLimit-myPL)>0)
		{
			upTag="↑";
		}
		else if((PriceLimit-myPL)<0)
		{
			upTag="↓";
		}
		else
		{
			upTag="&nbsp;&nbsp;";	
		}
		hqDataMap.remove(StockCode);
	}
	hqDataMap.put(StockCode,PriceLimit.toString());
	return upTag;
}
//获得涨跌方向箭头标识
function getUpBgColor(hqDataMap,StockCode,PriceLimit)
{
	var upTag="";
	var myPLObj=hqDataMap.get(StockCode);
	if(myPLObj!=null)
	{
		var myPL=Number(myPLObj.value.toString());
		if((PriceLimit-myPL)>0)
		{
			upTag="style=\"background-color:#3D58B1\"";
		}
		else if((PriceLimit-myPL)<0)
		{
			upTag="style=\"background-color:#3D58B1\"";
		}
		else
		{
			upTag="";	
		}
		hqDataMap.remove(StockCode);
	}
	hqDataMap.put(StockCode,PriceLimit.toString());
	return upTag;
}
//根据买卖盘性质，返回买卖盘箭头方向
function getBuyTag(buyAttr)
{
	var upTag="";
	if(buyAttr==1)
	{
		upTag="↑";
	}
	else if(buyAttr==-1)
	{
		upTag="↓";
	}
	else
	{
		upTag="";	
	}
	return upTag;
}
//根据买卖盘性质，返回买卖盘箭头方向
function getBuyClass(buyAttr)
{
	var upClass="";
	if(buyAttr==1)
	{
		upClass="red";
	}
	else if(buyAttr==-1)
	{
		upClass="green";
	}
	return upClass;
}
//-----格式化数字，尾数不足者补0
function formatNumber(myNumber,numLength)
{
	var myValue=0;
	try
	{
		myValue=parseFloat(myNumber);
		if(isNaN(myValue)) myValue=0;
	}
	catch(e)
	{
		myValue=0;
	}
	return myValue.toFixed(numLength);
}
function formatPrice(myNumber)
{
	return formatNumber(myNumber,2);
}
//-----格式化百分比
function formatPercent(myNumber)
{
	return formatNumber(myNumber,2);
}
//-----格式化权证价格
function formatWarrantPrice(myNumber)
{
	return formatNumber(myNumber,3);
}
//-----格式化B股价格
function formatBguPrice(myNumber)
{
	return formatNumber(myNumber,3);
}
//-----格式化基金价格
function formatFundPrice(myNumber)
{
	return formatNumber(myNumber,3);
}
//获得页面地址后面的参数
function getUrlParameters(pageURL) 
{
   var paramsMap = new Map();
   paramsMap.put("allP","hq");//参数不在需要，仅为整体逻辑
   if(pageURL==null || pageURL=="" || pageURL.indexOf("?")<0) 
   {
   		return paramsMap; 
   }
   var args = pageURL.split("?");
   if(args.length>1)
   {
   		//paramsMap.remove("allP");
   		//paramsMap.put("allP","&"+args[1]);
   		var params=args[1].split("&");
   		for(i=0;i<params.length;i++)
   		{
   			var nameAndValue=params[i].split("=");
   			if(nameAndValue.length<2) continue;
   			var paramName=nameAndValue[0];
   			var paramValue=nameAndValue[1];
   			paramsMap.put(paramName,paramValue.toString());
   		}
   }
   return paramsMap;
}
//获得指定参数名称的值
function getParamValue(paramsMap,paraName)
{
	var returnValue="";
	if(paramsMap==null || paramsMap.containsKey(paraName)==false) 
	{
		returnValue="";
	}
	else if(paraName=="allP")
	{
		return paramsMap.getAllParamLink();
	}
	else
	{
		returnValue=paramsMap.get(paraName).value.toString();
	}
	return returnValue.toString();
}
//获得指定参数名称的值,如果为空返回指定名称
function getParamTargetValue(paramsMap,paraName,defaultValue)
{
	var returnValue="";
	if(paramsMap==null || paramsMap.containsKey(paraName)==false) 
	{
		returnValue=defaultValue;
	}
	else
	{
		returnValue=paramsMap.get(paraName).value.toString();
	}
	return returnValue.toString();
}
function getZeroString(myValue)
{
	if(myValue==null || myValue=="") return "0";
	return myValue;
}
//-------------------一定时间后自动隐藏
function timeOutSpanPriceUp()
{
	setTimeout(hiddenSpanPriceUp,Public_PriceUpFrequency*1000);
}
function hiddenSpanPriceUp()
{
    var divs =document.getElementsByTagName("span");
    if(divs.length==undefined)
    {
    	
    }
    else
    {
	    for(i=0; i<divs.length; i++)
	    {
	    	if(divs[i].id=="divPriceUp")
	    	{
	        	divs[i].style.visibility="hidden";
	    	}
	    }
    }
}
function addCookie()
{
 if (document.all)
 {
   window.external.addFavorite('http://stock.jrj.com.cn','金融界：股票频道');
 }
 else if (window.sidebar)
 {
   window.sidebar.addPanel('金融界：股票频道', 'http://stock.jrj.com.cn', "");
 }
}
function setHomepage()
{
 if (document.all)
 {
   document.body.style.behavior='url(#default#homepage)';
   document.body.setHomePage('http://stock.jrj.com.cn');
 }
 else if (window.sidebar)
 {
   if(window.netscape)
   {
     try
     {  
       netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
     }  
     catch (e)  
     {  
       alert( "该操作被浏览器拒绝，如果想启用该功能，请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true" );  
     }
   } 
   var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
   prefs.setCharPref('browser.startup.homepage','http://stock.jrj.com.cn');
 }
}
//-------------------一定时间后自动隐藏
var Public_DivIdName="";
function timeOutDivPriceUpBgColor(divIdName)
{
	Public_DivIdName=divIdName;
	setTimeout(hiddenDivPriceUpBgColor,Public_PriceUpFrequency*1000);
}
function hiddenDivPriceUpBgColor()
{
    var divs =document.getElementsByTagName("div");
    if(divs.length==undefined)
    {
    	
    }
    else
    {
	    for(i=0; i<divs.length; i++)
	    {
	    	if(divs[i].id==Public_DivIdName)
	    	{
	        	divs[i].style.backgroundColor="";
	    	}
	    }
    }
}
//行获得焦点
function TrOnFoucs(trCell){	
	trCell.style.backgroundColor="#f3f3f5";
	trCell.style.cursor="pointer";
}
//行失去焦点
function TrLostFoucs(trCell){	
	trCell.style.backgroundColor="#ffffff";
}
//打开指数页面
function openIndexPage(myStockId)
{
	if(myStockId!=null && myStockId!="")
	{
		var url=getIndexPage(myStockId);
		window.open(url);
	}
}
function getIndexPage(myStockId,type)
{
	if(!type){
		var url="http://taobao.jrj.com.cn/share/index/"+myStockId+"/index.shtml";
		return url;
	}
	else if(type=="hk"){
		return "http://hk.jrj.com.cn/share/";
	}
}
//打开个股页面
function openSharePage(myStockCode)
{
	if(myStockCode!=null && myStockCode!="")
	{
		var url=getSharePage(myStockCode);
		window.open(url);
	}
}
function getSharePage(myStockCode,type) {
	if(!type){
		var url = "/cominfo/default_" + myStockCode + ".htm";
		try {
			if (clearGuba == false) {
				url = "/cominfo/default_" + myStockCode
						+ ".htm";
			} else {
				url = "/cominfo/default_" + myStockCode
						+ ".htm";
			}
		} catch (e) {
		}
		return url;
	}
	if(type == "hk"){
		var url = "http://hk.jrj.com.cn/share/" + myStockCode;
		return url;
	}
	if(type=="us"){
		var url = "http://usstock.jrj.com.cn/share/"+ myStockCode.toLowerCase()+".shtml";
		return url;
	}
}
function getSummuaryPage(type){
		if(type == "agu"){
			return "/summary/Agu.shtml?order=asc&sort=stkc&page=1"
		}else if(type == "hqstat"){
			return "/summary/hqstat/hqstat.shtml?"
		}else if(type == "flow"){
			return "/summary/flow/query.shtml?order=asc&sort=stkc&page=1"
		}
}

//打开权证页面
function openWarrantPage(myStockCode)
{
	if(myStockCode!=null && myStockCode!="")
	{
		var url=getWarrantPage(myStockCode);
		window.open(url);
	}
}
function getWarrantPage(myStockCode)
{
	var url="http://warrant.jrj.com.cn/StockInfo.aspx?gpdm="+myStockCode;
	//var url="http://"+myStockCode+".istock.jrj.com.cn/";
	return url;
}
//打开大单详细页面
function openBigBillPage(myStockCode)
{
	if(myStockCode!=null && myStockCode!="")
	{
		var url=getBigBillPage(myStockCode);
		window.open(url);
	}
}
function getBigBillPage(myStockCode)
{
	var url="http://taobao.jrj.com.cn/stocks/detail/dadan.shtml?code="+myStockCode;
	return url;
}
//打开基金走势页
function openFundPage(myStockCode)
{
	if(myStockCode!=null && myStockCode!="")
	{
		var url=getFundPage(myStockCode);
		window.open(url);
	}
}
function getFundPage(myStockCode)
{
	var url="http://fund.jrj.com.cn/archives/"+myStockCode+"/index.shtml";
	return url;
}
//打开股票爱股页面
function openIStockPage(myStockCode)
{
	if(myStockCode!=null && myStockCode!="")
	{
		var url=getIStockPage(myStockCode);
		window.open(url);
	}
}
function getIStockPage(myStockCode)
{
	var url="http://"+myStockCode+".istock.jrj.com.cn/";
	return url;
}
function openPage(myURL)
{
	if(myURL!=null && myURL!="")
	{
		window.open(myURL);
	}
}
function formatHand(myNumber)
{
	return formatNumber(myNumber/100,0);
}
function formatMoney(myNumber)
{
	return formatNumber(myNumber/10000,2);
}
String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.startWith=function(str){
 if(str==null||str==""||this.length==0||str.length>this.length) return false;
 if(this.substr(0,str.length)==str)
 {
	return true;
 }
 else
 {
	return false;
 }
}
function getURLTimeStamp()
{
	var nowDate=new Date();
　 	var h=nowDate.getHours();
　　 var m=nowDate.getMinutes();
　　 var s=nowDate.getSeconds();
　　 if(h<=9){h="0"+h}
　　 if(m<=9){m="0"+m}
　　 if(s<=9){s="0"+s}
	return h+""+m+""+s;
}
function getQueryCodes(stockList)
{
	try
	{
		if(stockList.length==0) return "";
		var codeArray=new Array();
		for(i=0;i<stockList.length;i++)
		{
			codeArray.push(stockList[i].code+",");
		}
		var queryCodes=codeArray.join('');
		if(queryCodes.length==0) return "";
		return  queryCodes.substring(0,queryCodes.length-1);
	}
	catch(e)
	{
		return "";
	}
}
//动态调用js
var jrjAjax = {
	getJSON : function(url,cb,data){
		var h = document.getElementsByTagName("head")[0];
		var scriptId = new Date().getTime();
		var s = document.getElementById(scriptId);
		try {			
			s = document.createElement("script");
			s.id = scriptId;
			s.type="text/javascript";
			if(url.indexOf("?") == -1){
				s.src = url + "?d=" + this.getTimeStamp();
			}else{
				s.src = url + "&d=" + this.getTimeStamp();
			}
			s.onload = function() {
				cb(data);
				this.parentNode.removeChild(this);
			}
			s.onreadystatechange = function() {
				if (this.readyState == "loaded") {
					cb(data);
					try{
						this.parentNode.removeChild(this);
					}catch(e){}
				}
			}
			h.appendChild(s);
		} finally {
			s = null;
		}
	},
	get : function(url,cb){
		if(url.indexOf("?") == -1){
			url = url + "?d=" + this.getTimeStamp();
		}else{
			url = url + "&d=" + this.getTimeStamp();
		}
		var ajax = null;
		try{
			ajax = new XMLHttpRequest();			
		}catch(e1){
			try{
				ajax = new ActiveXObject('Msxml2.XMLHTTP');			
			}catch(e2){
				try{
					ajax = new ActiveXObject('Microsoft.XMLHTTP');			
				}catch(e3){
					ajax = null;
				}
			}
		}
		if(ajax == null)return;
		try{
			ajax.open("GET", url, true);
			ajax.onreadystatechange = function(){
				if (ajax.readyState == 4) {
					cb(ajax);
				  }
			}
			ajax.send(null);
		}catch(e){}
	},
	getTimeStamp : function ()
	{
		var d=new Date();
		var h=d.getHours();
		var m=d.getMinutes();
		var s=d.getSeconds();
		if(h<=9){h="0"+h}
		if(m<=9){m="0"+m}
		if(s<=9){s="0"+s}
		return h+""+m+""+s;
	}
}
function getZeroString(myValue)
{
	if(myValue==null || myValue=="") return "0";
	return myValue;
}
function creatSelectContent(obj,p)
{
	try{
		for(var i=0;i<obj.length-1;i++)
		{
			 o  =document.createElement("option");
			 o.value=obj[i].A1;
			 o.text=obj[i].A2;
		     if ( document.all ){
		          $(p).add(o,i+1);
		      }else{
		          $(p).appendChild(o,i+1);
		      }
		}
		if(p=="selectContent")
		{
			bkValue=innerContentBid;
			if(innerContentBid=="")
			{
				bkValue=getParamValue(paramsMap,"cb");
			}
			$("selectContent").value=Number(bkValue);
		}
		if(p=="selectIndustry")
		{
			bkValue=innerIndustryBid;
			if(innerIndustryBid=="")
			{
				bkValue=getParamValue(paramsMap,"ib");
			}
			$("selectIndustry").value=Number(bkValue);
		}
		else if(p=="selectRegion")
		{
			bkValue=innerRegionBid;
			if(innerRegionBid=="")
			{
				bkValue=getParamValue(paramsMap,"rb");
			}
			$("selectRegion").value=Number(bkValue);
		}
		else if(p=="selectZjh")
		{
			bkValue=innerZjhBid;
			if(innerZjhBid=="")
			{
				bkValue=getParamValue(paramsMap,"zb");
			}
			$("selectZjh").value=Number(bkValue);
		}
		else if(p=="selectGlobal")
		{
			bkValue=innerGlobalBid;
			if(innerGlobalBid=="")
			{
				bkValue=getParamValue(paramsMap,"gb");
			}
			$("selectGlobal").value=Number(bkValue);
		}
	}catch(e)
	{
		//alert(e);
	}
}
function collectParams()
{
    queryParam="";
    queryBidsParam="";
	optionIndustry=$("selectIndustry").value;
	optionRegion=$("selectRegion").value;
	optionContent=$("selectContent").value;
	optionZjh=$("selectZjh").value;
	optionGlobal=$("selectGlobal").value;
	optionMarket=$("selectMarket").value;
	queryIds=$("queryIds").value;
	if(queryIds=="代码/简称/拼音") queryIds="";
	if(optionMarket!=0)
	{
		  queryParam+="&market="+optionMarket;
	}
	if(queryIds!="" && queryIds!=null)
	{
		  queryParam+="&ids="+queryIds;
	}
	if(optionIndustry!=0  && optionIndustry!=undefined)
	{
		  queryBidsParam="&ib="+optionIndustry;
	}
	if(optionContent!=0  && optionContent!=undefined)
	{
		  queryBidsParam=queryBidsParam+"&cb="+optionContent;
	}
	if(optionRegion!=0  && optionRegion!=undefined)
	{
		  queryBidsParam=queryBidsParam+"&rb="+optionRegion;
	}
	if(optionZjh!=0 && optionZjh!=undefined)
	{
		  queryBidsParam=queryBidsParam+"&zb="+optionZjh;
	}
	if(optionGlobal!=0 && optionGlobal!=undefined)
	{
		  queryBidsParam=queryBidsParam+"&gb="+optionGlobal;
	}
	queryParam=queryParam+queryBidsParam;
}
function makeAllSelect()
{
	//概念
	var o2=eval("boardContentList.board");
	doLoadConentToSelect(o2,"selectContent");
	//行业
	var o3=eval("boardIndustryList.board");
	doLoadConentToSelect(o3,"selectIndustry");
	//地域
	var o4=eval("boardRegionList.board");
    doLoadConentToSelect(o4,"selectRegion");
	//证监会
	var o5=eval("SFCIndustryBoardTree.board");
	doLoadConentToSelect(o5,"selectZjh");
	//全球行业
	var o6=eval("GlobalIndustryBoardTree.board");
	doLoadConentToSelect(o6,"selectGlobal");
}
function doLoadConentToSelect(dataList,selectName)
{
	try
	{
		var mySelect=document.getElementById(selectName);
		if(mySelect.tagName=="select" || mySelect.tagName=="SELECT")
		{
			creatSelectContent(dataList,selectName);	
		}
	}
	catch(e)
	{
		//alert(e);
	}
	
}

//定时任务
function LoopCall(callback, frequency) {
	this.callback = callback;
	this.frequency = frequency;
	this.currentlyExecuting = false;
	this.registerCallback();
}
LoopCall.prototype = {			
	registerCallback : function() {
		var sb = this;
		this.timer = setInterval(function(){sb.execute()},
				this.frequency * 1000);
	},
	execute : function() {
		this.callback(this);
	},
	stop : function() {
		if (!this.timer)
			return;
		clearInterval(this.timer);
		this.timer = null;
	},
	onTimerEvent: function() {
	    if (!this.currentlyExecuting) {
	      	try {
	        	this.currentlyExecuting = true;
	        	this.execute();
	    	} finally {
	        	this.currentlyExecuting = false;
	    	}
		}
	}
}
function changPriceData(price){
	//alert(typeof(price)
	var prices = parseFloat(price).toFixed(2);
	return prices
}
//获得板块地址
function getBkURL(boardTypeId,boardId)
{
	var paramName="ib";//新财富
	if(boardTypeId<=0)
	{
		paramName="ib";		
	}
	else if(boardTypeId==1)
	{
		paramName="zb";//证监会
	}
	else if(boardTypeId==2)
	{
		paramName="gb";//全球
	}
	else if(boardTypeId==3)
	{
		paramName="rb";//地域
	}
	else if(boardTypeId==5)
	{
		paramName="cb";//概念
	}
	return "http://taobao.jrj.com.cn/summary/"+paramName+"/Agu_"+boardId.toString()+".shtml";
}
function getNameOrLink(indexCode,indexName){
	var indexURL="";
	try{
		if(indexCode =="sz399300" || indexCode =="sh000001" || indexCode =="sz399001" ){
			indexURL=getIndexPage(indexCode);
			return "<span class=\"dt\"><a class=\"acol\"  href=\""+indexURL+"\" target=\"_blank\"><b>"+indexName+"</b></a></span>";
		}
		else if(indexCode=="HSI" ){
			indexURL=getIndexPage(indexCode,"hk");
			return "<span class=\"dt\"><a class=\"acol\"  href=\""+indexURL+"\" target=\"_blank\"><b>"+indexName+"</b></a></span>";
		}
		return indexName;
	}
	catch(e){
		return indexName;
	}
}
function addfavorite(url,name)
{
   if (document.all)
   {
      window.external.addFavorite(url,name);
   }
   else if (window.sidebar)
   {
      window.sidebar.addPanel(name, url, "");
   }
} 

