var sortdefault="ASC";
var sortdefault2="DESC";
var col_1=sortdefault;
var col_2=sortdefault;
var col_4=sortdefault2;
var col_5=sortdefault2;
var col_6=sortdefault;

var inddepCcy=0;
var indccyPair=1;
var indinvType=2;
var indinvAbbr=3;
var indpReturnPa2=4;
var indmReturnPa=5;
var indtenor=6;
var inddepCcyDesc=7;
var indccyPairDesc=8;
var indinvTypeDesc=9;
var indspotRate=10;
var indwidth=11;
var indminAmt=12;
var indtrigLvl=13;
var indtradeRngLow1=14;
var indtradeRngUpp1=15;
var indtradeRngLow2=16;
var indtradeRngUpp2=17;
var indtradeRngLow3=18;
var indtradeRngUpp3=19;
var inddailyFocus=20;
var indinvCode=21;
var indstartDate=22;
var indpReturnPa1=23;


//var indmReturnPa=5;
//var indtenor=6;
//var inddepCcyDesc=7;
//var indccyPairDesc=8;
//var indinvTypeDesc=9;
//var indspotRate=10;
//var indwidth=11;
//var indminAmt=12;
//var indtrigLvl=13;
//var indtradeRngLow1=14;
//var indtradeRngUpp1=15;
//var indtradeRngLow2=16;
//var indtradeRngUpp2=17;
//var indtradeRngLow3=18;
//var indtradeRngUpp3=19;
//var inddailyFocus=20;
//var indinvCode=21;
//var indstartDate=22;

var ccpairFilterNo = 3
var invTypeFilterNo = 4
var dcFilterNo = 4
var changed=false;

var cookieLife=1;
var noArrayText="No Relevant Data"; // ***Please change the text to more formal one 

/**
 * Sort 2 dimention array (data table)
 arrayToSort - the array you want to sort. 
 colIndex - which column you want to sort by. It’s 0 based. 
 sortType - sort by “number” or “string”. 
 sortDirection - sort by ascending(”ASC”) or descending(”DESC”) order. 
 */

function getOriginalArray()
{
	var returnArray;
	returnArray = cpi_data;
	
	return returnArray;
}

function changehandler()
{
	changed=true;
}

function sort2DArray(arrayToSort, colIndex, sortType, sortDirection){
  return arrayToSort.sort(
        function (a, b){
          switch(sortType){
            case "number":
              return sortDirection == "ASC" ? a[colIndex] - b[colIndex] : b[colIndex] - a[colIndex];
            case "string":
              return sortDirection == "ASC" ? a[colIndex] > b[colIndex] ? 1 : a[colIndex] < b[colIndex] ? -1 : 0
                                            : a[colIndex] > b[colIndex] ? -1 : a[colIndex] < b[colIndex] ? 1 : 0;
            default:
              return 0;
          }
        }
      );
}

function printHeader(dailyFocus) {
  var returnStr="";

  returnStr += "<table cellspacing='0' cellpadding='0' border='0' width='772' class='inputContent'>";

	if (dailyFocus=="Y") {
		returnStr += "<tr><td style='padding-top:7px;'><img src='com/images/cpi/focustitle.jpg' /></td></tr>";
	  returnStr += "<tr><td style='padding-left:2px;'>";
    returnStr += "<table cellspacing='0' cellpadding='0' border='0' width='769' class='inputContent' bgcolor='#EFF7FC'>";
  } else {
		returnStr += "<tr><td style='padding-top:7px;'><img src='com/images/cpi/searchresearchtitle.jpg' /></td></tr>";
	  returnStr += "<tr><td style='padding-left:3px;'>";
    returnStr += "<table cellspacing='0' cellpadding='0' border='0' width='767' class='inputContent'>";
  }
	returnStr += "<tr>";
	returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
	returnStr += "<td width='100'><img src='com/images/cpi/spacer.gif' width='100' height='1'/></td>";
	returnStr += "<td width='90'><img src='com/images/cpi/spacer.gif' width='90' height='1'/></td>";
	returnStr += "<td width='110'><img src='com/images/cpi/spacer.gif' width='110' height='1'/></td>";
	returnStr += "<td width='441'><img src='com/images/cpi/spacer.gif' width='441' height='1'/></td>";
	returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
	returnStr += "</tr>";
	
	returnStr += "<tr>";
	returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
	returnStr += "<td align='center' style='padding-top:7px'><b>Deposit CCY</b></td>";
	returnStr += "<td align='center' style='padding-top:7px'><b>Underlying Asset</b></td>";
	returnStr += "<td align='center' style='padding-top:7px'><b>Maturity Return</b></td>";
	returnStr += "<td align='center' style='padding-top:7px'><b>Deposit Details</b></td>";
	returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
	returnStr += "</tr>";
	
	returnStr += "<tr>";
	returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
	returnStr += "<td align='center' colspan='4'><img src='com/images/cpi/dottedlineresult.jpg'/></td>";
	returnStr += "<td width='1' bgcolor='#B3D0F2' style='padding-top:4px;'><img src='com/images/cpi/spacer.gif' width='1' height='4'/></td>";
	returnStr += "</tr>";

  return returnStr;
}

