jQuery(document).ready(function() {
  
  var filterValues = function() {
    var weights = new Array();
    var weights_url = '';
    var weights_dom = jQuery('#ka-tartan-refine-search-form .filter-weights .form-checkboxes');
    jQuery('input:checked', weights_dom).each(function() { 
      weights.push(jQuery(this).attr('value'));          
    });
    if (weights.length > 0) {
      weights_url = weights.join(',');
    } else {
      weights_url = 'all';      
    }
    
    var colours = new Array();
    var colours_url = '';
    var colours_dom = jQuery('#ka-tartan-refine-search-form .filter-colours .form-checkboxes');    
    jQuery('input:checked', colours_dom).each(function() { 
      colours.push(jQuery(this).attr('value'));          
    });
    if (colours.length > 0) {
      colours_url = colours.join(',');
    } else {
      colours_url = 'all';      
    }
    
    var shades = new Array();
    var shades_url = '';
    var shades_dom = jQuery('#ka-tartan-refine-search-form .filter-shades .form-checkboxes');
    jQuery('input:checked', shades_dom).each(function() { 
      shades.push(jQuery(this).attr('value'));          
    });
    if (shades.length > 0) {
      shades_url = shades.join(',');
    } else {
      shades_url = 'all';      
    }
    
    var materials = new Array();
    var materials_url = '';
    var materials_dom = jQuery('#ka-tartan-refine-search-form .filter-materials .form-checkboxes');
    jQuery('input:checked', materials_dom).each(function() { 
      materials.push(jQuery(this).attr('value'));          
    });
    if (materials.length > 0) {
      materials_url = materials.join(',');
    } else {
      materials_url = 'all';      
    }
    
    var fabrics = new Array();
    var fabrics_url = '';
    var fabrics_dom = jQuery('#ka-tartan-refine-search-form .filter-fabrics .form-checkboxes:last');
    jQuery('input:checked', fabrics_dom).each(function() { 
      fabrics.push(jQuery(this).attr('value'));          
    });
    if (fabrics.length > 0) {
      fabrics_url = fabrics.join(',');
    } else {
      fabrics_url = 'all';      
    }
        
    if(jQuery('#ka-tartan-refine-search-form #isa-colour').attr('value') == 1) colours_url = window.location.pathname.split('/')[2] ;
    return '&colours=' + colours_url + '&shades=' + shades_url + '&weights=' + weights_url + '&materials=' + materials + '&fabrics=' + fabrics;
  }
  
  //alert(filterValues());
  
  jQuery('#ka-tartan-refine-search-form input').change(function() {
    jQuery(this).parent('label').addClass('ajax-progress');
    //alert(Drupal.settings['basePath'] + 'tartan-ajax/Anderson/' + filterValues());
    var getResults = function (data) {
      var result = Drupal.parseJson(data);
      jQuery('#tartan-finder-ajax').html(result['data']);
      jQuery('label.ajax-progress').removeClass('ajax-progress');
    }
    //alert(Drupal.settings['basePath'] + 'tartan-ajax?name=' + Drupal.settings['ka_tartan_finder']['family'] + filterValues());
    var pathArray = window.location.pathname.split('/');

    var name = pathArray[2];
    if(jQuery('#ka-tartan-refine-search-form #isa-colour').attr('value') == 1) name  = '' ;
    jQuery.get(Drupal.settings['basePath'] + 'tartan-ajax?name=' + name  + filterValues(), null, getResults);    
    return false;  
  });
	
	/*fragment_page = getFragmentVar(window.location.toString().substring(window.location.toString().indexOf('#')), "page", -1);
	fragment_view = getFragmentVar(window.location.toString().substring(window.location.toString().indexOf('#')), "view", -1);
	
	if(fragment_view != -1 || fragment_page != -1){
		
		if(fragment_view && !fragment_page){
			fragment_url = "&view=" + fragment_view;
		} else if(!fragment_view && fragment_page){
			fragment_url = "&page=" + fragment_page;			
		} else if(fragment_view && fragment_page){
			fragment_url = "&view=" + fragment_view + "&page=" + fragment_page;
		}
						
		jQuery.get(ajaxify(window.location.toString().substring(window.location.toString().indexOf('/content/'), window.location.toString().indexOf('#'))) + fragment_url, null, function(data, textStatus){

				jData = jQuery(data);

				viewSize = jData.find(".tartan-current-results").slice(0).attr("class").substring(jQuery("#tartan-finder-ajax .tartan-current-results").attr("class").indexOf('view-size-') + 'view-size-'.length);

				jQuery(".tartan-results").removeClass("view-size-6");
				jQuery(".tartan-results").removeClass("view-size-12");
				jQuery(".tartan-results").removeClass("view-size-24");
				jQuery(".tartan-results").addClass("view-size-" + viewSize);

				jQuery("#tartan-finder-ajax .tartan-upcoming-results").html(jData.find(".tartan-current-results").slice(0,1).html());
				jQuery("#tartan-finder-ajax").data('toolbar',jData.find(".tartan-toolbar").slice(0).html());
				jQuery("#tartan-finder-ajax").data('pager',jData.find(".tartan-pager").slice(0,1).html());

				jQuery("#tartan-finder-ajax .tartan-upcoming-results").animate({"left": "0px"}, "fast");
				jQuery("#tartan-finder-ajax .tartan-current-results").animate({"left": "1020px"}, "fast", function(){
					jQuery("#tartan-finder-ajax .tartan-upcoming-results").stop();
					jQuery("#tartan-finder-ajax .tartan-current-results").stop();

					jQuery("#tartan-finder-ajax .tartan-current-results").html(jQuery("#tartan-finder-ajax .tartan-upcoming-results").html());
					jQuery("#tartan-finder-ajax .tartan-current-results").css("left", "0");
					jQuery("#tartan-finder-ajax .tartan-upcoming-results").css("left", "1020px");

					jQuery("#tartan-finder-ajax .tartan-toolbar").html(jQuery("#tartan-finder-ajax").data('toolbar'));
					jQuery("#tartan-finder-ajax .tartan-pager").html(jQuery("#tartan-finder-ajax").data('pager'));

					jQuery("#tartan-finder-ajax").removeData('toolbar');
					jQuery("#tartan-finder-ajax").removeData('pager');

					bind();
				});

			});
		
	}
	
	function ajaxify(url){
		
		return url.replace("tartan-finder", "tartan-finder/ajax/results");
		
	}
	
	function getFragmentVar(url, variable, def){
		
		if(url.indexOf(variable + "=") > 0){
	
			variable = url.substring(url.indexOf(variable + "=") + (variable.length + 1));
		
			if(variable.indexOf("&") > 0){
				variable = variable.substring(0, variable.indexOf("&"));
			}
		
			return variable;
		
		} else {
			
			return def;
			
		}
		
	}
	
	bind();
	
	function clickCallback(link, direction){
		
		jQuery.get(ajaxify(jQuery(link).attr("href")), null, function(data, textStatus){
					
			jData = jQuery(data);
			
			viewSize = jData.find(".tartan-current-results").slice(0).attr("class").substring(jQuery("#tartan-finder-ajax .tartan-current-results").attr("class").indexOf('view-size-') + 'view-size-'.length);
			
			jQuery(".tartan-results").removeClass("view-size-6");
			jQuery(".tartan-results").removeClass("view-size-12");
			jQuery(".tartan-results").removeClass("view-size-24");
			jQuery(".tartan-results").addClass("view-size-" + viewSize);
			
			//alert(viewSize);
			if(direction == "next"){
				
				animateLeft = "-1020px";
				
			} else if(direction == "previous") {
				
				animateLeft = "1020px";
				
			}
															
			jQuery("#tartan-finder-ajax .tartan-upcoming-results").html(jData.find(".tartan-current-results").slice(0,1).html());
			jQuery("#tartan-finder-ajax").data('toolbar',jData.find(".tartan-toolbar").slice(0).html());
			jQuery("#tartan-finder-ajax").data('pager',jData.find(".tartan-pager").slice(0,1).html());

			jQuery("#tartan-finder-ajax .tartan-upcoming-results").animate({"left": "0px"}, "fast");
			jQuery("#tartan-finder-ajax .tartan-current-results").animate({"left": animateLeft}, "fast", function(){
				jQuery("#tartan-finder-ajax .tartan-upcoming-results").stop();
				jQuery("#tartan-finder-ajax .tartan-current-results").stop();

				jQuery("#tartan-finder-ajax .tartan-current-results").html(jQuery("#tartan-finder-ajax .tartan-upcoming-results").html());
				jQuery("#tartan-finder-ajax .tartan-current-results").css("left", "0");
				jQuery("#tartan-finder-ajax .tartan-upcoming-results").css("left", "1020px");

				jQuery("#tartan-finder-ajax .tartan-toolbar").html(jQuery("#tartan-finder-ajax").data('toolbar'));
				jQuery("#tartan-finder-ajax .tartan-pager").html(jQuery("#tartan-finder-ajax").data('pager'));

				jQuery("#tartan-finder-ajax").removeData('toolbar');
				jQuery("#tartan-finder-ajax").removeData('pager');

				bind();
			});
		
		});
		
		page = getFragmentVar(jQuery(link).attr("href"), "page", 0);
		view = getFragmentVar(jQuery(link).attr("href"), "view", 6);
	
		jQuery(link).attr("href","#page=" + page + "&view=" + view);		
		
		jQuery(".tartan-pager .next").html("Next >");
		jQuery(".tartan-pager .previous").html("< Previous");
		
	}
	
	function bind(){
		
		jQuery(".tartan-pager .next a").click(function(){
				
			clickCallback(this, "next");
			
		});
		
		jQuery(".tartan-pager .previous a").click(function(){
				
			jQuery("#tartan-finder-ajax .tartan-upcoming-results").css("left", "-1020px");
			clickCallback(this, "previous");
			
		});
		
		jQuery(".tartan-pager ul li a").click(function(){
				
			clickCallback(this, "next");
			
		});
		
		jQuery(".tartan-toolbar a").click(function(){
			
			clickCallback(this, "next");

		});
		

	}*/
	
});

