/* Functions */
var telRegExp = /([0-9-]+){11}|([0-9]+){10}/; 
var timeRegExp = /^(\d{1,2}):(\d{2})$/;
var emailRegExp = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.([a-zA-Z]){2,4})$/;
var postcodeRegExp = /^([0-9]){4}([a-zA-Z]){2}$/;

var productPrice = 0;
var designTypes = new Array();
var productVariants = new Array();
var active_color = 0;
var designer_product = 0;
var designer_variant = 0;

$(document).ready(function () {

	if($("#rs_designer").length > 0){
		
		//Load first all fonts	
		$.getScript('includes/designer/designer-fonts.js', function(data, textStatus){
			
			//Load the designer
			$.getScript('includes/designer/designer.js', function(data, textStatus){	   		
						 
				//Loading is finished > apply cufon			
				Cufon.replace('.arial', { fontFamily: 'Arial'});
				Cufon.replace('.bauhaus', { fontFamily: 'Bauhaus' });
				Cufon.replace('.handwritten', { fontFamily: 'Handwritten' });
				Cufon.replace('.helvetica', { fontFamily: 'Helvetica' });
				Cufon.replace('.jokerman', { fontFamily: 'Jokerman' });
				Cufon.replace('.kunstler', { fontFamily: 'Kunstler' });
				Cufon.replace('.memphis', { fontFamily: 'Memphis' });
				Cufon.replace('.oldeng', { fontFamily: 'Oldengl' });
				Cufon.replace('.snap', { fontFamily: 'Snap' });
				Cufon.replace('.urban', { fontFamily: 'Urban' });
				
				if(designer_product > 0){
					$('#rs_designer_choose_prd').hide();
					$('#rs_designer_order_prd').html('opslaan &raquo;');
					$('#rs_designer_product_image').css('margin', 0);
					rs_designer_load_product(designer_product, designer_variant);
				}
				
			});
		});    
		
	}
	
	$("#rs_designer_choose_prd").fancybox({
		href: ajax_rel_path+'webshop_ajax.php?_ajax_parser=rs_webshop&shop_designer=1'
	});

	$('.open_in_designer').live('click', function(){
		
		//$.fancybox.close();
		var product_id = $(this).parent().attr('id');
		product_id = product_id.replace('product_', '');
		
		rs_designer_load_product(product_id);
		
	});
	

	$('#rs_designer_order_prd').click(function(){
	
		var answer = confirm("De producten worden toegevoegd aan uw winkelwagen.\nU kunt het ontwerp niet meer aanpassen.\nWeet u zeker dat u de product(en) wilt bestellen.")
		if(answer){
		
			var design_price = 0;
			var dp = 0;
			for (var key in designerObjectsReal) {
				var obj = designerObjectsReal[key];
				if(obj.designerActive){
					design_price += designTypes[dp].price;
				}
				dp++;
			}
			
			var design_options = designer_json_data();
		
			var v = 0;
			$('#rs_designer_product_sizes input[type="text"]').each(function(){
				if($(this).val() > 0){
					v++;
					var variant_id = $(this).attr('id').replace('product_variant_', '');
					add_to_cart_designer(variant_id, $(this).val(), design_price, design_options);
				}
			});
			
			if(v == 0){
				alert('U dient minimaal 1 maat op te geven.');
			} else {
				window.location.href = $('#rs_cart').attr('href');
			}
		
		}

	});

    $('#rs_header ul.normal li.active').prev('li').find('a').css('border', '0');
    $('#rs_header ul.modern li.active').prev('li').find('a').css('background', 'none');

    $(".rs_design_tabs").tabs();	
	
	
    $(".rs_tabs:not(.sortable)").tabs({
        fx: {
            opacity: 'toggle'
        }
    });
    $(".rs_tabs.sortable").tabs({
        fx: {
            opacity: 'toggle'
        }
    });
    $(".rs_img_slider").tabs({
        fx: {
            opacity: 'toggle'
        }
    }).tabs("rotate", 8000);
    $('#contact_form_submit').click(function () {
        $('#contact_form').submit();
    });
    $('#contact_form').validate({
        errorElement: "span"
    });
    $(".fancybox").fancybox({ /*'type': 'iframe',		'width': 900,		'height': 500*/
    });
    if (edit_mode) {
        $(".ui-tabs-nav").sortable({
            items: 'li',
            axis: "x",
            update: function () {
                var order = $(".ui-tabs-nav").sortable('serialize');
                $.get('site_settings_action.php?action=save_items_order_tabs&' + order, function (data) {});
            }
        });
        $('.rs_sortable_items').sortable({
            items: '.rs_text_box',
            cancel: '.rs_text_box.new',
            containment: 'parent',
            tolerance: 'pointer',
            cursor: 'crosshair',
            /*handle: '.rs_move_item',*/
            update: function () {
                var order = $(".rs_sortable_items").sortable('serialize');
                $.get('site_settings_action.php?action=save_items_order&' + order, function (data) {});
            }
        });
        $('.rs_text_box').each(function () {
            $(this).addClass('sortable');
            var text_id = $(this).attr('id');
            text_id = text_id.replace('rs_text_box_', '');
            $('#rs_edit_item_' + text_id).click(function () {
                $('.rs_text_box').removeClass('sortable');
                $('.rs_sortable_items').sortable('disable');
                $('#rs_text_box_' + text_id).addClass('active');
                $.ajax({
                    url: 'site_settings_action.php',
                    data: ({
                        action: 'edit_text_item',
                        item_id: text_id
                    }),
                    success: function (data) {
                        $('#rs_text_box_' + text_id).html(data);
                        $('#rs_text_box_' + text_id).addClass('edit');
                        var container_width = $('#rs_text_box_' + text_id).width() - 10;
                        $('#rs_text_box_' + text_id + ' input[type="text"]').width(container_width);
                        $('#rs_text_box_' + text_id + ' select').width(container_width + 10);
                        $('#rs_text_box_' + text_id + ' input[type="file"]').width(container_width);
                        var editor = CKEDITOR.replace('item_text', {
                            customConfig: 'slash2_config.js',
                            width: container_width + 10
                        });
                        $('#rs_text_box_' + text_id + ' .cancel').click(function () {
                            window.location.reload();
                        });
                    }
                });
            });
            $('#rs_delete_item_' + text_id).click(function () {
                var answer = confirm("Weet u zeker dat u dit item wilt verwijderen?");
                if (answer) {
                    $.ajax({
                        url: 'site_settings_action.php',
                        data: ({
                            action: 'delete_text_item',
                            item_id: text_id
                        }),
                        success: function (data) {
                            window.location.reload();
                        }
                    });
                }
            });
        });
        $('.rs_add_item').click(function () {
            $(this).hide();
            $.ajax({
                url: 'site_settings_action.php',
                data: ({
                    action: 'edit_text_item',
                    page_id: page_id
                }),
                success: function (data) {
                    $('<div class="rs_text_box active new" id="rs_text_box_new"></div>').insertBefore('.rs_add_item');
                    $('#rs_text_box_new').html(data);
                    $('#rs_text_box_new').addClass('edit');
                    var container_width = $('#rs_text_box_new').width() - 10;
                    $('#rs_text_box_new input[type="text"]').width(container_width);
                    $('#rs_text_box_new select').width(container_width + 10);
                    $('#rs_text_box_new input[type="file"]').width(container_width);
                    var editor = CKEDITOR.replace('item_text', {
                        customConfig: 'slash2_config.js',
                        width: container_width + 10
                    });
                    $('#rs_text_box_new .cancel').click(function () {
                        window.location.reload();
                    });
                }
            });
        });
        $('.rs_text_box').mouseenter(function () {
            if (!$('.rs_text_box').hasClass('active')) {
                var text_id = $(this).attr('id');
                text_id = text_id.replace('rs_text_box_', '');
                $(this).addClass('edit');
            }
        }).mouseleave(function () {
            if (!$(this).hasClass('active')) {
                var text_id = $(this).attr('id');
                text_id = text_id.replace('rs_text_box_', '');
                $(this).removeClass('edit');
            }
        });
        $(".rs_add_image").fancybox({
            hideOnOverlayClick: false,
            enableEscapeButton: false,
            showCloseButton: false,
            onComplete: function () {
                $('.rs_edit_images_ok').click(function () {
                    window.location.reload();
                });
                get_image_rows();
                var swf_upload = new SWFUpload({
                    upload_url: 'site_settings_action.php',
                    flash_url: ajax_rel_path+'includes/swfupload/Flash/swfupload.swf',
                    file_post_name: 'image',
                    post_params: {
                        'action': 'upload_img',
                        'setting': 'page_img',
                        'page_id': $('#page_id').val()
                    },
                    button_placeholder_id: 'rs_add_image_swf',
                    file_types: '*.jpg',
                    file_types_description: 'Jpg afbeelding',
                    file_upload_limit: 100,
                    file_queue_limit: 100,
                    button_image_url: 'images/swf_upload.png',
                    button_width: 173,
                    button_height: 33,
                    button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
                    button_cursor: SWFUpload.CURSOR.HAND,
                    button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE,
                    file_dialog_complete_handler: function (numFilesSelected, numFilesQueued) {
                        if (numFilesSelected > 0) {
                            try {
                                this.startUpload();
                                $('#rs_add_image_swf_loading').show();
                            } catch (ex) {
                                this.debug(ex);
                            }
                        }
                    },
                    upload_complete_handler: function () {
                        get_image_rows();
                        $('#rs_add_image_swf_loading').hide();
                    },
                    debug: false
                });
            }
        });
    }

    $('#product_to_cart').click(function () {
        add_to_cart($('#variant_id').val(), $('#amount').val());
    });
	
	$('.qty_variant_cart').live('keyup', function(){
			
			//console.log('variant_Cart');
			var variant_id = $(this).attr('id');
			variant_id = variant_id.replace('qty_variant_', '');
			var new_qty = $(this).val();
			
			if(new_qty > 0){
			
				if(new_qty > parseInt($('#max_qty_variant_'+variant_id).val())){
					new_qty = $('#max_qty_variant_'+variant_id).val();
					$('#qty_variant_'+variant_id).val(new_qty);
					alert('Er zijn maximaal '+$('#max_qty_variant_'+variant_id).val()+' stuks beschikbaar van dit artikel.');
				}				
				
				$.ajax({
					url: ajax_rel_path + 'webshop_ajax.php',
					data: ({
						_ajax_parser: 'cart',
						shop_cart_action: 'update',
						shop_cart_variant: variant_id,
						shop_cart_qty: new_qty
					}),
					success: function () {
						location.reload(true);
					}
				});
				
				
			} else {
			
				var answer = confirm("Weet u zeker dat u dit product uit de winkelwagen wilt verwijderen?")
				if (answer){
					
					$.ajax({
						url: ajax_rel_path + 'webshop_ajax.php',
						data: ({
							_ajax_parser: 'cart',
							shop_cart_action: 'remove',
							shop_cart_variant: variant_id
						}),
						success: function () {
							location.reload(true);
						}
					});
				} else {
					
				}
			
			}
			
		});
	
	$('#submit_order').live('click', function() {
		mf_insert_order();
	});
	
    fill_cart();
});

