	var GraphObjects= new Array();
		
        var pd = new Array();
	pd['TODAY'] = 'all'; pd['WEEK'] = '1W'; pd['MONTH'] = '1M'; pd['MONTH3'] = '3M'; pd['YEAR'] = '1Y'; pd['YEAR2']='2Y'; pd['YEAR5']='5Y';

	var eoldids = new Array();
	var papers = new Array();
	
	function Graph (ticker,name,period,source,sourcename){
		this.ticker = ticker;
		this.name = name;
		this.period = (period)? period : 'TODAY';
		this.source = source;
		this.sourcename = sourcename;
		this.shtml = 'sdg_bonds';
	}

	function test_bookm_rec(obj,reg) {
		if (obj.onclick && obj.onclick.toString().match(reg)) {
			return true; }
		var cld=obj.childNodes;
		for (var i=0;i<cld.length;i++) {
			if (test_bookm_rec(cld[i],reg)) return true;
		}
		return false;
	}

        function test_bookm(obj,period) {
                if (document.all && obj.name) return obj.name == 'bookm_'+period
                var reg=new RegExp('[\\\'\\\"]'+period+'[\\\'\\\"]')
                return test_bookm_rec(obj,reg);
        }


	function show_graph( graph_nick, ticker, name, period, source, sourcename, shtml ) {
		
		//Если такого объекта тет то создаем его
		if (!GraphObjects[graph_nick]){
			GraphObjects[graph_nick] = new Graph(ticker, name, period, source, sourcename);	
		}  
		GraphObjects[graph_nick].period = (period)? period : GraphObjects[graph_nick].period;
		GraphObjects[graph_nick].shtml = (shtml)? shtml : GraphObjects[graph_nick].shtml;
		GraphObjects[graph_nick].ticker = (ticker)? ticker : GraphObjects[graph_nick].ticker;
		GraphObjects[graph_nick].name = (name)? name : GraphObjects[graph_nick].name;
		GraphObjects[graph_nick].source = (source)? source : GraphObjects[graph_nick].source;
		GraphObjects[graph_nick].sourcename = (sourcename)? sourcename : GraphObjects[graph_nick].sourcename;
		var div_name = "MLgraphTabs_"+graph_nick;
		//alert(div_name);
		if ( period != '' && period != null ) {
			var tabs = new Array();
			if ( document.all ) tabs=document.all[div_name].children;
			else tabs=document.getElementById(div_name).childNodes;

			for (i=0;i<tabs.length;i++) {
                                if (test_bookm(tabs[i],period))
				{
					tabs[i].id='activeBottomTab';
					tabs[i].style.fontWeight = 'bold';
					tabs[i].style.backgroundColor='white';	
					tabs[i].style.position='relative';
					tabs[i].style.top='-1px';
				}
				else
				{
					if (tabs[i].id!='' && tabs[i].style) {
						tabs[i].id='';
//						tabs[i].className='';
						tabs[i].style.fontWeight = 'normal';
						tabs[i].style.backgroundColor='#C0DBD6';
						tabs[i].style.position='relative';
						tabs[i].style.top='0px';
					}
				}
			}
                }
		if ( document.all['emitentTitle_'+graph_nick]  ){
			if ( document.all ) {
				document.all['emitentTitle_'+graph_nick].innerText = GraphObjects[graph_nick].name + (GraphObjects[graph_nick].sourcename ? ' (' + GraphObjects[graph_nick].sourcename + ')' : '');
			} else if ( !document.layers ) {
                                document.getElementById('emitentTitle_'+graph_nick).textContent = GraphObjects[graph_nick].name +
(GraphObjects[graph_nick].sourcename ? ' (' + GraphObjects[graph_nick].sourcename + ')' : '');
			}
		}
		var flow = 'demo';
		var period =  GraphObjects[graph_nick].period == 'TODAY' ? 'intraday' : 'daily';
//		if (  graph_nick == 'liff' || graph_nick == 'gold' || graph_nick == 'oil'  ){
		if (  graph_nick == 'liff' || graph_nick == 'oil'  ){
			period = 'daily';
			flow = 'eod'
		}
                var url = 'http://stock.rbc.ru/'+flow+'/' + GraphObjects[graph_nick].source + '/'
                                + period
                                + '/'+GraphObjects[graph_nick].shtml+'.rus.gif?ticker='+GraphObjects[graph_nick].ticker
                                + '&show=' + pd[GraphObjects[graph_nick].period];
		if ( graph_nick == 'oil' ||  graph_nick == 'liff' || graph_nick == 'gold' || GraphObjects[graph_nick].source == 'rts.6' ){
			url = ( GraphObjects[graph_nick].period == 'TODAY'  )? '/images/no_data.gif' : url;
                }
                document.images['gr_pict_'+graph_nick].src = url;
        }

        function show_ticker_relations(nick,name,win) {
                var url;
		var twin = win;
		var index = GraphObjects[nick].source + '_' + GraphObjects[nick].ticker;

                if ( name == 'ta' ) { //   теханализ
			url = 'http://ta.rbc.ru/ta.shtml?exch=' + GraphObjects[nick].source + '&ticker=' + GraphObjects[nick].ticker;
			if (!twin) twin='Y';
                } else if ( name == 'en' ) { // новости по эмитенту
			if (!eoldids[index])
			{
	                        alert("Карточка отсутствует");
        	                return;
			}
			url = '/fterm_news/comp_news.shtml?cfg=comp_news_archive&old_company_id=' + eoldids[index];
			if (!twin) twin='N';
                } else if ( name == 'tis' ) { // справка по бумаге для акций
			if (!eoldids[index] || !papers[index])
			{
				alert("Карточка отсутствует");
				return;
			}
			showEDBPaper('stock', eoldids[index], papers[index]);
			return;
		} else if ( name == 'tib' ) { // справка по бумаге для облигаций
			if (!eoldids[index] || !papers[index])
			{
				alert("Карточка отсутствует");
				return;
			}
                        showEDBPaper('bond', eoldids[index], papers[index]);
                        return;
                } else if ( name == 'ei' ) { // справка по эмитенту
			if (!eoldids[index])
			{
				alert("Карточка отсутствует");
				return;
			}
			var oid=eoldids[index];
			url='/fterm/emitent.shtml?'+(oid%100)+'/'+oid;
			if (!twin) twin='N';
                } else {
                        return;
                }
		if (twin=='Y') window.open(url);
		else window.navigate(url);
        }

        // Возвращает букву из указаного массива(для фьючерсов)
        function getPeriodLetter(exp){
                var d = new Date();
                yyyy = d.getFullYear(); mm = d.getMonth()+1; dd = d.getDate();
                if (mm < 10) mm='0'+mm; if (dd < 10) dd='0'+dd;
                today = yyyy+''+mm+''+dd;
                var letter = exp[0][1];
                for(i=0; i<expDates.length; i++){
                        if ( today >= exp[i][0]){
                                if ( exp[i+1] ){
                                        letter = exp[i+1][1];
                                }else{
                                        letter = exp[i][1];
                                }
                        }
                }
                return letter;

        }

