function fillNn()
{
    var nnInput = document.getElementById('nicnebude');
    var nnBlock = document.getElementById('nicnebude_block');

    if (nnInput) nnInput.value = '3' + '51';
    if (nnBlock) nnBlock.style.display = 'none';
}

var $ = function( id ) {
    return document.getElementById( id );
};

var isArray = function( a ) {
    if (a.constructor.toString().indexOf("Array") == -1) return false;
    else return true;
}
	
var datel = {
jsEvents:null,
xhr: null,
respond: null,
xhrError: null,
map:new Array(),
charsCounter:function(element) {
    var tmpData = this.jsEvents['countChars'][element.id];
    if (tmpData) {
	var charsRemain = parseInt(tmpData[1])-element.value.length;

        var output = 'napsáno: ' + element.value.length + '<br />zbývá: ';
	if (charsRemain < 0) output += '<span class="err-red">';
	output += charsRemain;
        if (charsRemain < 0) output += '</span>';

        if ($(tmpData[0])) $(tmpData[0]).innerHTML = output;
    
        output = null;
    }
},
verifyIC:function(ic) {
    try
    {
        var a = 0;
        if(ic.length == 0) return true;
        if(ic.length != 8) throw 1;
        var b = ic.split('');
        var c = 0;
        for(var i = 0; i < 7; i++) a += (parseInt(b[i]) * (8 - i));
        a = a % 11;
        c = 11 - a;
        if(a == 1) c = 0;
        if(a == 0) c = 1;
        if(a == 10) c = 1;
        if(parseInt(b[ 7]) != c) throw(1);
    } catch(e) {
	return false;
    }
    return true;
},
checkElement:function(el, type, value) {
    var error = false;
    switch (type) {
	case 'empty':
	    if (el.value == '') error = true;
	    else if (el.tagName == "SELECT" && el.value == 0) error = true;
	    break;
	case 'length':
	    if (el.value.length > parseInt(value)) error = true;
	    break;
	case 'ic':
	    if (!verifyIC(el.value)) error = true;
	    break;
	case 'phone':
	    if (el.value != '') {
		var tmp = el.value.replace(/[ \.,-]/g, '');
		if (tmp.length != 9 || parseInt(tmp) <= 0) error = true;
	    }
	    break;
	case 'email':
	    if (el.value != '') {
		if (el.value.search(/^([a-zA-z0-9_\.\-]+)@([a-zA-z0-9_\.\-]+)$/) == -1) error = true;
	    }
	    break;
    }
    return error;
},
checkMoreEvents:function(el) {
    var msg = '';
    var tmpData = this.jsEvents['check'][el.id];
    tmpData['test'] = tmpData[0].split('|');
    tmpData['value'] = tmpData[2].split('|');
    tmpData['msg'] = tmpData[3].split('|');
    for (var i in tmpData['test']) {
        if (this.checkElement(el, tmpData['test'][i], tmpData['value'][i])) {
	    msg += tmpData['msg'][i] + '\n';
	}
    }
    tmpData = null;
    return msg;
},
checkEvent:function(el) {
    var tmpData = this.jsEvents['check'][el.id];
    if (tmpData[0].indexOf('|') != -1) {
	var msg = this.checkMoreEvents(el);
	if (msg != '') alert(msg);
    } else {
	if (this.checkElement(el, tmpData)) {
    	    alert(this.jsEvents['check'][el.id][3]);
	}
    }
},
checkSubmit:function(el) {
    var errors = '';
    var data = this.jsEvents['submit'][el.id];
    var checks = this.jsEvents['check'];
    if (data) {
	data = data[0].split(',');
	for (var i in data) {
	    if (checks[data[i]]) {
		if (checks[data[i]][0].indexOf('|') != -1) {
		    var msg = this.checkMoreEvents($(data[i]));
		    if (msg != '') errors += msg;
		} else {
		    if (this.checkElement($(data[i]), checks[data[i]][0], '')) {
			errors += checks[(data[i])][3] + "\n";
		    }
		}
	    }
	}
    }
    if (errors != '') {
	alert(errors)
        return false;
    } else {
	return true;
    }
},
appendEvents:function() {
    var events = this.jsEvents;
    if (events) {
	if (events['countChars']) {
	    var countChars = events['countChars'];
	    for (var i in countChars) {
		if ($(i)) {
		    $(i).onkeyup = function() { datel.charsCounter(this); }
		    datel.charsCounter($(i));
		}
	    }
	    countChars = null;
	}
	if (events['check']) {
	    var check = events['check'];
	    for (var i in check) {
		if (check[i][1]) {
		    var tmpEvents = check[i][1].split(',');
		    for (var j in tmpEvents) {
			if (tmpEvents[j] != 'submit') {
			$(i).setAttribute(tmpEvents[j], 'datel.checkEvent(this); return false;');
			}
		    }
		}
	    }
	    tmpEvents = null;
	    check = null;
	}
	if (events['submit']) {
	    var submit = events['submit'];
	    for (var i in submit) {
		if ($(i)) $(i).onsubmit = function() { return datel.checkSubmit(this); }
	    }
	    submit = null;
	}
    }
    events = null;
    
    var map = this.map;
    if (map) {
	for (var i in map) {
//	    if ($(i)) $(i).onclick = function() { var tmpPlace = new Page.mainMap.AGeoPoint({map[i][0]}, {map[i][1]}, ACoordinateSystem.S42); Page.mainMap.zoomTo(25000, tmpPlace); }
	}
    }
},
appendOpenTimeEvent:function(elementsName) {
    if (elementsName!='') {
	elementsName = elementsName.split(',');
	for (var i in elementsName) {
	    if ($(elementsName[i])) $(elementsName[i]).onclick = function() { datel.openTime(this); return false; }	
	}
    }
},
openTime:function(el) {
    var inputs = document.getElementsByTagName('input');
    switch (el.id) {
	case 'openTime1':
	case 'openTime2':
	    for (var i in inputs) {
		var inputElName = inputs[i].name;
		if (inputElName && inputElName.search(/^(hours|minutes)/) != -1) {
		    var tmp = inputElName.match(/^(hours|minutes)-(..)-(am|pm)-(from|to)/);
		    if ((tmp[2]=='sa' || tmp[2]=='su') && el.id=='openTime1') {
			$(inputElName).value = '';
			continue;
		    }
		    if (tmp[2] != 'mo') {
			if ($(tmp[1]+'-mo-'+tmp[3]+'-'+tmp[4])) $(inputElName).value = $(tmp[1]+'-mo-'+tmp[3]+'-'+tmp[4]).value;
		    }
		}
	    }
	    break;
	case 'openTime3':
	    for (var i in inputs) {
		var inputElName = inputs[i].name;
		if (inputElName && inputElName.search(/^minutes/) != -1) {
		    var hoursEl = $(inputElName.replace(/^minutes/g, 'hours'));
		    if (hoursEl && hoursEl.value!='') inputs[i].value = '00'; 
		}
	    }
	    break;
    }
    return false;
},
appendEditEvent:function() {
    var tmpEl = $('passwordA');
    if (tmpEl) tmpEl.onclick = function() {$('passwordDiv').style.display= 'block'; return false}

    var tmpEl = $('passwordClose');
    if (tmpEl) tmpEl.onclick = function() {$('passwordDiv').style.display='none'; return false}
    
    var tmpEl = $('passwordForm');
    if (tmpEl) tmpEl.onsubmit = function() {datel.changePassword(); return false}
},
changePassword:function() {

},
sendRequest:function(url) {
    this.xhr.open("POST",url);
    this.xhr.onreadystatechange = this.xhrProcessRespond;
    this.xhr.send(null);
},
xhrProcessRespond:function() {
    if(datel.xhr.readyState == 4){
        if(datel.xhr.status == 200){
            datel.respond = eval(datel.xhr.responseText);
        } else {
            datel.xhrError = 1;
        }
    }
},
xhrInit: function() {
    try {
        this.xhr = new XMLHttpRequest();
    } catch(e) {
        var MSXmlVerze = new Array('MSXML2.XMLHttp.6.0','MSXML2.XMLHttp.5.0','MSXML2.XMLHttp.4.0','MSXML2.XMLHttp.3.0','MSXML2.XMLHttp.2.0','Microsoft.XMLHttp');
        for(var i = 0; i <= MSXmlVerze.length; i ++) {
    	    try{
        	this.xhr = new ActiveXObject(MSXmlVerze[i]);
        	break;
    	    } catch(e) {
    	    }
	}
    }
},
init:function() {
    if (this.jsEvents) {
	datel.appendEvents();
    }
    if (page=='step4') {
	datel.appendOpenTimeEvent('openTime1,openTime2,openTime3');
    }
    if (sec=='edit') {
	datel.xhrInit();
	datel.appendEditEvent();
    }
}
}

datel.jsEvents = new Array();
datel.jsEvents['countChars'] = new Array();
datel.jsEvents['check'] = new Array();
datel.jsEvents['submit'] = new Array();

window.onload = function() {datel.init();}