function rs_designer_load_product(product_id, variant_id){
	
	$.ajax({
		url: ajax_rel_path+'webshop_ajax.php',
		dataType: 'json',
		data: ({
			_ajax_parser: 'rs_product_design_info',			
			product_id: product_id,
			variant_id: variant_id
		}),
		success: function (product) {
		
			//console.log(product);
			
			$('#rs_designer_choose_prd_text').hide();
		
			designTypes = product.design_types;
			productVariants = product.variants;
			productPrice = product.price;
		
			//Create product info
			createProductBlock(product.name, product.image);
			
			//Create designer element foreach design_types
			createDesigner(product.design_types);

			createColors(product.colors);
			createSizes();
			createPrice();
			
			//Close the fancybox
			$.fancybox.close();
			
		}
	});
	
}

function addMouseEvents(){

	$('.webshop_product').each(function () {
		
		var product_id = $(this).attr('id');
		product_id = product_id.replace('product_', '');
	
		$(this).hoverIntent({
			over: function () {
				$(this).addClass('webshop_product_hover');
				$('#'+this.id+' > .webshop_product_shadow_top').addClass('webshop_product_shadow_top_hover');
				$('#'+this.id+' > .webshop_product_shadow_bottom').addClass('webshop_product_shadow_bottom_hover');			
				load_product_overlay(product_id);
			},
			timeout: 20,
			out: function () {
				$(this).removeClass('webshop_product_hover');
				$('#'+this.id+' > .webshop_product_shadow_top').removeClass('webshop_product_shadow_top_hover');
				$('#'+this.id+' > .webshop_product_shadow_bottom').removeClass('webshop_product_shadow_bottom_hover');			
				$('#product_overlay_' + product_id).hide();
				$('#product_overlay_' + product_id).removeClass('active');
			}
		});
	
	});
	
	$('#product_colors_inner a').click(function () {
        
		var color_id = $(this).attr('id');
        color_id = color_id.replace('color_', '');
        
		$('#color_id').val(color_id);
    
		load_product_color();
		
    });

}

