var producten = Array();
var product_blokken = 0;
var totaal_product_prijs = 0;
var totaal_pakpapier_prijs = 0;

function detectItem(originalArray, itemToDetect) {
	var j = 0;
	while (j < originalArray.length) {
		if (originalArray[j] == itemToDetect) {
			return true;
		} else { j++; }		
	}
	return false;
}

function removeItem(originalArray, itemToRemove) {
	var j = 0;
	while (j < originalArray.length) {
		if (originalArray[j] == itemToRemove) {
			originalArray.splice(j, 1);
		} else { j++; }
	}
	return originalArray;
}

function button(actie){
	var stap = parseInt(jQuery("input[@name='stap']").val());
	
	jQuery("input[@name='stap_actie']").val(actie);
	
	if(actie=="vorige"){
		jQuery("input[@name='stap']").val((stap - 1));
	}
	
	if(actie=="inloggen" || actie=="nieuw" || actie=="wachtwoord_vergeten"){
		jQuery('input[name=profiel_actie]').val(actie);
	}
	
	//alert(jQuery("input[@name='stap']").val());
	document.aanmelden.submit();
}

function selecteer_product(product_id, product_prijs, regel){
	if(jQuery("#product_regel_"+regel).hasClass("bestel_regel_selected")){
		removeItem(producten, product_id);
		totaal_product_prijs -= product_prijs;
		
		jQuery("#product_checkbox_"+regel).removeAttr("checked");
		
		reset_pakpapier(regel);
		
		if(jQuery("#product_blok_"+regel).attr("extra_blok")=="true"){
			jQuery("#product_blok_"+regel).remove();
		}
	}else{
		removeItem(producten, product_id);
		producten[producten.length] = product_id;
		totaal_product_prijs += product_prijs;
		
		jQuery("#product_checkbox_"+regel).attr("checked", "checked");
	}
	
	jQuery("#product_regel_"+regel).toggleClass("bestel_regel_selected");
	jQuery("#extragegevens_"+regel).toggle();
	
	jQuery("#aanmelden_totaal_prijs").html(number_format((totaal_product_prijs+totaal_pakpapier_prijs), 2, ",", "."));
}

function activeer_product(product_id, product_prijs, regel){	
	removeItem(producten, product_id);
	producten[producten.length] = product_id;
	totaal_product_prijs += product_prijs;
	
	jQuery("#product_checkbox_"+regel).attr("checked", "checked");
	
	if(!jQuery("#product_"+regel).hasClass("bestel_regel_selected")) jQuery("#product_"+regel).addClass("bestel_regel_selected");
	
	jQuery("#extragegevens_"+regel).show();
	jQuery("#afleveradres_invoeren_"+regel).hide();
	jQuery("#pakpapier_selecteren_"+regel).hide();
	
	jQuery("#product_blok_"+regel).attr("extra_blok", "true");
	jQuery("#product_"+regel+" > p").hide();
	
	jQuery("#aanmelden_totaal_prijs").html(number_format((totaal_product_prijs+totaal_pakpapier_prijs), 2, ",", "."));
}

function toggle_pakpapier(regel){
	if(jQuery('#pakpapier_selecteren_'+regel).css("display")=="none"){
		jQuery('#pakpapier_selecteren_'+regel).css("display", "block");
	}else{
		reset_pakpapier(regel);
		jQuery('#pakpapier_selecteren_'+regel).css("display", "none");
	}
}

function toggle_cadeau(regel){
	//alert(jQuery('#cadeau_box_'+regel).css("display"));
	if(jQuery('#cadeau_box_'+regel).css("display")=="block"){
		//jQuery('#cadeau_box_'+regel).css("display", "block");
		jQuery('#cadeau_box_'+regel).hide();
	} else {
		//jQuery('#cadeau_box_'+regel).css("display", "none");
		jQuery('#cadeau_box_'+regel).show();
	}
}

function toggle_boodschap(regel){
	if(jQuery('#boodschap_invoeren_'+regel).css("display")=="none"){
		jQuery('#boodschap_invoeren_'+regel).css("display", "block");
	}else{
		jQuery('#boodschap_invoeren_'+regel).css("display", "none");
	}
}

