function ControlUserData( fID ){
    oF = getE(fID); if(!oF){return false}
    
  if(!CheckClient(oF,false)){return false};
	if(!CheckClientAddress(0)){return false};
	if(!CheckContactPersons(0)){return false};
	return true;
}

function CheckClient(oF,fromOrder)
{
	//if(oF.sFirm.value.trim()=='' && (oF.sFirstName.value.trim()=='' || oF.sLastName.value.trim()=='')){alert(GLS('user_register_js_firmfnln','Vyplňte název firmy, nebo jméno a příjmení.'));oF.sFirm.focus();return false}
	if(oF.sFirstName.value == ''){alert(GLS('user_register_js_firstname','Vyplňte jméno.'));oF.sFirstName.focus();return false}
	if(oF.sLastName.value == ''){alert(GLS('user_register_js_lastname','Vyplňte příjmení.'));oF.sLastName.focus();return false}
	//if(oF.sFirm.value == ''){alert(GLS('user_register_js_firm','Vyplňte název firmy.'));oF.sFirm.focus();return false}
	if(oF.sPhone.value.trim()==''){alert(GLS('user_register_js_phone','Vyplňte telefon.'));oF.sPhone.focus();return false}
	if(oF.sEmail.value.trim()==''){alert(GLS('user_register_js_email','Vyplňte email.'));oF.sEmail.focus();return false}
	if(oF.sStreet.value.trim()==''){ alert(GLS('user_register_js_street','Vyplňte ulici.')); oF.sStreet.focus(); return false}
	if(oF.sCity.value.trim()==''){alert(GLS('user_register_js_city','Vyplňte město.'));oF.sCity.focus();return false}
	if(oF.sZipCode.value.trim()==''){alert(GLS('user_register_js_zip','Vyplňte PSČ.'));oF.sZipCode.focus();return false}
	if(!EmailControl(oF.sEmail.value)){alert(GLS('user_register_js_email_invalid','Email je nutné vyplnit ve správném formátu.'));oF.sEmail.focus();return false}
	if(!fromOrder && !ValidateAccount(oF.sBankAccount.value)){alert(GLS('user_register_js_bank','Bankovní účet není platný, zkuste jej zadat znovu, nebo pole nevyplňujte.'));oF.sBankAccount.focus();return false};
	return true;
}

function CheckClientAddress(num)
{
    var nSingleDeliveryAddress = getE('SingleDeliveryAddress').value;
	var sta = 0;
    var end = nClientAddressInTab;
	if (num > 0) { sta = num; end = num}
	for (var i=sta; i<=end; i++ ) {
        addressDiv = getE('AddressAdd'+i);
        if (addressDiv){
            if ( getE('delcaId_'+i).value == 0 ) {
                if(nSingleDeliveryAddress == 0 && (getE('caisFirm_'+i).value + getE('caisFirstName_'+i).value + getE('caisLastName_'+i).value + getE('caisStreet_'+i).value + getE('caisCity_'+i).value + getE('caisZipCode_'+i).value).trim().length > 0){
                    if (getE('caisFirm_'+i).value.trim()=='' && (getE('caisFirstName_'+i).value.trim()=='' || getE('caisLastName_'+i).value.trim()=='')){addressDiv.style.display='';alert(GLS('user_register_js_delivery_firmorname','Vyplňte název firmy doručovací adresy nebo jméno a příjmení.'));getE('caisFirm_'+i).focus();return false}
                    if (getE('caisStreet_'+i).value.trim().length == 0){addressDiv.style.display='';alert(GLS('user_register_js_delivery_street','Vyplňte ulici doručovací adresy.'));getE('caisStreet_'+i).focus();return false}
                    if (getE('caisCity_'+i).value.trim().length == 0){addressDiv.style.display='';alert(GLS('user_register_js_delivery_city','Vyplňte město doručovací adresy.'));getE('caisCity_'+i).focus();return false}
                    if (getE('caisZipCode_'+i).value.trim().length == 0){addressDiv.style.display='';alert(GLS('user_register_js_delivery_zip','Vyplňte PSČ doručovací adresy.'));getE('caisZipCode_'+i).focus();return false}
                }else{
                    if(num>0){
            		  getE('delcaId_' + i).value='1';
            		}
                }
            }
        }
    }
	return true;
}