function printCPI(cpiData) {
  var returnStr="";

  var example = "";
  
  if (cpiData[indinvAbbr] == "BULE" || cpiData[indinvAbbr] == "BERE") {
    example = "#ex01";
  } else if (cpiData[indinvAbbr] == "BULA" || cpiData[indinvAbbr] == "BERA") {
    example = "#ex02";
  } else if (cpiData[indinvAbbr] == "RNGE") {
    example = "#ex03";
  } else if (cpiData[indinvAbbr] == "RNGA") {
    example = "#ex04";
  } else if (cpiData[indinvAbbr] == "RNGR") {
    example = "#ex05";
  } else if (cpiData[indinvAbbr] == "RNGD") {
    example = "#ex06";
  }
  
  //add by Rio Li(for Participation CPI)
  else if (cpiData[indinvAbbr] == "BULP" || cpiData[indinvAbbr] == "BULp" || cpiData[indinvAbbr] == "BERP" || cpiData[indinvAbbr] == "BERp") {
    example = "#ex07";
  }  

	returnStr += "<tr>";
	// column 1 Deposit CCY
	returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
	returnStr += "<td valign='middle' align='center' class='inputContentBig'><b>"+cpiData[inddepCcyDesc]+"</b></td>";
	
	// column 2 Underlying
	returnStr += "<td valign='middle' align='center' class='inputContentBig'><b>"+cpiData[indccyPairDesc]+"</b></td>";
	
	// column 3 Return
	returnStr += "<td valign='middle' align='center'>";
	returnStr += "<table cellspacing='0' cellpadding='0' border='0' class='inputContent'>";
		
		//add by Rio Li(for Participation CPI)
		if(cpiData[indinvAbbr] == "BULP" || cpiData[indinvAbbr] == "BULp" || cpiData[indinvAbbr] == "BERP" || cpiData[indinvAbbr] == "BERp")
		{

			returnStr += "<tr>";
				returnStr += "<td style='padding-top:10px;padding-bottom:2px;'>";
					returnStr += "<table cellspacing='0' cellpadding='0' width='100' bgcolor='#FEDAA8' class='inputContent'>";
						returnStr += "<tr><td><img src='com/images/cpi/daorgroundcorner3.gif'></td></tr>";
						returnStr += "<tr><td align='center'><b>" + cpiData[indpReturnPa1] + "% p.a.</b><br/><a href='javascript:openInfo(\"CPIInfo\", \"http://www.hangseng.com/hsb/eng/per/invs/eli/cpi/main.html"+example+"\");' style='color:#000000;'>Potential Return1</a></td></tr>";
						returnStr += "<tr><td><img src='com/images/cpi/daorgroundcorner4.gif'></td></tr>";
					returnStr += "</table>";
				returnStr += "</td>";
			returnStr += "</tr>";
			returnStr += "<tr>";
				returnStr += "<td style='padding-top:10px;padding-bottom:2px;'>";
					returnStr += "<table cellspacing='0' cellpadding='0' width='100' bgcolor='#FFC36D' class='inputContent'>";
						returnStr += "<tr><td><img src='com/images/cpi/daorgroundcorner1.gif'></td></tr>";
						returnStr += "<tr><td align='center'><b>" + cpiData[indpReturnPa2] + "% p.a.</b><br/><a href='javascript:openInfo(\"CPIInfo\", \"http://www.hangseng.com/hsb/eng/per/invs/eli/cpi/main.html"+example+"\");' style='color:#000000;'>Potential Return2</a></td></tr>";
						returnStr += "<tr><td><img src='com/images/cpi/daorgroundcorner2.gif'></td></tr>";
					returnStr += "</table>";
				returnStr += "</td>";
			returnStr += "</tr>";						
		}		//end of Participation CPI
		else	//for other CPI,exclude Participation CPI
		{		
			returnStr += "<tr>";
				returnStr += "<td style='padding-top:2px;'>";
						returnStr += "<table cellspacing='0' cellpadding='0' width='100' bgcolor='#FFC36D' class='inputContent'>";
							returnStr += "<tr><td><img src='com/images/cpi/daorgroundcorner1.gif'></td></tr>";
							returnStr += "<tr><td align='center'><b>" + cpiData[indpReturnPa1] + "% p.a.</b><br/><a href='javascript:openInfo(\"CPIInfo\", \"http://www.hangseng.com/hsb/eng/per/invs/eli/cpi/main.html"+example+"\");' style='color:#000000;'>Potential Return</a></td></tr>";
							returnStr += "<tr><td><img src='com/images/cpi/daorgroundcorner2.gif'></td></tr>";
						returnStr += "</table>";
			 
				returnStr += "</td>";
			returnStr += "</tr>";
		}
		returnStr += "<tr>";
			returnStr += "<td style='padding-top:10px;padding-bottom:2px;'>";
				returnStr += "<table cellspacing='0' cellpadding='0' width='100' bgcolor='#A6DE71' class='inputContent'>";
					returnStr += "<tr><td><img src='com/images/cpi/greenlowroundcorner1.gif'></td></tr>";
					returnStr += "<tr><td align='center'><b>" + cpiData[indmReturnPa] + "% p.a.</b><br/><a href='javascript:openInfo(\"CPIInfo\", \"http://www.hangseng.com/hsb/eng/per/invs/eli/cpi/main.html"+example+"\");' style='color:#000000;'>Minimum Return</a></td></tr>";
					returnStr += "<tr><td><img src='com/images/cpi/greenlowroundcorner2.gif'></td></tr>";
				returnStr += "</table>";
			returnStr += "</td>";
		returnStr += "</tr>";
	returnStr += "</table>";
	returnStr += "</td>";
	
	// column 4 Return
	returnStr += "<td valign='middle' align='center'>"
	returnStr += "<table cellspacing='0' cellpadding='0' border='0' width='441' class='inputContent'><tr><td class='investTypeDesc' align='center' style='padding-bottom:4px;'><a href='javascript:openInfo(\"CPIInfo\", \"http://www.hangseng.com/hsb/eng/per/invs/eli/cpi/main.html"+example+"\");' style='color:#2975C0;'>"+cpiData[indinvTypeDesc]+"</a></td></tr>"; 
		returnStr += "<tr>"; 
			returnStr += "<td width='325' valign='top'>";
				returnStr += "<table cellspacing='0' cellpadding='0' border='0' width='325' class='inputContent'>"; 
				returnStr += "<tr>";
					returnStr += "<td valign='top'>";
						returnStr += "<table cellspacing='0' cellpadding='0' border='0' class='inputContent'>"; 
						if (cpiData[indtenor]!="")
						{
							returnStr += "<tr><td align='left'>Deposit Period:</td><td style='padding-right:4px;' align='right'>"+cpiData[indtenor]+" months</td></tr>";
						}
						if (cpiData[indinvType]=="BUL" || cpiData[indinvType]=="BER") {
												
							if (cpiData[indinvAbbr] == "BULP" || cpiData[indinvAbbr] == "BERP"){
							
								returnStr += "<tr><td align='left' valign='top'>Trigger Level:</td><td style='padding-right:4px;' align='right'>"+cpiData[indtrigLvl]+"</td></tr>";
							}
							else if(cpiData[indinvAbbr] == "BULp" ||cpiData[indinvAbbr] == "BERp"){
								returnStr += "<tr><td align='left' valign='top'>Trigger Level:</td><td style='padding-right:4px;' align='right'>"+cpiData[indtrigLvl]+"% of Initial Exchange Rate</td></tr>";
							}
							else{
								returnStr += "<tr><td align='left' valign='top'>Trigger Level:</td><td style='padding-right:4px;' align='right'>"+cpiData[indtrigLvl]+"</td></tr>";
							}						
												
						} else if (cpiData[indinvType]=="RNG") {
						  if (cpiData[indinvAbbr]=="RNGR") {
							  returnStr += "<tr><td align='left' valign='top'>Ini. Trading Range:</td><td style='padding-right:4px;' align='right'>"+cpiData[indtradeRngLow1]+" - "+cpiData[indtradeRngUpp1]+"</td></tr>";
							} else {
							  returnStr += "<tr><td align='left' valign='top'>Trading Range:</td><td style='padding-right:4px;' align='right'>"+cpiData[indtradeRngLow1]+" - "+cpiData[indtradeRngUpp1]+"</td></tr>";
							}
						}
						
						if (cpiData[indtradeRngLow2]!="NaN")
						{
							returnStr += "<tr><td align='left' valign='top'>Trading Range 1:</td><td style='padding-right:4px;' align='right'>"+cpiData[indtradeRngLow2]+" - "+cpiData[indtradeRngUpp2]+"</td></tr>";
						}
						if (cpiData[indtradeRngLow3]!="NaN")
						{
							returnStr += "<tr><td align='left' valign='top'>Trading Range 2:</td><td style='padding-right:4px;' align='right'>"+cpiData[indtradeRngLow3]+" - "+cpiData[indtradeRngUpp3]+"</td></tr>";
						}
						returnStr += "<tr><td><img src='com/images/cpi/spacer.gif' width='105' height='1'/></td><td><img src='com/images/cpi/spacer.gif' width='65' height='1'/></td></tr>";
						returnStr += "</table>";
					returnStr += "</td>";
					returnStr += "<td width='10' style='background-image: url(com/images/cpi/verticaldottedline.gif); background-repeat: repeat-y; background-position: top left;'><img src='com/images/cpi/spacer.gif' width='5' height='1'/></td>"
					returnStr += "<td valign='top'>";
						returnStr += "<table cellspacing='0' cellpadding='0' border='0' class='inputContent'>"; 
						if (cpiData[indspotRate]!="")
						{
							returnStr += "<tr><td>Spot:</td><td style='padding-left:4px;' align='right'>"+cpiData[indspotRate]+"</td></tr>";
						}
						if (cpiData[indinvType]=="RNG" && cpiData[indwidth]!="NaN")
						{
							var widthDesc="";
							if (cpiData[indccyPair] != "Gold") {
								widthDesc= "(bps – <br/>each range)";
							}
							returnStr += "<tr><td>Width*" + widthDesc + ":</td><td style='padding-left:4px;' align='right' valign='bottom'>"+cpiData[indwidth]+"</td></tr>";
						}
						if (cpiData[indinvType]!="RNG" && cpiData[indwidth]!="NaN")
						{
							var widthDesc="";
							if (cpiData[indccyPair] != "Gold") {
								widthDesc= "(bps)";
							}
							returnStr += "<tr><td>Width*"+widthDesc+":</td><td style='padding-left:4px;' align='right' valign='bottom'>"+cpiData[indwidth]+"</td></tr>";
						}
						if (cpiData[indminAmt]!="")
						{
							returnStr += "<tr><td>Min Amt:</td><td style='padding-left:4px;' align='right' valign='top'>"+cpiData[indminAmt]+"K</td></tr>";
						}
						
						returnStr += "<tr><td><img src='com/images/cpi/spacer.gif' width='90' height='1'/></td><td><img src='com/images/cpi/spacer.gif' width='55' height='1'/></td></tr>";
						returnStr += "</table>";
					returnStr += "</td>";
				returnStr += "</tr>";
				returnStr += "</table>";
			returnStr +="</td>"; 
			returnStr += "<td width='112' valign='top'>";
			returnStr += "<table cellspacing='0' cellpadding='0' border='0' width='112' class='inputContent'>";
				returnStr += "<tr>";
					returnStr += "<td class='chartText' align='center'><br/>Chart<br/><a href='getpage2.asp?app=EinvcCpiTrendChart&investcode="+cpiData[indinvCode]+"&startdate="+cpiData[indstartDate]+"&spot="+cpiData[indspotRate]+"'><img src='com/images/cpi/btchartresult.jpg' width='36' height='24' alt='Chart' border='0'/></td>";
					
					
					if(cpiData[indinvAbbr] == "BULP" || cpiData[indinvAbbr] == "BULp" || cpiData[indinvAbbr] == "BERP" || cpiData[indinvAbbr] == "BERp"){
						returnStr += "<td class='chartText' align='center'><br/>Calc<br/><a href='getpage2.asp?app=EinvcCpiCalculator&investcode="+cpiData[indinvCode]+"&startdate="+cpiData[indstartDate]+"&cpiflag=Y&spot="+cpiData[indspotRate]+"'><img src='com/images/cpi/btcalcresult.jpg' width='36' height='24' alt='Calculator' border='0'/></a></td>";						
					}
					else{
						returnStr += "<td class='chartText' align='center'><br/>Calc<br/><a href='getpage2.asp?app=EinvcCpiCalculator&investcode="+cpiData[indinvCode]+"&startdate="+cpiData[indstartDate]+"&cpiflag=N'><img src='com/images/cpi/btcalcresult.jpg' width='36' height='24' alt='Calculator' border='0'/></a></td>";
					}
					returnStr += "<td class='chartText' align='center'>Terms Sheet<br/><a href='javascript:openInfo(\"CPITerm\", \"http://eba.hangseng.com/eINVCDoc/servlet/EinvcCPIDocGetPDF?investcode="+cpiData[indinvCode]+"&startdate="+cpiData[indstartDate]+"\");'><img src='com/images/cpi/bttermsresult.jpg' width='36' height='24' alt='Terms Sheet' border='0'/></a></td>";
				returnStr += "</tr>";
				returnStr += "<tr><td colspan='3' align='center' style='padding-top:4px;'><a href=\"javascript:subscribeCPI('"+cpiData[indinvCode]+"','"+cpiData[indstartDate]+"');\"><img src='com/images/cpi/btsubscriberesult.jpg' width='112' height='31' alt='Subscribe' border='0' /></a></td></tr>";
			returnStr += "</table>";
	returnStr += "</td>";
	
		returnStr += "</tr>"; 
	returnStr += "</table>"; 
	returnStr += "</td>";
	returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";

  return returnStr;
}

