		function LTrim(str)
		{
	    var whitespace = new String(" \t\n\r");
	    var s = new String(str);
		if (whitespace.indexOf(s.charAt(0)) != -1)
	    {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
        {
            j++;
        }
        s = s.substring(j, i);
	    }
		return s;
		}

		function RTrim(str)
		{
		var whitespace = new String(" \t\n\r");
		var s = new String(str);
		if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
		{
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
        {
            i--;
        }
        s = s.substring(0, i+1);
		}
		return s;
		}

		function Trim(str)
		{
		return RTrim(LTrim(str));	
		}
		
		function IsNumeric(sText)
		{
   		var ValidChars = "0123456789";
   		var IsNumber=true;
   		var Char; 
   		for (i = 0; i < sText.length && IsNumber == true; i++) 
      	{ 
      	Char = sText.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1) 
        {
        IsNumber = false;
        }
      	}
   		return IsNumber;
   		}
		
		function IsLINK(sText)
		{
   		var ValidChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";
   		var IsLINKs=true;
   		var Char; 
   		for (i = 0; i < sText.length && IsLINKs == true; i++) 
      	{ 
      	Char = sText.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1) 
        {
        IsLINKs = false;
        }
      	}
   		return IsLINKs;
   		}
		
		function IsDd(sText)
		{
   		var ValidChars = "0123456789.";
   		var IsLINKs=true;
   		var Char; 
   		for (i = 0; i < sText.length && IsLINKs == true; i++) 
      	{ 
      	Char = sText.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1) 
        {
        IsLINKs = false;
        }
      	}
   		return IsLINKs;
   		}
			
		
function isDate(DateToCheck){
if(DateToCheck==""){return true;}
var m_strDate = FormatDate(DateToCheck);
if(m_strDate==""){
return false;
}
var m_arrDate = m_strDate.split("/");
var m_DAY = m_arrDate[0];
var m_MONTH = m_arrDate[1];
var m_YEAR = m_arrDate[2];
if(m_YEAR.length > 4){return false;}
m_strDate = m_MONTH + "/" + m_DAY + "/" + m_YEAR;
var testDate=new Date(m_strDate);
if(testDate.getMonth()+1==m_MONTH){
return true;
} 
else{
return false;
}
}//end function




function FormatDate(DateToFormat,FormatAs){
if(DateToFormat==""){return"";}
if(!FormatAs){FormatAs="dd/mm/yyyy";}

var strReturnDate;
FormatAs = FormatAs.toLowerCase();
DateToFormat = DateToFormat.toLowerCase();
var arrDate
var arrMonths = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var strMONTH;
var Separator;

while(DateToFormat.indexOf("st")>-1){
DateToFormat = DateToFormat.replace("st","");
}

while(DateToFormat.indexOf("nd")>-1){
DateToFormat = DateToFormat.replace("nd","");
}

while(DateToFormat.indexOf("rd")>-1){
DateToFormat = DateToFormat.replace("rd","");
}

while(DateToFormat.indexOf("th")>-1){
DateToFormat = DateToFormat.replace("th","");
}

if(DateToFormat.indexOf(".")>-1){
Separator = ".";
}

if(DateToFormat.indexOf("-")>-1){
Separator = "-";
}


if(DateToFormat.indexOf("/")>-1){
Separator = "/";
}

if(DateToFormat.indexOf(" ")>-1){
Separator = " ";
}

arrDate = DateToFormat.split(Separator);
DateToFormat = "";
	for(var iSD = 0;iSD < arrDate.length;iSD++){
		if(arrDate[iSD]!=""){
		DateToFormat += arrDate[iSD] + Separator;
		}
	}
DateToFormat = DateToFormat.substring(0,DateToFormat.length-1);
arrDate = DateToFormat.split(Separator);

if(arrDate.length < 3){
return "";
}

var DAY = arrDate[0];
var MONTH = arrDate[1];
var YEAR = arrDate[2];




if(parseFloat(arrDate[1]) > 12){
DAY = arrDate[1];
MONTH = arrDate[0];
}

if(parseFloat(DAY) && DAY.toString().length==4){
YEAR = arrDate[0];
DAY = arrDate[2];
MONTH = arrDate[1];
}


for(var iSD = 0;iSD < arrMonths.length;iSD++){
var ShortMonth = arrMonths[iSD].substring(0,3).toLowerCase();
var MonthPosition = DateToFormat.indexOf(ShortMonth);
	if(MonthPosition > -1){
	MONTH = iSD + 1;
		if(MonthPosition == 0){
		DAY = arrDate[1];
		YEAR = arrDate[2];
		}
	break;
	}
}

var strTemp = YEAR.toString();
if(strTemp.length==2){

	if(parseFloat(YEAR)>40){
	YEAR = "19" + YEAR;
	}
	else{
	YEAR = "20" + YEAR;
	}

}


	if(parseInt(MONTH)< 10 && MONTH.toString().length < 2){
	MONTH = "0" + MONTH;
	}
	if(parseInt(DAY)< 10 && DAY.toString().length < 2){
	DAY = "0" + DAY;
	}
	switch (FormatAs){
	case "dd/mm/yyyy":
	return DAY + "/" + MONTH + "/" + YEAR;
	case "mm/dd/yyyy":
	return MONTH + "/" + DAY + "/" + YEAR;
	case "dd/mmm/yyyy":
	return DAY + " " + arrMonths[MONTH -1].substring(0,3) + " " + YEAR;
	case "mmm/dd/yyyy":
	return arrMonths[MONTH -1].substring(0,3) + " " + DAY + " " + YEAR;
	case "dd/mmmm/yyyy":
	return DAY + " " + arrMonths[MONTH -1] + " " + YEAR;	
	case "mmmm/dd/yyyy":
	return arrMonths[MONTH -1] + " " + DAY + " " + YEAR;
	}

return DAY + "/" + strMONTH + "/" + YEAR;;

} //End Function