function load_product_overlay(product_id, color_id) {
	
    if (!$('#product_overlay_' + product_id).hasClass('active')) {
        $('#product_overlay_' + product_id).addClass('active');
        $.ajax({
            url: ajax_rel_path + 'webshop_ajax.php',
            type: "GET",
            data: ({
                _ajax_parser: 'rs_product',
                action: 'product_overlay',
                product_id: product_id,
                color_id: color_id
            }),
            success: function (html) {
                $('#product_overlay_' + product_id).html(html);
                $('#product_overlay_' + product_id).show();
                $('#product_overlay_' + product_id).mouseleave(function () {
                    $(this).removeClass('active');
                    $(this).hide();
                });
                $('#product_overlay_' + product_id + ' .color').click(function () {
                    var color_id = $(this).attr('id');
                    color_id = color_id.replace('color_', '');
                    $('#product_overlay_' + product_id).removeClass('active');
                    load_product_overlay(product_id, color_id);
                });
            }
        });
    }
}
function get_image_rows() {
    $.ajax({
        url: 'site_settings_action.php',
        data: ({
            action: 'get_image_rows',
            page_id: $('#page_id').val()
        }),
        success: function (data) {
            $('#rs_edit_images_rows').html(data);
            $('#rs_edit_images_rows').sortable({
                containment: 'parent',
                tolerance: 'pointer',
                handle: '.move',
                update: function () {
                    var order = $("#rs_edit_images_rows").sortable('serialize');
                    $.get('site_settings_action.php?action=save_img_order&' + order, function (data) {});
                }
            });
            $('#rs_edit_images_rows .delete').click(function () {
                var image_id = $(this).parent().attr('id').replace('rs_edit_images_row_', '');
                var answer = confirm("Weet u zeker dat u deze afbeelding wilt verwijderen?");
                if (answer) {
                    $.get('site_settings_action.php?action=delete_image&image_id=' + image_id, function () {
                        get_image_rows();
                    });
                }
            });
        }
    });
}
function change_size(variant_id, size, old_price, price, stock) {
    old_price_int = old_price.replace('.', '');
    old_price_int = old_price_int.replace(',', '.');
    price_int = price.replace('.', '');
    price_int = price_int.replace(',', '.');
    $('#product_sizes a').removeClass('active');
    $('#size_' + variant_id).addClass('active');
    $('#variant_id').val(variant_id);
    $('#selected_size').html(size);
    if (parseFloat(price_int) < parseFloat(old_price_int)) {
        $('#old_price').html(old_price);
        $('#old_price_container').show();
        $('#price_container').addClass('action');
    } else {
        $('#price_container').removeClass('action');
        $('#old_price_container').hide();
    }
    $('#price').html(price);
    var options = '';
    for (s = 1; s <= stock; s++) {
        options += '<option value="' + s + '">' + s + '</option>\n';
    }
    $('#amount').html(options);
}
function load_product_color() {
    var color_id = $('#color_id').val();
    var color_name = $('#color_' + color_id).attr('title');
    $('#product_colors a').removeClass('current');
    $('#color_' + color_id).addClass('current');
    $('#chosen_color').html('Huidige kleur: ' + color_name);
    $.ajax({
        url: ajax_rel_path + 'webshop_ajax.php',
        type: "GET",
        data: ({
            _ajax_parser: 'rs_product',
            action: 'load_content',
            product_id: $('#product_id').val(),
            color_id: color_id,
            colors: product_colors
        }),
        dataType: "json",
        success: function (html) {
            $('#product_images').html(html.images);
            $('#product_bottom').html(html.sizes);
            $('.qty_variant').keyup(function () {
                var variant_id = $(this).attr('id');
                variant_id = variant_id.replace('qty_variant_', '');
                var new_qty = $(this).val();
                if (new_qty > parseInt($('#max_qty_variant_' + variant_id).val())) {
                    new_qty = $('#max_qty_variant_' + variant_id).val();
                    $('#qty_variant_' + variant_id).val(new_qty);
                    alert('Er zijn maximaal ' + $('#max_qty_variant_' + variant_id).val() + ' stuks beschikbaar van dit artikel.');
                }
                get_product_price(variant_id, new_qty);
            });
            $('.qty_variant_cart').keyup(function () {
                var variant_id = $(this).attr('id');
                variant_id = variant_id.replace('qty_variant_', '');
                var new_qty = $(this).val();
                if (new_qty > 0) {
                    if (new_qty > parseInt($('#max_qty_variant_' + variant_id).val())) {
                        new_qty = $('#max_qty_variant_' + variant_id).val();
                        $('#qty_variant_' + variant_id).val(new_qty);
                        alert('Er zijn maximaal ' + $('#max_qty_variant_' + variant_id).val() + ' stuks beschikbaar van dit artikel.');
                    }
                    $.ajax({
                        url: ajax_rel_path + 'webshop_ajax.php',
                        data: ({
                            _ajax_parser: 'cart',
                            shop_cart_action: 'update',
                            shop_cart_variant: variant_id,
                            shop_cart_qty: new_qty
                        }),
                        success: function (price) {
                            load_product_color();
                        }
                    });
                } else {
                    var answer = confirm("Weet u zeker dat u dit product uit de winkelwagen wilt verwijderen?");
                    if (answer) {
                        $.ajax({
                            url: ajax_rel_path + 'webshop_ajax.php',
                            data: ({
                                _ajax_parser: 'cart',
                                shop_cart_action: 'remove',
                                shop_cart_variant: variant_id
                            }),
                            success: function (price) {
                                load_product_color();
                            }
                        });
                    } else {
                        load_product_color();
                    }
                }
            });
            $('#product_images_thumbs a').mouseover(function () {
                $('#product_images_thumbs a').removeClass('active');
                $(this).addClass('active');
                var image_id = $(this).attr('id');
                image_id = image_id.replace('image_thumb_', '');
                $('#product_images_big a.visible').removeClass('visible');
                $('#image_big_' + image_id).addClass('visible');
            });
            $("#product_images_big a").fancybox();
            $('#change_color').change(function () {
                $('#color_id').val($('#change_color').val());
                load_product_color();
            });
            $('#products_to_cart').click(function () {
                var add_string = '';
                var i = 0;
                $('.variant_id').each(function () {
                    var variant_id = $(this).val();
                    var qty = $('#qty_variant_' + variant_id).val();
                    if (qty > 0) {
                        if (i > 0) {
                            add_string += ',';
                        }
                        add_string += variant_id + ':' + qty;
                        i++;
                    }
                });
                add_to_cart(add_string);
            });
            fill_cart();
        }
    });
}
function update_qty(variant, qty) {
    var new_qty = parseInt($('#qty_variant_' + variant).val()) + qty;
    if (new_qty <= $('#max_qty_variant_' + variant).val()) {
        $('#qty_variant_' + variant).val(new_qty);
    } else {
        new_qty = $('#max_qty_variant_' + variant).val();
        $('#qty_variant_' + variant).val(new_qty);
        alert('Er zijn maximaal ' + $('#max_qty_variant_' + variant).val() + ' stuks beschikbaar van dit artikel.');
    }
    get_product_price(variant, new_qty);
}
function update_qty_cart(variant, qty) {
    var new_qty = parseInt($('#qty_variant_' + variant).val()) + qty;
    if (new_qty <= $('#max_qty_variant_' + variant).val()) {
        $('#qty_variant_' + variant).val(new_qty);
    } else {
        new_qty = $('#max_qty_variant_' + variant).val();
        $('#qty_variant_' + variant).val(new_qty);
        alert('Er zijn maximaal ' + $('#max_qty_variant_' + variant).val() + ' stuks beschikbaar van dit artikel.');
    }
    $.ajax({
        url: ajax_rel_path + 'webshop_ajax.php',
        data: ({
            _ajax_parser: 'cart',
            shop_cart_action: 'update',
            shop_cart_variant: variant,
            shop_cart_qty: new_qty
        }),
        success: function (price) {
            //load_product_color();
			location.reload(true);
        }
    });
}
function get_product_price(variant, qty) {
    $.ajax({
        url: ajax_rel_path + 'webshop_ajax.php',
        type: "GET",
        data: ({
            _ajax_parser: 'product',
            action: 'product_price',
            variant_id: variant,
            qty: qty
        }),
        success: function (price) {
            $('#variant_price_' + variant).html(price);
        }
    });
}
function add_to_cart(cart_variant, cart_qty) {
    $.ajax({
        url: ajax_rel_path + 'webshop_ajax.php',
        data: ({
            _ajax_parser: 'cart',
            shop_cart_action: 'add',
            shop_cart_variant: cart_variant,
            shop_cart_qty: cart_qty
        }),
        success: function (price) {
            load_product_color();
        }
    });
}
function add_to_cart_designer(cart_variant, cart_qty, design_price, design_options) {
    $.ajax({
        url: ajax_rel_path + 'webshop_designer_ajax.php',
		type: "POST",
		async: false,
        data: ({
            action: 'add_to_cart',
            cart_variant: cart_variant,
            cart_qty: cart_qty,
            design_price: design_price,
            design_options: design_options
        }),
        success: function (data) {
            /*if(data == 'true'){
				alert('toegevoegd');
			} else {
				alert('maar '+data+' op voorraad');
			}*/
        }
    });
}
function fill_cart() {
    $.ajax({
        url: ajax_rel_path + 'webshop_ajax.php',
        data: ({
            _ajax_parser: 'side_cart'
        }),
        success: function (data) {
            $('#rs_cart').html(data);
        }
    });
}
function confirm_delete_from_cart(variant_id, question){
	var answer = confirm(question)
	if (answer){
		remove_from_cart(variant_id);
	}
}
function remove_from_cart(cart_variant) {
	
	$.ajax({
        url: ajax_rel_path + 'webshop_ajax.php',
        data: ({
            _ajax_parser: 'cart',
            shop_cart_action: 'remove',
            shop_cart_variant: cart_variant
        }),
        success: function () {
			location.reload(true);
        }
    });
}

