ACC SHELL

Path : /srv/www/vhosts/amk/admin/
File Upload :
Current File : /srv/www/vhosts/amk/admin/datevalidation.js

/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= ".";
var minYear=1900;
var maxYear=2100;

function GFE(formName, elementName)
{
	var formObject = document.getElementById(formName);
	var elementObject = formObject.elements[elementName];
	
	return elementObject;	
}

function isInteger(s)
{
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function is24Time(s)
{	
	//alert(s);
	if(s.length != 5)
	{
		alert("Formát času je neplatný!");		
		return false;
	}
		
	if(s.indexOf(':') != 2)
	{
		alert("Formát času je neplatný!");		
		return false;
	}
		
	var hours = s.substring(0, 2);
	var minutes = s.substring(3);
	
	if(!isInteger(hours) || !isInteger(minutes))
	{
		alert("Formát času je neplatný!");		
		return false;
	}
		
	iHours = parseInt(hours);
	iMinutes = parseInt(minutes);
	
	if(iHours < 0 || iHours > 23)
	{
		alert("Hodiny musejí být mezi 0 a 23");
		return false;
	}
		
	if(iMinutes < 0 || iMinutes > 59)
	{
		alert("Minuty musejí být mezi 0 a 59");
		return false;
	}
	
	//alert("Cas je v poradku");
	 	
	return true;	    
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	dtStr = dtStr.replace(/\s/g, "")
	
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	
	day=parseInt(strDay)
	month=parseInt(strMonth)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("Datum ma být ve formátu den.mesic.rok, například 20.1.2010")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Neplatný měsíc")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Neplatný den v měsíci")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Rok musi být zadán čtyřmi číslicemi a měl by být mezi "+minYear+" a "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Neplatné datum")
		return false
	}
return true
}

function firstSoonerThanSecond(a,b)
{
	a = a.replace(/\s/g, "")
	b = b.replace(/\s/g, "")
	
	var a_daysInMonth = DaysArray(12)
	var a_pos1=a.indexOf(dtCh)
	var a_pos2=a.indexOf(dtCh,a_pos1+1)
	var a_strDay=a.substring(0,a_pos1)
	var a_strMonth=a.substring(a_pos1+1,a_pos2)
	var a_strYear=a.substring(a_pos2+1)
	a_strYr=a_strYear
	if (a_strDay.charAt(0)=="0" && a_strDay.length>1) a_strDay=a_strDay.substring(1)
	if (a_strMonth.charAt(0)=="0" && a_strMonth.length>1) a_strMonth=a_strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (a_strYr.charAt(0)=="0" && a_strYr.length>1) a_strYr=a_strYr.substring(1)
	}
	
	a_day=parseInt(a_strDay)
	a_month=parseInt(a_strMonth)
	a_year=parseInt(a_strYr)
	
	var b_daysInMonth = DaysArray(12)
	var b_pos1=b.indexOf(dtCh)
	var b_pos2=b.indexOf(dtCh,b_pos1+1)
	var b_strDay=b.substring(0,b_pos1)
	var b_strMonth=b.substring(b_pos1+1,b_pos2)
	var b_strYear=b.substring(b_pos2+1)
	b_strYr=b_strYear
	if (b_strDay.charAt(0)=="0" && b_strDay.length>1) b_strDay=b_strDay.substring(1)
	if (b_strMonth.charAt(0)=="0" && b_strMonth.length>1) b_strMonth=b_strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (b_strYr.charAt(0)=="0" && b_strYr.length>1) b_strYr=b_strYr.substring(1)
	}
	
	b_day=parseInt(b_strDay)
	b_month=parseInt(b_strMonth)
	b_year=parseInt(b_strYr)
	
	/*alert(a_day);
	alert(a_month);
	alert(a_year);
	alert(b_day);
	alert(b_month);
	alert(b_year);*/
	
	
	if(a_year > b_year)
	{
		alert("Datum \"od\" by mělo předcházet datu \"do\".");
		return false;
	}
	
	if(a_month > b_month)
	{
		alert("Datum \"od\" by mělo předcházet datu \"do\".");
		return false;
	}
		
	if(a_day > b_day)
	{
		alert("Datum \"od\" by mělo předcházet datu \"do\".");
		return false;
	}		
		
	return true;
}

function ValidateForm(){
	var dt=document.frmSample.txtDate
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }
 

ACC SHELL 2018