function printRemarks() {
  var returnStr="";

	returnStr += "<tr><td style='text-align:justify;padding-top:8px;padding-left:8px;'><b><u>Risk Disclosure Statement</u></b><br/>";
	returnStr += "This Capital Protected Investment (CPI) Deposit is not and shall not be considered as normal time deposit or its substitute. Earnings on this CPI Deposit are limited to the Return payable. ";
	returnStr += "There is an inherent risk that only the Guaranteed Principal and Minimum Return shall be payable to investors on the Maturity Date of the CPI Deposit if market conditions operate against investors. ";
	returnStr += "This CPI Deposit cannot be withdrawn by investors prior to the Maturity Date without the Bank's prior consent. Investors will lose the guarantee on Principal and Return if the CPI Product is early withdrawn by the investors. ";
	returnStr += "Investors will also be liable for any taxes (if any) that may be incurred from investing in the CPI Deposit. The Factsheet of this CPI Deposit contains fuller risk disclosure statements relating to this CPI Deposit. ";
	returnStr += "However, potential investors should note that the risks disclosed may not be exhaustive and thus they should consider their own circumstances before making any decision. Potential investors should seek professional advice before placing the CPI Deposit if necessary.<br/>";
	returnStr += "The prices of gold and foreign exchange rate are volatile. Investors should recognize that the prices of gold and foreign exchange rate as well as the value of their investment may go down as well as up. This CPI Product does not involve physical delivery of gold.</td></tr>";

	returnStr += "<tr><td style='padding-top:8px;padding-left:8px;'>Remarks:<br/>*For bullish/bearish investment type, width is the difference between spot and trigger level.<br/>&#160;&#160;For range investment type, width is the width of the trading range/initial trading range.</td></tr>";

	returnStr += "<tr><td style='text-align:justify;padding-top:8px;padding-left:8px;'>Note:<br/>1. After setting up the deposit, customer is not allowed to amend, cancel or terminate the deposit before maturity date. (except amending settlement instruction).<br/>";
	returnStr += "2. Subscription of CPI Deposit will start at around 10:00am of each Business Day.<br/>";
	returnStr += "3. The above summary is for your reference only. Please read the relevant factsheet and termsheet of the Capital Protected Investment Deposit for the detailed terms.<br/>";
	returnStr += "4. Please refer to the “Holdings Enquiry” under the “Capital Protected Investment Deposits” in e-Banking for the details and launch result of CPI Deposit.</td></tr>";

  return returnStr;
}

