

// fce pro order_inc.asp

//	trDRsazba_....  radek danova sazba
//	tdDRbase_.....  bunka suma bez dph pro danou sazbu dph    (po sleve + doprava)
//	tdDRdph_.....   bunka suma dph pro danou sazbu dph
//	tdDRsum_.....   bunka suma s dph pro danou sazbu dph
//	trDRround       radek zaokrouhleni
//	tdDRround       bunka zaokrouhleni
//	tdDRbase        bunka soucet vsech tdDRbase_...
//	tdDRdph         bunka soucet vsech tdDRdph_...
//	tdDRsum         bunka soucet vsech tdDRsum_...
//	tdDRSumToPay		bunka celková částka v rekapitulaci k zaplaceni

//	ValueTAX_...    hidden suma bez dph pro danou sazbu dph (po sleve bez dopravy)
//	DeliveryPrice   hidden cena dopravy
//	DeliveryDPH     hidden vyse DPH u zvolene dopravy

//	tdDelItemName				název dopravy
//	tdDelItemPrice			cena dopravy
//	tdDelItemDPH				sazba DPH dopravy
//	tdDelItemPriceDPH		cena dopravy včetně DPH
		
//	nSumPriceDPH		celková cena s DPH
//	nSumPriceNoDPH	celkova cena bez DPH

function UpdateDeliveryPriceOnOrder(IdNewDelivery) {

	var nPrice, nDPH, nPriceSum;
	
    if ( !getE('DeliveryPrice') || !getE('DeliveryPrice_'+IdNewDelivery)) {alert('Došlo k nečekané chybě');return false;}
    
    // -- puvodni hodnoty
    var nPriceDelivery_Old = ConvertToNum( getE('DeliveryPrice').value );
    var nDPHDelivery_Old   = ConvertToNum( getE('DeliveryDPH').value );
    
    // -- nove hodnoty
    var nPriceDelivery     = ConvertToNum( getE('DeliveryPrice_'+IdNewDelivery).value );
    var nDPHDelivery       = ConvertToNum( getE('DeliveryDPH_'+IdNewDelivery).value );
    var sNameDelivery      = getE('DeliveryName_'+IdNewDelivery).value;
    
    // zapis novych hodnot do hidden
    getE('DeliveryPrice').value = nPriceDelivery;
    getE('DeliveryDPH').value   = nDPHDelivery
    getE('DeliveryName').value  = sNameDelivery
 
    //prepocet radku rekapitulace -> pro puvodni sazbu DPH u dopravy
    nPrice = 0;
    if (nDPHDelivery_Old == nDPHDelivery) nPrice =  nPriceDelivery;
    ReSazba(nDPHDelivery_Old, nPrice)
    
    // pokud je sazba dph u dopravy pred a po zmene ruzna je treba prepocitat jeste novy radek
    if (nDPHDelivery_Old != nDPHDelivery)     ReSazba(nDPHDelivery, nPriceDelivery);
    
    // vypocet souctu, zaokrouhleni
//    Summary(nPriceDelivery, nDPHDelivery)
    
//	if (getE('tdDelItemName')) getE('tdDelItemName').innerHTML = sNameDelivery;
//    if (getE('tdDelItemPrice')) getE('tdDelItemPrice').innerHTML = FormatCurrency(nPriceDelivery,2);
//    if (getE('tdDelItemDPH')) getE('tdDelItemDPH').innerHTML = nDPHDelivery + '%';
}

function ReSazba(nDPHValue, nPrice) {

	if (!getE('taxTable')) return false;
	var nHidden = ConvertToNum( getE('ValueTAX_'+nDPHValue).value );
    
  nPrice += nHidden;
    
  var nDPH        = ConvertToNum(nPrice * 0.01 * nDPHValue );
  var nPriceSum   = ConvertToNum(nPrice + nDPH);
    
    if (nPrice == 0) 
    {
         getE('trDRsazba_' + nDPHValue).style.display = 'none';
    }
    else
    {
        getE('tdDRbase_'  + nDPHValue).innerHTML = FormatCurrency(nPrice,2);
        getE('tdDRdph_'   + nDPHValue).innerHTML  = FormatCurrency(nDPH,2);
        getE('tdDRsum_'   + nDPHValue).innerHTML  = FormatCurrency(nPriceSum,2);
        getE('trDRsazba_' + nDPHValue).style.display = '';
    }
}

