/*
 * Tag Filter For Portfolio
 * Robin Willis
 */
(function($){

    $.fn.extend({
    
        tagFilter: function(options){
        	
			var defaults = {
				ajaxOpts: {dataType: ($.browser.msie) ? "text" : "xml", contentType: 'text/xml'}
			};
        	
            settings = $.extend(true, defaults, options);
            var selected = $(this);
			
            settings.ajaxOpts.success = function(data){
            
                var xml;
     
                if (typeof data == "string") {
                    xml = new ActiveXObject("Microsoft.XMLDOM");
                    xml.async = false;
                    xml.loadXML(data);
                }
                else {
                    xml = data;
                }
                
                $(xml).find(settings.parentElement).each(function(){
               
                    //TAG FILTERING	
					var filterArray = new Array;
					 filterArray = settings.curFilter;
			
                    if (filterArray.length !== 0) {
					
  						//declary tag array 
                        var tagArray = new Array();
						var tagArray = $(this).find('tag');
						
                        var filterEntry = true;
                       
						for (var i = 0; i < tagArray.length; i++) {
							for (var n = 0; n < filterArray.length; n++) {
								
								if ($(tagArray[i]).text() == filterArray[n]) {
									filterEntry = false;
									break;
								}
								if (filterEntry == false){
									break;
								}
							}
						}
                        
						index = $(this).attr('index');
						
                        if (filterEntry == false) {
                        	//Show Item
							$(selected).find('#'+index).show('slow');
						}
                        else {
	                        //Hide Item
							
							$(selected).find('#'+index).hide('slow')//.fadeOut(400);			
                        }// END FILTERING
                        
                    }else{
							//curFilter is Empty: Show all Tags
							$(selected).find('.proj_item').show('slow')//.fadeIn(400);
						}
				//console.log('done filtering');		
			    });
                
               // console.log('Visible Items Returned');
               // console.log($('.proj_item:visible').length);
                settings.callback();
                
            }
                  
            return this.each(function() {
                $.ajax(settings.ajaxOpts);
            });
        }
    });
    
})(jQuery);

