var MODULE_PATH = '';
var IMAGES_PATH = '';

function init()
{
    if( MODULE_PATH == '' ){
        alert( 'No module path specified' );
        return;
    }
    
    if( IMAGES_PATH == '' ){
        alert( 'No images path specified' );
        return;
    }
    include('/tpl/_js/date.format.js');
    include('/tpl/_js/ajaxrequest.js');
    include('/tpl/_js/productsearch.request.js');
    include('/tpl/_js/productsearch.picture.request.js');
    include('/tpl/_js/productsearch.driver.request.js');
    include('/tpl/_js/driver.description.request.js');
    include('/tpl/_js/driver.download.request.js');
    
    $('selOperatingsystem').observe( 'change', function() { new CategorySearch().Get(); } );
    $('selProductCategorys').observe( 'change', function() { new ProviderSearch().Get(); } );
    $('selProductProviders').observe( 'change', function() { new GroupSearch().Get(); } );
    $('selProductGroups').observe( 'change', function() { new SeriesSearch().Get(); } );
    $('selProductSeries').observe( 'change', function() { new DescriptionSearch().Get(); } );
    $('selProductDescriptions').observe( 'change', function() { new PictureRequest().Get(); } );
    $('imgSearch').observe( 'click', function() {
        if(ValidateSearch()){
            new DriverRequest().Get();
        }
    });
    
    new OperatingSystemSearch().Get();
}

function ValidateSearch()
{
    var message = 'Die folgenden Kombinationsfelder enthalten unzulässige Daten\n\n';
    var isValid = true;
    if($F('selOperatingsystem') == 0) {
        message += '    -Betriebssystem\n';
        isValid = false;
    }
            
    if($F('selProductCategorys') == 0) {
        message += '    -Kategorie\n';
        isValid = false;
    }
    
    if($F('selProductProviders') == 0) {
        message += '    -Hersteller\n';
        isValid = false;
    }
    
    if($F('selProductGroups') == 0) {
        message += '    -Produkttyp\n';
        isValid = false;
    }
    
    if($F('selProductSeries') == 0) {
        message += '    -Produktserie\n';
        isValid = false;
    }
    
    if($F('selProductDescriptions') == 0) {
        message += '    -Produktbezeichnung\n';
        isValid = false;
    }
    
    message += '\nBitte wiederholen Sie Ihre Auswahl und klicken Sie erneut auf Suchen.';
    
    if(!isValid){
        alert(message);
        return false;
    }
    return true;    
}