function Summary(nDeliveryPrice, nDeliveryDPH) {
    var aSazby = new Array(0,5,19,22);    
    var i, nSumPrice, nSumDPH, nSumPriceDPH, nPrice, nRound;
    
    nSumPrice = nSumDPH = nSumPriceDPH = nPrice = nRound = 0;
    
    for (i=0; i < aSazby.length;i++)
    {
        nPrice = ConvertToNum( getE('ValueTAX_' + aSazby[i]).value );
        
        if ( aSazby[i] == nDeliveryDPH ) nPrice = nPrice + nDeliveryPrice;
        
        nSumPrice = nSumPrice + nPrice;
        nSumDPH = nSumDPH + (nPrice*0.01*aSazby[i]);
    }
    nSumPriceDPH = nSumPrice + nSumDPH;

		if (getE('taxTable')) {
    	getE('tdDRbase').innerHTML = FormatCurrency(nSumPrice, 2);
	    getE('tdDRdph').innerHTML = FormatCurrency(nSumDPH, 2);
  	  getE('tdDRsum').innerHTML = FormatCurrency(nSumPriceDPH, 2);
    
			nRound = ( Math.round(nSumPriceDPH) - nSumPriceDPH).toFixed(2);
			if (nRound != 0) {
				getE('trDRround').style.display = '';
				getE('tdDRround').innerHTML = nRound.replace('.',',');
			}
			else getE('trDRround').style.display = 'none';

			nSumPriceDPH = (parseFloat(nSumPriceDPH) + parseFloat(nRound)).toFixed(2);
			getE('tdDRSumToPay').innerHTML = FUCJS(nSumPriceDPH, 2, true);
			getE('nSumPriceDPH').innerHTML = FUCJS(nSumPriceDPH, 2, true);
		}
		
		getE('nSumPriceNoDPH').innerHTML = FUCJS(nSumPrice, 2, true);
}   

function ConvertToNum(sNum)
{
		sNum = parseFloat(sNum);
		var nNum = sNum*1;
    if ( isNaN(nNum) ) nNum = 0;
    return nNum;
}


// from shop.js


function DeliverySelect(pkDel){

	//gaDelivery - array from string 142$143$
	//gaDeliveryDPH - array from string 19$5$
	//gaPayment - array from string 41,43,$1,43,$
	//gaDefault - array from string 143,44  - defaultní ID dopravy a platby
	var oPTsel, sDeliveries, oPB, bPayOK;
	var bPaySelectedOK = false;
	var bPaySelected = false;

	if (getE('tdDelItemName')) UpdateDeliveryPriceOnOrder(pkDel);

	for (var i=0; i < gaDelivery.length-1; i++){
		if (gaDelivery[i] == pkDel) {
			// provedu zobrazení/skrytí platebních metod podle vazby na dopravné
			for(var j = 0; ; j++) {
				oPT = getE('PaymentType' + j);
				if (!oPT) break;

				// nastavím bloku s typem platby modrou/šedou barvu
				//oPB = getE('PaymentBlock' + j);
				sPayments = ',' + gaPayment[i];
				bPayOK = (sPayments.indexOf(',' + oPT.value + ',') != -1);
				if (oPT.checked)
					bPaySelectedOK = bPayOK; // je vybraná plat. met. stále možná i s nově zvoleným dopravným? existuje vazba?

				if (bPayOK) {
					if (!bPaySelected) {
						oPTsel = oPT;
						bPaySelected = true;
					}
					//oPB.className = "PayDeliveryType";
				}
				//else
					//oPB.className = "PayDeliveryType payKO";
				oPT.disabled = !bPayOK;
				if (!bPaySelected) oPT.checked = true;
			}
			
			// pokud je vybrána platební metoda, kterou není možné provést s vybraným typem dopravy, změním to na první možnou volbu
			if (bPaySelected && !bPaySelectedOK)
				if (pkDel == gaDefault[0]) {
					for (var j = 0; ; j++) {
						oPT = getE('PaymentType' + j);
						if (!oPT) break;
						if (oPT.value == gaDefault[1]) oPT.checked = true;
					}
				}
				else oPTsel.checked = true;
			break;
		}
		else {
			for (var j = 0; ; j++) {
				oPT = getE('PaymentType' + j);
				if (!oPT) break;
				oPT.disabled = !(oPT.value == gaDefault[1]);
				if (oPT.value == gaDefault[1]) {
					oPT.checked = true;
					//getE('PaymentBlock' + j).className = "PayDeliveryType";
					}
				else {
					//getE('PaymentBlock' + j).className = "PayDeliveryType payKO";
				}
			}
		}
	}
	
	shCScard();
	if (getE('DeliveryPrice')) getE('DeliveryPrice').value = getE('DeliveryPrice_'+pkDel).value;
	if (getE('DeliveryName')) getE('DeliveryName').value = getE('DeliveryName_'+pkDel).value;
	if (getE('DeliveryDPH')) getE('DeliveryDPH').value = getE('DeliveryDPH_'+pkDel).value;
}
function shCScard()
{
    if (payCS == '' || getE(payCS) == null) return;
    getE('cType').style.display = getE(payCS).checked ? 'block' : 'none';
}

