function updateError(element, text){
	$(element).up().next().update(text);
}
function checkEmail(email){
    //check email
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
    if(emailPattern.test(email)){
        return true;
    } else {
		return false;
    }
}

function checkQuantity(quantity){
	var value = false;
	var pattern = /^[0-9]+$/;  
    if(pattern.test(quantity)){
    	if(quantity > 0) value = true;
    }
    
    return value;
}

function checkCreditcard(ccNumb) {
	var valid = "0123456789"
	var len = ccNumb.length;
	var iCCN = parseInt(ccNumb);
	var sCCN = ccNumb.toString();
	sCCN = sCCN.replace (/^\s+|\s+$/g,'');
	var iTotal = 0;
	var bNum = true;
	var bResult = false;
	var temp;
	var calc;
	
	for (var j=0; j<len; j++) {
	  temp = "" + sCCN.substring(j, j+1);
	  if (valid.indexOf(temp) == "-1"){bNum = false;}
	}
	
	if(!bNum){
	  /*alert("Not a Number");*/bResult = false;
	}
	
	if((len == 0)&&(bResult)){
	  bResult = false;
	} else {
	  if(len >= 15){  
	    for(var i=len;i>0;i--){  
	      calc = parseInt(iCCN) % 10;  
	      calc = parseInt(calc);  
	      iTotal += calc;  
	      i--;  
	      iCCN = iCCN / 10;                               
	      calc = parseInt(iCCN) % 10 ;    
	      calc = calc *2;                                 
	      
	      
	      switch(calc){
	        case 10: calc = 1; break;       
	        case 12: calc = 3; break;       
	        case 14: calc = 5; break;       
	        case 16: calc = 7; break;       
	        case 18: calc = 9; break;       
	        default: calc = calc;           
	      }                                               
	    iCCN = iCCN / 10;  
	    iTotal += calc;  
	  }  
	  if ((iTotal%10)==0){  
	    bResult = true;  
	  } else {
	    bResult = false;  
	    }
	  }
	}

	return bResult;
}

function checkForm(){
	var submit = true;
	
	if($F('firstname') == '') { updateError('firstname', 'Bitte geben Sie Ihren Vornamen an!'); submit = false;} else { updateError('firstname', ''); }
	if($F('lastname') == '') { updateError('lastname', 'Bitte geben Sie Ihren Nachnamen an!'); submit = false;} else { updateError('lastname', ''); }
	if($F('address') == '') { updateError('address', 'Bitte geben Sie Straße und Hausnummer an!'); submit = false;} else { updateError('address', ''); }
	if (! ( Math.ceil($F('zipcode'))>99 && Math.ceil($F('zipcode'))<=99999 && $F('zipcode').length>=4 && $F('zipcode').length<=5) ) {
		updateError('zipcode', 'Bitte geben Sie eine gültige Postleitzahl ein!'); submit = false;
	} else {
		updateError('zipcode', '');
	}
	
	if($F('city') == '') { updateError('city', 'Bitte geben Sie Ihre Stadt an!'); submit = false;} else { updateError('city', ''); }
	if(!checkEmail($F('email'))) { updateError('email', 'Bitte geben Sie eine gültige Email-Adresse an!'); submit = false;} else { updateError('email', ''); }
	if($F('country') == null) { updateError('country', 'Bitte wählen Sie ein Land aus!'); submit = false;} else { updateError('country', ''); }

	if($('quantity').visible() && !checkQuantity($F('quantity'))) { updateError('quantity', 'Bitte geben Sie eine gültige Anzahl ein!'); submit = false;} else { updateError('quantity', ''); }
	
	if($('paytype4').checked || $('paytype1').checked || $('paytype3').checked || $('paytype2').checked){
		updateError($('paytype3').up().up().up().up(), '');
	} else {
		
		updateError($('paytype3').up().up().up().up(), 'Bitte wählen Sie eine Zahlungsart aus!');
		submit = false;
	}
	
	if(!$('agb').checked) { updateError('agb', 'Sie müssen die AGBs akzeptieren!'); submit = false;} else { updateError('agb', ''); }
	return submit;
}

function setPayType(paytype){
	switch (paytype) {
	    case 5:
	        $('vorkasse').show();
	        break;

	    default:
	        $('vorkasse').hide();
	}
}

function setLastschriftAvailable(element){
	if(element.value != "DE"){
		$('imgLast').hide();
		$('spLast').hide();
		$('paytype1').checked = false;
	} else {
		$('imgLast').show();
		$('spLast').show();
	}
}