function CheckContactPersons(num)
{
	var sta = 0;
    var end = nContactPersonInTab;
	if (num > 0) { sta = num; end = num }
	for (i=sta; i<=end; i++ ) {
        contactDiv = getE('ContactAdd'+i);
        if (contactDiv){
            if (getE('delcpId_'+i).value == 0) {
                //if (getE('cpisFirstName_'+i).value.trim()==""){contactDiv.style.display='';alert(GLS('user_register_js_contact_fname','Vyplňte jméno kontaktní osoby.'));getE('cpisFirstName_'+i).focus();return false}
                //if (getE('cpisLastName_'+i).value.trim()==""){contactDiv.style.display='';alert(GLS('user_register_js_contact_lname','Vyplňte příjmení kontaktní osoby.'));getE('cpisLastName_'+i).focus();return false}
                //if ((getE('cpisPhone_'+i).value + getE('cpisMobil_'+i).value).trim()==""){contactDiv.style.display='';alert(GLS('user_register_js_contact_phone','Vyplňte telefon nebo mobil kontaktní osoby.'));getE('cpisPhone_'+i).focus();return false}
                //if (getE('cpisEmail_'+i).value.trim()==""){contactDiv.style.display='';alert(GLS('user_register_js_contact_mail','Vyplňte e-mail kontaktní osoby.'));getE('cpisEmail_'+i).focus();return false}
                //if (!EmailControl(getE('cpisEmail_'+i).value)) {contactDiv.style.display='';alert(GLS('user_register_js_email_invalid','Email je nutné vyplnit ve správném formátu.'));getE('cpisEmail_'+i).focus();return false}
                if (getE('cpisLogin_'+i).value.trim()==""){contactDiv.style.display='';alert(GLS('user_register_js_contact_login','Vyplňte přihlašovací jméno kontaktní osoby.'));getE('cpisLogin_'+i).focus();return false}
                if (getE('cpisLogin_'+i).value.trim().length < 5){contactDiv.style.display='';alert(GLS('user_register_js_contact_login_5chr','Přihlašovací jméno musí mít nejméně 5 znaků.'));getE('cpisLogin_'+i).focus();return false}
                if (num > 0 && IsDuplicity('cpisLogin_',i)){contactDiv.style.display='';alert(GLS('user_register_js_contact_login_exists','Přihlašovací jméno již existuje.'));getE('cpsLogin_'+i).focus();return false}
                if (getE('cpisPassword_'+i).value.trim()==""){contactDiv.style.display='';alert(GLS('user_register_js_contact_pwd','Vyplňte heslo kontaktní osoby.'));getE('cpisPassword_'+i).focus();return false}
                if (getE('cpisPassword_'+i).value.trim().length < 5){contactDiv.style.display='';alert(GLS('user_register_js_contact_pwd_5chr','Heslo musí mít minimálně 5 znaků.'));getE('cpisPassword_'+i).focus();return false}
                if (getE('cpisPassword_'+i).value.trim() != getE('cpisPassword2_'+i).value.trim()){contactDiv.style.display='';alert(GLS('user_register_js_contact_pwd_nomatch','Potvrzené heslo se neshoduje.'));getE('cpisPassword2_'+i).focus();return false}
            }
        }
	}
	return true;
}

function IsDuplicity(field, max){
    var objCur = getE(field + max);
    if(objCur){
        var sValue = objCur.value.trim();
        for(var i=0; i<max; i++){
            obj = getE(field + i);
            if(obj && obj.value.trim()==sValue)
                return true;
        }
    }
    return false;
}

function ControlPassword(NameOne,NameTwo){
	if (getE(NameOne).value.trim() != getE(NameTwo).value.trim()){
		alert(GLS('user_register_js_contact_pwd_nomatch','Potvrzené heslo se neshoduje.'));
		getE(NameOne).value = "";
		getE(NameTwo).value = "";
		getE(NameOne).focus();
		return false;
	}else{
		return true;
	}
}

function CAchanged(num){
    obj = getE('caChangedId_'+num);
    if(obj) obj.value = 1;
}

function CCchanged(num){
    obj = getE('cpChangedId_'+num);
    if(obj) obj.value = 1;
}

//------------- dodací adresy ---------------

var nClientAddress = 0
function changeSelectedClientAddress( actualSelected ) {

	if (nClientAddress == 0) nClientAddress = actualSelected;
	if (getE('AddressAdd'+actualSelected)) getE('AddressAdd'+actualSelected).style.display='';
}

