var XmlHttpFO;
//Creating object of XMLHTTP For AJAX Method
//Creating object of XMLHTTP For AJAX Method
function CreateXmlHttpNew()
{ 
		//Creating object of XMLHTTP in IE
		try
		{
			XmlHttpFO = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				XmlHttpFO = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch(oc)
			{
				XmlHttpFO = null;	
			}
		}
		//Creating object of XMLHTTP in Mozilla and Safari 
		if(!XmlHttpFO && typeof XMLHttpRequest != "undefined") 
		{
			XmlHttpFO = new XMLHttpRequest();
		}
}
	
function Get_Symbol(InstName)
{ 
	var InstName = document.getElementById('ctl00_ContentPlaceHolder1_DForm_InstrumentType'); 		
 	var Symbol = document.getElementById("Symbol");
 	var OptionType = document.getElementById("OptionType");
 	var StrikePrice = document.getElementById("StrikePrice");
	if(InstName.value=="OPTIDX")
	{
		OptionType.options[1] = new Option();
		OptionType.options[1].value="PE";
		OptionType.options[1].text="PE";
		OptionType.options[2] = new Option();
		OptionType.options[2].value="CE";
		OptionType.options[2].text="CE";
	}
	else if(InstName.value=="OPTSTK")
	{
		OptionType.options[1] = new Option();
		OptionType.options[1].value="PA";
		OptionType.options[1].text="PA";
		OptionType.options[2] = new Option();
		OptionType.options[2].value="CA";
		OptionType.options[2].text="CA";
	}
	else
	{
		OptionType.length = 0;
		OptionType.options[0] = new Option();
		OptionType.options[0].value="";
		OptionType.options[0].text="Select Option Type";
		
		StrikePrice.length = 0;
		StrikePrice.options[0] = new Option();
		StrikePrice.options[0].value="";
		StrikePrice.options[0].text="Select Strike Price";
	}			
	CreateXmlHttpNew();	
	document.body.style.cursor = "progress";
	var requestUrl = "FO_Symbol.aspx?timeStamp="+ new Date().getTime() +"&InstName="+InstName.value;	
	if(XmlHttpFO)	{
				XmlHttpFO.onreadystatechange = function(){getSymbolResp(Symbol)};
				XmlHttpFO.open("GET", requestUrl,  true);
				XmlHttpFO.send(null);
			}	
			
 }
 //Called when response comes back from server Only For Symbol
function getSymbolResp(ig_)
{
	// To make sure receiving response data from server is completed
	if(XmlHttpFO.readyState == 4)
	{		
		// To make sure valid response is received from the server, 200 means response received is OK
		
		if(XmlHttpFO.status == 200)
		{	
			var strData = XmlHttpFO.responseText			
			if(strData != "") {				    
				var arrSchm = strData.split("|");
				ig_.length = 0; 					
				for(i=0; i<arrSchm.length-1; i++) {									
					var strSchm = arrSchm[i];
					var arrSchmCode = strSchm.split("~");					
					ig_.options[i] = new Option();					
					ig_.options[i].value = arrSchmCode[0];
					ig_.options[i].text = arrSchmCode[1];
				}				
			}
			else {
					ig_.length = 0;
					ig_.options[0] = new Option(); 
					ig_.options[0].value = "";
					ig_.options[0].text = "Symbol not available";			
			}
			document.body.style.cursor = "auto";	
		}
		else {
					ig_.length = 0;
					ig_.options[0] = new Option(); 
					ig_.options[0].value = "";
					ig_.options[0].text = "server is not ready";
					document.body.style.cursor = "auto";		
		}
	}
}
 function Get_ExpDate()
 { 
	var InstName = document.getElementById('ctl00_ContentPlaceHolder1_DForm_InstrumentType'); 		
 	var Symbol = document.getElementById("Symbol");
 	var ExpiryDate = document.getElementById("ExpiryDate");
 	
 	Symbol=Symbol.value;
 	Symbol=Symbol.replace('&','*');
 			
	CreateXmlHttpNew();
	document.body.style.cursor = "progress";
	var requestUrl = "FO_ExpDate.aspx?timeStamp="+ new Date().getTime() +"&InstName="+InstName.value +"&Symbol="+Symbol;		
	if(XmlHttpFO)	{
				XmlHttpFO.onreadystatechange = function(){getDateResp(ExpiryDate)};
				XmlHttpFO.open("GET", requestUrl,  true);
				XmlHttpFO.send(null);
			}
		
 }
 //Called when response comes back from server Only For Symbol