function printDaily()
{
	
	var arrayData=checkAllFillter();
	
	var dailycounter = checkDailyFocus();
	
	
	if (dailycounter >0)
	{
		var returnStr="";
		
		returnStr += printHeader("Y");

		for (var i=0;i<arrayData.length;i++)
		{
			if (arrayData[i][inddailyFocus].toUpperCase()=="Y")
			{
				dailycounter--;

				returnStr += printCPI(arrayData[i]);
				
				if ( dailycounter != 0)
				{
					//dotted line
					returnStr += "<tr>";
					returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
					returnStr += "<td align='center' colspan='4'><img src='com/images/cpi/dottedlineresult.jpg'/></td>";
					returnStr += "<td width='1' bgcolor='#B3D0F2' style='padding-top:4px;'><img src='com/images/cpi/spacer.gif' width='1' height='4'/></td>";
					returnStr += "</tr>";
				}
			}
			
		}
		returnStr += "</table>";
		returnStr += "</td>";
		returnStr += "</tr>";
		returnStr += "<tr><td><img src='com/images/cpi/cpiroundcornerfocus.jpg' /></td></tr>";
		returnStr += "<tr><td style='padding-top:8px;'><img src='com/images/cpi/doubledottedline.jpg' /></td></tr>";
		returnStr += "</table>";
	
		document.getElementById("dailyFocus").innerHTML = returnStr;
		returnStr="";
	}	
}

function checkAllFillter()
{	var arrayData = getOriginalArray();
	var addArray = new Array();
	
	addArray = dcFilter(arrayData);
	addArray = ccPairFilter(addArray);
	addArray = investTypeFilter(addArray);
	addArray = tenorFilter(addArray);
	addArray = potenialReturnFilter(addArray);
	addArray = minimumReturnFilter(addArray);
	return addArray;
}

function onlyAny( _name , _total)
{
	for (var i=1;i<=_total;i++)
	{		
		itemToSwap = document.all[_name + i];
		if (itemToSwap.value != "ALL")
		{
			itemToSwap.checked=false;
		} 
		else if (!itemToSwap.checked) 
		{
			itemToSwap.checked=true;
		}
	}
	changed=true;
}

