function noteNeed(onOff, formName){

//wylacza/wlacza czesc formularza z danymi do faktury..

		if(onOff == true){
			onOff = false;
		}else{
			onOff = true;
		}
		
		document.forms[formName].elements['accountData[billSwitch]'].checked= false;
		document.forms[formName].elements['accountData[billSwitch]'].disabled= onOff;
		billAdress(onOff, formName);
	
}

function isInt(myNum) {
         // get the modulus: if it's 0, then it's an integer
         var myMod = myNum % 1;

         if (myMod == 0) {
                 return true;
         } else {
                 return false;
         }
}function x(war){
	return document.getElementById(war);
}
function billAdress(onOff, formName){
	//wylacza/wlacza formularz podawania adresu faktury i przepisuje wartosci
	
	var billFieldPrefix = "accountData[adrBill]";
	
	var shipFieldPrefix = "accountData[adrShip]";
	
	var lastIndex = billFieldPrefix.length;
	
	for(i=0; i<document.forms[formName].elements.length; i++){
		
		if(document.forms[formName].elements[i].name.substring(0, lastIndex) == billFieldPrefix){
			
			//podstawianie wartosci z pola ship...
			
			if(onOff == true){
			
				shipField = document.forms[formName].elements[i].name.replace(billFieldPrefix, shipFieldPrefix);
				
				document.forms[formName].elements[i].value = document.forms[formName].elements[shipField].value;
			
			}
			
			document.forms[formName].elements[i].disabled= onOff;
			
		}
		
	}

}

function loadStockFotos(fotoArray, bigFotoWidth, bigFotoHeight, Price, OptionName, prdId, stkId){
	
	var myImages = Array();
	
	var fotoDiv = document.getElementById('productstockfotos');
	
	//model i cena
	fotoDiv.innerHTML = "<div class='model'>";
	
	if(OptionName != ''){
		fotoDiv.innerHTML = fotoDiv.innerHTML + "Model: "+OptionName+" <span class='Price'>Cena: "+Price+" <br /></span></div>";	
	}else{
		fotoDiv.innerHTML = fotoDiv.innerHTML + "<span class='Price'>Cena: "+Price+" <br /></span></div>";	
	}
	
	fotoDiv.innerHTML = fotoDiv.innerHTML + "<div class='productBuy'>";
	
	fotoDiv.innerHTML = fotoDiv.innerHTML + "<input type='hidden' name='buyProduct[stockId]' value='"+stkId+"' />";
	fotoDiv.innerHTML = fotoDiv.innerHTML + "<input type='hidden' name='buyProduct[id]' value='"+prdId+"' />";
	fotoDiv.innerHTML = fotoDiv.innerHTML + "<input type='hidden' name='buyProduct[price]' value='"+Price+"' />";
	
	fotoDiv.innerHTML = fotoDiv.innerHTML + 'ilo?? <input class="countField" type="text" name="buyProduct[count]" id="buyProductCount"  value="1" />&nbsp;';
	fotoDiv.innerHTML = fotoDiv.innerHTML + "<input type='submit' name='buyProduct[buy]' value='kup &gt;&gt;' /><br />";

	fotoDiv.innerHTML = fotoDiv.innerHTML + "</div>";
	
	for(i=0; i<fotoArray.length; i++){

		newImage = new Image();
		newImage.src = 'foto/medium/'+fotoArray[i];
		fotoDiv.innerHTML = fotoDiv.innerHTML + '<img src="'+newImage.src+'" width="'+newImage.width+'" height="'+newImage.height+'" alt="" id="fotoTest'+i+'" name="fotoTest'+i+'"  onclick="popUpWindow('+"'foto/big/"+fotoArray[i]+"', '5', '5', '"+bigFotoWidth[i]+"', '"+bigFotoHeight[i]+"'"+')" style="cursor:pointer" />';
		document['fotoTest'+i].src = newImage.src;
	}

}