function toggle_afleveradres(regel){
	if(jQuery('#afleveradres_invoeren_'+regel).css("display")=="none"){
		jQuery('#afleveradres_invoeren_'+regel).css("display", "block");
	}else{
		jQuery('#afleveradres_invoeren_'+regel).css("display", "none");
	}
}

function reset_pakpapier(regel){
	for(var x=0; x < jQuery("#pakpapier_selecteren_"+regel+" > select > option[@name='pakpapier']").length; x++){
		element = jQuery("#pakpapier_selecteren_"+regel+" > select > option[@name='pakpapier']")[x];
		if(x==0){
			element.selected = true;
		}else{
			element.selected = false;
		}
	}
	
	selecteer_pakpapier();
}

function selecteer_pakpapier(){
	totaal_pakpapier_prijs = 0;
	for(var x=0; x < jQuery("option[@name='pakpapier']").length; x++){
		element = jQuery("option[@name='pakpapier']")[x];
		if(element.selected && jQuery(element).attr("prijs") && jQuery(element).attr("prijs")!="undefined"){
			totaal_pakpapier_prijs += parseFloat(jQuery(element).attr("prijs"));
		}
	}
	
	jQuery("#aanmelden_totaal_prijs").html(number_format((totaal_product_prijs+totaal_pakpapier_prijs), 2, ",", "."));
}

function product_dupliceren(product_id, product_prijs, regel){
	var nieuwe_regel = parseInt(jQuery(".product_kopie").length);
	var product_blok = jQuery("#product_blok_"+regel).html();
	
	product_blok = str_replace("_"+regel, "_"+nieuwe_regel, product_blok);
	product_blok = str_replace(", '"+regel+"'", ", '"+nieuwe_regel+"'", product_blok);
	product_blok = str_replace(", "+regel, ", "+nieuwe_regel, product_blok);
	product_blok = str_replace("('"+regel+"')", "('"+nieuwe_regel+"')", product_blok);
	product_blok = str_replace("["+regel+"]", "["+nieuwe_regel+"]", product_blok);
	
	jQuery("#product_blok_"+regel).after('<div id="product_blok_'+nieuwe_regel+'" style="border-bottom:1px solid #ccc;">'+product_blok+'</div>');
	
	pcCijferVeldNaam[pcCijferVeldNaam.length] = "pc_cijfer_"+nieuwe_regel;
	pcLetterVeldNaam[pcLetterVeldNaam.length] = "pc_letter_"+nieuwe_regel;
	
	$("#pc_cijfer_"+nieuwe_regel).autotab({ target: $("#pc_letter_"+nieuwe_regel), format: "numeric" });
	$("#pc_letter_"+nieuwe_regel).autotab({ previous: $("#pc_cijfer_"+nieuwe_regel), format: "alpha", uppercase: true });
	
	jQuery("#koppel_regel_"+nieuwe_regel).val(regel);
	
	activeer_product(product_id, product_prijs, nieuwe_regel);
}

function str_replace(search, replace, subject) {    
    var f = search, r = replace, s = subject;
    var ra = is_array(r), sa = is_array(s), f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
 
    while (j = 0, i--) {
        while (s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
    };
     
    return sa ? s : s[0];
}

function is_array( mixed_var ) { 
    return ( mixed_var instanceof Array );
}

function check_datum(regel, start_datum){
	var bezorgdatum_dag = $("#bezorgdatum_dag_"+regel).val();
	var bezorgdatum_maand = $("#bezorgdatum_maand_"+regel).val();
	var bezorgdatum_jaar = $("#bezorgdatum_jaar_"+regel).val();
	
	if(bezorgdatum_dag.length==1) bezorgdatum_dag = "0"+bezorgdatum_dag;
	if(bezorgdatum_maand.length==1) bezorgdatum_maand = "0"+bezorgdatum_maand;
	
	var datum = new Date(bezorgdatum_jaar, (parseFloat(bezorgdatum_maand) - 1), bezorgdatum_dag);
	var datum_check = parseFloat(bezorgdatum_jaar+bezorgdatum_maand+bezorgdatum_dag);
	
	if(datum_check < start_datum){
		alert("De bezorgdatum moet minimaal 4 werkdagen na vandaag zijn");
	}else if(datum.getDay()==0){
		alert("Er kan alleen van maandag t/m zaterdag bezorgd worden");
	}
}