function noAny( _name , _total)
{
	var checkAny = false;
	var idxAll = 0;
	
	for (var i=1;i<=_total;i++)
	{		
		itemToSwap = document.all[_name + i];
		if (itemToSwap.value == "ALL")
		{
			idxAll = i
			itemToSwap.checked=false;
		}
	  else {
	  	checkAny = checkAny || itemToSwap.checked
	  }
	}
	
	if (!checkAny) 
	{
		document.all[_name + idxAll].checked=true;
	}
	
	changed=true;
}

function printSortedArray(_index,_type)
{
	
	var arrayData=checkAllFillter();
	
	if (_index == 1)
		{
			sort2DArray(arrayData,_index,_type,col_1);
		}
	if (_index == 2)
		{
			sort2DArray(arrayData,_index,_type,col_2);
		}
	if (_index == 4)
		{
			sort2DArray(arrayData,_index,_type,col_4);
		}
	if (_index == 5)
		{
			sort2DArray(arrayData,_index,_type,col_5);
		}
	if (_index == 6)
		{
			sort2DArray(arrayData,_index,_type,col_6);
		}
		
	
	
	var returnStr="";
	
  returnStr += printHeader("N");

	for (var i=0;i<arrayData.length;i++)
	{
	  returnStr += printCPI(arrayData[i]);
		
		if ( i != arrayData.length-1)
		{
			//dotted line
			returnStr += "<tr>";
			returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
			returnStr += "<td align='center' colspan='4'><img src='com/images/cpi/dottedlineresult.jpg'/></td>";
			returnStr += "<td width='1' bgcolor='#B3D0F2' style='padding-top:4px;'><img src='com/images/cpi/spacer.gif' width='1' height='4'/></td>";
			returnStr += "</tr>";
		}
		
	}

	if (arrayData.length==0) {
		returnStr += "<tr><td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
		returnStr += "<td style='padding-top:32px;padding-bottom:32px;' colspan='4' width='767' align='center'>" + noArrayText + "</td>";
		returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td></tr>";
	}

	returnStr += "</table>";
	returnStr += "</td>";
	returnStr += "</tr>";
	returnStr += "<tr><td><img src='com/images/cpi/searchresultcorner.jpg' /></td></tr>";
  returnStr += printRemarks();
	returnStr += "</table>";
	
	document.getElementById("indexTable").innerHTML = returnStr;
	returnStr="";
	
	if(_index != 0)
	{
		highlightSort(_index);
	}
	
	if (_index == 1)
		{
			if (col_1 == "ASC")
				{
					col_1="DESC";
					col_2="ASC";
					col_4="DESC";
					col_5="DESC";
					col_6="ASC";
				}
			else
				{
					col_1="ASC";
					col_2="ASC";
					col_4="DESC";
					col_5="DESC";
					col_6="ASC";
				}
			
			//alert(col_1);
		}
	if (_index == 2)
		{
			if (col_2 == "ASC")
				{
					col_2="DESC";
					col_1="ASC";
					col_4="DESC";
					col_5="DESC";
					col_6="ASC";
				}
			else
				{
					col_2="ASC";
					col_1="ASC";
					col_4="DESC";
					col_5="DESC";
					col_6="ASC";
				}
			
			//alert(col_2);
		}
	if (_index == 4)
		{
			if (col_4 == "ASC")
				{
					col_4="DESC";
					col_1="ASC";
					col_2="ASC";
					col_5="DESC";
					col_6="ASC";
				}
			else
				{
					col_4="ASC";
					col_1="ASC";
					col_2="ASC";
					col_5="DESC";
					col_6="ASC";
				}
			
			//alert(col_3);
		}
	if (_index == 5)
		{
			if (col_5 == "ASC")
				{
					col_5="DESC";
					col_1="ASC";
					col_2="ASC";
					col_4="DESC";
					col_6="ASC";
				}
			else
				{
					col_5="ASC";
					col_1="ASC";
					col_2="ASC";
					col_4="DESC";
					col_6="ASC";
				}
				
			//alert(col_4);
		}
	if (_index == 6)
		{
			if (col_6 == "ASC")
				{
					col_6="DESC";
					col_1="ASC";
					col_2="ASC";
					col_4="DESC";
					col_5="DESC";
				}
			else
				{
					col_6="ASC";
					col_1="ASC";
					col_2="ASC";
					col_4="DESC";
					col_5="DESC";
				}
				
			//alert(col_4);
		}
	
}

function printOnlyFilter()
{
	printSortedArray2(checkAllFillter());
}



function checkBoxClicked(_name, _arrayData, _pos)
{
	var filteredCpi_data = new Array();
	var count=0;
	
  	for (var i=0;i<_arrayData.length;i++)
  	{
  		if (_arrayData[i][_pos].indexOf(_name)>=0)
  		{
  			filteredCpi_data.unshift(_arrayData[i]);
 		}
  	}
	

	return filteredCpi_data;
}

function filteredArrayNum(_num, _arrayData, _pos)
{
	var filteredCpi_data = new Array();
		
  	for (var i=0;i<_arrayData.length;i++)
  	{
  		if ( parseInt(_num)  <=  parseInt(_arrayData[i][_pos]))
  		{
  			//alert(_arrayData[i][_pos]);
  			filteredCpi_data.unshift(_arrayData[i]);
 		}
  	}
	

	return filteredCpi_data;
}

