/* Regular expressions */
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}$/;

function confirm_goto(question, url) {
	var cbox = confirm(question);
	if(cbox == true) {
		window.location = url;
	}
}

function close_webshop_menu(type){
	if(!$('#webshop_menu_'+type+'_expand').hasClass('active')){
		$('#webshop_menu_'+type+'_expand').slideUp('fast');
	}
}

function search(){

	var search_value = $("#input_search").val();
	if(search_value != ""){
		search_value = search_value.replace(/[^0-9a-zA-Z]/g, '-'); 
		while(search_value.match(/--/g)) {
			search_value = search_value.replace("--", "-");
		}

		window.location = "/search/"+search_value;
	} else {
		alert('Vul a.u.b. een zoekterm in.');
	}

}

function sign_up_newsletter(){

	$.ajax({
		type: "POST",
		url: "/newsletter_action.php",
		data: "email="+$("#email").val(),
		success: function(msg){
			if(msg == "succes"){
				$("#sign_up_newsletter").html("U bent succesvol aangemeld voor onze nieuwsbrief");
			} else if(msg == "error"){
				alert("U heeft een onjuist e-mail adres ingevuld");
			}
		}
	});

}

/* Webshop functions */

shop_ajax = new AjaxHandler('shop');

function filter(type, filter_value){

	shop_ajax.setParser('filter');
	shop_ajax.setVar('filter_type', type);
	if(filter_value != ''){
		shop_ajax.setVar('filter_value', filter_value);
	}
	shop_ajax.setCallback('filter_callback');
	shop_ajax.sendRequest();

}

function filter_callback(content, type){

	if(content != ""){
		document.location = content;
	} else {
		window.location.reload();
	}
	
}

function webshop_filter(){

	if($('#show_all_prices').hasClass('active')){
	
		filter('price_all');
	
	} else if($('#show_price_from').hasClass('active') || $('#show_price_to').hasClass('active')){
		
		filter('price_from_to', $('#show_price_from').val()+';'+$('#show_price_to').val());
		
	}

}

function fill_cart_top(){
	fill_cart_top_items();
}
function fill_cart_top_price(){
	shop_ajax.setParser('cart');
	shop_ajax.setVar('cart_action','get_total');
	shop_ajax.setCallback('callback_fill_cart_top_price');
	shop_ajax.sendRequest();
}
function fill_cart_top_items(){
	shop_ajax.setParser('cart');
	// shop_ajax.setVar('cart_action','total_items');
	shop_ajax.setVar('cart_action','total_items_with_word');
	shop_ajax.setCallback('callback_fill_cart_top_items');
	shop_ajax.sendRequest();
}

function callback_fill_cart_top_price(content, type){
	document.getElementById('cart_total_inner').innerHTML = content;
	Cufon.refresh();
	//fill_cart_bargains();
}
function callback_fill_cart_top_items(content, type){
	document.getElementById('cart_items_inner').innerHTML = content;
	Cufon.refresh();
	fill_cart_top_price();
}
/*
function fill_cart_bargains() {
	shop_ajax.setParser('bargains');
	shop_ajax.setCallback('callback_fill_cart_bargains');
	shop_ajax.sendRequest();
}
*/
function callback_fill_cart_bargains(content, type) {
	$("#product_slider").html(content);
	$('#product_group_title_container').localScroll({
		target:'#slider'
	});
}

function add_to_cart(cart_variant, cart_qty, callback_function) {
	
	shop_ajax.setParser('cart');
	shop_ajax.setVar('cart_action','add');
	shop_ajax.setVar('cart_variant', cart_variant);
	shop_ajax.setVar('cart_qty', cart_qty);
	if(callback_function != ""){
		shop_ajax.setCallback(callback_function);
	}
	shop_ajax.sendRequest();

}

function added_to_cart() {
	fill_cart_top();
	document.getElementById('added_to_cart').style.display = 'block';
}
function kassakoopje_added_to_cart() {
	fill_cart_top();
	document.getElementById('kassakoopje_to_cart').style.display = 'block';
}