function ControlDataOrder(){
    if (getF('OrderForm').DeliveryFirm.value + getF('OrderForm').DeliveryFirstName.value + getF('OrderForm').DeliveryLastName.value + getF('OrderForm').DeliveryStreet.value + getF('OrderForm').DeliveryCity.value + getF('OrderForm').DeliveryZipCode.value != '')
    {
	    if (getF('OrderForm').DeliveryFirstName.value == ""){alert("Vyplňte jméno.");   getF('OrderForm').DeliveryFirstName.focus();return false;}
        if (getF('OrderForm').DeliveryLastName.value == "") {alert("Vyplňte příjmení.");getF('OrderForm').DeliveryLastName.focus();return false;}
        if (getF('OrderForm').DeliveryStreet.value == "")   {alert("Vyplňte ulici.");   getF('OrderForm').DeliveryStreet.focus();return false;}
        if (getF('OrderForm').DeliveryCity.value == ""){alert("Vyplňte město.");getF('OrderForm').DeliveryCity.focus();return false;}
        if (getF('OrderForm').DeliveryZipCode.value == ""){alert("Vyplňte PSČ.");getF('OrderForm').DeliveryZipCode.focus();return false;}  
        if(getF('OrderForm').DeliveryZipCode.value.length < 5){alert("Minimální délka PSČ je 5 znaků.");getF('OrderForm').DeliveryZipCode.focus();return false}
    }
    return true;
}

function ControlUserDataSubmit(){
    if (getF('UserDataForm').FirstName.value == ""){alert("Vyplňte jméno fakturační adresy.");   getF('UserDataForm').FirstName.focus();return false;}
    if (getF('UserDataForm').LastName.value == "") {alert("Vyplňte příjmení fakturační adresy.");getF('UserDataForm').LastName.focus();return false;}
    if (getF('UserDataForm').Street.value == "")   {alert("Vyplňte ulici fakturační adresy.");   getF('UserDataForm').Street.focus();return false;}
    if (getF('UserDataForm').City.value == ""){alert("Vyplňte město fakturační adresy.");getF('UserDataForm').City.focus();return false;}
    if (getF('UserDataForm').ZipCode.value == ""){alert("Vyplňte PSČ fakturační adresy.");getF('UserDataForm').ZipCode.focus();return false;}  
	
	    
    if ( getF('UserDataForm').DeliveryFirm.value + getF('UserDataForm').DeliveryFirstName.value + getF('UserDataForm').DeliveryLastName.value + getF('UserDataForm').DeliveryStreet.value + getF('UserDataForm').DeliveryCity.value + getF('UserDataForm').DeliveryZipCode.value != '') 
    {
        if (getF('UserDataForm').DeliveryFirstName.value == ""){alert("Vyplňte jméno dodací adresy.");   getF('UserDataForm').DeliveryFirstName.focus();return false;}
        if (getF('UserDataForm').DeliveryLastName.value == "") {alert("Vyplňte příjmení dodací adresy.");getF('UserDataForm').DeliveryLastName.focus();return false;}
        if (getF('UserDataForm').DeliveryStreet.value == "")   {alert("Vyplňte ulici dodací adresy.");   getF('UserDataForm').DeliveryStreet.focus();return false;}
        if (getF('UserDataForm').DeliveryCity.value == ""){alert("Vyplňte město dodací adresy.");getF('UserDataForm').DeliveryCity.focus();return false;}
        if (getF('UserDataForm').DeliveryZipCode.value == ""){alert("Vyplňte PSČ dodací adresy.");getF('UserDataForm').DeliveryZipCode.focus();return false;}  
        if(getF('UserDataForm').DeliveryZipCode.value.length < 5){alert("Minimální délka PSČ je 5 znaků.");getF('UserDataForm').DeliveryZipCode.focus();return false}
    }
    
    if(getF('UserDataForm').Phone.value == "" && getF('UserDataForm').Mobil.value == ""){alert("Vyplňte telefon nebo mobil.");getF('UserDataForm').Phone.focus();return false;}  
	//if(getF('UserDataForm').Email.value == ""){alert("Vyplňte e-mail.");getF('UserDataForm').Email.focus();return false;}
	if(!EmailControl( getF('UserDataForm').Email.value) ){getF('UserDataForm').Email.focus();return false;}
	
  	
	if(getF('UserDataForm').Login.value == ""){alert("Vyplňte přihlašovací jméno.");getF('UserDataForm').Login.focus();return false;}
	if(getF('UserDataForm').Login.value.length < 5){alert("Přihlašovací jméno musí mít nejméně 5 znaků.");getF('UserDataForm').Login.focus();return false;}
	
	if(getF('UserDataForm').Password.value == ""){alert("Vyplňte heslo.");getF('UserDataForm').Password.focus();return false;}
	if(getF('UserDataForm').Password.value.length < 5){alert("Heslo musí mít minimálně 5 znaků.");getF('UserDataForm').Password.focus();return false;}
	if(getF('UserDataForm').Password.value != getF('UserDataForm').PasswordCheck.value){alert("Potvrzené heslo není správně.");getF('UserDataForm').Password.focus();return false}	
	
	return true;
}
function showHidePwd(nWhat)
{
    if (nWhat==1)
        getE('showHidePwd').style.display = "block";
    else
        getE('showHidePwd').style.display = "none";
}
function ControlOrderRegSubmit() {
	if(getF('OrderRegForm').pwd1.value == ""){alert("Vyplňte heslo.");getF('OrderRegForm').pwd1.focus();return false}
	if(getF('OrderRegForm').pwd1.value.length < 5){alert("Heslo musí mít minimálně 5 znaků.");getF('OrderRegForm').pwd1.focus();return false}
	if(getF('OrderRegForm').pwd1.value != getF('OrderRegForm').pwd2.value){alert("Potvrzené heslo není správně.");getF('OrderRegForm').pwd2.focus();return false}
    return true;
}