function IsCompatibleBrowser()
{
	var sAgent = navigator.userAgent.toLowerCase() ;
	
	// Internet Explorer
	if ( sAgent.indexOf("msie") != -1 && sAgent.indexOf("mac") == -1 && sAgent.indexOf("opera") == -1 )
	{
		var sBrowserVersion = navigator.appVersion.match(/MSIE (.\..)/)[1] ;
		return ( sBrowserVersion >= 5.5 ) ;
	}
	
	// Gecko
	if ( navigator.product == "Gecko" && navigator.productSub >= 20030210 )
		return true ;
	
	// Opera
	if ( this.EnableOpera )
	{
		var aMatch = sAgent.match( /^opera\/(\d+\.\d+)/ ) ;
		if ( aMatch && aMatch[1] >= 9.0 )
			return true ;
	}
	
	// Safari
	if ( this.EnableSafari && sAgent.indexOf( 'safari' ) != -1 )
		return ( sAgent.match( /safari\/(\d+)/ )[1] >= 312 ) ;	// Build must be at least 312 (1.3)
	
	return false ;
}


function getDays(iYear,iMonth)   
{   
    var DayNumber=new Array(11);
    DayNumber[0]=DayNumber[2]=DayNumber[4]=DayNumber[6]=DayNumber[7]=DayNumber[9]=DayNumber[11]=31;   
    DayNumber[3]=DayNumber[5]=DayNumber[8]=DayNumber[10]=30;   
    if(iYear%4==0&&((iYear%100!=0)||(iYear%400==0)))   
    DayNumber[1]=29;   
    else   
    DayNumber[1]=28;   
    return DayNumber[iMonth-1];   
} 

function Guid()
{
var guid   =   "";
for   (var   i   =   1;   i   <=   32;   i++)
  {
  var   n   =   Math.floor(Math.random()   *   16.0).toString(16);
  guid   +=   n;
  if   ((i   ==   8)   ||   (i   ==   12)   ||   (i   ==   16)   ||   (i   ==   20))
    guid   +=   "-";
  }

return guid;
}

function XMLEncode(str)
{
	str=str.replace(/&/g,"&amp;");
	str=str.replace(/</g,"&lt;");
	str=str.replace(/>/g,"&gt;");
	str=str.replace(/\'/g,"&apos;");
	str=str.replace(/\"/g,"&quot;");
	return str;
}

function to2bits(flt) { 
if(parseFloat(flt) == flt) 
return Math.round(flt * 100) / 100; 
// µ½4Î»Ð¡Êý, return Math.round(flt * 10000) / 10000; 
else 
return 0; 
} 