function fill_login_as(customer){
	shop_ajax.setParser('customer');
	shop_ajax.setVar('customer_action','login_name');
	shop_ajax.setVar('customer_id', customer);
	shop_ajax.setCallback('callback_fill_login_as_continue_to_address');
	shop_ajax.sendRequest();	
}

function callback_fill_login_as_continue_to_address(content, type){
	/*document.getElementById('logged_in_as').innerHTML = content;
	$('#logged_in').addClass("active");*/
	continue_to_address();
}

function logout(){

	shop_ajax.setParser('customer');
	shop_ajax.setVar('customer_action','logout');
	shop_ajax.setCallback('callback_logout');
	shop_ajax.sendRequest();
}
function callback_logout(content, type){
	document.getElementById('logged_in_as').innerHTML = "";
	$('#logged_in').removeClass("active");
}

/* Cufon */
Cufon.replace('#cart_items span', { fontFamily: 'DINCond-Black' });
Cufon.replace('#cart_items a', { fontFamily: 'DINCond-Black' });
Cufon.replace('#webshop_menu li a', { fontFamily: 'DINCond-Black' });
Cufon.replace('#new_arrivals_products h2', { fontFamily: 'DINCond-Black' });
Cufon.replace('#footer_pages .head', { fontFamily: 'DINCond-Black' });
//Cufon.replace('#footer_sale a', { fontFamily: 'Courier New' });
Cufon.replace('#webshop_submenu li a', { fontFamily: 'DINCond-Black' });
Cufon.replace('#product_detail_top h1', { fontFamily: 'DINCond-Black' });
Cufon.replace('#product_detail_top h2', { fontFamily: 'DINCond-Black' });
Cufon.replace('#webshop_items_top h1', { fontFamily: 'DINCond-Black' });
Cufon.replace('#webshop_items_top h2', { fontFamily: 'DINCond-Black' });
Cufon.replace('#webshop_items_top h3', { fontFamily: 'DINCond-Black' });
Cufon.replace('#webshop_items_top h4', { fontFamily: 'DINCond-Black' });
Cufon.replace('#webshop_filter .webshop_filter h3', { fontFamily: 'DINCond-Black' });
Cufon.replace('#text_top h2', { fontFamily: 'DINCond-Black' });
Cufon.replace('#product_group_title', { fontFamily: 'DINCond-Black' });
Cufon.replace('#checkout_page_title', { fontFamily: 'DINCond-Black' });
Cufon.replace('.cart_line .cart_line_product_title', { fontFamily: 'DINCond-Black' });
Cufon.replace('#payment_page_title', { fontFamily: 'DINCond-Black' });

Cufon.replace('#non_existing_product', { fontFamily: 'DINCond-Black' });
Cufon.replace('#stock_notification_form h2', { fontFamily: 'DINCond-Black' });

Cufon.replace('.merktegel a', { fontFamily: 'DINCond-Black' });


