/* 
	file: main.js
	author: Tomas Penc (tomas@tomaspenc.com)
	date: 2006/12/03
	
	Basic JavaScript functions.
*/

function checkBuyForm(f)
{
    if(!isNumeric(f.pcs.value)){
        alert("Počet kusů musí být číslo.");
        return false
    }

    var pocetDarku = f.darkyCount.value;
    var darekCheck = false;
    var checked = 0;
    if(f.countParams != undefined)
        var params = f.countParams.value;
    else 
        var params = 0;
    for(var i=0; i < f.elements.length; i++)
        if(f.elements[i].name.substr(0,5) == "param" && f.elements[i].type == "radio"){
            if(f.elements[i].checked){
                checked++;
            }
        }else if(f.elements[i].name == "darek" && f.elements[i].checked){
            darekCheck = true;
        }

    if(pocetDarku > 0 && !darekCheck){
        alert("Vyberte si prosím zdarma k tomuto produktu jeden z nabízených dárků.");
        return false;
    }
            
    
    if(checked != params){
        alert('Před vložením produktu do košíku si prosím vyberte všechny jeho parametry níže na této stránce.');
        return false;
    }else
        return true;
}

function checkBuyPartsForm(ff)
{
    var f = document.getElementById("detailForm");
    var myParams = "";
    var checked = 0;
    if(f.countParams != undefined)
        var params = f.countParams.value;
    else 
        var params = 0;
    for(var i=0; i < f.elements.length; i++)
        if(f.elements[i].name.substr(0,5) == "param" && f.elements[i].type == "radio"){
            if(f.elements[i].checked){
                checked++;
                var vzornik = f.elements[i].name.substr(7,f.elements[i].name.length);
                vzornik = vzornik.substr(0,vzornik.length-1);
                myParams += vzornik + ":" + f.elements[i].value + ";;;";
            }
        }      
    document.getElementById("myParams").value = myParams;
    if(checked != params){
        alert('Před vložením produktu do košíku si prosím vyberte všechny jeho parametry produktu.');
        return false;
    }else
        return true;
}

function checkAnketa(ank)
{
    var radioObj = ank.answer;
    if(!radioObj){
		alert("Objekt neni");
        return false; }

	var radioLength = radioObj.length;
    var val = "";
	if(radioLength == undefined)
		if(radioObj.checked)
			val = radioObj.value;
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			val = radioObj[i].value;
		}
	}
    if(val == ""){
        alert("Vyberte odpověď na anketní otázku.");
        return false;
    }
    else
        return true;
}

// set new value i.e. for textbox
function ClearBox(box, hodnota)
{
	box.value = hodnota;
}

// Check form data
function CheckCartForm(t)
{
	for(var i = 0; i < document.getElementById("delka").value; i++)
		if(!isNumeric(document.getElementById("ks"+i).value))
		{
			alert("Počet kusů musí být celé číslo.");
			return false;
		}	
	
	return true;
}

// check form data
function validate_form(formular)
{
	if(formular.email.value == "")
	{
		alert("Musíte zadat email!");
		formular.email.focus();
		return false;
	}
	else if (window.RegExp)
	{
		re = new RegExp("^[^@]+@[^.]+\..+$");
		if(!re.test(formular.email.value))
		{
			alert("Zadaný email není platný!");
			formular.email.focus();
			return false;
		}
	}
	else
	return true;
}

// check form data
function CheckPoptavkaForm(formular)
{
	if(formular.email.value == "")
	{
		alert("Musíte zadat email!");
		formular.email.focus();
		return false;
	}
    else if(formular.jmeno.value == "")
    {
        alert("Musíte zadat jméno!");
        formular.email.focus();
        return false;
    }
    else if(formular.telefon.value == "")
    {
        alert("Musíte zadat váš telefon!");
        formular.telefon.focus();
        return false;
    }
	else if (window.RegExp)
	{
		re = new RegExp("^[^@]+@[^.]+\..+$");
		if(!re.test(formular.email.value))
		{
			alert("Zadaný email není platný!");
			formular.email.focus();
			return false;
		}
	}
	else
	    return true;
}

// hide/show object
function menu(id)
{
	el = document.getElementById(id);
	var display = el.style.display ? '' : 'none';
	el.style.display = display;
}