function printSortedArray2(_dataArray)
{
	
	var filteredCpi_data = _dataArray;

	var returnStr="";
  returnStr += printHeader("N");

	if (filteredCpi_data.length > 0)
	{
		for (var i=0;i<filteredCpi_data.length;i++)
		{
			returnStr += printCPI(filteredCpi_data[i]);
			
			if ( i != filteredCpi_data.length-1)
			{
				//dotted line
				returnStr += "<tr>";
				returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
				returnStr += "<td align='center' colspan='4'><img src='com/images/cpi/dottedlineresult.jpg'/></td>";
				returnStr += "<td width='1' bgcolor='#B3D0F2' style='padding-top:4px;'><img src='com/images/cpi/spacer.gif' width='1' height='4'/></td>";
				returnStr += "</tr>";
			}
				
		}
		returnStr += "</table>";
		returnStr += "</td>";
		returnStr += "</tr>";
		returnStr += "<tr><td><img src='com/images/cpi/searchresultcorner.jpg' /></td></tr>";
    returnStr += printRemarks();
		returnStr += "</table>";
					
		document.getElementById("indexTable").innerHTML = returnStr;
		returnStr="";
	}
	else
	{
		if (getOriginalArray().length==0) {
		  disableFilter();
		  disableAll();
		  disableText();
  	}

		returnStr += "<tr><td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td>";
		returnStr += "<td style='padding-top:32px;padding-bottom:32px;' colspan='4' width='767' align='center'>" + noArrayText + "</td>";
		returnStr += "<td width='1' bgcolor='#B3D0F2'><img src='com/images/cpi/spacer.gif' width='1' height='1'/></td></tr>";
		returnStr += "</table>";
		returnStr += "</td>";
		returnStr += "</tr>";
		returnStr += "<tr><td><img src='com/images/cpi/searchresultcorner.jpg'/></td></tr>";
		returnStr += printRemarks();
		returnStr += "</table><img src='com/images/cpi/spacer.gif' width='1' height='100'>";
		document.getElementById("indexTable").innerHTML = returnStr;
	}
}

function disableFilter()
{
	itemToSwap = document.all["sortMenu"];
	itemToSwap.style.display ="none";
}

function dcFilter( _dataArray)
{	
	var addArray = new Array();
	var secArray = new Array();
	var checkChecked = false;
	var dcFilterCookiesVal ="";
	for (var i=1;i<=dcFilterNo;i++)
	{
		itemToSwap = document.all["filter" + i];
			if(itemToSwap.checked==true)
			{
				checkChecked = true;
				if (itemToSwap.value == "ALL")
				{
					secArray = getOriginalArray();
				}
				else
				{
					addArray = checkBoxClicked(itemToSwap.value, getOriginalArray() , 0); // filtering DC , index 0
					for (var j=0;j<addArray.length;j++)
					{
						secArray.unshift(addArray[j]);
					}
					
				}
				
				if (changed)
					writeCookie("dcFilter" + i , itemToSwap.value, cookieLife);
			}
			else
			{
				if (changed)
						writeCookie("dcFilter" + i , "", cookieLife);
			}
	}
	
	if (checkChecked == false)
		secArray=_dataArray;
	return secArray;
}

function ccPairFilter( _dataArray)
{	
	var addArray = new Array();
	var thirdArray = new Array();
	itemToSwapA = document.all["ccpair1"];
	ccpairCheckerA =itemToSwapA.options[itemToSwapA.selectedIndex].value;
	
	itemToSwapB = document.all["ccpair2"];
	ccpairCheckerB =itemToSwapB.options[itemToSwapB.selectedIndex].value;
	
	itemToSwapC = document.all["ccpair3"];
	ccpairCheckerC =itemToSwapC.options[itemToSwapC.selectedIndex].value;
	
	if (ccpairCheckerA != ccpairCheckerB && ccpairCheckerA != ccpairCheckerC && ccpairCheckerB != ccpairCheckerC)
		ccpairCase=1; //output A , B , C
	else if (ccpairCheckerA != ccpairCheckerB && ccpairCheckerB == ccpairCheckerC)
		ccpairCase=2; //output A , B
	else if (ccpairCheckerA == ccpairCheckerB && ccpairCheckerA != ccpairCheckerC && ccpairCheckerB!= ccpairCheckerC)
		ccpairCase=3; //output A , C
	else if (ccpairCheckerA == ccpairCheckerC && ccpairCheckerB != ccpairCheckerC && ccpairCheckerC!="ALL")
		ccpairCase=4; //output B , C
	else if (ccpairCheckerA == ccpairCheckerB && ccpairCheckerA == ccpairCheckerC)
		ccpairCase=5; //output A
	
	if (ccpairCheckerA == "ALL" && ccpairCheckerB != "ALL" && ccpairCheckerC == "ALL")
		ccpairCase=6; //output B
	
	if (ccpairCheckerA == "ALL" && ccpairCheckerB == "ALL" && ccpairCheckerC == "ALL")
		ccpairCase=10; //output ALL
	
	
	//alert(ccpairCase);
	
	switch(ccpairCase)
	{
		case 1:
			  for (var k=1;k<=3;k++)
				{
					itemToSwap = document.all["ccpair" + k];
					var filterValue=itemToSwap.options[itemToSwap.selectedIndex].value;
					addArray = checkBoxClicked(filterValue, _dataArray , 1); // filtering CC Pair , index 1
					for (var l=0;l<addArray.length;l++)
					{
						thirdArray.unshift(addArray[l]);
					}
				}
			  break    
		case 2:
			 for (var k=1;k<=2;k++)
				{
					itemToSwap = document.all["ccpair" + k];
					var filterValue=itemToSwap.options[itemToSwap.selectedIndex].value;
					addArray = checkBoxClicked(filterValue, _dataArray , 1); // filtering CC Pair , index 1
					for (var l=0;l<addArray.length;l++)
					{
						thirdArray.unshift(addArray[l]);
					}
				}
			  break   
		 case 3:
		 	for (var k=1;k<=3;k++)
				{
					if (k!=2)
					{
						itemToSwap = document.all["ccpair" + k];
						var filterValue=itemToSwap.options[itemToSwap.selectedIndex].value;
						addArray = checkBoxClicked(filterValue, _dataArray , 1); // filtering CC Pair , index 1
						for (var l=0;l<addArray.length;l++)
						{
							thirdArray.unshift(addArray[l]);
						}
					}
				}
			  break  
		 case 4:
		 	for (var k=1;k<=3;k++)
				{
					if (k!=1)
					{
						itemToSwap = document.all["ccpair" + k];
						var filterValue=itemToSwap.options[itemToSwap.selectedIndex].value;
						addArray = checkBoxClicked(filterValue, secArray , 1); // filtering CC Pair , index 1
						for (var l=0;l<addArray.length;l++)
						{
							thirdArray.unshift(addArray[l]);
						}
					}
				}
			  break  
		 case 5:
			 	itemToSwap = document.all["ccpair1"];
				var filterValue=itemToSwap.options[itemToSwap.selectedIndex].value;
				addArray = checkBoxClicked(filterValue, _dataArray , 1); // filtering CC Pair , index 1
				for (var l=0;l<addArray.length;l++)
				{
					thirdArray.unshift(addArray[l]);
				}
				break  
		 case 6:
			 	itemToSwap = document.all["ccpair2"];
				var filterValue=itemToSwap.options[itemToSwap.selectedIndex].value;
				addArray = checkBoxClicked(filterValue, _dataArray , 1); // filtering CC Pair , index 1
				for (var l=0;l<addArray.length;l++)
				{
					thirdArray.unshift(addArray[l]);
				}
				break  
		case 10:
			 	thirdArray = _dataArray ;
				break  
		}
		
		if (changed)
			{
				itemToSwapCC1 = document.all["ccpair1"];
				var selectedOne =itemToSwapCC1.selectedIndex;
				writeCookie("ccpair1", selectedOne , cookieLife);
				
				itemToSwapCC2 = document.all["ccpair2"];
				selectedOne =itemToSwapCC2.selectedIndex;
				writeCookie("ccpair2", selectedOne , cookieLife);
				
				itemToSwapCC3 = document.all["ccpair3"];
				selectedOne =itemToSwapCC3.selectedIndex;
				writeCookie("ccpair3", selectedOne , cookieLife);
			}
		
	
	return thirdArray;
}

