var strContainer ="";
//var flag="desc";
var check=true
function CreateTable(placeHolder)
{

	if(flag=="asc")
	{
		flag="desc";
	}
	else
	{
		flag="asc";
	}

	strContainer = placeHolder;
	var strTableContent = "";

	//Create a table and row
	//Loop thru the colheads
	strTableContent += "<table width= '100%' border='0' cellspacing='0' cellpadding='0' class='datatable'>";
	strTableContent += "<tr  align='center' >";


	for(i=0 ; i<arrColHead.length ; i++)
	{
	if(arrSort[i]=="N")
		{
		 var str1= arrColHead[i] ;
		}
	else
		{
		var str1="<a href=\"javascript:Sort("+i+",'"+flag+"');\">"+ arrColHead[i] +"</a>";
		}

	strTableContent += "<td class='theader3' >"+str1+"</td>";
	}
	strTableContent += "</tr>";

	//Create 1st row
	//loop thru the data
	//For each row
	//Create row
	//Loop thru cols
	//For each col
	//Create the col and fill data
	for(i=0 ; i<arrData.length ; i++)
	{
		//check if the row should be displayed in bold
		//to do this.. check if the ticker exists in the row
		//and isBold set to true
		prefix = "";
		suffix = "";
		if(isBold)
		{
			arrString = arrData[i].join(",");
			if(arrString.indexOf(ticker)!=-1)
			{
				prefix = "<B>";
				suffix = "</B>";
			}

		}
		strTableContent += "<tr >";
		for(k=0 ; k<arrData[0].length ; k++)
		{
			//alert(arrData[i][k]);
			if ((arrData[i][k] == "--") || (arrData[i][k] == "-9,999,999,999.0"))
			{
				arrData[i][k] = "N/A";
			}

			strPrefixPostfix = arrColTags[k];
			arrPrefixPostfix = arrColTags[k].split('-');


			if(arrColType[k]=="num" && parseFloat(arrData[i][k]))
			{
				//arrData[i][k]=roundNumber(arrData[i][k]);

				if(check==true)
				{
					strarr=arrData[i][k].toString();
					if(strarr.charAt(0)=='-'&&strarr.charAt(1)==".")
					{
						strarr=strarr.replace('-','-0')
							arrData[i][k]=strarr;

					}
					else if(strarr.charAt(0)==".")
					{

						strarr=strarr.replace('.','0.')
							arrData[i][k]=strarr;

					}
				}

			}
			if(arrColType[k]=="num" && !(parseFloat(arrData[i][k])))
			{

				strData=arrData[i][k];
			}

			else if(arrPrefixPostfix!="")
			{

			strData = arrPrefixPostfix[0]+arrData[i][k]+arrPrefixPostfix[1];
			}


			if(arrColAvg[k]>0)
			{
			intAvg = arrColAvg[k];
			if(parseFloat(arrData[i][k])<parseFloat(intAvg))
				{

					strData += "<BR>Below Avg";
				}
				else if(parseFloat(arrData[i][k])>parseFloat(intAvg))
				{
					strData += "<BR>Above Avg";
				}
				else
				{
					if(arrData[i][k] != 'N/A')			// Ashis : chicking for blank data
						strData += "<BR>Average";
				}
				//alert(strData);


			}

				// Ashis : add class "tdata1" and "tdata2" for by color at 29/09/08
				if((i%2) == 0)
					tdClass = 'tdata1';
				else
					tdClass = 'tdata2';

				strTableContent += "<td width ='"+ arrColWidth[k]+"' align='"+ arrAlign[k]+"' class='"+tdClass+"' >"+prefix+strData+suffix+"</td>";

		}
		strTableContent += "</tr>";
	}
		strTableContent += "</table>";


		document.getElementById(strContainer).innerHTML= strTableContent;
}

