//to use this you need to implement the following function specifically foreach department
//
// submitSearch () - create the actual array from a given user search
//
// getFiltersCount() - returns the count of search filters (e.g. area, category, subcategoy == 3)
//
// createSearchDescription(dataarray) - takes the product of createSearchArray and constructs the link text
//
// createSearchLink(dataarray) - takes the product of createSearchArray and constructs the search link
//
// see mySearchExample.js 


//move searches 1 and 2 to be 2 and 3     
function pushSearch() {
	
    var s1 = loadSearchData('historySearch1');            
    var s2 = loadSearchData('historySearch2');            
    saveSearchData('historySearch2', s1);
    saveSearchData('historySearch3', s2);    
}

function saveSearchData(fieldname, value) {
    var search = document.getElementById('searchDataField');
    search.setAttribute(fieldname, value);	
    search.save('details');
}

// returns data from userdata cache
function loadSearchData(fieldName) {
    var search = document.getElementById('searchDataField');
    search.load('details');		
    storedData = search.getAttribute(fieldName);
		
    if (storedData != null) { return search.getAttribute(fieldName); }
	
    return false;
}

function loadSavedSearch() {
    var h = document.getElementById('saved');    
    var s = loadSearchData('savedSearch1');
	var sbox = document.getElementById('searchesBox');                                       
    if (!s || s == '')        
        h.innerHTML = 'לא נמצאו חיפושים שמורים';
    else {
        sbox.style.display = '';
        h.innerHTML = '<span style="text-decoration:underline;">פרופילי החיפוש ששמרתי:</span>';
        h.innerHTML = h.innerHTML + '&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size:9px;text-decoration:underline;cursor:hand;" onclick="javascript:deleteSaved();">מחק הכל</span><br /><br />';
        
        h.innerHTML = h.innerHTML + createSearchHtml(s, 1, false);
        
        s = loadSearchData('savedSearch2');
        if (s && s != '')
            h.innerHTML = h.innerHTML + createSearchHtml(s, 2, false);
            
        s = loadSearchData('savedSearch3');
        if (s && s != '')
            h.innerHTML = h.innerHTML + createSearchHtml(s, 3, false);
            
       //s = loadSearchData('savedSearch4');
        //if (s && s != '')
          //  h.innerHTML = h.innerHTML + createSearchHtml(s, 4, false);
            
        //s = loadSearchData('savedSearch5');
        //if (s && s != '')
        //    h.innerHTML = h.innerHTML + createSearchHtml(s, 5, false);
    }   
    
}

function loadHistorySearch() {
    var h = document.getElementById('history');
    var sbox = document.getElementById('searchesBox');                               
    var s = loadSearchData('historySearch1');
                   
    if (!s || s == '') {
        sbox.style.display = 'none';
        h.innerHTML = 'לא נמצאו חיפושים אחרונים';
    } else {
        sbox.style.display = '';
        h.innerHTML = '<span style="text-decoration:underline;">חיפושים אחרונים שבצעתי:</span>';
        h.innerHTML = h.innerHTML + '&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size:9px;text-decoration:underline;cursor:hand;" onclick="javascript:deleteHistory();">מחק הכל</span><br /><br />';
        
        h.innerHTML = h.innerHTML + createSearchHtml(s, 1, true);
        
        s = loadSearchData('historySearch2');
        if (s && s != '')
            h.innerHTML = h.innerHTML + createSearchHtml(s, 2, true);
            
        s = loadSearchData('historySearch3');
        if (s && s != '')
            h.innerHTML = h.innerHTML + createSearchHtml(s, 3, true);
    }                
}

function createSearchHtml(str, i, isHistory) {
    if (!str) return;
    
    var arr = createSearchArray(str)     
    var filtersCount = getFiltersCount() - 1;
                                       
    if (arr && arr.length >= filtersCount) {
		var desc = createSearchDescription(arr);
		var link = createSearchLink(arr)
		
		var returnStr = i + '. <a style="text-decoration:underline;" href="' + link + '">' + desc + '</a>';                
		if (isHistory)
			returnStr = returnStr + '&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size:9px;text-decoration:underline;cursor:hand;" onclick="javascript:saveSearch(' + i + ');">שמור</span><br />';
		else
			returnStr = returnStr + '&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size:9px;text-decoration:underline;cursor:hand;" onclick="javascript:deleteSavedSearch(' + i + ');">מחק</span><br />';
		return returnStr
    } else {
		return '';
    }    
}

function deleteHistory() {
    saveSearchData('historySearch1', '');
    saveSearchData('historySearch2', '');
    saveSearchData('historySearch3', '');
    var h = document.getElementById('history');
    h.innerHTML = 'לא נמצאו חיפושים אחרונים';
}

function deleteSaved() {
    saveSearchData('savedSearch1', '');
    saveSearchData('savedSearch2', '');
    saveSearchData('savedSearch3', '');
    //saveSearchData('savedSearch4', '');
    //saveSearchData('savedSearch5', '');
    
    var h = document.getElementById('saved');
    h.innerHTML = 'לא נמצאו חיפושים שמורים';
}

function deleteSavedSearch(i) {
	saveSearchData('savedSearch' + i, ''); 
	
    var newIndex = 1;
    for (var x = 1; x <= 3; x++) {    
		if (x != i) {
			var current = loadSearchData('savedSearch' + x);			
			saveSearchData('savedSearch' + x, ''); 
			saveSearchData('savedSearch' + newIndex, current); 
			newIndex++;		
		} else {
			saveSearchData('savedSearch' + x, ''); 
		}
    }

    loadSavedSearch();
}

//push a search on top of saved searches
function saveSearch(i) {
    newSaved = loadSearchData('historySearch' + i);
    
    var arrSaved = new Array(2);
                    
    for (var x = 1; x <= 3; x++) {        
        var oldSaved = loadSearchData('savedSearch' + (x));
        arrSaved[x + 1] = oldSaved;
    }
    
    for (var x = 1; x <= 3; x++) {
        saveSearchData('savedSearch' + x, arrSaved[x]); 
    }
    
    //save the new one
    saveSearchData('savedSearch1', newSaved);
    
    //reload
    loadSavedSearch();
}

function createSearchArray(dataStr) {
    
    var data = dataStr.split('|||');
    
    for (var i = 0; i < data.length; i++) {
        data[i] = data[i].split('~~');
    }
    
    return data;
    
}