function investTypeFilter(_dataArray)
{
	var addArray = new Array();
	var fourthArray = new Array();
	var checkChecked = false;
	for (var m=1;m<=invTypeFilterNo;m++)
	{
		itemToSwap = document.all["investType" + m];
			if(itemToSwap.checked==true)
			{
				checkChecked = true;
				if (itemToSwap.value == "ALL")
				{
					fourthArray = _dataArray;
				}
				else
				{
					addArray = checkBoxClicked(itemToSwap.value, _dataArray , 2); // filtering Investment Type , index 2
					for (var n=0;n<addArray.length;n++)
					{
						fourthArray.unshift(addArray[n]);
					}
				}
				if (changed)
					writeCookie("investType" + m , itemToSwap.value, cookieLife);
			}
			else
			{
				if (changed)
						writeCookie("investType" + m , "", cookieLife);
			}
	}
	
	if (checkChecked == false)
		fourthArray = _dataArray;
	
	return fourthArray;
}

function tenorFilter( _dataArray)
{
	var addArray = new Array();
	var secArray = new Array();
	var tensorChecker;
	itemToSwap = document.all["tenor"];
	tensorChecker =itemToSwap.options[itemToSwap.selectedIndex].value;
	//alert(tensorChecker);
	if (tensorChecker == "ALL")	
	{
		secArray = _dataArray;
	}
	else
	{
		addArray = checkBoxClicked(tensorChecker, _dataArray , 6); // filtering Tenor , index 6
		for (var i=0;i<addArray.length;i++)
		{
			secArray.unshift(addArray[i]);
		}
	}
	
	if (changed)
	{
		itemToSwapCC1 = document.all["tenor"];
		var selectedOne =itemToSwapCC1.selectedIndex;
		writeCookie("tenor", selectedOne , cookieLife);
	}

	return secArray;
}


function potenialReturnFilter( _dataArray)
{
	var addArray = new Array();
	var secArray = new Array();
	var prChecker;
	itemToSwap = document.all["potenialReturn"];
	prChecker=itemToSwap.options[itemToSwap.selectedIndex].value;
	//alert(prChecker);
	if (prChecker == "ALL")	
	{
		secArray = _dataArray;
	}
	else
	{
		addArray = filteredArrayNum(prChecker, _dataArray , 4); // filtering Potential Return, index 4
		for (var i=0;i<addArray.length;i++)
		{
			secArray.unshift(addArray[i]);
		}
	}

	if (changed)
	{
		itemToSwapCC1 = document.all["potenialReturn"];
		var selectedOne =itemToSwapCC1.selectedIndex;
		writeCookie("potenialReturn", selectedOne , cookieLife);
	}
	
	return secArray;
}

function minimumReturnFilter( _dataArray)
{
	var addArray = new Array();
	var secArray = new Array();
	var mrChecker;
	itemToSwap = document.all["minimumReturn"];
	mrChecker=itemToSwap.options[itemToSwap.selectedIndex].value;
	//alert(prChecker);
	if (mrChecker == "ALL")	
	{
		secArray = _dataArray;
	}
	else
	{
		addArray = filteredArrayNum(mrChecker, _dataArray , 5); // filtering minimum Return, index 5
		for (var i=0;i<addArray.length;i++)
		{
			secArray.unshift(addArray[i]);
		}
	}
	
	if (changed)
	{
		itemToSwapCC1 = document.all["minimumReturn"];
		var selectedOne =itemToSwapCC1.selectedIndex;
		writeCookie("minimumReturn", selectedOne , cookieLife);
	}

	return secArray;
}

function highlightSort(_index)
{
	unhighlightAll();
	var hightlight= eval("col_"+_index);
	
	if (hightlight=="ASC")
	{
		itemToSwap = document.all["sortAsc_" + _index];
		itemToSwap.src="com/images/cpi/btaccessendingon.jpg"
		itemToSwap2 = document.all["sortText_" + _index];
		itemToSwap2.className="sortMenuBoxHightlight";
	}
	else
	{
		itemToSwap = document.all["sortDesc_" + _index];
		itemToSwap.src="com/images/cpi/btdecesendingon.jpg"
		itemToSwap2 = document.all["sortText_" + _index];
		itemToSwap2.className="sortMenuBoxHightlight";
	}
	
}

