var O=['BID','ASK','BIDTIME','ASKTIME','BIDSIZE','ASKSIZE','LAST','LASTSIZE','VOLUME','TURNOVER','ISSUER_ULINDICATION','CH2CLOSE_REL'];var spf=false;var C=2;
Number.prototype.number_format=function(g,ts,ds){
									if(isNaN(this))
										return undefined;
									if(this==0)
										return '0'+ds+'00';
									if(g<0)
										return undefined;
									if(g==undefined)
										g=false;
									if(C==undefined)
										C=g;
									if(ts==undefined)
										ts=',';
									if(ds==undefined)
										ds='.';
									var returned=this.toString().split('.');
									var X=returned[0];
									var W=returned[1];
									if(W==undefined)
									{
										W=new String();
									}
									var ab=new String();
									var i=0;
									while(i<=X.length)
									{
										if(i%3==0&&i!=0&&i<X.length)
											ab+=X.substr(X.length-i,1)+ts;
										else 
											ab+=X.substr(X.length-i,1);
										i++;
									}
									if(g>0&&C>0)
									{
										W=W.substr(0,C);
										if(W.length<g) {
											while(W.length<g) {
												W+='0';
											}
										}
										else {
											var forcedLeave = false;
											if (C_DEC_PL_LEAVE)
											{
												if (C_DEC_PL_LEAVE=='true')
												{
													forcedLeave = true;
												}
											}
											if (!forcedLeave)
											{
												if (W.length>g) {
													// round to correct decimal places.
													var base10Num = 1;
													var j=0;
													while (j<g)	{
														base10Num=base10Num*10;
														j++;
													}
													var workingNum=parseFloat('0.'+W);
													workingNum=workingNum*base10Num;
													var origDecimals=Math.round(workingNum)/base10Num;
													var newDecimals = origDecimals.toString().split('.');
													if (newDecimals.length<2) {
														// cater for 0 case
														W='0';
														while(W.length<g) {
															W+='0';
														}
													}
													else {
														W=newDecimals[1];
													}
												}
											}
										}
										W=ds+W;
									}
									i=ab.length;
									returned=new String();
									while(i>0)
									{
										i--;
										returned+=ab.substr(i,1);
									}
									if(g>0)
									{
										return(returned+W);
									}
									return returned;
								};
function lu(ag)
{
	var I=ag.responseText.split("#");
	I.each(	function(D)
			{
				if(D!="")
				{
					var af=D.split("|");
					if($(af[0]))
					{
						var twoDP1 = /BID_high_/i;
						var twoDP2 = /BID_low_/i;
						if (twoDP1.exec(af[0]) || twoDP2.exec(af[0]))
						{
							var isNumeric=/^[0-9\.,]+$/i;
							if (isNumeric.exec(af[1]))
							{
								// numbers here come back formatted european style... remove formatting
								var snum=af[1].replace('.','');
								snum=snum.replace(',','.');
								// parse value and format
								var val=parseFloat(snum);
								var tempC=C;
								C=10; // set C back to default temporarily
								$(af[0]).innerHTML=val.number_format(2,'.',',');
								C=tempC; // set C back to the way we 
								tempC=null;
							}
							else
							{
								$(af[0]).innerHTML=af[1];
							}
							isNumeric=null;
						}
						else
						{
							$(af[0]).innerHTML=af[1];
						}
						twoDP1=null;
						twoDP2=null;
					}
				}
			}
	);
};
var pcl=new Object();
var feed={sc:function(ag){var I=ag.responseText.split("#");I.each(function(D){var af=D.split("|");if(af[0]!=''){try{pcl[af[0]]=af[1];}catch(e){}}});},p:function(ag){var I=ag.split("#");I.each(function(D){var N=1;var af=D.split("|");var A=af[0].split(".");var z=A[0];O.each(function(Q){var R=af[N];if(R!=''){var f;var L;C=10;switch(Q){case 'ASK':if(R>0){f=true;L=true;}else{L=false;f=false;R=C_SOLDOUT;}break;case 'BID':case 'LAST':case 'TURNOVER':f=true;L=true;break;case 'ISSUER_ULINDICATION':f=true;L=true;C=4;break;case 'BIDSIZE':case 'ASKSIZE':case 'LASTSIZE':case 'VOLUME':f=false;L=true;C=0;break;case 'CH2CLOSE_REL':R=(af[1]>0)?af[1]:af[7];C=2;var ae=pcl[z];if(ae&&R){if(ae>0&&R>0){if(R>ae)f='up';else if(R<ae)f='down';else f='unchanged';R=100*(R-ae)/ae;L=true;}else{R='---';f=false;L=false;}}break;default:f=false;L=false;break;}var update_el=$(Q+'_'+z);if(update_el&&R!=''){updateQuoteElement(update_el,R,f,L);}var w=1;var v=$(Q+'_'+z+'_'+w);while(v!=undefined){updateQuoteElement(v,R,f,L);w++;var v=$(Q+'_'+z+'_'+w);}}N++;});});}};

function updateQuoteElement(Pf,val,f,L)
{
    var az=Pf.alt;
    if(Pf&&f)
    {
        if(typeof f=='string')
        {
            Pf.className=f;
        }
        else
        {
            if(az<val)
                Pf.className='up';
            else if(az>val)
                Pf.className='down';
            else 
                Pf.className='unchanged';
        }
    }
    if(Pf)
    {
        Pf.alt=val;
        if(L)
        {
            val=parseFloat(val);
            if(val==0)
            {
                if(C==0)
                    Pf.innerHTML='0';
                else 
                    Pf.innerHTML='0,00';
            }
            else
            {
                Pf.innerHTML=val.number_format(2,'.',',');
            }
        }
        else
        {
            Pf.innerHTML=val;
        }
    }
};

function feed_start(url)
{
    if(!url)
        return false;
//    if(!spf)
//    {
        spf=null; // redefine this array for each call... enables refresh of ISINs for AJAX call.
        spf=[];
        $$('.livequote').each(function(el){spf.push(el.id);});
//    }
    if(typeof window.f_frame=='undefined')
    {
        var d=document.getElementsByTagName('body')[0];
        var ifr=document.createElement('iframe');
        ifr.name='f_frame';
        ifr.id='f_frame';
        ifr.style.display='none';
        ifr.src=url;
        d.appendChild(ifr);
    }
    else
    {
        // reset this frame... enables refresh of ISINs for AJAX call.
        document.getElementById('f_frame').src = document.getElementById('f_frame').src;
    }
}

function feed_stop() {
    //alert('stopping feed');
    if (typeof window.f_frame == 'undefined') {
        var d = document.getElementsByTagName('body')[0];
        var ifr = document.createElement('iframe');
        ifr.src = 'about:blank';
    }
    else {
        document.getElementById('f_frame').src = 'about:blank';
    }
}