var arrFAO		=  new Array('ALL Contracts','ALL Futures','ALL Options','NIFTY Futures','NIFTY Options','BANKNIFTY Futures','BANKNIFTY Options','CNXIT Futures','CNXIT Options','STOCK Futures','STOCK Options');
var arrFAOCode	=  new Array('','FUT','OPT','FUTIDX|NIFTY','OPTIDX|NIFTY','FUTIDX|BANKNIFTY','OPTIDX|BANKNIFTY','FUTIDX|CNXIT','OPTIDX|CNXIT','FUTSTK','OPTSTK');

function Browser() {
  var ua, s, i;
  this.isIE    = false;
  this.isNS    = false;
  this.version = null;
  ua = navigator.userAgent;
  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.
  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}
var browser = new Browser();
var clockTimeoutID;

var XmlHttp;
//Creating object of XMLHTTP For AJAX Method
function CreateXmlHttp()
	{
		//Creating object of XMLHTTP in IE
		try
		{
			XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch(oc)
			{
				XmlHttp = null;	
			}
		}
		//Creating object of XMLHTTP in Mozilla and Safari 
		if(!XmlHttp && typeof XMLHttpRequest != "undefined") 
		{
			XmlHttp = new XMLHttpRequest();
		}
	}
	
//**** Function ExchngTimeClock Is used for to find out the market hours --- The ticker will automatically refresh only in market timings *****//			
function ExchngTimeClock(Exchg) {
	 var time = new Date()
	 var hour = time.getHours()
	 if (hour >= 10 && hour <= 20)
			  clockTimeoutID = setTimeout("getTickerData('"+ Exchg +"')",600000);
	}
	
//**** Function killClock Is used for killing clock timer  *****//
function killClock(){
	clearTimeout(clockTimeoutID);
	}		
	

//For Loading ticker from TickerData.aspx Using AJAX
function getTickerData(Exchg)
	{
	if (Exchg=="BSE")
	{
		document.getElementById("tdBSE").className="Selected";
		document.getElementById("tdNSE").className="UnSelected";
		document.getElementById("tdBSE").style.cursor = "default"
		document.getElementById("tdNSE").style.cursor = "pointer"		
	}
	else if(Exchg=="NSE")
	{
		document.getElementById("tdBSE").className="UnSelected";
		document.getElementById("tdNSE").className="Selected";
		document.getElementById("tdBSE").style.cursor = "pointer"
		document.getElementById("tdNSE").style.cursor = "default"		
	}	
		CreateXmlHttp();
		document.body.style.cursor = "progress";
		document.getElementById("MarqueeId").innerHTML = " <img height='11px' width='11px' src='../images/loading.gif'>";
		
		var requestUrl = "TickerData.aspx?Exchg="+ Exchg +"&IpTrack="+ window.location.hostname +"&timeStamp="+new Date().getTime();		
		
		if(XmlHttp)	{
					XmlHttp.onreadystatechange = function(){getDataResponse(Exchg);};
					XmlHttp.open("GET", requestUrl,  true);
					XmlHttp.send(null);
				}
	}
	
	//Called when response comes back from server Only For Ticker
function getDataResponse(Exchg)
{	
	// To make sure receiving response data from server is completed
	if(XmlHttp.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttp.status == 200)
		{			
			var arrCol,Time,Code,CompName,ClPrice,DiffVal,DiffImg;
			var ExchgDet="",stkDet="";
			var MarqueeId = document.getElementById("MarqueeId");
			var Mq_Data = XmlHttp.responseText;
			
			if(Mq_Data != "")
			var arrRow = Mq_Data.split("|");
		
				for(i=0; i<arrRow.length-1; i++)
				 {
					arrCol = arrRow[i].split("~");
						CompName = arrCol[1];
						ClPrice  = arrCol[2];
						DiffVal  = arrCol[3];
						if(DiffVal>0) 
						{
							clss = "<span class='TickerGreen'>"
						}
						else if(DiffVal<0) 
						{
							clss = "<span class='TickerRed'>"
						}
						else 
						{
							clss = "<span class='TickerGreen'>"													
						}
						
						if(i==0)
							ExchgDet = arrCol[0] +" &nbsp;"+ CompName +"&nbsp; "+ ClPrice +"&nbsp;" + clss +"("+ DiffVal+")</span> &nbsp;&nbsp;&nbsp;";
						else 							
							stkDet +="<a target=_parent href='../CompanyProfile/CompanyInner.aspx?id=1&cocode="+arrCol[0]+"' class=linktxt4>" + CompName +"</a>&nbsp; "+ ClPrice +"&nbsp"+ clss +"("+ DiffVal+")</span>  &nbsp;&nbsp;&nbsp;";
				}
				if (Exchg=="BSE")
					Exchgdata="BSE Data - www.bseindia.com (15 minutes delayed) syndicated by www.cmots.com";
				else
					Exchgdata="";
			
				if(browser.isIE)
					MarqueeId.innerHTML = "<marquee onmouseover='this.stop();' id='marq' onmouseout='this.start();' trueSpeed scrollAmount='2' scrollDelay='35' direction='left' loop='repeat' width='100%'>" + ExchgDet + stkDet + Exchgdata + "</marquee>";
				else
				{
					MarqueeId.innerHTML = ExchgDet + stkDet + Exchgdata;	
					 
				}
				document.body.style.cursor = "auto";
				ExchngTimeClock(Exchg);
		}
		else
			MarqueeId.innerHTML = "<img height='11px' width='11px' src='../images/loading.gif'>";
	}
}


