jQuery(window).load(function() {
    jQuery('.fanc').fancybox();
    addEvents();
    
    defineMinimizedWindowsPositions();
    
    jQuery('.subpages-table a').each(function(i){        
        thisDiv = jQuery(this).attr('href').replace('#', '');
        
        if(i == 0){
            jQuery(this).addClass('bold');
            jQuery('#'+thisDiv).show();            
        }else{
            jQuery('#'+thisDiv).hide();
        }
    });
    
    jQuery('.subpages-table a').click(function(){
        showDiv = jQuery(this).attr('href').replace('#', '');
        
        jQuery('.subpages-table a').each(function(){
            jQuery(this).removeClass('bold');
            
            thisDiv = jQuery(this).attr('href').replace('#', '');
            jQuery('#'+thisDiv).hide();
            
            if(showDiv == thisDiv){
                 jQuery('#'+showDiv).show();
            }
        });
        jQuery(this).addClass('bold');
        
        return false;
    });
});


/*
 * навешиваем обработку событий (используется после загрузки страницы и при подгрузке контента аяксом)
 */
function addEvents(){
    jQuery('.minimize-window').click(minimizeWindow); // свернуть
    jQuery('.close-window').click(closeWindow); // закрыть окно
    jQuery('.expand-window').click(expandWindow);  // развернуть окно
    jQuery('.expandWindowGoLink').click(function(){
        jQuery('#calculateDeposits_block .minimize-window').click();
    });
}

/*
 * переназначает классы
 */
function reloadSelectBox(){
    jQuery('.cSelect').parents('.jquery-selectbox').unselectbox();
    jQuery('.cSelect').selectbox();
    
    jQuery('.overlay').each(function(){
        if(jQuery(this).css('display') != 'none'){
            hideSelect();
        }
    });
}

/*
 * очищает форму
 */
function clear_form_elements(ele) {
    jQuery(ele).find(':input').each(function() {
        switch(this.type) {
            case 'password':
            case 'select-multiple':
            case 'select-one':
            case 'text':
            case 'textarea':
                jQuery(this).val('');
                break;
            case 'checkbox':
            case 'radio':
                this.checked = false;
        }
    });
    
    reloadSelectBox();
    
    return false;
}

/*
 * скроллит страницу вверх
 */
function scrollToTop(){
    jQuery('body,html').animate({scrollTop: 0}, 500);
}

/*
 * скроллит страницу к результату
 */
function scrollToResult(){
    jQuery.scrollTo('.calc-pad', 800);    
}

/*
 * определяет местоположение свернутых окон
 */
function defineMinimizedWindowsPositions(){
    windowsSize = jQuery('.minimized').size();
    
    if(windowsSize > 0){
        windowWidth = jQuery(window).width();        
        fromLeft = 10;
        fromBottom = 10;
        
        jQuery('.minimized').each(function(){
            if(jQuery(this).css('display') == 'block'){
                jQuery(this).css('left', fromLeft+'px');
                jQuery(this).css('bottom', fromBottom+'px');
                
                fromLeft = fromLeft*1 + 80 + jQuery(this).width();
                
                if(fromLeft > windowWidth){
                    fromLeft = 10;
                    fromBottom = 50;
                
                    jQuery(this).css('left', fromLeft+'px');
                    jQuery(this).css('bottom', fromBottom+'px');
                }
            }
        });
    }
}

/*
 * свернуть окно
 */
function minimizeWindow(){    
    objectUrl = hideWindow(jQuery(this));        
    jQuery('#'+ object).show();    
    
    defineMinimizedWindowsPositions();
    
    cookieTitle = getCookieTitleByObject(object);              
    jQuery.cookie(cookieTitle, 'minimized', {expire:7, path: '/'});    
    
    return false;
}

/*
 * возвращает имя кукиса в зависимости от кликнутого объекта
 */
function getCookieTitleByObject(obj){    
    switch(obj){
        case 'regionalNetwork':
            return 'REGIONAL_NETWORK_STATUS';
            break;
        case 'calculateCredit':
            return 'CREDIT_CALCULATOR_STATUS';        
            break;
        case 'calculateDeposits':
            return 'DEPOSITS_CALCULATOR_STATUS';        
            break;
        case 'calculateInvestment':
            return 'INVESTMENT_CALCULATOR_STATUS';        
            break;
        case 'eFeedbackForm':
            return 'EFEEDBACK_STATUS';
            break;
        case 'eReferenceForm':
            return 'EREFERENCE_STATUS';
            break;
        default:
            break;
    }
}

/*
 * отвечает за скрытие окна
 */
function hideWindow(obj){
    /* fix: в IE урлы по-другому видятся */
    //dataS = obj.attr('href').replace('#', '').split('/');
    dataS = obj.attr('href').split('#');
    object = dataS[dataS.length - 1];
    /* /fix: в IE урлы по-другому видятся */

    /*jQuery('#fancybox-wrap.'+object).hide();
    jQuery('.overlay.'+object).hide();
    */
    jQuery('.'+object).hide();
    jQuery('#'+object).hide();
        
    showSelect();
    
    return object;
}

function showSelect(){
    jQuery('.page select').show();
}

function hideSelect(){
    jQuery('.page select').hide();
}

/*
 * закрыть окно
 */
function closeWindow(){
    object = hideWindow(jQuery(this));
    
    cookieTitle = getCookieTitleByObject(object);  
    jQuery.cookie(cookieTitle, null, {expire:-1, path: '/'});
    
    defineMinimizedWindowsPositions();

    return false;
}

/*
 * развернуть окно
 */
function expandWindow(){    
    object = hideWindow(jQuery(this));    

    /*
    jQuery('#fancybox-wrap.'+object).show();
    jQuery('.overlay.'+object).show();
    */
    jQuery('.'+object).show();
    jQuery('#'+object).hide();
    
    cookieTitle = getCookieTitleByObject(object);
    jQuery.cookie(cookieTitle, 'opened', {expire:7, path: '/'});
    initSelectBox();

    // перерисовка открытой карты
    if(object == 'regionalNetwork' && jQuery('.filial-map') != undefined){
        jQuery('.filial-map').each(function(){
            if(jQuery(this).css('display') == 'block'){
                mapID = jQuery(this).attr('id').replace('map','');
                
                if(typeof google == 'undefined'){
                    code = 'if(map'+mapID+' != undefined) map'+mapID+'.redraw()';
                }else{
                    code = 'showmap'+mapID+'();';
                }
                eval(code);                
            }
        });
    }
    
    defineMinimizedWindowsPositions();
   
    return false;
}