function validateNewAccountForm(formName){

	// - sprawdzanie poprawnosci formularza zakladania nowego konta...
	// - formName - nazwa formularza (user prywatny/firma)
	// - sprawdzamy tylko pola tekstowe, reszte odpuszczamy
	// - 
	/*
element = 	document.getElementById('newAccount[Haslo]');
			
				if(element.value.length < 6){
					
					alert('Haslo powinno skladac sie z minimu szesciu znakow');
					
					element.focus();
					
					return(false);
				}
				if (document.getElementById('newAccount[Haslo2]').value!=element.value){
				alert('Niepoprawnie powtorzyles haslo!');
				document.getElementById('newAccount[Haslo2]').focus();
			return (false);
			}
	*/		
	allElements = getFormElements('text', formName, 'name');
	
	for(elId=0; elId<allElements.length; elId++){
		
		element = document.forms[formName].elements[allElements[elId]];
		
		switch(element.name){
		
			case'newAccount[Login]':
			
				if(element.value.length < 6){
					
					alert('Login powinnien skladac sie z minimum szesciu znakow');
					
					element.focus();
					
					return(false);
				}
			
				break;
				
			
				
			case 'newAccount[Email]':
				
				if(!isEmail(element.value)){
					
					alert('Sprawdz poprawnosc adresu e-mail');
					
					element.focus();
					
					return(false);
				
				}
				
				break;
			
				
			
		}
		
	}
	return(true);
	
}
function validatePasswords(){
element = 	document.getElementById('haslo');
			
				if(element.value.length>0 && element.value.length < 6){
					
					alert('Haslo powinno skladac sie z minimum szesciu znakow');
					
					element.focus();
					
					return(false);
				}
				if (document.getElementById('haslo2').value!=element.value){
				alert('Niepoprawnie powtorzyles haslo!');
				document.getElementById('haslo2').focus();
			return (false);
			}
	element = 	document.getElementById('hasloTel');
			
				if(element.value.length>0 && element.value.length < 6){
					
					alert('Haslo powinno skladac sie z minimum szesciu znakow');
					
					element.focus();
					
					return(false);
				}
				if (document.getElementById('hasloTel2').value!=element.value){
				alert('Niepoprawnie powtorzyles haslo!');
				document.getElementById('hasloTel2').focus();
			return (false);
			}
return (true);
}
function validateChceckOutForm(checkBill){
	// - najpierw sprawdzimy, czy mamy sprawdzac adres dla faktury
	if((checkBill != false)
	/* && document.forms['chceckOutForm'].elements['accountData[noteNeed]'].checked == true && document.forms['chceckOutForm'].elements['accountData[billSwitch]'].checked == false*/
	){
		var tryb = 'note';

	}else{
	
		var tryb = 'noNote';
		
	}
	if(checkBill == false){
		var tryb = 'noNote';	
	}
	// - sprawdzamy tylko pola textowe bo innych nie ma co :)
	
	element = 	document.getElementById('accountData[Haslo]');
			
				if(element.value.length>0 && element.value.length < 6){
					
					alert('Haslo powinno skladac sie z minimu szesciu znakow');
					
					element.focus();
					
					return(false);
				}
				if (document.getElementById('accountData[Haslo2]').value!=element.value){
				alert('Niepoprawnie powtorzyles haslo!');
				document.getElementById('accountData[Haslo2]').focus();
			return (false);
			}
	
	allElements = getFormElements('text', 'chceckOutForm', 'name');
	
	for(elId=0; elId<allElements.length; elId++){
		
		//element = document.getElementByName(allElements[i]);
		element = document.forms['chceckOutForm'].elements[allElements[elId]];

		switch(element.name){

			//sprawdzanie inputow
			
			// - najpierw dane dostarczenia paczuszki...

			case 'accountData[adrShip][EMail]':
				
				if(!isEmail(element.value)){
					
					alert('Sprawd?? poprawno???? adresu e-mail');
					
					element.focus();
					
					return(false);
				
				}
				
				break;
				
			case 'accountData[adrShip][Imie]':
				
				// - imie musi skladac sie z minimu 3 liter
				
				if(element.value.length < 3){
					
					alert('Sprawdz imie');
					
					element.focus();
					
					return(false);
					
				}
				
				
				break;
				
			case 'accountData[adrShip][Nazwisko]':
				
				// - Nazwisko musi skladac sie z minimu 3 liter
				
				if(element.value.length < 3){
					
					alert('Sprawdz nazwisko');
					
					element.focus();
					
					return(false);
					
				}
				
				
				break;
				
			case 'accountData[adrShip][Telefon]':
				// - Nazwisko musi skladac sie z minimu 3 liter
					
					totalNumbers = 0;
					var stringLength = element.value.length;
					for (var k=0; k<stringLength; k++){ 
					
						Char = element.value.charAt(k);
						
						if(IsNumeric(Char)){
							
							totalNumbers++;
							//alert('totalNumbers: ' + totalNumbers);
						}
					
					}
	
					if(totalNumbers < 6){

						alert('Sprawdz numer telefonu, powinnien skladac sie z minimum szesciu cyfr');
						
						element.focus();
					
						return(false);
						
					}

				break;
				
			case 'accountData[adrShip][NazwaFirmy]':
			
				break;
				
			case 'accountData[adrShip][NIP]':
				
				break;
				
			case 'accountData[adrShip][Regon]':

				break;
				
			case 'accountData[adrShip][Kraj]':
				
				if(element.value.length < 3){
					
					alert('Sprawdz kraj');
					
					element.focus();
					
					return(false);
					
				}
				
				break;
				
			case 'accountData[adrShip][Miasto]':

				if(element.value.length < 3){
					
					alert('Sprawdz miasto');
					
					element.focus();
					
					return(false);
					
				}
				
				break;
				
			case 'accountData[adrShip][Kod]':
				// - kod musi skladac sie dokladnie z 5ciu cyfr i posidac 6 znakow w sumie
					
					totalNumbers = 0;
					var stringLength = element.value.length;
					for (var k=0; k<stringLength; k++){ 
					
						Char = element.value.charAt(k);
						
						if(IsNumeric(Char)){
							
							totalNumbers++;
							//alert('totalNumbers: ' + totalNumbers);
						}
					
					}
	
					if(totalNumbers != 5 || element.value.length != 6){

						alert('Sprawdz kod pocztowy');
						
						element.focus();
					
						return(false);
						
					}

				
				break;
				
			case 'accountData[adrShip][Adres]':
				if(element.value.length < 3){
					
					alert('Sprawdz adres');
					
					element.focus();
					
					return(false);
					
				}
				break;
			
// - nastepnie dane dostarczenia faktury, ale tylko jak klient chce fakture i dane do faktury sa inne niz dane dostarczenia towaru
			
	
				case 'accountData[adrBill][EMail]':
				
				if(!isEmail(element.value) && tryb == 'note'){
					
					alert('Sprawdz poprawnosc adresu e-mail');
					
					element.focus();
					
					return(false);
				
				}
				
				break;
				
			case 'accountData[adrBill][Imie]':
				
				// - imie musi skladac sie z minimu 3 liter
				
				if(element.value.length < 3  && tryb == 'note'){
					
					alert('Sprawdz imie');
					
					element.focus();
					
					return(false);
					
				}
				
				
				break;
				
			case 'accountData[adrBill][Nazwisko]':
				
				// - Nazwisko musi skladac sie z minimu 3 liter
				
				if(element.value.length < 3 && tryb == 'note'){
					
					alert('Sprawdz nazwisko');
					
					element.focus();
					
					return(false);
					
				}
				
				
				break;
				
			case 'accountData[adrBill][Telefon]':
				// - Nazwisko musi skladac sie z minimu 3 liter
					
					totalNumbers = 0;
					var stringLength = element.value.length;
					for (var k=0; k<stringLength; k++){ 
					
						Char = element.value.charAt(k);
						
						if(IsNumeric(Char)){
							
							totalNumbers++;
							//alert('totalNumbers: ' + totalNumbers);
						}
					
					}
	
					if(totalNumbers < 6  && tryb == 'note'){

						alert('Sprawdz numer telefonu, powinnien skladac sie z minimum szesciu cyfr');
						
						element.focus();
					
						return(false);
						
					}

				break;
				
			case 'accountData[adrBill][NazwaFirmy]':
			
				break;
				
			case 'accountData[adrBill][NIP]':
				
				break;
				
			case 'accountData[adrBill][Regon]':

				break;
				
			case 'accountData[adrBill][Kraj]':
				
				if(element.value.length < 3 && tryb == 'note'){
					
					alert('Sprawdz kraj');
					
					element.focus();
					
					return(false);
					
				}
				
				break;
				
			case 'accountData[adrBill][Miasto]':

				if(element.value.length < 3 && tryb == 'note'){
					
					alert('Sprawdz miasto');
					
					element.focus();
					
					return(false);
					
				}
				
				break;
				
			case 'accountData[adrBill][Kod]':
				// - kod musi skladac sie dokladnie z 5ciu cyfr i posidac 6 znakow w sumie
					
					totalNumbers = 0;
					var stringLength = element.value.length;
					for (var k=0; k<stringLength; k++){ 
					
						Char = element.value.charAt(k);
						
						if(IsNumeric(Char)){
							
							totalNumbers++;
							//alert('totalNumbers: ' + totalNumbers);
						}
					
					}
	
					if((totalNumbers != 5 || element.value.length != 6) && tryb == 'note'){

						alert('Sprawdz kod pocztowy');
						
						element.focus();
					
						return(false);
						
					}

				
				break;
				
			case 'accountData[adrBill][Adres]':
				if(element.value.length < 3 && tryb == 'note'){
					
					alert('Sprawdz adres');
					
					element.focus();
					
					return(false);
					
				}
				break;
		}
		
	}
	
	return(true);
	
}
function validateBuyProductForm(){
	// - sprawdzanie poprawnosci formularza dodawania do koszyka
	
	element = document.getElementById('buyProductCount');
	if(element.value != parseInt(element.value)){
				
				alert('Ilosc musi byc liczba naturalna');
			document.getElementById(element.id).focus();
				return(false);
			}
	if(IsNumeric(element.value)){
		return(true);
	}else{
		alert('Ilosc musi byc wyrazona liczba naturalna');
		document.getElementById(element.id).focus();
		return(false);	
	}

}

