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));
        }

//AJAX function
function GetXmlHttpObject()
{ 
    var objXMLHttp =null
    if (window.XMLHttpRequest){
        objXMLHttp =new XMLHttpRequest()
    }
    else if (window.ActiveXObject){
        objXMLHttp =new ActiveXObject("Microsoft.XMLHTTP")
    }
    return objXMLHttp
} 

function checkValidDate(dateStr) {
    // dateStr must be of format month day year with either slashes
    // or dashes separating the parts. Some minor changes would have
    // to be made to use day month year or another format.
    // This function returns True if the date is valid.
    var slash1 = dateStr.indexOf("/");
    if (slash1 == -1) { slash1 = dateStr.indexOf("-"); }
    // if no slashes or dashes, invalid date
    if (slash1 == -1) { return false; }
    var dateMonth = dateStr.substring(0, slash1)
    var dateMonthAndYear = dateStr.substring(slash1+1, dateStr.length);
    var slash2 = dateMonthAndYear.indexOf("/");
    if (slash2 == -1) { slash2 = dateMonthAndYear.indexOf("-"); }
    // if not a second slash or dash, invalid date
    if (slash2 == -1) { return false; }
    var dateDay = dateMonthAndYear.substring(0, slash2);
    var dateYear = dateMonthAndYear.substring(slash2+1, dateMonthAndYear.length);
    if ( (dateMonth == "") || (dateDay == "") || (dateYear == "") ) { return false; }
    // if any non-digits in the month, invalid date
    for (var x=0; x < dateMonth.length; x++) {
        var digit = dateMonth.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text month to a number
    var numMonth = 0;
    for (var x=0; x < dateMonth.length; x++) {
        digit = dateMonth.substring(x, x+1);
        numMonth *= 10;
        numMonth += parseInt(digit);
    }
    if ((numMonth <= 0) || (numMonth > 12)) { return false; }
    // if any non-digits in the day, invalid date
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text day to a number
    var numDay = 0;
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        numDay *= 10;
        numDay += parseInt(digit);
    }
    if ((numDay <= 0) || (numDay > 31)) { return false; }
    // February can't be greater than 29 (leap year calculation comes later)
    if ((numMonth == 2) && (numDay > 29)) { return false; }
    // check for months with only 30 days
    if ((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11)) { 
        if (numDay > 30) { return false; } 
    }
    // if any non-digits in the year, invalid date
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text year to a number
    var numYear = 0;
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        numYear *= 10;
        numYear += parseInt(digit);
    }
    // Year must be a 2-digit year or a 4-digit year
    if ( (dateYear.length != 2) && (dateYear.length != 4) ) { return false; }
    // if 2-digit year, use 50 as a pivot date
    if ( (numYear < 50) && (dateYear.length == 2) ) { numYear += 2000; }
    if ( (numYear < 100) && (dateYear.length == 2) ) { numYear += 1900; }
    if ((numYear <= 0) || (numYear > 9999)) { return false; }
    // check for leap year if the month and day is Feb 29
    if ((numMonth == 2) && (numDay == 29)) {
        var div4 = numYear % 4;
        var div100 = numYear % 100;
        var div400 = numYear % 400;
        // if not divisible by 4, then not a leap year so Feb 29 is invalid
        if (div4 != 0) { return false; }
        // at this point, year is divisible by 4. So if year is divisible by
        // 100 and not 400, then it's not a leap year so Feb 29 is invalid
        if ((div100 == 0) && (div400 != 0)) { return false; }
    }
    // date is valid
    return true;
}

function IsDataValid(inputStr, inputType){
	var strErrorMessage="";
	var checkString = inputStr.toLowerCase();
	if (checkString.length < 1)
	{
		strErrorMessage = "You must enter a valid " + inputType + ".";
	}
	//alert(checkString.indexOf(">") + "," + checkString.indexOf("<") + "," + checkString.indexOf("script"));
	
	if (checkString.indexOf(">") !=-1 || checkString.indexOf("<") !=-1 || checkString.indexOf("<script>") !=-1 || checkString.indexOf("</script>") !=-1 || checkString.indexOf("%3cscript") !=-1)
	{
		strErrorMessage = "You must enter a valid " + inputType + ".";
	}
	
	return strErrorMessage;
}