/* Jquery */
$(document).ready(function() {

	/* Webshop menu */
	$('#open_webshop_menu_women').mouseover(function(){
		$('#webshop_menu_women_expand').slideDown('fast');
	});
	$('#open_webshop_menu_women').mouseout(function(){
		setTimeout("close_webshop_menu('women');",2000);
	});
	
	$('#webshop_menu_women_expand').mouseover(function(){
		$(this).addClass('active');
	});
	$('#webshop_menu_women_expand').mouseleave(function(){
		$(this).removeClass('active');
		setTimeout("close_webshop_menu('women');",2000);
	});
	
	$('#open_webshop_menu_men').mouseover(function(){
		$('#webshop_menu_men_expand').slideDown('fast');
	});
	$('#open_webshop_menu_men').mouseout(function(){
		setTimeout("close_webshop_menu('men');",2000);
	});
	
	$('#webshop_menu_men_expand').mouseover(function(){
		$(this).addClass('active');
	});
	$('#webshop_menu_men_expand').mouseleave(function(){
		$(this).removeClass('active');
		setTimeout("close_webshop_menu('men');",2000);
	});

	var new_arrival_active = 0
	$('.new_arrivals_product').mouseover(function(){
		if(new_arrival_active == 0){
			var this_id = $(this).attr('id'); 
			var this_html = $(this).html();
			$('#new_arrivals_products').append('<div id="'+this_id+'_hover" class="new_arival_hover">'+this_html+'</div>');
			
			var product_number = this_id.substring(21, 23);

			if((product_number == 1) || (product_number == 3) || (product_number == 5) || (product_number == 7) || (product_number == 9)){
				$('#'+this_id+'_hover').css('left', '139px');
				//alert(1);
			} else if((product_number == 2) || (product_number == 4) || (product_number == 6) || (product_number == 8) || (product_number == 10)){
				$('#'+this_id+'_hover').css('left', '296px');
				//alert(2);
			} else if((product_number == 11) || (product_number == 13) || (product_number == 15) || (product_number == 17) || (product_number == 19)){
				$('#'+this_id+'_hover').css('left', '610px');
				//alert(3);
			} else if((product_number == 12) || (product_number == 14) || (product_number == 16) || (product_number == 18) || (product_number == 20)){
				$('#'+this_id+'_hover').css('left', '767px');
				//alert(4);
			}
			
			//$(this).append('<div id="'+this_id+'_hover" class="new_arival_hover">'+this_html+'</div>');
			new_arrival_active = 1;
			
			$('#'+this_id+'_hover').mouseout(function(){
				new_arrival_active = 0;
				$('#'+this_id+'_hover').remove();
			});
			
		}
	});
	
	if($('#new_arrivals').length){
		$("#new_arrivals_products_left_slider").easySlider({
			auto:			true,
			continuous:		true,
			controlsShow:	true,
			speed:			2000,
			numeric: 		true,
			numericId: 		'new_arrivals_product_navigation_left'
		});
		$("#new_arrivals_products_right_slider").easySlider({
			auto:			true,
			continuous:		true,
			controlsShow:	true,
			speed:			2000,
			numeric: 		true,
			numericId: 		'new_arrivals_product_navigation_right'
		});
	}
	
	// webshop filter links
    /*$("a.filter_checkbox").click(function () {
		$(this).toggleClass("active");
    });*/
	
	$("#show_price_from").keyup(function(){
		if($(this).val() != ""){
			$("#show_all_prices").removeClass('active');
			$(this).addClass('active');
		} else {
			$(this).removeClass('active');
		}
	});
	$("#show_price_to").keyup(function(){
		if($(this).val() != ""){
			$("#show_all_prices").removeClass('active');
			$(this).addClass('active');
		} else {
			$(this).removeClass('active');
		}
	});

    $("#show_all_prices").click(function () {
		$(this).addClass("active");
		$("#show_price_from").val('');
		$("#show_price_from").removeClass('active');
		$("#show_price_to").val('');
		$("#show_price_to").removeClass('active');
    });
	
	// contact form
	$("#contact_submit").click(function(){
		
		if($('#input_name').val() == ""){
			$('#contact_form_error span').html('Het veld naam is verplicht en mag niet leeg zijn');
			$('#contact_form_error').show();
		} else if($('#input_email').val() == ""){
			$('#contact_form_error span').html('Het veld email is verplicht en mag niet leeg zijn');
			$('#contact_form_error').show();
		} else if(!emailRegExp.test($('#input_email').val())){
			$('#contact_form_error span').html('Het veld email is onjuist');
			$('#contact_form_error').show();
		} else if($('#input_message').val() == ""){
			$('#contact_form_error span').html('Het veld bericht is verplicht en mag niet leeg zijn');
			$('#contact_form_error').show();
		} else {
			$('#contact_form_real').submit();
		}
		
    });
	
});