/*
function mf_update_total_price_checkout(content, type) {

	$.ajax({
        url: ajax_rel_path + 'webshop_ajax.php',
        data: ({
            _ajax_parser: 'cart',
            shop_cart_action: 'get_total_inclusive'
        }),
        success: function (data) {
			mf_update_total_price_fill_checkout(data, 'cart_total_inclusive')
			mf_update_total_price_fill_checkout(data, 'checkout_confirm_cart_total_inclusive')
        }
    });

}
*/

function mf_update_total_price_fill_checkout(content, type) {

	document.getElementById(type).innerHTML = content;

}

function check_terms(){
	
	if($('#accept_terms').attr('checked')){
		return true;
	} else {
		alert("U dient akkoord te gaan met de voorwaarden om uw order te plaatsen.");
		return false;
	}

}

function mf_insert_order() {
	
	if(check_terms()){
	
		$('#submit_order').addClass('disabled');
		$('#submit_order').unbind('click');
		
		$("body").prepend("<div id=\"overlay\"><div id=\"overlay_message\"><div id=\"overlay_text\">Uw bestelling wordt geplaatst. Een ogenblik geduld aub.</div><div id=\"overlay_buttons\"><img src=\"/images/ajax-loader.gif\" /></div></div></div>");
		
		$.ajax({
			url: ajax_rel_path + 'webshop_ajax.php',
			data: ({
				_ajax_parser: 'rs_order',
				order_comments: $("#order_comments").val()
			}),
			success: function (data) {
				window.location.href = data;
			}
		});
		
	}
}