function unhighlightAll()
{
	var _sortIndex=new Array(1,2,4,5,6);
	
	for (var i=0;i<_sortIndex.length;i++)
	{
		//alert("sortAsc_" + _sortIndex[i]);
		itemToSwap = document.all["sortAsc_" + _sortIndex[i]];
		itemToSwap.src="com/images/cpi/btaccessendingoff.jpg";
	}
	
	for (var i=0;i<_sortIndex.length;i++)
	{
		itemToSwap = document.all["sortDesc_" + _sortIndex[i]];
		itemToSwap.src="com/images/cpi/btdecesendingoff.jpg";
	}
	
	for (var i=0;i<_sortIndex.length;i++)
	{
		itemToSwap = document.all["sortText_" + _sortIndex[i]];
		itemToSwap.className="sortMenuBoxDis";
	}
}

function checkDailyFocus()
{
	var arrayData=checkAllFillter();
	var dailyFocus=0;
	for (var i=0;i<arrayData.length;i++)
	{
		if (arrayData[i][inddailyFocus].toUpperCase() == "Y")
			dailyFocus++;
	}
	
	return dailyFocus;
}

function closeAndOpen(varID)
{
 	var itemToSwap = document.all[varID];
        //alert(itemToSwap.style.display);
        if(itemToSwap.style.display =="inline") 
        {
        	itemToSwap.style.display="none";
        	var itemToSwap2 = document.all[varID + "_pict"];
        	itemToSwap2.src="com/images/cpi/btplus.jpg";
        }
        else 
        {
		itemToSwap.style.display="inline";
		var itemToSwap2 = document.all[varID + "_pict"];
        	itemToSwap2.src="com/images/cpi/btn.jpg";
	}
} 

function onLoadCookie()
{
	var needDCCheckAll = true;
	var needTOICheckALL = true;
//	alert(document.cookie);
	//alert(readCookie("dcFilter1"));
	//alert(readCookie("dcFilter2"));
	//alert(readCookie("dcFilter3"));
	//alert(readCookie("ccpair1"));
	
	if (readCookie("dcFilter1") != "")
		{
			itemToSwap = document.all["filter1"];
			itemToSwap.checked="true";
			needDCCheckAll =false;
		}	
	if (readCookie("dcFilter2") != "")
		{
			itemToSwap = document.all["filter2"];
			itemToSwap.checked="true";
			needDCCheckAll =false;
		}	
	if (readCookie("dcFilter3") != "")
		{
			itemToSwap = document.all["filter3"];
			itemToSwap.checked="true";
			needDCCheckAll =false;
		}	
	if (readCookie("dcFilter4") != "" || needDCCheckAll ==true)
		{
			itemToSwap = document.all["filter4"];
			itemToSwap.checked="true";
		}
	
	
	if (readCookie("investType1") != "")
		{
			itemToSwap = document.all["investType1"];
			itemToSwap.checked="true";
			needTOICheckALL=false;
		}	
	if (readCookie("investType2") != "")
		{
			itemToSwap = document.all["investType2"];
			itemToSwap.checked="true";
			needTOICheckALL=false;
		}
	if (readCookie("investType3") != "")
		{
			itemToSwap = document.all["investType3"];
			itemToSwap.checked="true";
			needTOICheckALL=false;
		}
	if (readCookie("investType4") != "" || needTOICheckALL == true)
		{
			itemToSwap = document.all["investType4"];
			itemToSwap.checked="true";
		}
	
	if (readCookie("ccpair1") != "")
		{
			var selectedoption=0;
			selectedoption = readCookie("ccpair1");
			itemToSwap = document.all["ccpair1"];
			itemToSwap.options[selectedoption].selected=true;
		}
	if (readCookie("ccpair2") != "")
		{
			var selectedoption=0;
			selectedoption = readCookie("ccpair2");
			itemToSwap = document.all["ccpair2"];
			itemToSwap.options[selectedoption].selected=true;
		}
	if (readCookie("ccpair3") != "")
		{
			var selectedoption=0;
			selectedoption = readCookie("ccpair3");
			itemToSwap = document.all["ccpair3"];
			itemToSwap.options[selectedoption].selected=true;
		}
	if (readCookie("tenor") != "")
		{
			var selectedoption=0;
			selectedoption = readCookie("tenor");
			itemToSwap = document.all["tenor"];
			itemToSwap.options[selectedoption].selected=true;
		}
	if (readCookie("potenialReturn") != "")
		{
			var selectedoption=0;
			selectedoption = readCookie("potenialReturn");
			itemToSwap = document.all["potenialReturn"];
			itemToSwap.options[selectedoption].selected=true;
		}
	if (readCookie("minimumReturn") != "")
		{
			var selectedoption=0;
			selectedoption = readCookie("minimumReturn");
			itemToSwap = document.all["minimumReturn"];
			itemToSwap.options[selectedoption].selected=true;
		}
	
}


function disableAll()
{
	var itemToSwap ;
	itemToSwap = document.all["filter1"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["filter2"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["filter3"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["filter4"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["investType1"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["investType2"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["investType3"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["investType4"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["ccpair1"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["ccpair2"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["ccpair3"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["tenor"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["potenialReturn"];
	itemToSwap.disabled=true;
	itemToSwap = document.all["minimumReturn"];
	itemToSwap.disabled=true;	
}

function readCookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  { 
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}

function writeCookie(name, value, hours)
{
  var expire = "";
  if(hours != null)
  {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire;
}

function disableText()
{
	var totalDim = 12;
	for (var i=1; i<=totalDim;i++)
	{
		itemToSwap = document.all["disf" + i];	
		itemToSwap.className="disabledText";
	}	
}