//	[nds]

//
// Extend wrapper
//
jQuery.extend({
	extendDispatchEvent: function(e)
	{
		var jelm = $(e.target);
		var elm = e.target;
		var s;

		if (e.type == 'click' && jQuery.browser.mozilla && e.which != 1) {
			return true;
		}

		// Dispatch click event
		if (e.type == 'click') {

			var hrefa = (jelm.is('a') && elm.href.match(/dispatch=products.view/gi)) ? elm.href : ((jelm.parents('a:first').get(0) && jelm.parents('a:first').get(0).href.match(/dispatch=products.view/gi)) ? jelm.parents('a:first').get(0).href : '');

			var require = false;

			if (!seo_enabled && hrefa != '') {

				jQuery.ajaxRequest(hrefa, {
					result_ids: '',
					caching: false,
					callback: function(data) {
						if (data.return_status && data.return_status == 'Y') {
							var carmake_id = parseInt($('#carmake').val());
							var model_id = parseInt($('#carmodel').val());
							if (isNaN(carmake_id) || isNaN(model_id) || model_id == 0 || carmake_id == 0) {
			
								var filter_form = new form_handler($('#carmake').parents('form:first').attr('name'));
								filter_form.fill_requirements();
								filter_form.check_fields();
								return false;
							} else {
								jQuery.redirect(hrefa);
							}
						} else {
							jQuery.redirect(hrefa);
						}
					}
				});
				return false;
			} else if (seo_enabled) {
				hrefa = (jelm.is('a') && elm.href && !jelm.hasClass('cm-thumbnails-opener') && !jelm.hasClass('cm-tyres-thumbnails-opener') && !jelm.hasClass('cm-history') && jelm.attr('rel') != 'nofollow') ? elm.href : ((jelm.parents('a:first').get(0) && jelm.parents('a:first').get(0).href && !jelm.hasClass('cm-thumbnails') && !jelm.hasClass('cm-ajax') && !jelm.hasClass('cm-tyres-thumbnails')) ? jelm.parents('a:first').get(0).href : '')
				if (hrefa != '') {

					var cur_location = current_location + '/';

					expr = new RegExp(cur_location);
					hrefa = hrefa.replace(expr, '');
					hrefa = (jelm.is('a') && elm.href.match(/dispatch=/gi) && !elm.href.match(/dispatch=products.view/gi)) ? '' : hrefa;
					if (hrefa != '') {
						jQuery.ajaxRequest(hrefa, {
							result_ids: '',
							caching: false,
							callback: function(data) {
								if (data.return_status && data.return_status == 'Y') {
									var carmake_id = parseInt($('#carmake').val());
									var model_id = parseInt($('#carmodel').val());
									if (isNaN(carmake_id) || isNaN(model_id) || model_id == 0 || carmake_id == 0) {
					
										var filter_form = new form_handler($('#carmake').parents('form:first').attr('name'));
										filter_form.fill_requirements();
										filter_form.check_fields();
										return false;
									} else {
										jQuery.redirect(hrefa);
									}
								} else {
									jQuery.redirect(hrefa);
								}
							}
						});
						return false;
//						jQuery.redirect(hrefa);
					}
				}
			}
		}
	},

	extendRunCart: function(area)
	{
		var DELAY = 4500;
		var PLEN = 5;
		var CHECK_INTERVAL = 500;
		
//		$(document).unbind('click');

		$(document).bind('click', area, function(e) {
			return jQuery.extendDispatchEvent(e);
		});
	}

});