function rowClientAddress(num, address) {
	var tbody = getE('tblRowCA');
	
	if (num <= tbody.rows.length) {
		tbody.deleteRow(num-1);
	}
	else if (num == 1 && tbody.rows.length == 1){
        tbody.deleteRow(0);
    }

	var tRow = tbody.insertRow(num-1);
	tRow.id = "rowA_" + num;
	if((num % 2) == 1){ tRow.className = "bgT"; }
	var tCell = tRow.insertCell(-1);
	tCell.innerHTML = address;
	var tCell = tRow.insertCell(-1);
	tCell.className = "right" ;
	tCell.innerHTML = "<input type='image' class='input_button' src='/img/"+ page.langID +"/BTedit.gif' onclick='changeSelectedClientAddress(" + num + "); return false;' title='Upravit'/>&nbsp;" +
                      "<input type='image' class='input_button' src='/img/"+ page.langID +"/BTko.gif' onclick='deleteClientAddress(" + num + "); return false;' title='Odstranit dodací adresu' />&nbsp;";

}

function saveClientAddress(num) {
	if (CheckClientAddress(num)) {
        var sAddress = getAddressBrief(num);
        rowClientAddress( num, sAddress );
        getE('AddressAdd' + num).style.display='none';
	}
	return true;
}

function getAddressBrief(num){
    var obj = getE('caChangedId_' + num);
    var nSingleDeliveryAddress = getE('SingleDeliveryAddress').value;
    var name;
    if(nSingleDeliveryAddress == 0){
        name = (getE('caisFirm_'+num).value +' '+ getE('caisFirstName_'+num).value +' '+ getE('caisLastName_'+num).value +' '+ getE('caisStreet_'+num).value +' '+ getE('caisCity_'+num).value +' '+ getE('caisZipCode_'+num).value ).trim();   
    }else{
        name = getE('caisAddress_'+num).value.trim();
    }
     
    return ((obj && obj.value == 1) ? '[#' + num + '] ' : '') + startString(name,50);
}

function deleteClientAddress(num) {
	if (confirm('Přejete si skutečně smazat dodací adresu?')) {
		getE('delcaId_' + num).value='1';
		getE('AddressAdd' + num).style.display='none';
		getE('rowA_' + num).style.display='none';
	}
	return true;
}

