﻿function split(inp,chr)
{
    var arr= new Array();
    var i=0;
    while(inp.indexOf(chr)>0)
    {
        arr[i]=inp.substring(0,inp.indexOf(chr));
        inp=inp.substring(inp.indexOf(chr)+chr.length);
        i++;
    }
    arr[i]=inp;
    return arr;
}

function Leap(year)        
{
    if(year%4==0&&year%100!=0)
        return 29;
    return 28;
}

function CheckDate(d,m,y)
{
    if(!IsNumeric(d)||!IsNumeric(m)||!IsNumeric(y)) return false;
    if(y<1000||y>9999)return false;
    var DaysInMonth = new Array(31,Leap(y),31,30,31,30,31,31,30,31,30,31);
    if(m>12||m<1) return false;
    if(d<1||d>DaysInMonth[m-1]) return false;
    return true;
}
function CheckDateTime(d,m,y,h,mi)
{
    if(!IsNumeric(d)||!IsNumeric(m)||!IsNumeric(y)||!IsNumeric(h) || !IsNumeric(mi)) return false;
    if(y<1000||y>9999)return false;
    var DaysInMonth = new Array(31,Leap(y),31,30,31,30,31,31,30,31,30,31);
    if(m>12||m<1) return false;
    if(d<1||d>DaysInMonth[m-1]) return false;
    if(h>23||h<0) return false;
    if(mi>60||h<0) return false;
    return true;
}

function IsNumeric(inp)
{
    if(inp.length==0)return false;
    for(var i=0;i<inp.length;i++)
    {
        if(inp.charAt(i)<"0"||inp.charAt(i)>"9")
            return false;
    }
    return true;
}

function IsDate(inp)
{
    arr = inp.split("/");

    if(arr.length!=3) return false;
    return CheckDate(arr[1],arr[0],arr[2]);                        
}

function IsVDate(inp)
{
    arr = inp.split("/");
    if(arr.length!=3) return false;
    return CheckDate(arr[0],arr[1],arr[2]);
}

function VDateCompare(d1,d2)
{
    if(!IsVDate(d1)||!IsVDate(d2))
        return -2;
    Arr1=d1.split("/");
    Arr2=d2.split("/");
    if(parseInt(Arr1[2])<parseInt(Arr2[2]))return -1;
    if(parseInt(Arr1[2])>parseInt(Arr2[2]))return 1;
    if(parseInt(Arr1[1])<parseInt(Arr2[1]))return -1;
    if(parseInt(Arr1[1])>parseInt(Arr2[1]))return 1;
    if(parseInt(Arr1[0])<parseInt(Arr2[0]))return -1;
    if(parseInt(Arr1[0])>parseInt(Arr2[0]))return 1;
    return 0;
}

function DateCompare(d1,d2)
{
    if(!IsDate(d1)||!IsDate(d2))
        return -2;
    Arr1=split(d1,"/");
    Arr2=split(d2,"/");
    
    if(parseInt(Arr1[2],0)<parseInt(Arr2[2],0))return -1;
    if(parseInt(Arr1[2],0)>parseInt(Arr2[2],0))return 1;
    if(parseInt(Arr1[1],0)<parseInt(Arr2[1],0))return -1;
    if(parseInt(Arr1[1],0)>parseInt(Arr2[1],0))return 1;
    if(parseInt(Arr1[0],0)<parseInt(Arr2[0],0))return -1;
    if(parseInt(Arr1[0],0)>parseInt(Arr2[0],0))return 1;
    return 0;
}
