// changing search_ajax url
myDeco.urls.search_ajax = myDeco.urls.btl_search_ajax;

myDeco.buythelook = {

	init: function(){
	
		try {
			//myDeco.buythelook.readCookie();

			var form = $('send-to-friend-form');
			if (form != undefined) {
                                form.elements["message"].value += "Found a look you might like on mydeco.";
				form.elements["message"].value += "\n\n"+String(location.href);
			}
			
		    // drop down links
		    var searchDDDivs = $$('.search-dd-selected-vals');
		    
		    if(searchDDDivs) {
		        searchDDDivs._each( function(link) {
		            link.observe('click', myDeco.buythelook.showHideDropDown);
		        });
		        
		        var closeButtons = $$('.search-dd-close'); 
		        if(closeButtons) {
		            
		            if($('buy-the-look-results') != null) {
		                closeButtons._each( function(link) {
    		                link.observe('click', myDeco.buythelook.showHideDropDown);
                            link.innerHTML = 'Close';
    		            });
                        var checkBoxes = $$('.search-dd-list ul li input');
    			
                        checkBoxes._each( function(link) {
                            link.observe('click', myDeco.buythelook.search);
                        });
		            }
    		        else {
    		            closeButtons._each( function(link) {
    		                link.observe('click', myDeco.buythelook.hideDropDown);
    		            });
    		        }
    			}
    			
    			// need to hide the drop downs, in the js 
    			// display property not available to js
    			var dropdownLists = $$('.search-dd-list'); 
		        if(dropdownLists) {
    		        dropdownLists._each( function(link) {
    		            link.style.display = 'none';
    		        });
    			}
    			
                myDeco.buythelook.updateRenderSelections();
				Event.observe(document.body, 'click', function(e) { myDeco.buythelook.checkAndCloseDropDown(e); });
				
				myDeco.search.initLoaders();
			}
		}
		catch (e) {
			console.log('Error : buythelook.js : myDeco.buythelook.init : ' + e );
		}

	},
	
	checkAndCloseDropDown: function(e) {
		var elem = Event.element(e);
		var btl_drop_downs = $(btl_drop_downs);
		if (!btl_drop_downs) {
			return;
		}
		
		if (!elem.descendantOf(btl_drop_downs)){
			var dropDowns = $$('.search-dd-list');
			dropDowns._each( function (dropdown) {
				dropdown.style.display = 'none';
			});
		}
	},
	
	search: function (e) {
        myDeco.search.refineByForm(e);
	},

    createParams: function (params) {
	
        return params;
    },

    updateRenderSelections: function () {
        
        var dropDowns = $$('.drop-down');
        dropDowns._each( function (dropdown) {
            
            var selectionString = '';
            var chkBoxes = dropdown.select('input');
            chkBoxes._each( function (chkBox) {
                if(chkBox.checked) {
                    var chkBoxLabel = chkBox.next();
                    if(chkBoxLabel != null) {
                        selectionString = selectionString + ', ' + chkBoxLabel.innerHTML;
                    }
                }
            });
            
            var selectedItemsNodes = dropdown.getElementsByClassName('search-dd-selected-vals');
            if(selectedItemsNodes[0] != null) {
                if(selectionString != '') {
                selectionString = selectionString.substr(1);
                    selectedItemsNodes[0].innerHTML = selectionString;
            }
            else {
                var noneSelectedVal = dropdown.getElementsByClassName('search-dd-none-select')
                selectedItemsNodes[0].innerHTML = noneSelectedVal[0].innerHTML;
            }
        }
        });
    },

	
	showHideDropDown: function (e) {
	    
	    Event.stop(e);
	    var currDisplay = $((Event.element(e)).parentNode);
	    if(currDisplay.className == 'search-dd-selection') {
	        currDisplay = currDisplay.next('div');
	    }
		
	    if(!currDisplay.visible()) {
	        currDisplay.style.display = 'block';
	    }
        else {
            currDisplay.style.display = 'none';
        }
		
		
	},
	
	hideDropDown: function (e) {
	    
	    Event.stop(e);
	    (Event.element(e)).parentNode.style.display = 'none';
	    
	    // needs to be called on toggle OR close, only if something SELECTED tho,
	    // so need some sort of eval fucntion
	    document.btl_search.submit();
	}
}

// Enlarge #btl-image
addLoadEvent(myDeco.buythelook.init, true);
