
function svNoEnter(ev)
{
    var e = ev || window.event;
    var code = e.charCode | e.keyCode;
    return code != 13;
}


function svIsCastingformPro()
{
    var elem = document.getElementById('js-isCastingformPro');
    return elem != null;
}


function svInitSearchform()
{
    var form = ttGI('js-castingform');
    if (form)
    {
        var elems = form.getElementsByTagName('INPUT');
        for (var i = 0 ; i < elems.length ; i++)
        {
            switch (elems[i].type) {
                case 'text':      elems[i].onkeypress = svNoEnter; break;                            
                case 'image':     break;
                case 'checkbox':  elems[i].onclick = svSearchformSend; break;                                                        
                default:          elems[i].onchange = svSearchformSend;
            }
        }
        var elems = form.getElementsByTagName('SELECT');
        for (var i = 0 ; i < elems.length ; i++)
        {
            elems[i].onchange = svSearchformSend;            
        }
    }

    var hiddOby = ttGI('js-hidden-oby');
    var fromOby = ttGI('js-sel-oby');
    if (hiddOby && fromOby) {
        fromOby.onchange = function() {
            hiddOby.value = fromOby.value;
            svSearchformSend();
        }
    }
    
    var hiddOway = ttGI('js-hidden-oway');
    if (hiddOway)
    {
        var fromOwayUP = ttGI('js-radio-oway-UP');
        if (fromOwayUP) {
            fromOwayUP.onclick = function() {  
                hiddOway.value = 'up';
                svSearchformSend();            
            }            
        }  
        var fromOwayDOWN = ttGI('js-radio-oway-DOWN');
        if (fromOwayDOWN) {
            fromOwayDOWN.onclick = function() {  
                hiddOway.value = 'down';
                svSearchformSend();            
            }            
        }  
    }
    
    var hiddFavVorn = ttGI('js-hidden-favorn');
    var fromFavVorn = ttGI('js-check-favorn');
    if (hiddFavVorn && fromFavVorn) {
        fromFavVorn.onclick = function() {    
            hiddFavVorn.value = fromFavVorn.checked ? '1' : ''; 
            svSearchformSend();            
        }            
    }
    
    ttSetAttr('js-text-amin',   'onkeyup',  function() { return svAutoSend('js-text-amin',   'js-text-amax',   10, 10, true); });                
    ttSetAttr('js-text-amax',   'onkeyup',  function() { return svAutoSend('js-text-amin',   'js-text-amax',   10, 10, false); });            
    ttSetAttr('js-text-gromin', 'onkeyup',  function() { return svAutoSend('js-text-gromin', 'js-text-gromax', 80, 80, false); });                
    ttSetAttr('js-text-gromax', 'onkeyup',  function() { return svAutoSend('js-text-gromin', 'js-text-gromax', 80, 80, false); });            
    ttSetAttr('js-text-gewmin', 'onkeyup',  function() { return svAutoSend('js-text-gewmin', 'js-text-gewmax', 20, 20, false); });                
    ttSetAttr('js-text-gewmax', 'onkeyup',  function() { return svAutoSend('js-text-gewmin', 'js-text-gewmax', 20, 20, false); });            
    
    
    var extendedSearchForm = svIsCastingformPro();
    $('.for_profi_only input').attr('disabled',  extendedSearchForm ? null : 'disabled');
    $('.for_profi_only select').attr('disabled', extendedSearchForm ? null : 'disabled');        
}


function svAutoSend(idMin, idMax, limitMin, limitMax, autoInit)
{
    var inputMin = ttGI(idMin);
    var inputMax = ttGI(idMax);    
    if (inputMin && inputMax)
    {
        var nMin = ttParseNumeric(inputMin.value);
        var nMax = ttParseNumeric(inputMax.value);        
        if (autoInit && nMin > limitMin && nMax == 0) {
            inputMax.value = inputMin.value;
            nMax = nMin;
        }
        
        if (nMin >= limitMin && nMax >= nMin) {
            svSearchformSend();            
        }
    }
    return true;
}