function ControlPassword(NameOne,NameTwo){
	if (getE(NameOne).value != getE(NameTwo).value){
		alert("Špatně zadané heslo.");
		getE(NameOne).value = "";
		getE(NameTwo).value = "";
		getE(NameOne).focus();
		return false;
	}else{
		return true;
	}
}

function ControlDataOrderNotRegistered(){

    if (getF('OrderForm').DeliveryFirstName.value == ""){alert("Vyplňte jméno.");   getF('OrderForm').DeliveryFirstName.focus();return false;}
    if (getF('OrderForm').DeliveryLastName.value == "") {alert("Vyplňte příjmení.");getF('OrderForm').DeliveryLastName.focus();return false;}
    if (getF('OrderForm').DeliveryStreet.value == "")   {alert("Vyplňte ulici.");   getF('OrderForm').DeliveryStreet.focus();return false;}
    if (getF('OrderForm').DeliveryCity.value == ""){alert("Vyplňte město.");getF('OrderForm').DeliveryCity.focus();return false;}
    if (getF('OrderForm').DeliveryZipCode.value == ""){alert("Vyplňte PSČ.");getF('OrderForm').DeliveryZipCode.focus();return false;}  
    if(getF('OrderForm').DeliveryZipCode.value.length < 5){alert("Minimální délka PSČ je 5 znaků.");getF('OrderForm').DeliveryZipCode.focus();return false}

    if(getF('OrderForm').Phone.value == "" && getF('OrderForm').Mobil.value == ""){alert("Vyplňte telefon nebo mobil.");getF('OrderForm').Phone.focus();return false;}  
	if(!EmailControl( getF('OrderForm').Email.value) ){getF('OrderForm').Email.focus();return false;}
	
	
	return true;

}

function ControlDataOrderRegistered(){

    if (getF('OrderForm').DeliveryFirstName.value + getF('OrderForm').DeliveryLastName.value + getF('OrderForm').DeliveryStreet.value + getF('OrderForm').DeliveryCity.value + getF('OrderForm').DeliveryZipCode.value != '')
    {
        if (getF('OrderForm').DeliveryFirstName.value == ""){alert("Vyplňte jméno.");   getF('OrderForm').DeliveryFirstName.focus();return false;}
        if (getF('OrderForm').DeliveryLastName.value == "") {alert("Vyplňte příjmení.");getF('OrderForm').DeliveryLastName.focus();return false;}
        if (getF('OrderForm').DeliveryStreet.value == "")   {alert("Vyplňte ulici.");   getF('OrderForm').DeliveryStreet.focus();return false;}
        if (getF('OrderForm').DeliveryCity.value == ""){alert("Vyplňte město.");getF('OrderForm').DeliveryCity.focus();return false;}
        if (getF('OrderForm').DeliveryZipCode.value == ""){alert("Vyplňte PSČ.");getF('OrderForm').DeliveryZipCode.focus();return false;}  
        if (getF('OrderForm').DeliveryZipCode.value.length < 5){alert("Minimální délka PSČ je 5 znaků.");getF('OrderForm').DeliveryZipCode.focus();return false}
    }
    
	
	return true;

}


