﻿if(!document.getElementById && document.all)
{
    document.getElementById=function(id)
    {
        return document.all[id];
    }
}

function IsBrowserIE4Plus(){
    var browser=navigator.appName;
    var b_version=navigator.appVersion;
    var version=parseFloat(b_version);
    return ((browser=="Microsoft Internet Explorer") && (version>=4));
}

function SetPageFocus(page){
    var obj = document.getElementById(page);
    if (obj)
        obj.focus();
}
  
// Trim functions
// example of using trim, ltrim, and rtrim
//    var myString = " hello my name is ";
//    alert("*"+myString.trim()+"*");
//    alert("*"+myString.ltrim()+"*");
//    alert("*"+myString.rtrim()+"*");
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

// check whether the string has a value
String.prototype.hasValue = function() {
	return (this.trim().length > 0);
}

// check whether the string has a value
String.prototype.hasValidationValue = function() {
    var txt = document.getElementById(this);
    
    // if object exist return whether it has a value
    return (txt ? txt.value.hasValue() : true);
}

// check whether a dropdownlist option has been selected - assuming that index 0 is not a valid option
// var options = '<%=ddlObject.ClientID %>';
// var bool = options.isDropDownListSelected();
String.prototype.isDropDownListSelected = function () {
    var ddl = document.getElementById(this);
    if (ddl
        && ddl.selectedIndex > 0) {
        return ddl.options[ddl.selectedIndex].value != '0';
    }
    return false;
}
  
// check whether a dropdownlist option has been selected - assuming that index 0 is not a valid option
// var options = '<%=ddlObject.ClientID %>';
// var bool = options.isDropDownListSelected();
String.prototype.dropDownListSelectedIndex = function() {	
    var ddl = document.getElementById(this);
    if (ddl)
    {
        return ddl.selectedIndex;
    }
    return -1;
}
  
// check whether a checkboxlist option has been selected 
// var options = '<%=cblObject.ClientID %>';
// var bool = options.isCheckBoxListSelected();
String.prototype.isCheckBoxListSelected = function(){
    var options = document.getElementById(this).getElementsByTagName('input');
    for(i=0;i<options.length;i++)
    {
        var opt = options[i];
        if(opt.type=="checkbox")
        {
            if(opt.checked)
            {
                return true;    
            }
        } 
    }
    return false;
}

// check for date mask
// either dd/MM/yyyy or MM/yyyy
String.prototype.isDate = function() {
    var pattern1 = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/;
    var pattern2 = /^(((0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|(02\/((19|[2-9]\d)\d{2}))|(02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/;
    return this.match(pattern1) || this.match(pattern2);
}

// check for date mask
// either __/__/____ or __/____
String.prototype.isDateMask = function() {
    var pattern1 = /^(\_\_\/\_\_\/\_\_\_\_)|(\_\_\/\_\_\_\_)$/;
    return this.match(pattern1);
}