/*Compnay Profile function start here*/

function Empty3(ObjId)
{
	if (ObjId.value == "Enter Company Name")
		ObjId.value = "";
}
function Fill3(ObjId)
{
	if (ObjId.value == "")
		ObjId.value ="Enter Company Name";
}
function FunKeySubmit3(QuoteTxt)
{
	if (QuoteTxt.value == "Enter Company Name")	
	{
		QuoteTxt.value = "";
		QuoteTxt.value = String.fromCharCode(event.keyCode);
		return false;
	}
	else if(event.keyCode==13)
	{	
		SearchText('<%=txtCompanyName.ClientID %>','<%=ddlPage.ClientID%>');
		return false;
	}
}	


function SearchText(txtCNameId,ddlPageId)
{
    
    
    var strCompany= document.getElementById(txtCNameId);
    var iPageFilter= document.getElementById(ddlPageId).value;

	if ((strCompany.value == "")||(strCompany.value=="Enter Company Name"))
		{
		alert("Enter few characters to search");
		strCompany.value = "";
		
		strCompany.focus();
		return false;
		}	
	else
	{
	
		var StrUrl = "../CompanyProfile/CompanySearch.aspx?schtxt="+strCompany.value+"&id="+iPageFilter+"&filter="+iPageFilter;
		
       document.location =StrUrl;
       
	}
	return true;
    
}

function ChangeStyle(val)
	{
	    document.getElementById("ODay").className="NormalTxt Cursorhand";
	    document.getElementById("Fday").className="NormalTxt Cursorhand";
	    document.getElementById("Tmon").className="NormalTxt Cursorhand";
	    document.getElementById("Oyear").className="NormalTxt Cursorhand";
	    document.getElementById("Fyears").className="NormalTxt Cursorhand";
	    document.getElementById(val).className="PurpleText";
	    
	     document.getElementById("ODay").style.cursor="Pointer";
	    document.getElementById("Fday").style.cursor="Pointer";
	    document.getElementById("Tmon").style.cursor="Pointer";
	    document.getElementById("Oyear").style.cursor="Pointer";
	    document.getElementById("Fyears").style.cursor="Pointer";
	    document.getElementById(val).style.cursor="Default";
	} 

function ChangeImage(val,code,EXCHG)
{
	var PriceImage = document.getElementById("PriceImage");
	if(val=="1D")
	{	
	    PriceImage.src = "../CompanyProfile/PriceChart.aspx?EXCHG="+EXCHG+"&period=1D&code="+code;
	    ChangeStyle('ODay');
	}
	else if(val=="5D")	
	{
	    PriceImage.src = "../CompanyProfile/PriceChart.aspx?EXCHG="+EXCHG+"&period=5D&code="+code;
	    ChangeStyle('Fday');
	}
	else if(val=="3M")	
	{
	    PriceImage.src = "../CompanyProfile/PriceChart.aspx?EXCHG="+EXCHG+"&period=3M&code="+code;
	    ChangeStyle('Tmon');
	}
	else if(val=="1Y")	
	{
	    PriceImage.src = "../CompanyProfile/PriceChart.aspx?EXCHG="+EXCHG+"&period=1Y&code="+code;
	    ChangeStyle('Oyear');
	}
	else if(val=="5Y")	
	{
	    PriceImage.src = "../CompanyProfile/PriceChart.aspx?EXCHG="+EXCHG+"&period=5Y&code="+code;
	    ChangeStyle('Fyears');
	}
}


function Reckoner(url,opt,title)
{
    window.scroll(0,0);
	var Win;
	Win = document.getElementById("cm_window2").style.display='inline';

	var currentDivObj,currentTitle
	currentTitle = document.getElementById("Title");

	if(opt=="in")
	{
		currentDivObj = document.getElementById("NLIDetails");
		currentDivObj.innerHTML ="<table cellspacing=0 cellpadding=0 height=140px align='center'><tr><td><img src=../images/loading.gif ></td></tr></table>";
	}
	
	CreateXmlHttp();
	document.body.style.cursor = "progress";
	var requestUrl = url;

	if(XmlHttp)
	{
		XmlHttp.onreadystatechange = function(){NLIDetails(opt);};
		XmlHttp.open("GET", requestUrl,  true);
		XmlHttp.send(null);
	}   
}

function NLIDetails(opt)
{
	// To make sure receiving response data from server is completed
	//alert(XmlHttp.readyState)
	if(XmlHttp.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		//alert(XmlHttp.responseText)
		if(XmlHttp.status == 200)
		{
			if(opt=="in")
			{
				document.getElementById("NLIDetails").innerHTML = XmlHttp.responseText;				
				document.body.style.cursor = "auto";
			}
		}
		else
		{
			if(opt=="in")
			{
				document.getElementById("NLIDetails").innerHTML = "<img src='../images/loading.gif'>";
		    }
		}

	}
}
