﻿function isBlankDate(objDD,objMM,objYY)
{
    if ((objDD.selectedIndex==0) && (objMM.selectedIndex==0) && (objYY.selectedIndex==0)) {
        return true;
    }
    else
    {
        return false;
    }
}

//Function to validate input is a valid phone number format allow numeric and symbol +,-,(,)
function isValidPhone(val) {
	return (val.search(/(^([0-9|\,\-\+\(\)\s])*$)/gi) != -1)
}

//Function to validate input is not empty string
function isEmpty(val) {
	return (val.search(/[^\s]/gi) == -1)
}

function isValidCharacter(val) {
    return (val.search(/[^\w]/gi) == -1)
}

function isValidHTMLInput(val) {
    return (val.search(/[<]/gi) == -1)
}

//Function to validate input is in valid length
function isValidLength(val,len) {
	if (val.length)
		return (val.length <= len);
	else
		return false;
}

function isValidName(val) {
    return (val.search(/^[\w ]/gi) != -1)
}
function isValidEmailList(iList) {
	var email = iList.split(',');
	var ret = true;
	
	for (var i = 0;i < email.length; i++) { 
		ret = (ret && isValidEmail(email[i]))
	}
	return ret;
}
//Function to validate input is a proper email string
function isValidEmail(val) {
   return (val.search(/^[a-z0-9]+([\-._]+[a-z0-9]+)*@[a-z0-9]+([\-._]+[a-z0-9]+)*\.[a-z]{2,}$/gi) != -1)
}

//Function to validate input is a proper date format (DD/MM/YYYY)
/*function isValidDate(val) {
	return (val.search(/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[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))))$/gi) != -1)
}*/
function isValidDate(val) {
	var strExp;
	return (val.search(/^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/gi) != -1)
}

//Function to validate input is a proper unsign integer
function isValidInteger(val) {
	return (val.search(/[^0-9]/gi) == -1)
}

function isValidNumbers(val){
	    return (val.search(/^-{0,1}\d*\.{0,1}\d+$/gi) != -1)
}

function isPositiveNumbers(val){
	return (val.search(/(^\d*\.?\d*[0-9]+\d*$)|(^[1-9]+\d*\.\d*$)/gi) != -1)
}
//Function to Validate input is a valid URL format
function isValidUrl(val) {
	return ((val.search(/^http\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?$/gi) != -1) || (val.search(/^[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?$/gi) != -1))
}

//Function to Validate input is a valid Frienly URL format
function isValidFriendlyUrl(val) {
	return ((val.search(/[\\\/?&=\s]/gi) == -1))
}
/*
Validate two Date is valid range
1: date1 > date2
2: date1 < date 2
3: date1 = date2
*/
function dateCompare(iDay1,iMonth1,iYear1,iDay2,iMonth2,iYear2) {
	iDay1 = parseInt(iDay1,10);
	iMonth1 = parseInt(iMonth1,10);
	iYear1 = parseInt(iYear1,10);
	
	iDay2 = parseInt(iDay2,10);
	iMonth2 = parseInt(iMonth2,10);
	iYear2 = parseInt(iYear2,10);
	result = 0;
	if (iYear1 > iYear2) {
		result = 1;
	}else if (iYear1 < iYear2) {
		result = 2;
	}else {
		if (iMonth1 > iMonth2) {
			result = 1;
		}else if (iMonth1 < iMonth2) {
			result = 2;
		}else {
			if (iDay1 > iDay2) {
				result = 1;
			}else if (iDay1 < iDay2){
				result =  2;
			}else {
				result = 3;
			}
		}
	}
	return result;
}

function isValidImageFormat(val) {
	return (val.search(/(.*\.(jpg|bmp|gif)$)/gi) != -1)
}

function isValidFlashFormat(val) {
	return (val.search(/(.*\.(swf)$)/gi) != -1)
}

function leftTrim(sString)
{
    while (sString.substring(0,1) == ' ')
    {
        sString = sString.substring(1, sString.length);
    }
    return sString;
}

function rightTrim(sString)
    {
    while (sString.substring(sString.length-1, sString.length) == ' ')
    {
        sString = sString.substring(0,sString.length-1);
    }
    return sString;
}

function Trim(sString)
{
   sString = sString.replace(/^\s+/, '');
   return sString.replace(/\s+$/, '');
}

//Function to validate date must select
function getDateValue(objDD,objMM,objYY) {
    var dd = objDD.options[objDD.selectedIndex].value;
    var mm = objMM.options[objMM.selectedIndex].value;
    var yy = objYY.options[objYY.selectedIndex].value;
    var idd,imm,iyy;
    var result;
    var isDate = true;
    
    // check for select day
    if (isEmpty(dd))
        return false
    else if (!isValidInteger(dd))
    {
        result = false;
    }
    else
    {
        idd = parseInt(dd);
        if ((idd<1) || (idd>31))
            result = false;
    }
    
    if (isDate)
    {
        // check for select month
        if (isEmpty(mm))
            return false
        else if (!isValidInteger(mm))
        {
            result = false;
        }
        else
        {
            imm = parseInt(imm);
            if ((imm<1) || (imm>12))
                result = false;
        }
    }
    
    if (isDate)
    {
        // check for select year
        if (isEmpty(yy))
            return false
        else if (!isValidInteger(yy))
        {
            result = false;
        }
        else
        {
            iyy = parseInt(iyy);
            if (iyy<1) result = false;
        }
    }
    
    if (isDate)
    {
        result = dd + '/' + mm + '/' + yy
    } else {result = '';}
    
    return result;
}

function checkboxChecked(objChk)
{
	var check = false;
	var i=0;
	while (!check && i<objChk.length)
	{
		if (objChk[i].checked==true) 
			check = true;
		i++;
	}//while
	return check;
}//checkboxChecked

function radioChecked(objRdo)
{
	var check = false;
	var i=0;
	while (!check && i<objRdo.length)
	{
		if (objRdo[i].checked==true) 
			check = true;
		i++;
	}//while
	return check;
}//radioChecked

function toDecimal(num) {
    if(showDecimal)
        return Number(num).toFixed(2);
    else
        return Math.round(num);
}