function validateCartForm(){
	
	var allElements = Array();
	
	allElements = getFormElements('text', 'cartForm', 'id');
	
	// - poniewasz w koszyku wszystkie pola tekstowe musza byc numeryczne (mozna zmieniac tylko ilosc) wiec jadziem ze wszystkimi i sprawdzamy czy sa ok
	
	for(i=0; i<allElements.length; i++){

		//var element = allElements[i];
		
		element = document.getElementById(allElements[i]);
		
		if(element){
			
			elementValue = element.value;
			
			if(elementValue != parseInt(elementValue)){
				
				alert('Ilosc musi byc okreslona liczba');
				element.focus();
				return(false);
			}
			elementValue = parseInt(elementValue);
			if (elementValue<0) {
				alert('Wprowadz liczbe dodatnia');
				element.focus();
				return(false);
			}
		}

	}
	
	return(true);
}

function getFormElements(fieldType, formName, returnParametr){
	
// - returnParametr - okresla co f-kcja zwroci, czy id elementu czy jego id
	
/* zwraca tablice elementow z formularz o nazwie zaczynajacej sie podanym prefixem */
	var elements = Array();
	
//	var lastIndex = fieldPrefix.length;
	
	for(i=0; i<document.forms[formName].elements.length; i++){
		
		type = document.forms[formName].elements[i].type;

		if((type == fieldType)){ 
			
			switch(returnParametr){
				
				case 'id':
			
					elements[elements.length] = document.forms[formName].elements[i].id;
					
					break;
					
				case 'name':
			
					elements[elements.length] = document.forms[formName].elements[i].name;
					
					break;
			}
			
			
					
		}
	
	}
	
	return(elements);
	
}