function set_checkout_tab(current_tab) {
	
		begin_tab = 2;
		end_tab = 4;
		
		text = new Array();
		
		for(t = begin_tab; t <= end_tab; t++) {
			
			this_tab = document.getElementById('checkout_tab_'+t);
			
			if(current_tab == t) {
				this_tab.className = 'active';
			} else if(current_tab < t) {
				this_tab.className = 'future';
			} else {
				this_tab.className = '';
			} // end if / else
			
			
		} // end for
	
} // end function set_checkout_tab
function save_checkout_shipping_address(){
	
	$.ajax({
		url: ajax_rel_path + 'webshop_ajax.php',
		data: ({
			   
			_ajax_parser: 'cart',			
			shop_cart_action: 'save_shipping_address',
			
			shop_shipping_address_first_name: $("#input_first_name").val(),
			shop_shipping_address_pre_position: $("#input_pre_position").val(),
			shop_shipping_address_surname: $("#input_surname").val(),	
			
			shop_shipping_address_street: $("#input_street").val(),
			shop_shipping_address_number: $("#input_number").val(),
			shop_shipping_address_addition: $("#input_addition").val(),
			shop_shipping_address_postcode: $("#input_postcode").val(),
			shop_shipping_address_city: $("#input_city").val(),
			shop_shipping_address_country: $("#select_country").val(),
			shop_shipping_address_city: $("#input_city").val(),
			shop_shipping_address_country: $("#select_country").val(),	
			
			shop_shipping_address_email: $("#input_email").val(),
			shop_shipping_address_tel: $("#input_tel").val()
			
		}),
		success: function (data) {
			disable_tile('left');
		}
	});
		


}

function save_checkout_billing_address(callback){
	
	var billing_setting;
	if(document.getElementById('checkbox_different_address').checked == true){
		billing_setting = 1;
	} else {
		billing_setting = 0;
	}
	
	$.ajax({
		url: ajax_rel_path + 'webshop_ajax.php',
		data: ({
			   
			_ajax_parser: 'cart',			
			shop_cart_action: 'save_billing_address',
			
			shop_billing_address_setting: billing_setting,
			
			shop_billing_address_first_name: $("#input_first_name_2").val(),
			shop_billing_address_pre_position: $("#input_pre_position_2").val(),
			shop_billing_address_surname: $("#input_surname_2").val(),	
		
			shop_billing_address_street: $("#input_street_2").val(),
			shop_billing_address_number: $("#input_number_2").val(),
			shop_billing_address_addition: $("#input_addition_2").val(),
			shop_billing_address_postcode: $("#input_postcode_2").val(),
			shop_billing_address_city: $("#input_city_2").val(),
			shop_billing_address_country: $("#select_country_2").val(),
			shop_billing_address_city: $("#input_city_2").val(),
			shop_billing_address_country: $("#select_country_2").val()
			
		}),
		success: function (data) {
			eval(callback);
		}
	});
	

	

}


