dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dijit.Dialog");
dojo.require("dijit.Tooltip");

function refreshStart() {
    dojo.byId("loadicon").style.visibility = "visible";

    dojo.xhrPost({
        url: 'search/results',
        handleAs: 'json',
        form: dojo.byId('resultsForm'),
        load: function(response) {
            dojo.byId("results").innerHTML = response[0];   
            dojo.byId("loadicon").style.visibility = "hidden";
            dojo.parser.parse();

            setTimeout('refreshStart()', 60000);
          
            if(response[1]=="popup") {
                dijit.byId('popup').setValue(true);
            } else if(response[1]=="sound") {
                dijit.byId('sound').setValue(true);
            }
            else {
                dijit.byId('none').setValue(true);
            }

            if(response[2]==1 && response[1]=="popup") {
                MeinFenster=window.open("search/alertpopup", "Zweitfenster", "width=300,height=400,left=0,top=0,locationbar=0");
                MeinFenster.focus();
                
            } else if(response[2]==1 && response[1]=="sound") {
                 niftyplayer('alertPlayer').play();
            }
                
        },
        error: function(response) {
            // ...
        }
    });  
}

function refresh() {
    dojo.byId("loadicon").style.visibility = "visible";

    dojo.xhrPost({
        url: 'search/results',
        form: dojo.byId('resultsForm'),
        handleAs: 'json',
        load: function(response) {
            dojo.byId("results").innerHTML = response[0]; 
            dojo.byId("loadicon").style.visibility = "hidden";
            
            dojo.parser.parse();   
            
            if(response[1]=="popup") {
                dijit.byId('popup').setValue(true);
            } else if(response[1]=="sound") {
                dijit.byId('sound').setValue(true);
            }
            else {
                dijit.byId('none').setValue(true);
            }

            if(response[2]==1 && response[1]=="popup") {
                MeinFenster=window.open("search/alertpopup", "Zweitfenster", "width=300,height=400,left=100,top=200");
                MeinFenster.focus();
                
            } else if(response[2]==1 && response[1]=="sound") {
                 niftyplayer('alertPlayer').play();
            }
            
        },
        error: function(response) {
            // ...
        }
    });  
}



setTimeout('refreshStart()', 1000);


function addSearch() {

    if(dijit.byId('category1').attr('displayedValue') == '' && dijit.byId('keywords').attr('value') == '') { 
        dojo.byId("formStatus").innerHTML = "Sie müssen einen Suchbegriff eingeben<br>oder eine Kategorie auswählen";  
        dojo.byId("formStatus").style.visibility = "visible";
        dojo.byId("formStatus").style.display = "block";  
    }
	else {
        var addSearch=dijit.byId('submit');
		addSearch.attr('disabled', true);
		addSearch.attr('label', 'Suche wird hinzugefügt');
		dojo.xhrPost({
		    url: 'search/add',
		    form: dojo.byId('searchForm'),
		    load: function(response) {
		        
		        addSearch.attr('disabled', false);
		        addSearch.attr('label', 'Suche hinzufügen'); 
		        dijit.byId('searchForm').reset();
		        dijit.byId('category1').attr('displayedValue','');	
		        
		        if(response.replace(/[\r\n|\s]/g, '')!="") {                 
                    dojo.byId("formStatus").innerHTML = response;  
                    dojo.byId("formStatus").style.visibility = "visible";
                    dojo.byId("formStatus").style.display = "block";  
                }
                else {
                    dojo.byId("formStatus").innerHTML = "Suche erfolgreich hinzugefügt";  
                    dojo.byId("formStatus").style.visibility = "visible";
                    dojo.byId("formStatus").style.display = "block"; 
                    
		            refresh();
		        }
     
		    },
		    error: function(response) {
		        // ...
		    }
		});  
	}
}

function deleteSearch(searchid) {

    dojo.byId("searchBox"+searchid).style.visibility = "hidden";
    dojo.byId("searchBox"+searchid).style.display = "none";

    dojo.xhrPost({
        url: 'search/delete/searchid/'+searchid,
        load: function(response) {

     
        },
        error: function(response) {
                // ...
        }
    });  
}

function updateCategories(level) {
    var actualCategory=dijit.byId('category'+level);

    if(actualCategory.attr('disabled')==false && actualCategory.attr('displayedValue')!="") {

        for(var i=level+1;i<=6;i++) {
            dijit.byId('category'+i).attr('disabled', true);
            dijit.byId('category'+i).attr('displayedValue', '');
        }
        
        dojo.xhrPost({
            url: "category/data/selected/"+actualCategory.attr('value'),
            handleAs: 'json',
            load: function(response) {              
                var nextCategory=dijit.byId('category'+eval(level+1));
    
                var newStore=new dojo.data.ItemFileReadStore({
                    "data": response
                });
    
                newStore.fetch();
                nextCategory.store=newStore;
                
                nextCategory.attr('disabled', false);
                nextCategory.attr('displayedValue', '');
                nextCategory.focus();
                

                for(var i=level+2;i<=6;i++) {
                    dijit.byId('category'+i).attr('disabled', true);
                    dijit.byId('category'+i).attr('displayedValue', '');
                }
            },
            error: function(response) {
                // falls es keine weitere Unterkategorien gibt
                for(var i=level+1;i<=6;i++) {
                    dijit.byId('category'+i).attr('disabled', true);
                    dijit.byId('category'+i).attr('displayedValue', '');
                }

            }
        });  
    } else {
        if(level<6) {
            dijit.byId('category'+eval(level+1)).attr('disabled', true);
            dijit.byId('category'+eval(level+1)).attr('displayedValue', '');
        }
    }
}