function validateNumeric(element){

	if(IsNumeric(element.value)){
	
		return(true);
	
	}else{
	
		alert('Ilosc musi byc wyrazona liczba');
		
		document.getElementById(element.id).focus();
		
		return(false);
	
	}

}
		
function IsNumeric(sText){
//funkcja sprawdzajaca czy tekst jest liczba	
	
	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;

}

function changeNewAccountForm(form){

	document.getElementById('newAccountFormCompany').style.display = 'none';
	document.getElementById('newAccountFormPrivateUser').style.display = 'none';
	
	switch(form){
	
		case 'priv':
			document.getElementById('newAccountFormPrivateUser').style.display = 'block';
			break
			
		case 'company':
			document.getElementById('newAccountFormCompany').style.display = 'block';
			break
	
	}

}


function isEmail(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false
	 }

	 return true					
}
function activateAccountForm(war){
	document.getElementById('newAccount[adrBill][Imie]').disabled=war;
document.getElementById('newAccount[adrBill][Nazwisko]').disabled=war;
document.getElementById('newAccount[adrBill][Adres]').disabled=war;
//document.getElementById('newAccount[adrBill][Uwagi]').disabled=war;
document.getElementById('newAccount[adrBill][Kraj]').disabled=war;
document.getElementById('newAccount[adrBill][Miasto]').disabled=war;
document.getElementById('newAccount[adrBill][Kod]').disabled=war;
document.getElementById('newAccount[adrBill][NIP]').disabled=war;
document.getElementById('newAccount[adrBill][Regon]').disabled=war;
document.getElementById('newAccount[adrBill][NazwaFirmy]').disabled=war;


}
function activateChangeAccountForm(war){
	document.getElementById('accountData[adrBill][Imie]').disabled=war;
document.getElementById('accountData[adrBill][Nazwisko]').disabled=war;
document.getElementById('accountData[adrBill][Adres]').disabled=war;
//document.getElementById('accountData[adrBill][Uwagi]').disabled=war;
document.getElementById('accountData[adrBill][Kraj]').disabled=war;
document.getElementById('accountData[adrBill][Miasto]').disabled=war;
document.getElementById('accountData[adrBill][Kod]').disabled=war;
document.getElementById('accountData[adrBill][NIP]').disabled=war;
document.getElementById('accountData[adrBill][Regon]').disabled=war;


document.getElementById('accountData[adrBill][NazwaFirmy]').disabled=war;


}


function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
	}    
