var Dom = YAHOO.util.Dom;
var Ev = YAHOO.util.Event;


function checkUserRegistration(e) {
	var regEmail		= new RegExp('^([_a-zA-Z0-9\\.\\-]+)@([_a-zA-Z0-9\\.\\-]+)\\.([a-zA-Z]{2,4})$','i');
	var regIC			= new RegExp('^([0-9]{0,8})$','i');
	var regOddelovac	= new RegExp(', *','i');
	var errSMsg ='';
	
	var vyplnenoFO = false;
	var vyplnenoPO = false;
	
	if (this.kontaktniJmenoFo.value != '' || this.kontaktniPrijmeniFo.value != '') {
		vyplnenoFO = true;
		if (this.kontaktniJmenoFo.value == '') {
			errSMsg += TXT_UR_VALIDATION_KONTAKTNI_JMENO_FO_ERR+'\n';
		}
		if (this.kontaktniPrijmeniFo.value == '') {
			errSMsg += TXT_UR_VALIDATION_KONTAKTNI_PRIJMENI_FO_ERR+'\n';
		}
	}
	if (this.kontaktniJmenoPo.value != '' || (this.kontaktniIc && this.kontaktniIc.value != '') || this.kontaktniDic.value != '') {
		vyplnenoPO = true;
		if (this.kontaktniJmenoPo.value == '') {
			errSMsg += TXT_UR_VALIDATION_KONTAKTNI_JMENO_PO_ERR+'\n';
		}
		if (this.kontaktniIc && !regIC.test(this.kontaktniIc.value)) {
			errSMsg += TXT_UR_VALIDATION_KONTAKTNI_IC_ERR+'\n';
		}
		if (this.kontaktniDic.value == '') {
			errSMsg += TXT_UR_VALIDATION_KONTAKTNI_DIC_ERR+'\n';
		}
	}
	if (!vyplnenoPO && !vyplnenoFO) {
		errSMsg += TXT_UR_VALIDATION_KONTAKTNI_FO_PO_ERR+'\n';
	}
	if (this.kontaktniAdresa.value == '') {
		errSMsg += TXT_UR_VALIDATION_KONTAKTNI_ADRESA_ERR+'\n';
	}
	if (!regEmail.test(this.kontaktniEmail.value)) {
		errSMsg += TXT_UR_VALIDATION_KONTAKTNI_EMAIL_ERR+'\n';
	}
	if (this.jeKontaktniFakturacni.checked) {
		vyplnenoFO = false;
		vyplnenoPO = false;
		if (this.fakturacniJmenoFo.value != '' || this.fakturacniPrijmeniFo.value != '') {
			vyplnenoFO = true;
			if (this.fakturacniJmenoFo.value == '') {
				errSMsg += TXT_UR_VALIDATION_FAKTURACNI_JMENO_FO_ERR+'\n';
			}
			if (this.fakturacniPrijmeniFo.value == '') {
				errSMsg += TXT_UR_VALIDATION_FAKTURACNI_PRIJMENI_FO_ERR+'\n';
			}
		}
		if (this.fakturacniJmenoPo.value != '' || (this.fakturacniIc && this.fakturacniIc.value != '') || this.fakturacniDic.value != '') {
			vyplnenoPO = true;
			if (this.fakturacniJmenoPo.value == '') {
				errSMsg += TXT_UR_VALIDATION_FAKTURACNI_JMENO_PO_ERR+'\n';
			}
			if (this.fakturacniIc && !regIC.test(this.fakturacniIc.value)) {
				errSMsg += TXT_UR_VALIDATION_FAKTURACNI_IC_ERR+'\n';
			}
			if (this.fakturacniDic.value == '') {
				errSMsg += TXT_UR_VALIDATION_FAKTURACNI_DIC_ERR+'\n';
			}
		}
		if (!vyplnenoPO && !vyplnenoFO) {
			errSMsg += TXT_UR_VALIDATION_FAKTURACNI_FO_PO_ERR+'\n';
		}
		if (this.fakturacniAdresa.value == '') {
			errSMsg += TXT_UR_VALIDATION_FAKTURACNI_ADRESA_ERR+'\n';
		}
		if (!regEmail.test(this.fakturacniEmail.value)) {
			errSMsg += TXT_UR_VALIDATION_FAKTURACNI_EMAIL_ERR+'\n';
		}
	}
	if (this.prihlasovaciJmeno && this.prihlasovaciJmeno.value == '') {
		errSMsg += TXT_UR_VALIDATION_PRIHLASOVACI_JMENO_ERR+'\n';
	}
	if (this.stavajiciHeslo && (this.stavajiciHeslo.value!='' || this.heslo.value!='' || this.hesloKontrola.value!='') ) {
		if (this.stavajiciHeslo.value == '') {
			errSMsg += TXT_UR_VALIDATION_STAVAJICI_HESLO_ERR+'\n';
		}
		if (this.heslo.value == '') {
			errSMsg += TXT_UR_VALIDATION_NOVE_HESLO_ERR+'\n';
		}
		if (this.heslo.value != this.hesloKontrola.value) {
			errSMsg += TXT_UR_VALIDATION_HESLO_KONTROLA_ERR+'\n';
		}
	} else if (!this.stavajiciHeslo) {
		if (this.heslo.value == '') {
			errSMsg += TXT_UR_VALIDATION_HESLO_ERR+'\n';
		}
		if (this.heslo.value != this.hesloKontrola.value) {
			errSMsg += TXT_UR_VALIDATION_HESLO_KONTROLA_ERR+'\n';
		}
	}
	if (this.idCiselnikZeme.options[this.idCiselnikZeme.selectedIndex].value == '') {
		errSMsg += TXT_UR_VALIDATION_CISELNIK_ZEME_ERR+'\n';
	}
	if (this.emailySafelife.value!='') {
		var arrEmaily = this.emailySafelife.value.split(regOddelovac);
		if (arrEmaily.length) {
			for (var i=0,l=arrEmaily.length; i<l; i++) {
				if (!regEmail.test(arrEmaily[i])) {
					errSMsg += TXT_UR_VALIDATION_EMAILY_SAFELIFE_ERR+'\n';
					break;
				}
			}
		}
	}
	if (this.emailNahradniDily.value!='' && !regEmail.test(this.emailNahradniDily.value)) {
		errSMsg += TXT_UR_VALIDATION_EMAIL_NAHRADNI_DILY_ERR+'\n';
	}
	/*
	if (this.majitelJmeno.value == '') {
		errSMsg += TXT_UR_VALIDATION_MAJITEL_JMENO_ERR+'\n';
	}
	*/
	if (this.majitelEmail.value!='' && !regEmail.test(this.majitelEmail.value)) {
		errSMsg += TXT_UR_VALIDATION_MAJITEL_EMAIL_ERR+'\n';
	}
	/*
	if (this.provozovatelJmeno.value == '') {
		errSMsg += TXT_UR_VALIDATION_PROVOZOVATEL_JMENO_ERR+'\n';
	}
	*/
	if (this.provozovatelEmail.value!='' && !regEmail.test(this.provozovatelEmail.value)) {
		errSMsg += TXT_UR_VALIDATION_PROVOZOVATEL_EMAIL_ERR+'\n';
	}
	/*
	if (this.servisAdresa.value == '') {
		errSMsg += TXT_UR_VALIDATION_SERVIS_ADRESA_ERR+'\n';
	}
	*/
	if (this.servisEmail.value!='' && !regEmail.test(this.servisEmail.value)) {
		errSMsg += TXT_UR_VALIDATION_SERVIS_EMAIL_ERR+'\n';
	}
	/*
	if (this.servisTelefon.value == '') {
		errSMsg += TXT_UR_VALIDATION_SERVIS_TELEFON_ERR+'\n';
	}
	*/
	
	if ( this.obchodniPodminky && !this.obchodniPodminky.checked ) {
		errSMsg += TXT_UR_VALIDATION_PODMINKY_KONTROLA_ERR+'\n';
	}
	if (errSMsg !='') {
		alert(TXT_UR_VALIDATION_ERR_PREFIX+'\n'+errSMsg);
		Ev.stopEvent(e);
	}
}

function changeDisable(elRoot) {
	var disable = Dom.hasClass(elRoot,'disabled');
	var arrInput = elRoot.getElementsByTagName('input');
	for (var i=0,l=arrInput.length;i<l;i++) {
		arrInput[i].disabled = disable;
		arrInput[i].readonly = disable;
		if (disable) {
			arrInput[i].value = '';
		}
	}
}

function userRegistrationInit() {
	var elForm = Dom.get('formRegistrace');
	Ev.addListener(elForm,'submit',checkUserRegistration,elForm,true);
	if (Dom.get('frmKontrola')) {
		Dom.get('frmKontrola').value = 'ok';
	}
	
	elCheckboxKontakty = Dom.get('frmJeKontaktniFakturacni');
	elCheckboxKontakty.relatedElement = Dom.get('fakturacniFormTable');
	changeDisable(elCheckboxKontakty.relatedElement);
	Ev.addListener(elCheckboxKontakty,'click',function(e){
		if (this.checked) {
			Dom.removeClass(this.relatedElement,'disabled');
		} else {
			Dom.addClass(this.relatedElement,'disabled');
		}
		changeDisable(this.relatedElement);
	},elCheckboxKontakty,true);
}

Ev.onDOMReady(userRegistrationInit);