// set main content
function set_checkout_panel_only(panel) {
	
	panels = new Array();
	panels.push("checkout_method");
	//panels.push("login_switch");
	//panels.push("sign_up");
	panels.push("address");
	panels.push("confirm");
	
	for(p = 0; p < panels.length; p++) {
	
		this_panel = document.getElementById('checkout_step_'+panels[p]);

		if(panels[p] == panel) {
			this_panel.className = 'checkout_step_active';
		} else {
			this_panel.className = 'checkout_step_inactive';
		} // end if / else
		
		
	} // end for

	if(ga_track_checkout_ajax == 1) {

		var _gaq = _gaq || [];
		_gaq.push(['_setAccount', 'UA-18263131-1']);

		if(panel == 'checkout_method') {
			// track checkout method page
			_gaq.push(['_trackPageview', ga_track_checkout_base + '/method']);
		}
		if(panel == 'login_switch') {
			// track checkout login / signup page
			_gaq.push(['_trackPageview', ga_track_checkout_base + '/login']);
		}
		if(panel == 'address') {
			// track checkout login / signup page
			_gaq.push(['_trackPageview', ga_track_checkout_base + '/address']);
		}
		if(panel == 'confirm') {
			// track checkout confirmation page
			_gaq.push(['_trackPageview', ga_track_checkout_base + '/confirm']);
		}

		  (function() {
			var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
			ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
		  })();
		
	}

} // end function set_checkout_tab