function getDateResp(ig_)
{
	// To make sure receiving response data from server is completed
	if(XmlHttpFO.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttpFO.status == 200)
		{			
			var strData = XmlHttpFO.responseText
			if(strData != "") {	
				var arrSchm = strData.split("|");
				ig_.length = 0; 	
				for(i=0; i<arrSchm.length-1; i++) {	
					var strSchm = arrSchm[i];
					var arrSchmCode = strSchm.split("~");
					ig_.options[i] = new Option();
					ig_.options[i].value = arrSchmCode[0];
					ig_.options[i].text = arrSchmCode[1];
				}
			}
			else {
					ig_.length = 0;
					ig_.options[0] = new Option(); 
					ig_.options[0].value = "";
					ig_.options[0].text = "Date not available";			
			}
			document.body.style.cursor = "auto";	
		}
		else {
					ig_.length = 0;
					ig_.options[0] = new Option(); 
					ig_.options[0].value = "";
					ig_.options[0].text = "server is not ready";
					document.body.style.cursor = "auto";		
		}
	}
}
function Get_StrikePrice()
 {	
		var InstName = document.getElementById('ctl00_ContentPlaceHolder1_DForm_InstrumentType');
 		var Symbol = document.getElementById("Symbol");
 		var ExpiryDate = document.getElementById("ExpiryDate");
 		var OptionType = document.getElementById("OptionType");
 		var StrikePrice = document.getElementById("StrikePrice"); 
 		
 		Symbol=Symbol.value;
 		Symbol=Symbol.replace('&','*');
 			
		CreateXmlHttpNew();
		document.body.style.cursor = "progress";
		var requestUrl = "FO_StrikePrice.aspx?timeStamp="+ new Date().getTime() +"&InstName="+InstName.value +"&Symbol="+Symbol+"&ExpDate="+ExpiryDate.value+"&OptionType="+OptionType.value;
	   		
		if(XmlHttpFO)	{
					XmlHttpFO.onreadystatechange = function(){Get_StrikePriceResp(StrikePrice)};
					XmlHttpFO.open("GET", requestUrl,  true);
					XmlHttpFO.send(null);
				}				
		
 }
 //Called when response comes back from server Only For Strike Price
function Get_StrikePriceResp(ig_)
{
	// To make sure receiving response data from server is completed
	if(XmlHttpFO.readyState == 4)
	{	
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttpFO.status == 200)
		{
			var strData = XmlHttpFO.responseText;			
			if(strData != "") {	
			    
				var arrPrice = strData.split("|");
				ig_.length = 0; 	
				
				for(i=0; i<arrPrice.length-1; i++) {	
								
					var strPrice = arrPrice[i];
					var arrPriceCode = strPrice.split("~");
					
					ig_.options[i] = new Option();
					
					ig_.options[i].value = arrPriceCode[0];
					ig_.options[i].text = arrPriceCode[1];
				}
				
			}
			else {
					ig_.length = 0;
					ig_.options[0] = new Option(); 
					ig_.options[0].value = "";
					ig_.options[0].text = "Price not available";			
			}
			document.body.style.cursor = "auto";	
		}
		else {
					ig_.length = 0;
					ig_.options[0] = new Option(); 
					ig_.options[0].value = "";
					ig_.options[0].text = "server is not ready";
					document.body.style.cursor = "auto";		
		}
	}
} 

