window.addEvent('domready', function() {
//page navigation
    if($('pageNavigationPaginate')) {
        vNavigationPannelId = 'pageNavigationPaginate';
        vBlockClassName     = 'virtualpage';
        vBlockPerPage       = objectsPerPage;
        vPagesCount         = countVPages(vBlockPerPage);
        buildVPageNavigator(vPagesCount);
    }
//map
    if( $('flashcontent') ){
        var so = new SWFObject("/map/map.swf", "flash_obj", "445", "285", "8", "");
        so.addParam("quality", "high");
        so.addParam("loop", "true");
        so.addParam("wmode", "transparent");
        so.write("flashcontent");
    }
//top menu
    $$('#topmenu .anylinkcss').each(function(submenuElement) {
	 setSubMenuWidth(submenuElement);
    });
//other
    if($('tourSearchForm')){
        if(currentKurorts == 0) {         
            $('kurortSelectBlock').setStyle('display', 'none');
            $('kurortTitleBlock').setStyle('display', 'none');
        }

        $('country').addEvent('change', function() {
            getKurortList();
        });
        $('tourSearchForm').addEvent('submit', function(e) {
            if( !checkTourSearchForm() ) {
                var event = new Event(e).stop();
            }
        });
    }
//vote
    $$('img.image-contest-vote').each(function(voteImg) {
        voteImg.addEvent('click', function() {
            imgId = voteImg.id.replace('voteFor', '');
            vote( imgId ); 
        });    
    })

    if($('textSearchForm')){
        searchFromText = $('searchedWord').getProperty('value');
        $('searchedWord').addEvent('focus', function() {
            if($('searchedWord').getProperty('value') == searchFromText ) {
                $('searchedWord').setProperty('value', '');
            }
        });
        $('searchedWord').addEvent('blur', function() {
            if($('searchedWord').getProperty('value') == ''){
                $('searchedWord').setProperty('value', searchFromText);
            }
        });
        $('textSearchForm').addEvent('submit', function(e) {
            if( !checkTextSearchForm() ) {
                var event = new Event(e).stop();
            }
        });
    }

    if($('tourOrderForm')){
        $('order').addEvent('click', function() {
            orderTour();
        });
        $('tourOrderForm').addEvent('submit', function(e) {
            var event = new Event(e).stop();
            orderTour();
        });
    }

    if($('feedbackForm')){
        $('feedbackButton').addEvent('click', function() {
            feedback();
        });
        $('feedbackForm').addEvent('submit', function(e) {
            var event = new Event(e).stop();
            feedback();
        });
    }

    if($('subscribeForm')){
        var subscribFromText = $('subscribeEmail').getProperty('value');
        $('subscribeEmail').addEvent('focus', function() {
            if($('subscribeEmail').getProperty('value') == subscribFromText ) {
                $('subscribeEmail').setProperty('value', '');
            }
        });
        $('subscribeEmail').addEvent('blur', function() {
            if($('subscribeEmail').getProperty('value') == ''){
                $('subscribeEmail').setProperty('value', subscribFromText);
            }
        });
        $('subscribeButton').addEvent('click', function() {
            subscribe();
        });
        $('subscribeForm').addEvent('submit', function(e) {
            var event = new Event(e).stop();
            subscribe();
        });
    }

    if($('agentLoginForm')){
        $('agentLoginForm').addEvent('submit', function(e) {
            var event = new Event(e).stop();

        });
        $('agentLoginButton').addEvent('click', function() {
            agentLogin();
        });
        $('passwordRemindButton').addEvent('click', function() {
            passwordRemind();
        });

        var passRememberSlide = new Fx.Slide('passRememerDiv');
        passRememberSlide.slideOut();
        $('passRemeberToggle').addEvent('click', function(e){
	     e = new Event(e);
            passRememberSlide.toggle();
	     e.stop();
        });
    }

    if($('agentRegisterForm')){
        $('agentRegisterButton').addEvent('click', function() {
            agentRegister();
        });
        $('agentRegisterForm').addEvent('submit', function(e) {
            var event = new Event(e).stop();
        });
    }

    if($('agentChangeInfoForm')){
        $('agentChangeInfoButton').addEvent('click', function() {
            agentCangeInfo();
        });
        $('agentChangeInfoForm').addEvent('submit', function(e) {
            var event = new Event(e).stop();
        });
    }

    if($('popular-tours')) {
        addTips($$('.tip'));
    }
    
    if ($('countrySelectForm')) {
        $('countryId').addEvent('change', function() {
            selectSimpleCountry();
        });        
    }

    if( $$('#maincontent .right-images a').length > 0) {
        $$('#maincontent table').each(function(table) {
            table.removeProperty('width');    
        })
    }
});



function checkTourSearchForm() {
    var now = new Date();
    var curDate = new Date(now.getUTCFullYear(),now.getUTCMonth()+1,now.getUTCDate(),0,0,0);

    var firstDateArr = $('start_date').getProperty('value').split(".",3)
    var firstDate = new Date(firstDateArr[2],firstDateArr[1],firstDateArr[0],00,00,00);
    var secondDateArr = $('end_date').getProperty('value').split(".",3)
    var secondDate = new Date(secondDateArr[2],secondDateArr[1],secondDateArr[0],00,00,00);

    var startPrice = $('start_price').getProperty('value');
    if(startPrice=='') startPrice=0;
    startPrice = parseInt(startPrice);

    var endPrice   = $('end_price').getProperty('value');
    if(endPrice=='') endPrice=0;
    var endPrice   = parseInt(endPrice);

    if((secondDate < firstDate) && (secondDate.toString() != curDate.toString())) {
        alert('Дата отьезда должна быть позже даты прибытия');
        return false;
    } else if(isNaN(startPrice)) {
        alert('Минимальная стоимость указана неправильно');
        return false;
    } else if(isNaN(endPrice)) {
        alert('Максимальная стоимость указана неправильно');
        return false;
    } else if((startPrice > endPrice) && (startPrice > 0) && (endPrice > 0)) {
        alert('Минимальная стоимость должна быть менше максимальной');
        return false;
    } else {
        return true;
    }
}

function checkTextSearchForm() {
    if($('searchedWord').getProperty('value').length <= 3) {
        alert('Искомое слово должно быть длинее трёх символов');
        return false;
    } else if($('searchedWord').getProperty('value') == searchFromText) {
        alert('Вы не ввели искомое слово');
        return false;
    } else {
        return true;
    }
}

function selectSimpleCountry() {
    if($('countryId').getProperty('value') == '') {
        alert('Выберите пожалуйста страну');
    } else {
        $('countrySelectForm').setProperty('action', '/country/' + $('countryId').value + '/')  
        $('countrySelectForm').submit();
    }
}

function addTips(ojects) {
    new Tips(ojects, {
       className: 'mooTips',
       maxTitleChars: 70
    });
}
