﻿var LASTEST_SHARE_COOKIE = "JRJ_LASTEST_SHARE_COOKIE"; //最近访问的股票的cookie名
var LASTEST_SHARE_MAXCNT = 15; //记录股票的最大数量
var LASTEST_SHARE_SPLITCHAR = ","; //最近访问的股票的分隔符
var hqMainQueryHost="http://hqquery.jrj.com.cn";
var nhqQueryHost="http://nhqquery.jrj.com.cn";
var hqCenterDomain="http://summary.jrj.com.cn";
var shareDomain="http://"+window.location.host;
function getSharePage(myStockCode)
{
	var url=shareDomain+"/cominfo/default_"+myStockCode+".htm";
	return url;
}
//保留小数位
function share_formatNum(myNumber,numLength)
{
  try{
	return myNumber.toFixed(numLength);
	}catch(e)
	{}
}
//格式化单价
function share_FormatePrice(myNumber)
{
	return share_formatNum(myNumber,2);
}
//时间戳
function getShare_TimeStamp()
{
 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;
}
//根据cookie名查找cookie
function _getCookieVal(name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var offset = i + alen;
		if (document.cookie.substring(i, offset) == arg) {
			var endstr = document.cookie.indexOf(";",  offset);
			endstr = endstr == -1 ? document.cookie.length : endstr;
			return unescape(document.cookie.substring(offset,  endstr));
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}

//设置cookie
function _setCookie(name, value, expires, secure) {
	if(!expires) {
		expires = new Date();
		expires.setTime(expires.getTime() + 30 *24 * 60 * 60 * 1000);
	}
	var path = "/";
	var domain = document.domain;
        domain="jrj.com.cn";
	secure = secure ? secure : false;
	var cookie = name + "=" + escape(value) 
					+ ((expires) ? "; expires=" + expires.toGMTString() : "")
					+ ((path) ? "; path=" + path : "/")
					+ ((domain) ? "; domain=" + domain : "")
					+ ((secure) ? "; secure" : "");
	document.cookie = cookie;
}
function _addLastestShareToCookie(code) {
	var name = LASTEST_SHARE_COOKIE;	
	var oldVal = _getCookieVal(name);
	var newVal = "";

	if(!oldVal) {
		newVal = code;
	}else {		
		var arrays = oldVal.split(LASTEST_SHARE_SPLITCHAR);
		var isExist = false;
		for(var i = 0; i < arrays.length; i++) {
			if(arrays[i] == code) {
				for(var j = i; j > 0;) { //命中的排到最前面
					arrays[j] = arrays[--j];
				}
				arrays[0] = code;
				isExist = true;
				break;
			}
		}
		var start = 0;
		var end = 0;
		//取出最大数量的关键词
		if(isExist) { 
			end = arrays.length < LASTEST_SHARE_MAXCNT ? arrays.length : LASTEST_SHARE_MAXCNT;
		}else {
			newVal = code + LASTEST_SHARE_SPLITCHAR;
			end = arrays.length < LASTEST_SHARE_MAXCNT ? arrays.length : (LASTEST_SHARE_MAXCNT - 1);
		}
		for(var i = start; i < end; i++) {
			newVal += arrays[i];
			if(i < end - 1)
				newVal += LASTEST_SHARE_SPLITCHAR;
		}
	}
	_setCookie(name, newVal);
}

/**
 * 从cookie中得到最近访问的股票
 */
function _getLastestShareFromCookie(exceptCode, defaultArrays) {
	var name = LASTEST_SHARE_COOKIE;
	var cookieVal = _getCookieVal(name);
	cookieVal = cookieVal == null ? "" : cookieVal;
	var arrays = cookieVal.split(LASTEST_SHARE_SPLITCHAR);
	var max = 9;
	var returnValue = new Array();
	for(var i = 0, cnt = 0; cnt < max && i < arrays.length; i++) {
	//	if(arrays[i] != exceptCode) {
			returnValue[cnt++] = arrays[i];
	//	}
	}

	if(returnValue.length == 0) {
		for(var i = returnValue.length, j = 0; i < max && j < defaultArrays.length; j++) {
			var code = defaultArrays[j];
			if(exceptCode == defaultArrays[j] || cookieVal.indexOf(code) != -1) 
				continue;
			returnValue[i++] = defaultArrays[j];
		}
	}
	return returnValue;
}
Date.prototype.format = function(fmt) { //author: meizz 
	var o = { 
		"M+" : this.getMonth()+1, //月份 
		"d+" : this.getDate(), //日 
		"h+" : this.getHours(), //小时 
		"m+" : this.getMinutes(), //分 
		"s+" : this.getSeconds(), //秒 
		"q+" : Math.floor((this.getMonth()+3)/3), //季度 
		"S" : this.getMilliseconds() //毫秒 
	}; 
	if(/(y+)/.test(fmt)) 
		fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
	for(var k in o) 
		if(new RegExp("("+ k +")").test(fmt)) 
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); 
	return fmt; 
} 
/**
 * 得到股票数据请求的url
 */
