/*
    Initialize Events
    ------------------------------------------------------------------------------------------------------*/
    $(document).ready(function(event){
        $('#interior').supersleight();
        
        $('#site_navigation input[name="words"]').bind('focus',{'type':'focus'},site_search).bind('blur',{'type':'blur'},site_search);
        $('#site_footer ol ul.gamma li a').bind('click',footer_tracking);
        
        $('a[rel="external"]').bind('click',external_link);
        $('a.video_layer').bind('click',video_layer);
    });
    




/*
    Extensions
    ------------------------------------------------------------------------------------------------------*/
    (function($){
    
        /* Supersleight
        -------------------------------------------*/
        $.fn.supersleight = function(settings){
            settings = $.extend({ imgs: true, backgrounds: true, shim: '/images/x.gif', apply_positioning: true }, settings);
            
            return this.each(function(){
                if($.browser.msie && parseInt($.browser.version,10) < 7 && parseInt($.browser.version,10) > 4){
                    $(this).find('*').andSelf().each(function(i,obj){
                        var self = $(obj);

                        if(settings.backgrounds && self.css('background-image').match(/\.png/i) !== null) {
                            var bg = self.css('background-image');
                            var src = bg.substring(5,bg.length-2);
                            var mode = (self.css('background-repeat') == 'no-repeat' ? 'crop' : 'scale');
                            var styles = {
                                'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='" + mode + "')",
                                'background-image': 'url('+settings.shim+')'
                            };
                            
                            self.css(styles);
                        };


                        if(settings.imgs && self.is('img[src$="png"]')){
                            var styles = {
                                'width': self.width() + 'px',
                                'height': self.height() + 'px',
                                'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + self.attr('src') + "', sizingMethod='scale')"
                            };
                            
                            self.css(styles).attr('src', settings.shim);
                        };


                        if(settings.apply_positioning && self.is('a, input') && (self.css('position') === '' || self.css('position') == 'static')){
                            self.css('position', 'relative');
                        };
                    });
                };
            });
        }
    
    
    
        /* Object Exists
        --------------------------------------------------------------------------------------------------*/
        $.fn.exists    = function(){ return ($(this).length > 0); }
    
    
        /* Has Attribute
        --------------------------------------------------------------------------------------------------*/
        $.fn.hasAttr   = 	function(attr){ return (($(this).attr(attr) !== undefined) && ($(this).attr(attr).length > 0)); }
    
    
        /* Set Class
        --------------------------------------------------------------------------------------------------*/
        $.fn.set_class = function(new_class){ return this.each(function(e){ $(this).attr('class',new_class); }); }
    
    
        /* Fade In
        --------------------------------------------------------------------------------------------------*/
    	$.fn.fade_in   = function(callback,speed){
            return this.each(function(event){  
                $(this).fadeIn(speed,function(event){
                    $.browser.msie     ? $(this).get(0).style.removeAttribute('filter') : '';
                    if(typeof(callback)    == "function"){ callback(); }
                });
    		});
    	}
    	
    	/* Fade Out
        --------------------------------------------------------------------------------------------------*/
    	$.fn.fade_out  = function(callback,speed){
            return this.each(function(event){
                $(this).fadeOut(speed,function(event){
                    $.browser.msie     ? $(this).get(0).style.removeAttribute('filter') : '';
                    if(typeof(callback)    == "function"){ callback(); }
                });
            });
    	}
    	
    	
    	
        /* Slide Right
        --------------------------------------------------------------------------------------------------*/
        $.fn.slideRight = function(callback){
            return this.each(function(event){ $(this).animate({width:'show'},function(event){ if(typeof(callback) == "function"){ callback(); } }); });
        }
        
        
        /* Slide Left
        --------------------------------------------------------------------------------------------------*/
        $.fn.slideLeft  = function(callback){
            return this.each(function(event){ $(this).animate({width:'hide'},function(event){ if(typeof(callback) == "function"){ callback(); } }); });
        }
        
        
        /* Slide Toggle
        --------------------------------------------------------------------------------------------------*/
        $.fn.slideToggleWidth = function(callback){
            return this.each(function(event){ var element = $(this); if(element.css('display') == 'none'){ element.slideRight(callback); } else { element.slideLeft(callback); } });
        }
        
        
    })($);

  
    
/*
    Video Layer
    ------------------------------------------------------------------------------------------------------*/
    function video_layer(event){
        if(!$('#video_layer').length){
            var $current_page   = location.href;
            
            var $video_url      = $(this).attr('href');
            var $video_title    = $(this).attr('title');
            var $video_layer    = '';
                        
            $video_layer       +=   '<div id="video_layer" class="transp">';
            $video_layer       +=       '<div><a href="#video_layer"></a><img id="current_video" src="/images/x.gif"/></div>';
            $video_layer       +=   '</div>';
            
            $('body').prepend($video_layer);
            $('#video_layer div a').bind('click',video_layer);
            
            swfobject.embedSWF('/media/video_player.swf'+$video_url,'current_video','300','225','8.0.0','/media/expressInstall.swf',{'tracker':'/'+$current_page+'/'+$video_title},{'wmode':'transparent','allowFullScreen':true},{'z-index':99999});
            
            $('#video_layer').show();
        } else {
            $('#video_layer').hide().remove();
        }
        
        return false;
    }


    
/*
    External Window
    ------------------------------------------------------------------------------------------------------*/
    function external_window(url,width,height,name){
        if(width && height){
            window.open(url,name,"toolbar=0,location=1,directories=0,status=1,menubar=1,scrollbars=1,resizable=1,width="+width+",height="+height);
        } else {
            window.open(url,name,"toolbar=0,location=1,directories=0,status=1,menubar=1,scrollbars=1,resizable=1,width=950,height=500");
        }
        
        return false;
    }



/*
    External Link
    ------------------------------------------------------------------------------------------------------*/
    function external_link(event){
        if($(this).attr('rev')){
            var $parameters     = $(this).attr('rev').split(',');

            external_window($(this).attr('href'),$parameters[0],$parameters[1]);
        } else {
            external_window($(this).attr('href'));
        }
        
        return false;
    }





/*
    Site Events
    ------------------------------------------------------------------------------------------------------*/
    
    
    /* Site Search
    ------------------------------------------------------------------------------------------------------*/
    function site_search(event){
        if(event.data.type     == 'focus'){
            $('#site_navigation input[name="words"]').val() == 'search' ? $('#site_navigation input[name="words"]').val('') : '';
        }
        
        if(event.data.type     == 'blur'){
            $('#site_navigation input[name="words"]').val() == 'search' ? '' : $('#site_navigation input[name="words"]').val('search');
        }
    }
    
    
    /* Footer Tracking
    ------------------------------------------------------------------------------------------------------*/
    function footer_tracking(event){
        pageTracker._trackPageview('/brochure/'+$(this).attr('rel'));
        external_window($(this).attr('href'));
        
        return false; 
    }