var nClientAddressInTab = 0;
function addNewClientAddress(num) {
	if (nClientAddressInTab==0) { nClientAddressInTab = num + 1 } else { nClientAddressInTab++ };

	rowClientAddress( nClientAddressInTab, "[#" + nClientAddressInTab + "]");
    
    if(getE('AddressAddCont').innerHTML=='&nbsp;'){
        getE('AddressAddCont').innerHTML = getE('adddressTemplate').innerHTML.replace(/\[###\]/g,nClientAddressInTab);
    }else{
        getE('AddressAddCont').innerHTML += getE('adddressTemplate').innerHTML.replace(/\[###\]/g,nClientAddressInTab);
    }
}

//------------- kontaktni osoby -------------

var nContactPerson = 0
function changeSelectedContactPerson( actualSelected ) {
	if (nContactPerson == 0) nContactPerson = actualSelected;
	if (getE('ContactAdd'+actualSelected)) getE('ContactAdd'+actualSelected).style.display='';
}

function rowContactPerson(num, login, fullname, address, email, supervisor) {
	var tbody = getE('tblRowCP');
	if (num <= tbody.rows.length) {
		tbody.deleteRow(num-1);
	}
	else if (num == 1 && tbody.rows.length == 1) {
        body.deleteRow(0);
    }

	var tRow = tbody.insertRow(num-1);
	tRow.id = "rowC_" + num;
	if((num % 2) == 1){ tRow.className = "bgT"; }
	var tCell = tRow.insertCell(-1);
	tCell.innerHTML = login;
	var tCell = tRow.insertCell(-1);
	tCell.innerHTML = fullname;
	var tCell = tRow.insertCell(-1);
	tCell.innerHTML = address;
	var tCell = tRow.insertCell(-1);
	tCell.className = "email" 
	tCell.innerHTML = email;
	var tCell = tRow.insertCell(-1);
	tCell.className = "supervisor" 
	tCell.innerHTML = supervisor;
	var tCell = tRow.insertCell(-1);
	tCell.className = "right" ;
	tCell.innerHTML = "<input type='image' class='input_button' src='/img/"+ page.langID +"/BTedit.gif' onclick='changeSelectedContactPerson(" + num + "); return false;' title='Upravit'/>&nbsp;" +
                      "<input type='image' class='input_button' src='/img/"+ page.langID +"/BTko.gif' onclick='deleteContactPerson(" + num + "); return false;' title='Odstranit kontaktni osobu' />&nbsp;";
}

function saveContactPerson(num) {
	if (CheckContactPersons(num)) {
	    var sNews; if(getE('cpbNews_' + num).value == 1){sNews = 'ANO'}else{sNews = 'NE'}
	    var sSupervisor; if(getE('cpbSupervisor_' + num).value == 1){sSupervisor = 'ANO'}else{sSupervisor = 'NE'}
        var sDelivAddr = getE('cpiAddr_' + num).options.length > 0 ? getE('cpiAddr_' + num).options[getE('cpiAddr_' + num).selectedIndex].text : '';

        obj = getE('cpChangedId_' + num);
        sLogin = ((obj && obj.value == 1) ? '[#' + num + '] ' : '') + getE('cpisLogin_' + num).value;

		rowContactPerson( num, sLogin, (getE('cpisFirstName_' + num).value + ' ' + getE('cpisLastName_' + num).value).trim(), sDelivAddr, getE('cpisEmail_' + num).value, sSupervisor);
		
	}
	return true;
}

function deleteContactPerson(num) {
	if (confirm('Přejete si skutečně smazat kontaktní osobu?')) {
		getE('delcpId_' + num).value='1';
		getE('ContactAdd' + num).style.display='none';
		getE('rowC_' + num).style.display='none';
	}
	return true;
}

var nContactPersonInTab = 0;
function addNewContactPerson(num) {
	if (nContactPersonInTab==0) { nContactPersonInTab = num + 1 } else { nContactPersonInTab++ }
	
	rowContactPerson(nContactPersonInTab, "[#" + nContactPersonInTab + "]" , "", "", "", "");

    if(getE('ContactAddCont').innerHTML=='&nbsp;'){
        getE('ContactAddCont').innerHTML = getE('contactTemplate').innerHTML.replace(/\[###\]/g,nContactPersonInTab);
    }else{
        getE('ContactAddCont').innerHTML += getE('contactTemplate').innerHTML.replace(/\[###\]/g,nContactPersonInTab);
    }
}

function SetCHCK(pref,name,Id) {
	getE(pref+name+'_'+Id).value = getE(pref+'i'+name+'_'+Id).checked ? '1' : '0';
}

function DeliveryPrices(MaxWeight,DeliveryPrice,DeliveryFreeFromAmount,TotalWeight,CommodityPrices,CommodityCount,WeightPrice,NumberOfIndividual,DeliveryType){
      
      var TotalSumWeight = TotalWeight;
      var Transportratio = Math.ceil(TotalSumWeight / MaxWeight);
			var TotalPriceRatio = WeightPrice / DeliveryFreeFromAmount;
      var DeliveryWeightMultiplier = Transportratio - Math.floor(TotalPriceRatio);
      var DeliveryType = DeliveryType;
      
      if (DeliveryWeightMultiplier < 0){DeliveryWeightMultiplier = 0}
      

var PayedIndividualTransport = 0;
var count = 0;
var FreeIndividualTransport = 0;

if (NumberOfIndividual != 0){
  var i=0;
  while (i<=NumberOfIndividual)
  {
    var price = CommodityPrices[i]
    var count = CommodityCount[i]
    if (price < DeliveryFreeFromAmount)
    {
        PayedIndividualTransport=+count;
    }
    if (price >= DeliveryFreeFromAmount)
    {     
        FreeIndividualTransport=+count;
    }
    i=i+1;
  }

}
     var TotalSumIndividual = PayedIndividualTransport + FreeIndividualTransport;
     var DeliveryMultiplier = DeliveryWeightMultiplier + PayedIndividualTransport;
     
     var TotalTransport = Transportratio + TotalSumIndividual;
     var FreeTransport = TotalTransport - PayedIndividualTransport - DeliveryWeightMultiplier;
      
     var DeliveryPrice = Math.round(Math.round(DeliveryPrice)*DeliveryMultiplier);
      
      if (DeliveryFreeFromAmount != 0){getE("deliveryprice" + DeliveryType).innerHTML = "<br />Celkový počet doprav: <strong>" + TotalTransport + "</strong> - Počet doprav zdarma: <strong>" + FreeTransport + "</strong><br />Celková cena za dopravné: <strong>" + DeliveryPrice + "</strong>,- Kč"}
      
      /*document.write("TotalTransport: " + TotalTransport + "<br>");
      document.write("FreeTransport: " + FreeTransport + "<br>");
      document.write("PayedIndividualTransport: " + PayedIndividualTransport + "<br>");
      document.write("FreeIndividualTransport: " + FreeIndividualTransport + "<br>");
      document.write("DeliveryMultiplier: " + DeliveryMultiplier + "<br>");
      document.write("TotalSumIndividual: " + TotalSumIndividual + "<br>");
      document.write("CommodityPrices: " + CommodityPrices + "<br>");
      document.write("CommodityCount: " + CommodityCount + "<br>");
      document.write("NumberOfIndividual: " + NumberOfIndividual + "<br>");*/
}