function Sort(colno, direction)
{
	check =false
	setSortDetails(colno,direction);
	var colpart ="";
	var dirpart ="";
	var colnostring = "";
	var dirstring="";
	var up_arrow = "<img src='../images/blk_arw_up.gif' border='0' style='vertical-align: middle;' />";
	var down_arrow = "<img src='../images/blk_arw_dn.gif' border='0' style='vertical-align: middle;' />";
	for (i=0, il=arrColHead.length; i<il;i++)
	{
		arrColHead[i] = arrColHead[i].replace(/<img.*/, '');
	}

	if (direction == 'asc')
	{
		if (arrColType[colno]=='varchar')
		{
			newColHead = arrColHead[colno] + down_arrow;
		}
		else
		{
			newColHead = arrColHead[colno] + up_arrow;
		}
	}
	else if (direction == 'desc')
	{

		if (arrColType[colno]=='varchar')
		{
			newColHead = arrColHead[colno] + up_arrow;
		}
		else
		{
			newColHead = arrColHead[colno] + down_arrow;
		}
	}

	arrColHead[colno] = newColHead;
	if(blnMultiPage)
	{
		strLocation = this.location.toString();

		strQstring = window.location.search.substring(1)

		if(strQstring.length >0)
		{

			colpos=	strQstring.search('colno=')
				if(colpos!=-1)
				{
					lastcolpos=strQstring.substr(colpos).indexOf('&')
					if(lastcolpos==-1)
					{
						colprev=strQstring.substr(colpos)
					}
					else
					{
						colprev=strQstring.substr(colpos,lastcolpos)
					}
				newcol="colno="+colno;
				strLocation=strLocation.replace(colprev,newcol)
				}
				else
				{

				newcol='&colno='+colno
				strLocation=strLocation+newcol
				}

				dirpos=	strQstring.search('sortorder=')
				if(dirpos!=-1)
				{
				lastdirpos=strQstring.substr(dirpos).indexOf('&')
					if(lastdirpos==-1)
					{
						dirprev=strQstring.substr(dirpos)
					}
					else
					{
						dirprev=strQstring.substr(dirpos,lastdirpos)
					}
					newdir="sortorder="+direction;
					strLocation=strLocation.replace(dirprev,newdir)
				}
				else
				{
					newdir="&sortorder="+direction;
					strLocation=strLocation+newdir
				}
					this.location=strLocation;


		}
		else
		{
			this.location = strLocation +"?colno="+colno+"&sortorder="+direction;
		}
	}
	else
	{
	for(h=0;h<arrData.length;h++)
	{
		if(direction=='desc'&& arrColType[colno]=='num')
		{
			for(j=0;j<arrData.length; j++)
				for(k=1 ; k<arrColHead.length ; k++)
			{
				if(j<arrData.length-k )
					{
						//prev val
						if(parseFloat(arrData[j][colno]))
						{
							prevVal = parseFloat(arrData[j][colno]) ;
						}
						else
						{
							prevVal = 0;
						}

						//next value
						if(parseFloat(arrData[j+k][colno]))
						{
							nextVal = parseFloat(arrData[j+k][colno]);
						}
						else
						{
							nextVal = 0;
						}

						if(prevVal < nextVal)
						{
							var	temp= arrData[j+k]
							arrData[j+k]=arrData[j]
							arrData[j]=temp
						}
					}


			}
		}
		else if(direction=='desc' && arrColType[colno]=='varchar')
		{
			for(j=0;j<arrData.length; j++)
			{
				for(k=1 ; k<arrColHead.length ; k++)
				{
					if(j<arrData.length-k && (arrData[j][colno])<(arrData[j+k][colno]))
					{


						var	temp= arrData[j+k]
						arrData[j+k]=arrData[j]
						arrData[j]=temp
					}
				}

			}
		}
		else if(direction=='asc' && arrColType[colno]=='num')
		{
			for(j=0;j<arrData.length; j++)
			{
				for(k=1 ; k<arrColHead.length ; k++)
				{
					if(j<arrData.length-k )
					{
						//prev val
						if(parseFloat(arrData[j][colno]))
						{
							prevVal =parseFloat(arrData[j][colno]) ;;
						}
						else
						{
							prevVal = 0;
						}

						//next value
						if(parseFloat(arrData[j+k][colno]))
						{
							nextVal = parseFloat(arrData[j+k][colno]);
						}
						else
						{
							nextVal = 0;
						}

						if(prevVal > nextVal)
						{
							var	temp= arrData[j+k]
							arrData[j+k]=arrData[j]
							arrData[j]=temp
						}
					}
				}
			}
		}
		else if(direction=='asc' && arrColType[colno]=='varchar')
		{

			for(j=0;j<arrData.length; j++)
			{
				for(k=1 ; k<arrColHead.length ; k++)
				{
					if(j<arrData.length-k && (arrData[j][colno])>(arrData[j+k][colno]))
					{
						var	temp= arrData[j+k]
						arrData[j+k]=arrData[j]
						arrData[j]=temp
					}
				}
			}
		}
		else if(direction=='asc' && arrColType[colno]=='date')
		{
			for(j=0;j<arrData.length; j++)
			{
				for(k=1 ; k<arrColHead.length ; k++)
				{
					if(j<arrData.length-k)
					{
					var date1=Date.parse(arrData[j][colno]);
					var date2=Date.parse(arrData[j+k][colno]);
					 if (date1>date2)
						{

						var	temp= arrData[j+k]
						arrData[j+k]=arrData[j]
						arrData[j]=temp
					}
				}
				}
			}
		}
		else if(direction=='desc' && arrColType[colno]=='date')
		{

			for(j=0;j<arrData.length; j++)
			{
				for(k=1 ; k<arrColHead.length ; k++)
				{
					if(j<arrData.length-k)
					{
					var date1=Date.parse(arrData[j][colno]);
					var date2=Date.parse(arrData[j+k][colno]);
					if (date1 < date2)
						{

						var	temp= arrData[j+k]
						arrData[j+k]=arrData[j]
						arrData[j]=temp
					}
					}
				}
			}
		}
	}
}
	CreateTable(strContainer);
}

function roundNumber(rnum)
{
	var rlength = 1; // The number of decimal places to round to
	if (rnum > 8191 && rnum < 10485)
	{
		 rnum = rnum-5000;
		 var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
		 newnumber = newnumber+5000;
	}
	else
	{
		var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);

		// Ashis : add decimal point number 0 if round number change 2.01 to 2
		newnumber += '';
		newnumber1 = newnumber.split('.');

		if(parseInt(newnumber1[1]) > 0)
		{
			//alert("xxxxx");
		}
		else
		{
			if(String(rnum).indexOf(".") >= 0)
			{
				newnumber = newnumber+".0";
			}
		}
		///////////////////////////////////////////////////
	}

	return newnumber;
}