function normalnumber(myfield, e, size) { var key; var keychar;
if (window.event) key = window.event.keyCode; else if (e) key = e.which; else return true; keychar = String.fromCharCode(key);
// control keys if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
// numbers else if ((("0123456789").indexOf(keychar) > -1)) { if (myfield.value.length < size) { return true; } else { if ((getSelectionStart(myfield) == 0) && (getSelectionEnd(myfield) == size)) { return true; } return false; } } else return false; } function doGetCaretPosition (ctrl) { var CaretPos = 0; // IE Support if (document.selection) { ctrl.focus (); var Sel = document.selection.createRange (); Sel.moveStart ('character', -ctrl.value.length); CaretPos = Sel.text.length; } // Firefox support else if (ctrl.selectionStart || ctrl.selectionStart == '0') CaretPos = ctrl.selectionStart; return (CaretPos); } function setCaretPosition(ctrl, pos) { if(ctrl.setSelectionRange) { ctrl.focus(); ctrl.setSelectionRange(pos,pos); } else if (ctrl.createTextRange) { var range = ctrl.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } } function getSelectionStart(o) { if (o.createTextRange) { var r = document.selection.createRange().duplicate() r.moveEnd('character', o.value.length) if (r.text == '') return o.value.length return o.value.lastIndexOf(r.text) } else return o.selectionStart } function getSelectionEnd(o) { if (o.createTextRange) { var r = document.selection.createRange().duplicate() r.moveStart('character', -o.value.length) return r.text.length } else return o.selectionEnd } function dateonly(myfield, e) { var key; var keychar; if (window.event) key = window.event.keyCode; else if (e) key = e.which; else { return true; } keychar = String.fromCharCode(key); //alert(key +" " + keychar); // control keys if ((key==null) || (key==0) || (key==9) || (key==8) || (key==13) || (key==27) || (key==37) || (key==39) ) { return true; } // numbers else if ((("0123456789").indexOf(keychar) > -1) /* || (key==96) || (key==97) || (key==98) || (key==99) || (key==100) || (key==101) || (key==102) || (key==103) || (key==104) || (key==105)*/ ) { var pos = getSelectionStart(myfield);
if (pos >= 10) { return false; }
if (pos == 0) { if (("456789").indexOf(keychar) > -1) { return false; } }
if (pos == 1) {
if ((myfield.value.substr(1,1) == "0") && (keychar == "0")) { return false; }
if (("3").indexOf(myfield.value.substr(0,1)) > -1) { if (("23456789").indexOf(keychar) > -1) { return false; } } }
if (pos == 2) { setCaretPosition(myfield, 3); return false; }
if (pos == 5) { setCaretPosition(myfield, 6); return false; }
if (pos == 3) { if (("23456789").indexOf(keychar) > -1) { return false; } }
if (pos == 4) { if ((myfield.value.substr(3,1) == "1") && (("3456789").indexOf(keychar) > -1)) { return false; }
if ((myfield.value.substr(3,1) == "0") && (keychar == "0")) { return false; }
var day = myfield.value.substr(0,2);
if (day == "31") { if (((myfield.value.substr(3,1)+keychar) == "02") || ((myfield.value.substr(3,1)+keychar) == "04") || ((myfield.value.substr(3,1)+keychar) == "06") || ((myfield.value.substr(3,1)+keychar) == "09") || ((myfield.value.substr(3,1)+keychar) == "11")) { return false; }
}
if ((day == "30")) { if ((myfield.value.substr(3,1)+keychar) == "02") { return false; }
} }
if (pos == 6) { if (("013456789").indexOf(keychar) > -1) { return false; } }
if (pos == 7) { if (("123456789").indexOf(keychar) > -1) { return false; } }
if (pos == 8) { if (("3456789").indexOf(keychar) > -1) { return false; } }
if (pos == 9) { if (myfield.value.substr(0,5) == "29.02") { if ((Number(myfield.value.substr(6,3)+keychar)%4) != 0) { return false; } } }
var Data = myfield.value;
var Sub = Data.substr(0,pos) + keychar;
if (pos < 1) { Sub = Sub + "_"; } if (pos < 2) { Sub = Sub + "._"; } if (pos < 4) { Sub = Sub + "_"; } if (pos < 5) { Sub = Sub + "._"; } if (pos < 7) { Sub = Sub + "_"; } if (pos < 8) { Sub = Sub + "_"; } if (pos < 9) { Sub = Sub + "_"; } myfield.value = Sub; var nextPos = (pos+1); if ((nextPos == 2) || (nextPos == 5)) { nextPos++; } setCaretPosition(myfield, nextPos); } return false; } function timeonly(myfield, e) { var key; var keychar; if (window.event) key = window.event.keyCode; else if (e) key = e.which; else { return true; } keychar = String.fromCharCode(key); //alert(key +" " + keychar); // control keys if ((key==null) || (key==0) || (key==9) || (key==8) || (key==13) || (key==27) || (key==37) || (key==39) ) { return true; } // numbers else if ((("0123456789").indexOf(keychar) > -1)) { var pos = getSelectionStart(myfield);
if (pos >= 5) { return false; }
if (pos == 0) { if (("3456789").indexOf(keychar) > -1) { return false; } }
if (pos == 1) {
if ((myfield.value.substr(1,1) == "0") && (keychar == "0")) { return false; }
if (("2").indexOf(myfield.value.substr(0,1)) > -1) { if (("456789").indexOf(keychar) > -1) { return false; } } }
if (pos == 2) { setCaretPosition(myfield, 3); return false; }
if (pos == 3) { if (("6789").indexOf(keychar) > -1) { return false; } }
var Data = myfield.value;
var Sub = Data.substr(0,pos) + keychar;
if (pos < 1) { Sub = Sub + "_"; } if (pos < 2) { Sub = Sub + ":_"; } if (pos < 4) { Sub = Sub + "_"; } myfield.value = Sub; var nextPos = (pos+1); if ((nextPos == 2)) { nextPos++; } setCaretPosition(myfield, nextPos); } return false; } function selectType(data) { if (data == "Stunden") { window.location.href="http://www.2s-info-media.de/customsolutions/2s-limousolution/2s-limousolution-basispaket/anfrageformular-stundenbuchung"; } }