/* Wait till the pge is fully loaded */
jQuery(document).ready(function(){
    menuHelper.initialize();
    pageLoader.setfont();




    //Disable default text selection behavior
    toggleEnableSelectStart(false);

    //for inputs it must be possible to select text
    jQuery("input[type=text]").focusin(function () {
        toggleEnableSelectStart(true);
    });
    jQuery("input[type=text]").mouseover(function () {
        toggleEnableSelectStart(true);
    });
    jQuery("input[type=text]").focusout(function () {
        toggleEnableSelectStart(false);
    });
    jQuery("input[type=text]").mouseout(function () {
        toggleEnableSelectStart(false);
    });
    
    jQuery("div").focusin(function () {
        toggleEnableSelectStart(true);
    });
    jQuery("div").mouseover(function () {
        toggleEnableSelectStart(true);
    });
    jQuery("div").focusout(function () {
        toggleEnableSelectStart(false);
    });
    jQuery("div").mouseout(function () {
        toggleEnableSelectStart(false);
    });
    jQuery("span").focusin(function () {
        toggleEnableSelectStart(true);
    });
    jQuery("span").mouseover(function () {
        toggleEnableSelectStart(true);
    });
    jQuery("span").focusout(function () {
        toggleEnableSelectStart(false);
    });
    jQuery("span").mouseout(function () {
        toggleEnableSelectStart(false);
    });

});

function toggleEnableSelectStart(enable) {
    document.onmousedown = function (e) {
        return enable;
    };
    document.onselectstart = function (e) {
        return enable;
    }; ;
}



/* The object */
var pageLoader = new Object();

