search_delay = 500;
search_timeout = false;
search_request = false;
searchdefault = 'PZN, Art-Nr, Bezeichnung';

$(document).ready(function() {

	/****  SEARCH FUNCTION ****/
	search_resultsbox = $('#searchbox');
	search_results = $('#searchbox .results');
	search_results_products = $('#l_products');
	search_results_pages = $('#l_pages');
	search_input = $('#site_search');
	search_resultsbox.find('.close').click(function() { search_resultsbox.fadeOut('fast'); });
	search_input.val(searchdefault);
	
	$('#navi_searchbox').show();
	
	$('div#site_search_label').click(function() {
		$(this).fadeOut('fast', function() {
			$('#site_search').fadeIn('fast');
		})
	});
	
	search_input.bind({
		focus:function() {
			if(this.value = searchdefault) {
				this.value='';
				$(this).removeClass('empty');
			}
		},
		
		blur:function () {
			if(this.value == '') {
				$(this).addClass('empty');
				this.value = searchdefault;
			}
		},
		
		keyup:function (e) {
			if(e.target.value != '') {
				
				if(search_timeout) { clearTimeout(search_timeout); }
				
				search_results_pages.html(str_searching);
				search_results_products.html(str_searching);
				search_showresults();
				
				search_timeout = setTimeout(function () {
					if(search_request) { search_request.abort(); }
					search_request = $.ajax({
						url: '/search/search.ajax',
						type: 'post',
						data: { data:$('#site_search').val() },
						success: function (data) {
							data = $.parseJSON(data);
							var num = data.products.length + data.pages.length;
							
							if(num>10) {
						
							}
							
							search_results_pages.empty();
							search_results_products.empty();
							
							$(data.products).each(function() {
								search_results_products.append('<li rel="'+this.url+'">'+this.grouptitle+' - '+this.title+'</li>');
							});
							
							$(data.pages).each(function() {
								search_results_pages.append('<li rel="'+this.url+'">'+this.title+'</li>');
							});
						}
					});
					
				}, 500);
				
			} else {
				search_hideresults();
			}
		},
		
		click:function() {
			if(this.value != '') {
				search_showresults();
			}
		}
	});
	
	$('#searchbox').unbind().click(function(e) { if($(e.target).attr('rel')) { document.location.href=$(e.target).attr('rel'); }});
	
	/*** TURN ALL FORMS WITH CLASS 'ajaxform' into Ajax Forms ***/
	$('.ajaxform').submit(function (e) {
		var form = $(this);
		e.preventDefault();
		
		var good = true;
		var log = $('#log_res');
		
		form.find('.required').each(function() { 
			var input = $(this);
			if(input.val() == '') { 
				good = false;
				input.addClass('error');
			} else {
				input.removeClass('error');
			}
		});
		
		if(!good) {	
			log.html(str_form_error_fields);
			return false;
		}
		
		log.html('Sende Formular, bitte warten ...');
		
		var r = new $.ajax({
			url: $('input[name=action]') ? $('input[name=action]').val() : '/contor/lib/ajax.php',
			method: 'post',
			data:form.serialize(),
			success: function(response) { 
				log.removeClass('ajax-loading');
				log.html(response);
				
				if(response == 'success' || typeof form.updateField != 'undefined') {
					form.html('Ihre Anfrage wurde &uuml;bermittelt. Vielen Dank.');
					
					if(form.find('input[name=form_on_success]') && typeof document[form.find('input[name=form_on_success]').val()] == 'function') {
						form.find('input[name=form_on_success]').val()();
					}
				}
			}
		}).send();
	});
	
	// Apply scrollpanes to boxes with this class
	$('.scrollpane').jScrollPane({scrollbarWidth:4});
});

function search_hideresults() {
	search_resultsbox.fadeOut('fast');
}

function search_showresults () {
	search_resultsbox.fadeIn('fast');
}

var CartWidget = {
	request:false,
	onCartUpdate:function() {
		//this.request.cancel();
		this.request = $.ajax({
			url: '/Cart/getContentsHtml.ajax',
			type: 'post',
			data: '',
			success: function (data) {
				$('.cart-content').replaceWith(data);
			} 
		});
	}
};