// For radio buttons in a repeater, datalist, gridview..
function ExclusiveSelect(TargetID, SelcetedIndex, targetLink)
{

    var target = $get(TargetID);
    if (target == null || target == undefined) return;
    var inputs = target.getElementsByTagName('INPUT');  //Get all controls with INPUT tags 
    var radios = new Array();   // Store all the controls with radio type
    var i = 0;
    var indx = 0;

    for (i = 0; i<inputs.length; i++)
    {
        var item = inputs[i];
        if (item != null && item.tagName == 'INPUT' && item.type == 'radio')
        {
            radios[indx] = item; 
            item.checked = false;      
            if (indx == SelcetedIndex)
            {
                //Change CSS
                $get('lnkPropertyCSS').href = targetLink;
                $get('lnkeCardPropertyCSS').href = targetLink.replace(".css", "_ecard.css");
            }
           indx = indx + 1; 
        }
    }
    try
    {
        radios[SelcetedIndex].checked = true;        
    }
    catch(Error){return;}      
}


// For radio buttons in a repeater, datalist, gridview..
function SetColorScheme(TargetID, SelcetedIndex, targetLinkId)
{
    var target = $get(TargetID);
    if (target == null || target == undefined) return;
    var inputs = target.getElementsByTagName('INPUT');  //Get all controls with INPUT tags 
    var radios = new Array();   // Store all the controls with radio type
    var i = 0;
    var indx = 0;

    for (; i<inputs.length; i++)
    {
        var item = inputs[i];
        if (item != null && item.tagName == 'INPUT' && item.type == 'radio')
        {
            radios[indx] = item;
            indx = indx + 1;
            if (item.checked == true)
            {
                //Change CSS
                $get('lnkPropertyCSS').href = targetLink;
            }
        }
    }
    try
    {
        radios[SelcetedIndex].checked = true;        
    }
    catch(Error){return;}      
}

function ForDight(Dight, How) {
    Dight = Math.round(Dight * Math.pow(10, How)) / Math.pow(10, How);
    return Dight;
}  

function f_check_float_cur(obj) {
    if (/^(\+)?(\d*|[0-9,]*)($|\.\d+$)/.test(obj.value)) {
        var s = ForDight(obj.value.replace(/\$|\,/g, ''), 2).toString();
        s = s.replace(new RegExp("\,", "gm"), "");
        s = s.replace(/^(\d*)$/, "$1.");
        s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1");
        s = s.replace(".", ",");
        var re = /(\d)(\d{3},)/;
        while (re.test(s))
            s = s.replace(re, "$1,$2");
        s = s.replace(/,(\d\d)$/, ".$1");
        obj.value = s.replace(/^\./, "0.");
    }
    else {

        obj.value = "0";

    }

}
function f_check_float(obj) {
    if (obj.value == "") {

    }
    else {
        if (/^(\+)?\d+($|\.\d+$)/.test(obj.value)) {
            obj.value = ForDight(obj.value, 2);
        }
        else {

            obj.value = "0";

        }
    }
}

function f_check_int(obj) {
    if (obj.value == "") {

    } else {
    if (/^(\+)?\d+($|\.\d+$)/.test(obj.value)) {
        obj.value = ForDight(obj.value,0);
        }
        else {

            obj.value = "0";

        }
    }
}
function f_check_int_empty(obj) {
    if (obj.value == "") {

    } else {
        if (/^(\+)?\d+($|\.\d+$)/.test(obj.value)) {
            obj.value = ForDight(obj.value, 0);
            if (obj.value == "0")
                obj.value = "";
        }
        else {

            obj.value = "";

        }
    }
}
function f_check_float_byvalue(val) {
    if (/^(\+)?(\d*|[0-9,]*)($|\.\d+$)/.test(val.toString())) {
        var s = val.toString();
        s = s.replace(new RegExp("\,", "gm"), "");
        s = s.replace(/^(\d*)$/, "$1.");
        s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1");
        s = s.replace(".", ",");
        var re = /(\d)(\d{3},)/;
        while (re.test(s))
            s = s.replace(re, "$1,$2");
        s = s.replace(/,(\d\d)$/, ".$1");
        return s.replace(/^\./, "0.");
    }
    else {
        return "";
    }
}