pageLoader = {
    lastPage: 'index/index',
    langID: '1',
    setfont:function(){
        
        Cufon.replace('h1');
        Cufon.replace('h2');
        Cufon.replace('h3');
        Cufon.replace('.menuItem ');
        Cufon.replace('.menuItemActive');

        var version = 999; // we assume a sane browser
        if (navigator.appVersion.indexOf("MSIE") != -1){
            version = parseFloat(navigator.appVersion.split("MSIE")[1]);
        }
        if (version < 7) {
            var redirectLocation = $('body').attr('rel');
            $('body').hide();
            window.location.href = redirectLocation + '/index/browser';
        }



        pageLoader.initialize();
    },


    initialize: function(){
        //$('#layoutContent').fadeIn('fast');

        pageLoader.linkFunction();
        pageLoader.buttonFunction();
        pageLoader.closeFunction();
        contactForm.initialize();
        newsLetter.initialize();
        imageStack.initialize();
        // Keep the scroll function as last function
        pageLoader.scrollFunction();

	 $('.languageID').click(pageLoader.changeLanguage);
        $('.scrollArrowDown').click(pageLoader.navigateScrollDown);
        $('.scrollArrowUp').click(pageLoader.navigateScrollUp);
    //$('.scrollArrowUp').hide();

    },

    changeLanguage: function(){
	 if(pageLoader.langID != $(this).attr('rel')){
        	pageLoader.langID = $(this).attr('rel');
	 	pageLoader.reloadMenu();
	}
	
    },

    reloadMenu: function(){

                   if($('#currentController').attr('controller') == 'index' && $('#currentController').attr('action') == 'page'){
                        
                    } else {
				pageLoader.lastPage = $('#currentController').attr('controller') + '/' + $('#currentController').attr('action');
			}

	$('#headerMenu').load($('body').attr('rel') + 'index/menu/lang/' + pageLoader.langID + '/arandval/'+ Math.random(), {
            'ajaxLoader': 'active'
        }, function() {

					pageLoader.loadPage($('body').attr('rel') +  pageLoader.lastPage);	

        //alert('Load was performed.');
        });

	

    },
    scrollFunction: function(){
        
        
        if($('.contentLeft').height() > $('.containerLeft').height()){
            $('#leftScroll').children().show();
            $('#leftScroll').show();
            
        } 
        if($('.contentRight').height() > $('.containerRight').height()){
            $('#closeWhiteContent').css('left','595px');
            $('#closeWhiteContent').css('width','103px');
            $('#closeWhiteContentImage').css('margin-left','76px');
            $('#rightScroll').children().show();
            $('#rightScroll').show();
        }

    },
    navigateScrollDown: function(){
        $('.scrollArrowDown').unbind('click');
        $('.scrollArrowUp').unbind('click');
        var contentClass = '';
        var containerClass = '';
        var scrollID = $(this).parent();
        if(scrollID.attr('id') == 'leftScroll'){
            contentClass = $('.contentLeft');
            containerClass = $('.containerLeft');
        }
        if(scrollID.attr('id') == 'rightScroll'){
            contentClass = $('.contentRight');
            containerClass = $('.containerRight');
        }

        var topSpace = contentClass.css('top').replace(/[^-\d\.]/g, '');
        if(topSpace == ''){
            topSpace = 0;
        }
        var moveTopPx = 0;
           
        if((parseFloat(contentClass.height()) + parseFloat(topSpace)) > parseFloat(containerClass.height())){
            if((parseFloat(contentClass.height()) + (parseFloat(topSpace) - 75)) > parseFloat(containerClass.height())){

            } else {
            //scrollID.children('.scrollArrowDown').hide();
            }// the callback
            moveTopPx = '-=' + 75;
            scrollID.children('.scrollArrowUp').show();
            contentClass.animate({
                top: moveTopPx
            }, {
                duration: '30', // how fast we are animating
                easing: 'easeOutQuad', // the type of easing
                complete: function() {
                             $('.scrollArrowDown').click(pageLoader.navigateScrollDown);
                    $('.scrollArrowUp').click(pageLoader.navigateScrollUp);
                }
            });
             
        } else {
                                         $('.scrollArrowDown').click(pageLoader.navigateScrollDown);
                    $('.scrollArrowUp').click(pageLoader.navigateScrollUp);
    //scrollID.children('.scrollArrowDown').hide();
    //$(this).hide();
    }
        
    },
    navigateScrollUp: function(){
        var contentClass = '';
        var containerClass = '';
        var scrollID = $(this).parent();
        $('.scrollArrowDown').unbind('click');
        $('.scrollArrowUp').unbind('click');

        if(scrollID.attr('id') == 'leftScroll'){
            contentClass = $('.contentLeft');
            containerClass = $('.containerLeft');
        }
        if(scrollID.attr('id') == 'rightScroll'){
            contentClass = $('.contentRight');
            containerClass = $('.containerRight');
        }
        var topSpace = contentClass.css('top').replace(/[^-\d\.]/g, '');
        var moveDownPx = (parseFloat(containerClass.height())-parseFloat(contentClass.height()));
        if(parseFloat(topSpace) < 0){
            if((parseFloat(topSpace) + 75) < 0){

            } else {
            //scrollID.children('.scrollArrowUp').hide();
            }// the callback
            if(parseFloat(topSpace) <= '-'+parseFloat(75)){
                moveDownPx = '+=' + parseFloat(75);
            //scrollID.children('.scrollArrowDown').show();
            }else{
                moveDownPx= '0';
            }
            contentClass.animate({
                top: moveDownPx
            }, {
                duration: '30', // how fast we are animating
                easing: 'easeOutQuad', // the type of easing
                complete: function() { // the callback
                    $('.scrollArrowDown').click(pageLoader.navigateScrollDown);
                    $('.scrollArrowUp').click(pageLoader.navigateScrollUp);
                }
            });
        } else {
                                         $('.scrollArrowDown').click(pageLoader.navigateScrollDown);
                    $('.scrollArrowUp').click(pageLoader.navigateScrollUp);
    //scrollID.children('.scrollArrowUp').hide();
    //$(this).hide();
    }
        
    },
    navigateLeft:function(linkPath){
        var leftSpace = $('#filmStrip').css('left').replace(/[^-\d\.]/g, '');
        //alert(imageCarousel.filmstripSize + ' + ' + leftSpace + ' = ' + (parseFloat(imageCarousel.filmstripSize) + parseFloat(leftSpace)) + ' = ' + parseFloat(animateDiff));
        var moveLeftPx = (parseFloat(imageCarousel.viewSize)-parseFloat(imageCarousel.filmstripSize));
        if(parseFloat(leftSpace) < 0){
            if(parseFloat(leftSpace) <= '-'+parseFloat(animateDiff)){
                moveLeftPx = '+=' + parseFloat(animateDiff);
            }else{
                moveLeftPx = '0';
            }
        }

        $('#filmStrip').animate({
            left: moveLeftPx
        }, {
            duration: '30', // how fast we are animating
            easing: 'easeOutQuad', // the type of easing
            complete: function() { // the callback


            }
        });

    },

    closeFunction: function(){
        $('#closeWhiteContentImage').click(function(){
            if(pageLoader.lastPage == ""){
                pageLoader.loadPage($('body').attr('rel') + 'index/index');
            } else {
                
                pageLoader.loadPage($('body').attr('rel') + pageLoader.lastPage);

                pageLoader.lastPage = "";
            }
        /*$('#ajaxLoader').fadeOut('fast');*/
        });
    },
    linkFunction: function(){
        
        if($('.ajaxButton').length != 0){
            $('.ajaxButton').each(function(){
                $(this).click(function(){
                    $(this).unbind();
                    pageLoader.lastPage = '';
                    if($('#currentController').attr('controller') == 'index' && $('#currentController').attr('action') == 'page'){
                        
                    } else {
				pageLoader.lastPage = $('#currentController').attr('controller') + '/' + $('#currentController').attr('action');
			}
                    pageLoader.loadPage($(this).attr('rel'));
                });
            });
        }
        if($('.ajaxIdButton').length != 0){
            $('.ajaxIdButton').each(function(){
                $(this).click(function(){
                    $(this).unbind();
                    if($('#currentController').attr('controller') == 'index' && $('#currentController').attr('action') == 'page'){
                        
                    } else {
				pageLoader.lastPage = $('#currentController').attr('controller') + '/' + $('#currentController').attr('action');
			}
                    pageLoader.loadPage($('body').attr('rel') + 'index/page/type/id/val1/' + $(this).attr('rel'));
		
                });
            });
        }
        if($('.ajaxHrefButton').length != 0){
    	    $('.ajaxHrefButton').each(function(){
    		$(this).click(function(){
    		    window.open($(this).attr('rel'),'ADS');
    		});    
    	    });
    	
        }

    },
    buttonFunction: function(){

        if($('button').length != 0){
            $('button').each(function(){
                $(this).click(function(){
                    $(this).unbind();
                    
                    pageLoader.pageSubmit($(this).closest("form"));
                });
            });
        }

    },
    loadPage:function(linkPath){
	$('.languageID').unbind('click');
        if($('#ajaxLoader').css('display') != 'none'){

            $('#ajaxLoader').hide("slide", {
                direction: "left"
            }, 100);
        }
        $('#ajaxLoader').load(linkPath + '/lang/' + pageLoader.langID + '/arandval/'+ Math.random(), {
            'ajaxLoader': 'active'
        }, function() {
            $('#ajaxLoader').show("slide", {
                direction: "right"
            }, 100);
            $('.ajaxButton').unbind();
            menuHelper.initialize();
            Cufon.refresh();
            pageLoader.initialize();
        //alert('Load was performed.');
        });
       
    },
  pageSubmit: function(submitForm){

        var params = {};
        if ($('input[type=checkbox]').length != 0){
            $('input[type=checkbox]').each(function(){

                if(this.checked){
                    $('input[type=checkbox]').val('1');
                } else {
			$('input[type=checkbox]').val('');
                }
            });
        }
        $(submitForm).find("input[type='checkbox'],input[type='text'], input[type='hidden'], input[type='password'], input[type='submit'], option[selected], textarea").filter(":enabled").each(function() {
          
            params[ this.name || this.id || this.parentNode.name || this.parentNode.id ] = this.value;
        });
        

        var stopForm = 0;
       
        if(stopForm == 0){
            params['ajaxLoader'] = 'active';
            $('#ajaxLoader').load(submitForm.attr("action") + '/brandval/'+ Math.random(), params, function(){
                if($('.errors').length != 0){
                    $('.errors').each(function(){
                        //alert($(this).parent().children(':first-child').get(0).tagName);
                        $(this).parent().children(':first-child').css('color','red');
                        $(this).remove();
                    //                    //$(this).html('');
                    });
                }

                $('.ajaxButton').unbind();
                menuHelper.initialize();
                Cufon.refresh();
                pageLoader.initialize();
            });
        }
    }
}