function _getShareDataUrl(type, code, market) {
	if(type == "hq") //股票的行情数据
	    return "http://nhqquery.jrj.com.cn/hqquery/?q=cn|s&i="+code+"&n=hqs1&c=l&q=cn|o&i="+market+"&o=&c=m&n=hqs2&p=01010&q=cn|s|bd_"+market+"&o=np,d&c=id,code,name,np,pl,tr&n=hqs3&p=01010";
		//return "http://59.151.53.239:8000/hqquery/index.do?q=cn|s&i="+code+"&n=hqs1&c=l&q=cn|o&i="+market+"&o=&c=m&n=hqs2&p=01010&q=cn|s|bd_"+market+"&o=np,d&c=id,code,name,np,pl,tr&n=hqs3&p=01010";
    else if(type== "indexhq")
		return "http://nhqquery.jrj.com.cn/hqquery/?q=cn|i&i="+code+"&n=hqs1&c=l&q=cn";
        //return "http://59.151.53.239:8000/hqquery/index.do?q=cn|i&i="+code+"&n=hqs1&c=l&q=cn";
		//return "http://hqquery.jrj.com.cn/indexq.do?page=1&tpl=all&vname=IndexBigCharHqData&ids="+code;
	else if(type=='top10da')
        return 	"http://nhqquery.jrj.com.cn/hqquery/?q=cn|s|idx_"+code+"&o=tmv,d&c=id,code,name,np,pl,hlp,tr&n=topShares&p=01010"
		//return "http://59.151.53.239:8000/hqquery/index.do?q=cn|&c=l&q=cn|s|idx_"+ code+"&o=tmv,d&c=id,code,name,np,pl,hlp,tr&n=topShares&p=01010";
	else if(type == "hybk") //股票的分时数据
            return "http://hqquery.jrj.com.cn/boardq.do?qtype=bk&page=1&size=10&btype=7&order=desc&sort=brfp";
	else if(type == "gnbk") //股票的分时数据
            return "http://hqquery.jrj.com.cn/boardq.do?qtype=bk&page=1&size=10&btype=5&order=desc&sort=brfp";
//	else if(type == "mx") //股票的明细数据
//            return "http://data.share.jrj.com.cn/stocks/jsdata/mx/mx_"+code+"_last.js";
//	else if(type == "dd") //股票的大单数据
//           return "http://data.share.jrj.com.cn/stocks/jsdata/dd/dd_"+code+"_last.js";
//	else if(type == "fj") //股票的分价数据
//           return "http://data.share.jrj.com.cn/stocks/jsdata/fj/fj_"+code+"_last.js";
//	else if(type == "fs") //股票的分时数据
//            return "http://data.share.jrj.com.cn/stocks/jsdata/fs/fs_"+code+"_last.js";
   	else if(type == "shtop10") //股票的分时数据
            return hqCenterDomain+"/TopStat/SHTopStat_Json.js"; 
   	else if(type == "sztop10") //股票的分时数据
            return hqCenterDomain+"/TopStat/SZTopStat_Json.js"; 
	else 
		return null;
}
/**
 * 得到用户的自选股的url
 */
function _getUserSharesUrl(userid) {
	return "/ajax/myjrj/DataForStock_" + userid + "_1.htm";
}
/**
 * 用户添加自选股的url
 */

function _getAddUserShareUrl(code,type) {
	//新自选股接口
//	if(!type){
//		return "/ajax/myjrj/addstock_"+code+".htm?"+getShare_TimeStamp();
//	}
//	return "/ajax/myjrj/addstock_"+type+"_"+code+".htm?"+getShare_TimeStamp();
	
	var vname="stock_add";
	if(!type){
		return "http://i.jrj.com.cn/app/stock/json/add.jspa?vname="+vname+"&code="+code;
	}
	return "http://i.jrj.com.cn/app/stock/json/add.jspa?vname="+vname+"&type="+type+"&code="+code;
}

function _getGYDCUrl() {
	return "/ajax/d_share/vote.htm";
}

function _getGYYCUrl() {
	return "/ajax/d_share/forecast.htm";
}
/**
 * 如果不存在id，创建一个对象(id)，并追加到p中
 */
function _createAndAppendElement(p, id, type) {
	var o = document.getElementById(id);
	if(o == null) {
		o = document.createElement(type);
		o.id = id;
		p.appendChild(o);
	}
	return o;
}
/**
 * 判断股票是否有效
 */
function _isActiveShare(share) {
	if(share == null) 
		return false;
	var status = share.status;
	return status == 1 || status == 4;
}
/**
 * status:状态 0=未上市,1=在市, 2=终止上市, 3=暂停上市, 4=换股上市,5=未知
 */