function disable_tile(tile) {
	
	// linker tegel
	if(tile == 'left'){
		
		validate = validate_shipping_address();
		if(validate != ""){
			
			alert(validate);
			
		} else {
			$("#checkout_address_left_tile").addClass("inactive");
			$("#checkout_address_right_tile").removeClass("inactive");
			
			// set inputs readonly
			document.getElementById('input_first_name').readOnly = true;
			document.getElementById('input_pre_position').readOnly = true;
			document.getElementById('input_surname').readOnly = true;
			document.getElementById('input_street').readOnly = true;
			document.getElementById('input_number').readOnly = true;
			document.getElementById('input_addition').readOnly = true;
			document.getElementById('input_postcode').readOnly = true;
			document.getElementById('input_city').readOnly = true;
			document.getElementById('select_country').disabled = true;
			document.getElementById('input_email').readOnly = true;
			document.getElementById('input_tel').readOnly = true;
			
			document.getElementById('input_first_name_2').readOnly = false;
			document.getElementById('input_pre_position_2').readOnly = false;	
			document.getElementById('input_surname_2').readOnly = false;				
			document.getElementById('input_street_2').readOnly = false;
			document.getElementById('input_number_2').readOnly = false;
			document.getElementById('input_addition_2').readOnly = false;
			document.getElementById('input_postcode_2').readOnly = false;
			document.getElementById('input_city_2').readOnly = false;
			document.getElementById('select_country_2').disabled = false;
			
			document.getElementById('checkbox_different_address').disabled = false;
			if(document.getElementById('checkout_other_address')){
				document.getElementById('checkout_other_address').onclick = '';
			}
			//$("#checkout_other_address").click(function (){});
			
			if(document.getElementById('checkout_other_address_billing')){
				document.getElementById('checkout_other_address_billing').onclick = function(){ document.getElementById('used_billing_adresses').style.display = 'block'; }
			}
			//$("#checkout_other_address_billing").click(function(){document.getElementById('used_billing_adresses').style.display = 'block'; });
			
		}
		
	// rechter tegel
	} else if(tile == 'right'){
	
		$("#checkout_address_left_tile").removeClass("inactive");
		$("#checkout_address_right_tile").addClass("inactive");
		
		// set inputs to normal
		document.getElementById('input_first_name').readOnly = false;
		document.getElementById('input_pre_position').readOnly = false;
		document.getElementById('input_surname').readOnly = false;
		document.getElementById('input_street').readOnly = false;
		document.getElementById('input_number').readOnly = false;
		document.getElementById('input_addition').readOnly = false;
		document.getElementById('input_postcode').readOnly = false;
		document.getElementById('input_city').readOnly = false;
		document.getElementById('select_country').disabled = false;
		document.getElementById('input_email').readOnly = false;
		document.getElementById('input_tel').readOnly = false;
	
		document.getElementById('input_first_name_2').readOnly = true;
		document.getElementById('input_pre_position_2').readOnly = true;	
		document.getElementById('input_surname_2').readOnly = true;	
		document.getElementById('input_street_2').readOnly = true;
		document.getElementById('input_number_2').readOnly = true;
		document.getElementById('input_addition_2').readOnly = true;
		document.getElementById('input_postcode_2').readOnly = true;
		document.getElementById('input_city_2').readOnly = true;
		document.getElementById('select_country_2').disabled = true;
		
		document.getElementById('checkbox_different_address').disabled = true;
		if(document.getElementById('checkout_other_address')){
			document.getElementById('checkout_other_address').onclick = function(){ document.getElementById('used_shipping_adresses').style.display = 'block'; }
		}
		//$('#checkout_other_address').click(function(){ document.getElementById('used_shipping_adresses').style.display = 'block'; });
		
		if(document.getElementById('checkout_other_address_billing')){
			document.getElementById('checkout_other_address_billing').onclick = '';	
		}
		//$('#checkout_other_address_billing').click(function (){});
		
	}
	
}

	function createProductBlock(productName, productImage){
		//set title
		$("#rs_designer_product_info h2").text(productName);
		//clean up the current image
		$("#rs_designer_product_image").html("");
		//set image		
		var image = new Image();
		$(image).attr('src', productImage);
		//add to 
		$('#rs_designer_choose_prd').html('wijzig &raquo;');
		$("#rs_designer_product_image").append(image);
		$("#rs_designer_product_image").show();
		$('#rs_designer_product h2').show();
		
	}
	
	function createColors(productColors){
		
		$("#rs_designer_product_color_elements").html("");
		
		//create color blocks for this element
		for(color in productColors){
		
			//Append a new color block
			$("#rs_designer_product_color_elements").append("<div id=\"color_"+productColors[color].color_val+"\" title=\""+productColors[color].color_intern+"\" class=\"rs_designer_product_color_elements\"></div>");
			//Set backgroundColor
			$("#color_"+productColors[color].color_val).css("backgroundColor", "#"+productColors[color].color_html);
			
			//bind method
			//if(designer_product == 0){
				$("#color_"+productColors[color].color_val).click(function(e) {
					var current_color = $(this).attr('id');
					current_color = current_color.replace('color_', '');
					colorSelect(current_color);
				});
			//}
			
		}
		
		//get first item and set active
		//$("#rs_designer_product_color_elements > div").eq(0).addClass("active");
		
		//var title = $("#rs_designer_product_color_elements > div").eq(0).attr("title");
		//$("#rs_designer_color_name").text(title);
		
		colorSelect(productColors[0].color_val);
		
		$('#rs_designer_product_color').show();
		
	}
	
	function colorSelect(color_id){
	
		//get the active color
		$("#rs_designer_product_color_elements > div.active").removeClass("active");
		//set click
		$('#color_'+color_id).addClass("active");
		//change text
		var title = $("#rs_designer_product_color_elements > div.active").attr("title");
		$("#rs_designer_color_name").text(title);
		
		createSizes(color_id);
		
	}
	
	function createSizes(color){
		
		var html = '';
		html += '<fieldset>';
		
		if(!color){
			for(v in productVariants){
				active_color = v;
				break;
			}
		} else {
			active_color = color;
		}
		
		var product_variant = productVariants[active_color];
		var num_variants = 0;
		
		for(v in product_variant){
			num_variants++;
		}
		
		var items_per_col = Math.ceil(num_variants / 2);
		
		var i = 1;
		for(v in product_variant){
		
			html += '<label>'+product_variant[v]['size']+'</label>';
			html += '<input type="text" name="product_variant_'+[v]+'" id="product_variant_'+[v]+'" value="'+product_variant[v]['qty']+'" />';
			
			if(items_per_col == i){
				//html += '</fieldset><fieldset>';
			}
			
			i++;
		}
		
		html += '</fieldset>';
		
		$('#rs_designer_product_sizes .rs_designer_box form').html(html);
		
		$('#rs_designer_product_sizes input[type="text"]').keyup(function(){
			createPrice();
		});
		
		$('#rs_designer_product_sizes').show();
		
	}
	
	function createPrice(){
	
		var design_price = 0;
		var dp = 0;
		for (var key in designerObjectsReal) {
			var obj = designerObjectsReal[key];
			if(obj.designerActive){
				design_price += designTypes[dp].price;
			}
			dp++;
		}
		
		// console.log(design_price);
	
		var total_price = 0;
	
		var total_variants = 0;
		
		//console.log(productVariants);
		
		$('#rs_designer_product_sizes input[type="text"]').each(function(){
			var variant_id = $(this).attr('id').replace('product_variant_', '');
			var variant_price = productVariants[active_color][variant_id]['price'];
			
			if(parseInt($(this).val()) > 0){
				total_price += (variant_price + design_price) * parseInt($(this).val());
			}

		});
		
		// total_price = (productPrice + design_price) * total_variants;
		
		// + prijs om te bedrukken nog
		
		total_price = total_price.toFixed(2).replace(".", ",");
		$('#rs_designer_price_total').html('&euro; '+total_price);
		
		var price = productPrice + design_price;
		price = price.toFixed(2).replace(".", ",");
		$("#rs_designer_price_price").html("&euro; "+price+" per stuk");
		
		$('#rs_designer_price').show();
		$('#rs_designer_order_btn').show();

	}
	
	function createDesigner(designs){
		
		//remove all current tabs and designers
		$("#rs_designer_right .rs_design_tabs").tabs("destroy");
		$("#rs_designer_right .rs_design_tabs").html("");
		$("#rs_designer_no_design").remove();
		
		if(designs.length > 0){
			
			$("#rs_designer_right .rs_design_tabs").append("<ul></ul>");
		
			window.active_designer = 0;
			var d = 0;
			for(design in designs){
			
				var image = new Image();
				$(image).attr('src', designs[design].image_thumb);
	
				/*var tabName = "tabs-"+designs[design].name;*/
				var tabName = "tabs_"+d;
				$("#rs_designer_right .rs_design_tabs > ul").append("<li id=\"design_"+designs[design].name+"\"><a href=\"#"+tabName+"\" id=\"tab_link_"+d+"\"></a></li>");
							
				$('#tab_link_'+d).click(function(){
					window.active_designer = $(this).attr('id').replace('tab_link_', '');
				});
				
				$("#rs_designer_right .rs_design_tabs > ul li#design_"+designs[design].name+" a").append(image);
				$("#rs_designer_right .rs_design_tabs > ul li#design_"+designs[design].name+" a").append("<span>"+designs[design].name+"</span>");
				
				//Create designers
				
				$("#rs_designer_right .rs_design_tabs").append("<div class=\"canvas\" id=\""+tabName+"\"></div>");
				
				//Create the Rapheal designer
				var designer = new designerObject(tabName, designs[design].image, new Array(620, 620), designs[design].name, designs[design].designer_data);
				
				//fallback array
				var fallbackArray = new Array(180,140,250,330);
				var boundingArray = designs[design].bounding_box;
				var totalPoint = 0;
				for(point in boundingArray){
					totalPoint += boundingArray[point];
				}
				//Create the designbox
				designer.createDesignBox(totalPoint?boundingArray:fallbackArray, designs[design].bounding_color, "2");
				
				//Create a checkbox for this side disabeling
				//$("#rs_designer_right .rs_design_tabs #"+tabName+" svg").after("<div class=\"rs_designer_checkbox\"><input type=\"checkbox\" id=\"enable_design_"+d+"\" value=\"1\" checked=\"true\" /> <label for=\"enable_design_"+d+"\">Deze zijde wil ik niet bedrukken.</label></div>");
				$("#rs_designer_right .rs_design_tabs #"+tabName+" svg").after("<div class=\"rs_designer_checkbox\"><a href=\"javascript: void(0);\" id=\"disable_design_"+d+"\">Deze zijde wil ik niet bedrukken.</a></div>");
				
				//Bind designer to checkbox
				$("#disable_design_"+d).data('designer', designer);
				
				$("#disable_design_"+d).click(function(e) {
					$(this).data('designer').showStartOverlay();
					createPrice();
                });
				
				d++;
				
			}
			
			//Retabs
			$("#rs_designer_right .rs_design_tabs").tabs();
		
		} else {
			//Create div with: Geen afdruk posities beschikbaar
			$("#rs_designer_right").append("<div id=\"rs_designer_no_design\">Voor dit product zijn geen bedrukkingsmogelijkheden.</div>");
		}
		
		$('#rs_designer_right').show();
		
	}