function CheckRegisterFormPerson()
{
	var formular = document.getElementById("register-form");
	var msg = "Nevyplnili jste: \n";
	UnColorBox(formular.jmeno);
	if (formular.jmeno.value == "")
	{
		msg += "- jméno\n";
		ColorBox(formular.jmeno);
	}
	UnColorBox(formular.prijmeni);
	if (formular.prijmeni.value == "")
	{
		msg += "- příjmení\n";
		ColorBox(formular.prijmeni);
	}
	UnColorBox(formular.ulice);
	if (formular.ulice.value == "")
	{
		msg += "- ulici\n";
		ColorBox(formular.ulice);
	}
	UnColorBox(formular.mesto);
	if (formular.mesto.value == "")
	{
		msg += "- město\n";
		ColorBox(formular.mesto);
	}
	UnColorBox(formular.psc);
	if (formular.psc.value == "")
	{
		msg += "- PSČ\n";
		ColorBox(formular.psc);
	}
	UnColorBox(formular.email);
	if (formular.email.value == "")
	{
		msg += "- email\n";
		ColorBox(formular.email);
	}
	UnColorBox(formular.telefon);
	if (formular.telefon.value == "")
	{
		msg += "- telefon\n";
		ColorBox(formular.telefon);
	}
	UnColorBox(formular.xuser);
	if (formular.xuser.value == "")
	{
		msg += "- uživatelské jméno\n";
		ColorBox(formular.xuser);
	}
	UnColorBox(formular.xpass);
	if (formular.xpass.value == "")
	{
		msg += "- heslo\n";
		ColorBox(formular.xpass);
	}
	UnColorBox(formular.captcha);
	if (formular.captcha.value == "")
	{
		msg += "- musíte správně opsat text na obrázku\n";
		ColorBox(formular.captcha);
	}
	UnColorBox(formular.xpass2);
	if (formular.xpass.value != formular.xpass2.value)
	{
		msg += "- zadaná hesla se neshodují\n";
		ColorBox(formular.xpass);
		ColorBox(formular.xpass2);
	}
	if(formular.xpass.value.length < 6)
	{
		msg += "- minimální délka hesla je 6 znaků\n";
		ColorBox(formular.xpass);
	}
	
	if(msg == "Nevyplnili jste: \n")
		return true;
	else
	{
		alert(msg);
		return false;
	}
}

function CheckRegisterFormFirma()
{
	var formular = document.getElementById("register-form");
	var msg = "Nevyplnili jste: \n";
	UnColorBox(formular.jmeno_firma);
	if (formular.jmeno_firma.value == "")
	{
		msg += "- jméno\n";
		ColorBox(formular.jmeno_firma);
	}
	UnColorBox(formular.prijmeni_firma);
	if (formular.prijmeni_firma.value == "")
	{
		msg += "- příjmení\n";
		ColorBox(formular.prijmeni_firma);
	}
	UnColorBox(formular.adresa_fakturace);
	if (formular.adresa_fakturace.value == "")
	{
		msg += "- fakturační adresu\n";
		ColorBox(formular.adresa_fakturace);
	}
	UnColorBox(formular.mesto_fakturace);
	if (formular.mesto_fakturace.value == "")
	{
		msg += "- fakturační město\n";
		ColorBox(formular.mesto_fakturace);
	}
	UnColorBox(formular.psc_fakturace);
	if (formular.psc_fakturace.value == "")
	{
		msg += "- fakturační PSČ\n";
		ColorBox(formular.psc_fakturace);
	}
	UnColorBox(formular.email_firma);
	if (formular.email_firma.value == "")
	{
		msg += "- email\n";
		ColorBox(formular.email_firma);
	}
	UnColorBox(formular.telefon_firma);
	if (formular.telefon_firma.value == "")
	{
		msg += "- telefon\n";
		ColorBox(formular.telefon_firma);
	}
	UnColorBox(formular.xuser);
	if (formular.xuser.value == "")
	{
		msg += "- uživatelské jméno\n";
		ColorBox(formular.xuser);
	}
	UnColorBox(formular.xpass);
	if (formular.xpass.value == "")
	{
		msg += "- heslo\n";
		ColorBox(formular.xpass);
	}
	UnColorBox(formular.captcha);
	if (formular.captcha.value == "")
	{
		msg += "- musíte správně opsat text na obrázku\n";
		ColorBox(formular.captcha);
	}
	UnColorBox(formular.xpass2);
	if (formular.xpass.value != formular.xpass2.value)
	{
		msg += "- zadaná hesla se neshodují\n";
		ColorBox(formular.xpass);
		ColorBox(formular.xpass2);
	}
	if(formular.xpass.value.length < 6)
	{
		msg += "- minimální délka hesla je 6 znaků\n";
		ColorBox(formular.xpass);
	}
	
	if(msg == "Nevyplnili jste: \n")
		return true;
	else
	{
		alert(msg);
		return false;
	}
}

function getSelectedRadio(buttonGroup) {
   if (buttonGroup[0]) {
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return buttonGroup[i];
         }
      }
   } else {
      if (buttonGroup.checked) { return buttonGroup; } // if the one button is checked, return zero
   }
   return -1;
} 

function ChangePrice()
{
	var f = document.forms.OrderForm;
    var dopravaTyp = getSelectedRadio(f.doprava).value;
    var deliver_price = 0;
    var total_sum = 0;
    var sumProdukty = parseInt(document.forms.OrderForm.sum.value);
    var sleva = 0;
    
    if(getSelectedRadio(f.platba).value == "Převod na účet") {
		sleva = document.getElementById("sleva_ucet").value;
		sumProdukty = Math.round(((100-sleva)/100)*sumProdukty);
    } else {
		sleva = 0;
    }
    
    if(dopravaTyp == "Přeprava dodavatele") {
    	deliver_price = document.forms.OrderForm.delivery_default_price.value;
       	total_sum = parseInt(document.forms.OrderForm.delivery_default_price.value) + sumProdukty;
    }
    else {
        deliver_price = 0;
        total_sum = sumProdukty;
    }
    
    // nastaveni hodnot
    document.forms.OrderForm.delivery_price.value = deliver_price;
    document.getElementById("total_sum").innerHTML = total_sum + " Kč";
    document.getElementById("sleva").innerHTML = sleva + "%";
    document.getElementById("sumProduktyBox").innerHTML = sumProdukty + " Kč";
}

function ColorBox(box)
{
	box.style.borderColor = "red";	
}

function UnColorBox(box)
{
	box.style.borderColor = "black";	
}

function isNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}