function _getShareStatusStr(share) {
	if(share == null) 
		return "未知";
	var status = share.status;
	if(status == 0)
		return "未上市";
	else if(status == 1)
		return "在市";
	else if(status == 2)
		return "终止";
	else if(status == 3)
		return "暂停";
	else if(status == 4)
		return "换股";
	else
		return "未知";
}
/**
 *取子数组
 */
Array.prototype.subArray =function(start, end) {
	if(this.length == 0 || start >= this.length ||start >= end)
		return null;
	
	end = end < this.length ? end : this.length;
	var array = this;
	var subs = new Array();
	for(var i = start; i < end; i++) {
		subs[subs.length] = array[i];
	}
	return subs;
}
/**
 *数组倒序
 */
Array.prototype.reverse =function() {
	if(this.length == 0)
		return null;
		 
	var returnValue = new Array();
	var i = 0;
	var j = this.length - 1;
	for(; i < j; i++, j--) {
		var tmp = this[i];
		this[i] = this[j];
		this[j] = tmp;
	}
}

String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g, "");
}
function subS(s,len)
{
	return s.substring(0,len);
}
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 hqCenterDomain+"/"+paramName+"/Agu_"+boardId.toString()+".shtml";
}
//打开指数页面
function openIndexPage(myStockId)
{
	if(myStockId!=null && myStockId!="")
	{
		var url=getIndexPage(myStockId);
		window.open(url);
	}
}
function getIndexPage(myStockId)
{
	var url=shareDomain+"/share/index/"+myStockId+"/index.shtml";
	return url;
}

function shining(elementId,className1,className2,finallyfunc,times,millisecond){
            var obj = document.getElementById(elementId);
            if(!obj)return;
            var ms = millisecond ? millisecond : 300;
            var c1 = className1 ? className1 : obj.className;
            var c2 = className2 ? className2 : "";
            var t = times ? times*2 : 4;
            var bak = obj.innerHTML;
            var change = function(){
                  t--;
            if(obj.className==c1){
                  obj.className=c2;
              }else if(obj.className==c2){
                obj.className=c1;
              }
          if(t>0){
              setTimeout(change,ms);
             }else{
               obj.innerHTML = bak;
                obj.className=c1;
            }
          }
             setTimeout(change,ms);
 }
 function getT(i)
 { 
   if(i==1)
   return 10000;
   else if(i==2)
   return 20000;
   else if(i==3)
   return 10000;
   else
   return 100000; 
}

function myrefresh()
{
   window.location.reload();
}
setTimeout('myrefresh()',30*60*1000);
function search_sub()
{
  window.open(shareDomain);
}
//添加自选股
function _addZxg(code) {
	try {
		if(sso_uid && sso_uid != null) { //用户已经登录
			var ok = function() {
				var str = stock_add;
				if(str == "ok") 
					alert("添加自选股成功");
				else if(str == "error") 
					alert("添加自选股失败");
				else if(str == "have")
					alert("此股票已经是自选股");
				else if(str == "overflow") 
					alert("您所添加股票数量已超过允许的最大数量值");
				else if(str == "codeerror")
					alert("股票代码错误");
				else 
					alert("添加自选股失败");
			}
			var zxgURL = _getAddUserShareUrl(code);
		//	var ajax = new Ajax.Request(url, {
		//		method :'get',
		//		parameters :'',
		//		onComplete :ok
		//	});
//		var _obj = new Bajax();
//        _obj.get(zxgURL, ok);
			jrjAjax.getJSON(zxgURL,ok);
		}else {//没有登录，显示登陆窗口
			try{
				alert("请您先登录再添加自选股");
				setTab('mst',2,2);
				try{
					getSSOUID();
				}catch(e){}
			}
			catch(e){
			}
		}
	} catch (e) {//没有登录，显示登陆窗口
		alert("请您先登录再添加自选股");
	}
}
var jrjAjax = {
	getJSON : function(url,cb,data,ecb){
		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);
				try{
					this.parentNode.removeChild(this);
				}catch(e){}
			}
			s.onerror = function() {
				ecb(data);
				try{
					this.parentNode.removeChild(this);
				}catch(e){}
			}
			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 gg_QuoteLoading(){
	try{
		get_ID("price_loading").style.visibility="hidden";
        get_ID("price_offset").style.visibility="visible";
        get_ID("price_bank").style.visibility="visible";
	}
	catch(e){
	}
}
function Zl(a,b,c){var Ka=navigator.userAgent.toLowerCase();var rt=Ka.indexOf("opera")!=-1;var r=Ka.indexOf("msie")!=-1&&(document.all&&!rt);if(r){a.attachEvent("on"+b,c)}else{a.addEventListener(b,c,false)}}
