var content_title = '';
var content_tabs = Class.create();
content_tabs.prototype=  {

    container: null,
    last: null,
    items: [],
    tabs_type: null,
    
    initialize: function(tabs_type) {

        this.tabs_type = tabs_type;
        
        if(this.tabs_type == 'horizontal') {
            this.container = $('product-subpages');
            this.update_element = 'product-content-wraper';
        } else if(this.tabs_type == 'vertical') {
            this.container = $('product-related-pages');
            this.update_element = 'product-main-content';
        }
        
        if(!this.container) return;
        this.initLinks();
        
        if(this.tabs_type == 'horizontal') {
            this.initContentLinks();
        }
        
    },

    initLinks: function() {
        this.items = $(this.container).select('li');
        
        var il = this.items.length;
        for(var i = 0; i < il; i++) {
            var current_item = this.items[i];
            if(current_item.hasClassName('active')) {
                this.last = current_item;
            }

            var current_a = $(current_item).select('a')[0];
            
            Event.observe(current_a,'mouseover',this.mouseoverListener.bind(this));
            Event.observe(current_a,'mouseout',this.mouseoutListener.bind(this));
            Event.observe(current_a,'click',this.clickListener.bind(this));
        }
    },
    
    initContentLinks: function() {
        var content_links = $('product-main-content').select('a');
        var il = content_links.length;
        for(var i = 0; i < il; i++) {
            var current_a = content_links[i];
            if(current_a.getAttribute('rel') && current_a.getAttribute('rel').indexOf('/ajax/') != -1) {
                Event.observe(current_a,'click',this.clickContentListener.bind(this));
            }
        }
    },    

    clickContentListener: function(e){

        if(window.event){
            window.event.returnValue = false;
        } else{
            e.preventDefault();
        }
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        
        var request_url = event_target.getAttribute('rel');
        var requested_page_type = 'tab-content-article';
        var is_content = true;
        var ajax_request = new Ajax.Updater('product-main-content', request_url,{asynchronous:true,onComplete:this.afterUpdate.bind(this, requested_page_type),evalScripts:true});
    },
    
    mouseoverListener: function(e){
        
        if(window.event){
            window.event.returnValue = false;
        } else{
            e.preventDefault();
        }
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        
        var parent_li = $(event_target).up('li');
        if(parent_li.hasClassName('active')) return;
        $(parent_li).addClassName('hover');
    },
    
    mouseoutListener: function(e){
        if(window.event){
            window.event.returnValue = false;
        } else{
            e.preventDefault();
        }
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        
        var parent_li = $(event_target).up('li');
        $(parent_li).removeClassName('hover');
        if(parent_li.hasClassName('active')) return;
        
    },
        
    clickListener: function(e){

        if(window.event){
            window.event.returnValue = false;
        } else{
            e.preventDefault();
        }
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        
        var parent_li = $(event_target).up('li');
        if(parent_li.hasClassName('active')) return;
        
        parent_li.addClassName('active');
        
        var request_url = event_target.getAttribute('rel');
        var requested_page_type = event_target.className;
        
        var ajax_request = new Ajax.Updater(this.update_element, request_url,{asynchronous:true,onComplete:this.afterUpdate.bind(this, requested_page_type),evalScripts:true});
        
        if(this.last != null) {
            $(this.last).removeClassName('active');
        }
        this.last = parent_li;
    },
    
    
    highlightItem: function() {
        
        var sidebar_nav = $('product-related-pages');
        if(!sidebar_nav) return;

        var sidebar_a = sidebar_nav.select('a');
        var il = sidebar_a.length;
        for(var i = 0; i < il; i++) {
            var current_item = sidebar_a[i];
            var current_node_id = current_item.getAttribute('id');

            if(current_node_id == content_id) {
                $(current_item).up('li').addClassName('active');
            } else {
                $(current_item).up('li').removeClassName('active');
            }
        }
    },
    
    
    afterUpdate: function(requested_page_type) {
        if(this.tabs_type == 'horizontal') {
            $('product-content').className = requested_page_type;
            
            if($('product-related-pages')) {
                var vertical_tabs = new content_tabs('vertical');
            }
        }
        
        if(content_title) {
            var o = this; 
            setTimeout(function(){ o.highlightItem()}, 100);
        }
        
        table_stripes();
        this.initContentLinks();
        
    }
    
}

var product_lead_position = {
    handle: function() {
        var product_heading = $('product-intro').select('h1 span')[0];
        if(!product_heading) {
            var heading_h1 = $('product-intro').select('h1')[0];
            var heading_span = document.createElement('span');
                heading_span.appendChild(heading_h1.firstChild);
                heading_h1.appendChild(heading_span);
                product_heading = heading_span;
        }
        product_heading.style.paddingTop = Math.ceil((155 - product_heading.offsetHeight) / 2) + 'px';

        var product_lead = $('product-lead').select('p')[0];
        if(product_lead) {
            product_lead.style.paddingTop = Math.ceil((155 - product_lead.offsetHeight) / 2) + 'px';
        }

    }
}

var business_configurator = {
    items: [],
    handle: function() {
        
        this.items = $("business-packages").select('input[type=radio]');
        var il = this.items.length;
        for(var i = 0; i < il; i++) {
            var current_item = this.items[i];
            Event.observe(current_item,'click',this.clickListener.bind(this));
        }
    },
    
    clickListener: function(e){
        
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        
        this.toggle(event_target);
    },
    
    toggle: function(event_target) {
        var parent_container = $(event_target).up('.package');
        var value_container = $(parent_container).select('.package-price strong')[0];
        var related_var = event_target.getAttribute('id').replace(/-/gi, '_') + '_price';
        
        value_container.innerHTML = '';
        
        var span_el = document.createElement('span');
        var km = document.createTextNode('KM');
            span_el.appendChild(km);
            value_container.appendChild(document.createTextNode(bussiness_package_price[related_var]));
            value_container.appendChild(document.createTextNode(' '));
            value_container.appendChild(span_el);
    }
    
}