function validate_shipping_address(){
	
	error = "";
	
	if(document.getElementById('input_first_name').value == ""){
		error += "- Geen voornaam ingevuld\n";
	}
	if(document.getElementById('input_surname').value == ""){
		error += "- Geen achternaam ingevuld\n";
	}		
	if(document.getElementById('input_street').value == ""){
		error += "- Geen straatnaam ingevuld\n";
	}
	if(document.getElementById('input_number').value == ""){
		error += "- Geen huisnummer ingevuld\n";
	}
	if(document.getElementById('input_postcode').value == ""){
		error += "- Geen postcode ingevuld\n";
	}
	if(document.getElementById('input_city').value == ""){
		error += "- Geen woonplaats ingevuld\n";
	}
	
	if(document.getElementById('input_email').value == ""){
		error += "- Geen e-mail adres ingevuld\n";
	} else if(!emailRegExp.test(document.getElementById('input_email').value)){
		error += "- Onjuist e-mail adres ingevuld\n";
	}

	var tel = document.getElementById('input_tel').value;

	if(document.getElementById('input_tel').value == ""){
		error += "- Geen telefoonnummer ingevuld\n";
	} else if(!telRegExp.test(tel.replace(/ /gi, ""))){
		error += "- Onjuist telefoonnummer ingevuld\n";
	}		
		
	if(error != ""){
		error = "De volgende fouten zijn opgetreden bij verzendadres:\n"+error;
	}
	return error;

}

function validate_billing_address(){


	error = "";
	
	if(document.getElementById('checkbox_different_address').checked == true){
		if(document.getElementById('input_first_name_2').value == ""){
			error += "- Geen voornaam ingevuld\n";
		}
		if(document.getElementById('input_surname_2').value == ""){
			error += "- Geen achternaam ingevuld\n";
		}			
		if(document.getElementById('input_street_2').value == ""){
			error += "- Geen straatnaam ingevuld\n";
		}
		if(document.getElementById('input_number_2').value == ""){
			error += "- Geen huisnummer ingevuld\n";
		}
		if(document.getElementById('input_postcode_2').value == ""){
			error += "- Geen postcode ingevuld\n";
		}
		if(document.getElementById('input_city_2').value == ""){
			error += "- Geen woonplaats ingevuld\n";
		}
		
		if(error != ""){
			error = "De volgende fouten zijn opgetreden bij factuuradres:\n"+error;
			alert(error);			
		} else {
			set_checkout_tab(4);
			set_checkout_panel_only('confirm');
			//mf_update_total_price();
		}
	} else {
		set_checkout_tab(4);
		set_checkout_panel_only('confirm');
		//mf_update_total_price();
	}
}


function show_different_shipping_address(){
	
	div = document.getElementById('different_billing_address');
	
	if(div.style.display == ''){
		div.style.display = 'none';	
	}
	
	if(div.style.display == 'none'){
		div.style.display = 'block';	
	} else {
		div.style.display = 'none';	
	}

}

/*
function mf_update_total_price_checkout(content, type) {

	$.ajax({
        url: ajax_rel_path + 'webshop_ajax.php',
        data: ({
            _ajax_parser: 'cart',
            shop_cart_action: 'get_total_inclusive'
        }),
        success: function (data) {
			mf_update_total_price_fill_checkout(data, 'cart_total_inclusive')
			mf_update_total_price_fill_checkout(data, 'checkout_confirm_cart_total_inclusive')
        }
    });

}
*/

function rs_save_checkout_method(method_id){

	$.ajax({
		url: ajax_rel_path+'webshop_ajax.php',
		data: ({
			_ajax_parser: 'cart',			
			shop_cart_action: 'set_checkout_method',
			shop_checkout_method: method_id
		}),
		success: function (data) {
			$.ajax({
				url: ajax_rel_path+'webshop_ajax.php',
				data: ({
					_ajax_parser: 'cart',			
					shop_cart_action: 'get_total_exclusive'
				}),
				success: function (data) {
					$('#cart_total_inclusive').html(data);
					$('#checkout_confirm_cart_total_exclusive').html(data);
				}
			});			
			$.ajax({
				url: ajax_rel_path+'webshop_ajax.php',
				data: ({
					_ajax_parser: 'cart',			
					shop_cart_action: 'get_total_inclusive'
				}),
				success: function (data) {
					$('#checkout_confirm_cart_total_inclusive').html(data);
				}
			});
			$.ajax({
				url: ajax_rel_path+'webshop_ajax.php',
				dataType: 'json',
				data: ({
					_ajax_parser: 'cart',			
					shop_cart_action: 'get_checkout_info'
				}),
				success: function (data) {
					$('#checkout_confirmation_checkout_name').html(data.name);
					$('#checkout_confirmation_checkout_price').html(data.price);
				}
			});			
		}
	});		

}