function ValidateForm(Val)
{
    //alert("ok");
	var InstType = document.getElementById('ctl00_ContentPlaceHolder1_DForm_InstrumentType');
	var Symbol   = document.getElementById("Symbol");
	var ExpDate  = document.getElementById("ExpiryDate");
	var OptType  = document.getElementById("OptionType");
	var StkPrice = document.getElementById("StrikePrice"); 
	
	    Symbol = Symbol.value;
 	 	Symbol = Symbol.replace('&','*');
 	 	
		if(InstType.value=="")
		{
			 alert("Please select the Instrument Type before you proceed")
			 return false;
		}
		else if((InstType.value=="OPTIDX")||(InstType.value=="OPTSTK"))
		{
			
			if(Symbol=="Select Symbol" || Symbol=="")	
			{
				 alert("Please select Symbol before you proceed")
				 return false;
			}
			else if(ExpDate.value=="Select Expiry Date" || ExpDate.value=="")
			{
				 alert("Please select Expiry before you proceed")
				 return false;
			}	
			else if(OptType.value=="" || OptType.value=="Select Option Type")
			{
				 alert("Please select Option Type before you proceed")
				 return false;
			}
			else if(StkPrice.value=="Select Strike Price"||StkPrice.value=="")
			{
				 alert("Please select Price before you proceed")
				 return false;
			}					
		}
		else 
		{
			if(Symbol=="Select Symbol" || Symbol=="")	
			{
				alert("Please select Symbol before you proceed")
				return false;
			}
			else if(ExpDate.value=="Select Expiry Date" || ExpDate.value=="")
			{
				alert("Please select Price before you proceed")
				return false;
			}				
		}
		var url=InstType.value+"|"+Symbol+"|"+ExpDate.value+"|"+OptType.value+"|"+StkPrice.value;
//		var url="InstType="+InstType.value+"&Symbol="+Symbol+"&ExpDate="+ExpDate.value+"&OptType="+OptType.value+"&StkPrice="+StkPrice.value+"";
//	    var FOQuotesTbl = document.getElementById("FOQuotesTbl");
//		alert(FOQuotesTbl)
		
			window.location="DerivativeInnerPage.aspx?id=71&url="+url;
		
		
}
function GetUrlHome()
{
	var strurl=window.location.search;
	if(strurl!="?id=1311&menu=7&smenu=13")
	{
		strurl=strurl.substring(29);				
		getFOQuotes(strurl);	
	}
}
//For Loading Data from FOQuotesData.aspx Using AJAX
function getFOQuotes(strUrl)
	{		
		var FOQuotesTbl = document.getElementById("FOQuotesTbl");
		if(FOQuotesTbl.style.display=="none")FOQuotesTbl.style.display = "inline";
		document.FOPChartImg.src="FOpriceChart.aspx?"+ strUrl;
		
		CreateXmlHttpNew();
		document.body.style.cursor = "progress";
		var requestUrl = "FO_QuotesData.aspx?IpTrack="+ window.location.hostname +"&timeStamp="+ new Date().getTime() +"&"+ strUrl;
		
		if(XmlHttpFO)	{
					XmlHttpFO.onreadystatechange = function(){getFODataResp()};
					XmlHttpFO.open("GET", requestUrl,  true);
					XmlHttpFO.send(null);
				}
	}
	
//Called when response comes back from server Only For FO Quotes Data Response
function getFODataResp()
{
	// To make sure receiving response data from server is completed
	if(XmlHttpFO.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttpFO.status == 200)
		{
			var FO_QuoteData = XmlHttpFO.responseText;
			if(FO_QuoteData != "") {
				var arrRow = FO_QuoteData.split("|");
				for(i=0; i<arrRow.length-1; i++)
				 {					
						document.getElementById("FO"+i).innerHTML = arrRow[i];
				 }
				document.body.style.cursor = "auto";
			}	
		}
	
	}
}