function svSearchformSend()
{
    ttSetStyle('js-busy', 'display', 'block');    
    //   ttSetStyle('content', 'opacity', 0.4);
    
    if (!ttGI('content_center')) 
    {
        ttGI('js-castingform').submit();        
    }
    else 
    {
        var querystring = $('#js-castingform').serialize();
        $('#content_center').load('/list/casting?_ajax=1&' + querystring + ' #content_center', function() {
    
    //      ttSetStyle('content', 'opacity', 1.0);                        
            ttSetStyle('js-busy', 'display', 'none');
        
            // bind handlers
            if (typeof(svInitSearchform) == 'function') {        
                svInitSearchform();
            }
            if (typeof(svInitCastingList) == 'function') {
                svInitCastingList();
            }
            if (typeof(svInitAjaxFields) == 'function') {
                svInitAjaxFields();                        
            }
            if (typeof(svInitProfProjects) == 'function') {        
                svInitProfProjects();
            }
        });
    }
}

    
function svResetCastingForm(sendAfterReset, sectionId)
{
    var form = ttGI(sectionId != null ? sectionId : 'js-castingformContainer');
    if (form) 
    {
        var elems = form.getElementsByTagName('INPUT');
        for (var i = 0 ; i < elems.length ; i++)
        {
            switch (elems[i].type) {
                case 'checkbox': elems[i].checked = false; break;
                case 'text':     elems[i].value   = '';    break;                
            }
        }
        var elems = form.getElementsByTagName('SELECT');
        for (var i = 0 ; i < elems.length ; i++)
        {
            elems[i].selectedIndex = 0;            
        }
    }
    
    if (sectionId == null || sectionId == 'js-casting-general')
    {
        ttSetAttr('js-check-sexm',    'checked',  true);
        ttSetAttr('js-check-sexf',    'checked',  true);
    }
    if (sectionId == null)    
    {
        ttSetAttr('js-check-favorn',  'checked',  true);
        ttSetAttr('js-radio-oway-up', 'checked',  true);    
    }
    
    if (sendAfterReset) {
        svSearchformSend();
    }
    
    return false; 
}



// 
//  change castingform state: normal | demo | profi
//

function svGetFormDisplayState()
{
    var elem = document.getElementById('js-FormDisplayState');
    return elem ? elem.innerHTML : '';    
}


function svSetFormDisplayState(state)
{
    var oldState = svGetFormDisplayState();
    if (!oldState)    
        return;
        
    if (state == 'toggle')
    {
        if (oldState == 'normal') 
            state = svIsCastingformPro() ? 'profi' : 'demo';
        else 
            state = 'normal';        
    }

    svToggleCastingSearchForm(state);
    
    document.getElementById('js-FormDisplayState').innerHTML = state;
    $.get('/util/setstate?form_displaystate='+state);    
    
    return false;
}


function svToggleCastingSearchForm(state)
{
    var containerWidth, showOrHide, containerClass;
    switch(state)
    {
        case 'profi': 
            containerWidth = '430px';
            profiDisplay   = 'block';
            containerClass = 'form_profi';
            break;
            
        case 'demo': 
            containerWidth = '430px';
            profiDisplay   = 'block';
            containerClass = 'form_demo';            
            break;
            
        default: 
            containerWidth = '215px';
            profiDisplay   = 'none';
            containerClass = 'form_normal';            
    }
    if (profiDisplay == 'none') 
    {
        svResetCastingForm(false, null);
        $('.cu_search').fadeOut(600);    
        $('#js-profionly-bubble').fadeOut(300);            
        $('.for_profi_only').fadeOut(300);
        setTimeout(function() {
            $('#js-castingformContainer').animate({width: containerWidth}, 500, function() {
                ttSetClass('js-castingformContainer', containerClass);                 
                $('#js-buttonCastingformMinus1, #js-buttonCastingformMinus2').css('display', 'none');
                $('#js-buttonCastingformPlus1,  #js-buttonCastingformPlus2' ).css('display', 'block');  
            });
        }, 300);        
    }
    else 
    {
        $('#js-castingformContainer').animate({width: containerWidth}, 500, function() {
            $('.cu_search').fadeIn(500);                                        
            $('.for_profi_only').fadeIn(500);
            ttSetClass('js-castingformContainer', containerClass);     
            $('#js-buttonCastingformMinus1, #js-buttonCastingformMinus2').css('display', 'block');
            $('#js-buttonCastingformPlus1,  #js-buttonCastingformPlus2' ).css('display', 'none');        
            if (containerClass == 'form_demo') { 
                $('#js-profionly-bubble').fadeIn(2000);                                    
            }
        });
    }
}    

