var is_opera =  navigator.userAgent.indexOf('Opera') > -1;
var is_safari = navigator.userAgent.indexOf('AppleWebKit/') > -1;
var ie6 = false;
var ie7 = false;
var ie8 = false;


var default_field_text = {
    form_elements: [{element_id:'search-term', element_value:'UpiÅ¡i pojam'}, {element_id:'newsletter-email',element_value:'UpiÅ¡ite e-mail za prijavu'}, {element_id:'media-contact-name', element_value:'UpiÅ¡ite VaÅ¡e ime'}, {element_id:'media-contact-email', element_value:'UpiÅ¡ite VaÅ¡ e-mail'}, {element_id:'media-contact-message', element_value:'UpiÅ¡ite poruku'}],
    setup: function() {
        var il = this.form_elements.length;
        for(var i = 0; i < il; i++) {
            var current_element = $(this.form_elements[i]['element_id']);
            if(current_element) {
                Event.observe(current_element, 'focus',this.focusListener.bind(this));
                Event.observe(current_element, 'blur',this.blurListener.bind(this));
            }
        }
    },
    
    focusListener: function(e){
        
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        if(event_target.value != '') {
            var target_id = event_target.getAttribute('id');
            var default_value = this.getFieldValue(target_id);
            if(event_target.value == default_value) {
                event_target.value = '';
            }
        }
    },
    
    blurListener: function(e){
        
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        if(event_target.value == '') {
            var target_id = event_target.getAttribute('id');
            var default_value = this.getFieldValue(target_id);
            event_target.value = default_value;
        }
    },
    
    getFieldValue: function(target_id) {
        var result = null;

        var il = this.form_elements.length;
        for(var i = 0; i < il; i++) {
            var current_element = this.form_elements[i]['element_id'];
            if(current_element == target_id) {
                result = this.form_elements[i]['element_value']
            }
        }
        return result;
        
    }
}

var color_code_range = {

    handle: function(rating_type) {
        
        if(rating_type == 'reviews-featured') {
             var current_items = $('main-content').select('.reviews-featured .rating');
        } else if(rating_type == 'review-rating') {
             var current_items = $('rating-container').select('.total');
        } else if(rating_type == 'readers-reviews') {
             var current_items = $('readers-reviews').select('.total');
        }
        

        var jl = current_items.length;
        for(var j = 0; j < jl; j++) {
            current_rating = current_items[j].cloneNode(true);
            $(current_rating).select('span')[0].remove();
            var current_value = parseInt(current_rating.firstChild.nodeValue);

            if(current_value < 20) {
                $(current_items[j]).addClassName('rating-0-20');
            } else if(current_value >= 20 && current_value < 40) {
                $(current_items[j]).addClassName('rating-20-40');
            } else if(current_value >= 40 && current_value < 60) {
                $(current_items[j]).addClassName('rating-40-60');
            } else if(current_value >= 60 && current_value < 80) {
                $(current_items[j]).addClassName('rating-60-80');
            } else if(current_value >= 80 && current_value <= 100) {
                $(current_items[j]).addClassName('rating-80-100');
            }
        }
            
    }
}

var navigation_handler = {
    container: null,
    last: null,
    items: [],
    last_depth: 0,
    show_smooth_expanding: true,
    
    handle: function() {
        this.container = $('navigation');
        if(!this.container) return;
        this.items = $(this.container).select('a');
        var il = this.items.length;
        for(var i = 0; i < il; i++) {
            var current_item = this.items[i];
                Event.observe(current_item,'mouseover',this.mouseoverListener.bind(this));
        }
        
        var bd = document.getElementsByTagName('body')[0];
        Event.observe(bd,'mouseover',this.bodyListener.bind(this));
        
    },
    
    bodyListener: function(e) {
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        
        var obj = event_target;
        while(obj != this.container){
            obj = obj.parentNode;
            if(obj.nodeName.toLowerCase()=='html'){
                this.hideAll();
                obj = null;
                break;
            }
        }
    },
    
    hideAll: function() {
        var all_expanded_lis = $(this.container).select('.expanded');
        var il = all_expanded_lis.length;
        for(var i = 0; i < il; i++) {
            $(all_expanded_lis[i]).removeClassName('expanded');
        }
        this.cleanFirstLevel();
    },
    
    cleanFirstLevel: function() {
        var first_level_li = $(this.container).select('.first-childhomepage-expanded','.homepage-expanded','.user-expanded','.encyclopedia-expanded', '.reviews-expanded', '.auctions-expanded', '.comics-expanded', '.forum-expanded');
        var il = first_level_li.length;
        for(var i = 0; i < il; i++) {
           
			//debugger;
			$(first_level_li[i]).removeClassName('first-childhomepage-expanded');
			$(first_level_li[i]).removeClassName('homepage-expanded');
			$(first_level_li[i]).removeClassName('encyclopedia-expanded');
            $(first_level_li[i]).removeClassName('reviews-expanded');
            $(first_level_li[i]).removeClassName('auctions-expanded');
            $(first_level_li[i]).removeClassName('comics-expanded');
            $(first_level_li[i]).removeClassName('forum-expanded');
			$(first_level_li[i]).removeClassName('user-expanded');
        }
		        
    },
    
    mouseoverListener: function(e){
        Event.stop(e);
 
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        
        if(event_target.nodeName.toLowerCase() == 'a' && event_target.parentNode.className.indexOf('-expanded') != -1) {
            return;
        }
        
        var all_expanded_lis = $(this.container).select('.expanded');

        var obj = event_target;
        var depth = 0;
        while(obj != this.container){
            obj = obj.parentNode;
            if(obj.nodeName.toLowerCase() == 'li') {
                
                depth++;
                
                if(!$(obj).hasClassName('expanded')) {
                    var related_subnav = $(obj).select('ul')[0];
                    
                    if(related_subnav) {
                        if(this.show_smooth_expanding) {
                            $(related_subnav).setStyle({'opacity': '0.01'})
                            Effect.Appear(related_subnav, {duration: 0.8, from: 0.5, to: 0.9999});
                        }
                        $(obj).addClassName('expanded');
                        
                        var obj_class = obj.className;
                        //var is_first_level = obj_class.indexOf('homepage') != -1 || obj_class.indexOf('encyclopedia') != -1 || obj_class.indexOf('reviews') != -1 || obj_class.indexOf('auctions') != -1 || obj_class.indexOf('comics') != -1 || obj_class.indexOf('forum') != -1;
						var is_first_level = obj_class.indexOf('homepage') != -1 || obj_class.indexOf('user') != -1|| obj_class.indexOf('encyclopedia') != -1 || obj_class.indexOf('reviews') != -1 || obj_class.indexOf('auctions') != -1 || obj_class.indexOf('comics') != -1 || obj_class.indexOf('forum') != -1;
			
                        if(is_first_level) {
                            this.cleanFirstLevel();
                            var node_type = obj_class.replace('first-child', '');
                                node_type = obj_class.replace('expanded', '');
                                node_type = node_type.replace('last-child', '');
                                node_type = node_type.replace('active', '');
                                node_type = node_type.replace('selected', '');
                                node_type = node_type.replace(/ /gi,'')
                            $(obj).addClassName(node_type + '-expanded');
                        }
                        
                    }
                }
            }
            
			/*if(obj.nodeName.toLowerCase()=='iframe'){
				aler(obj.length);
				if (ie6) {
					var parent_ul_height =  $(obj).up('ul');	
					if (obj.length > 0) {
						obj.style.height = parent_ul_height.getHeight() + 'px';
						obj.style.width = parent_ul_height.getHeight()+ 'px';
					//iframe.height(0).width(0);
					}
				}
			}*/
			
            if(obj.nodeName.toLowerCase()=='html'){
                obj = null;
                break;
            }
        }     
        
        if((ie6 || ie7) && depth == 2 && related_subnav) {
            var parent_ul_height = $(related_subnav).up('ul');
            parent_ul_height.style.height = 'auto';
            parent_ul_height.style.height = related_subnav.offsetHeight + parent_ul_height.offsetHeight + 'px';
        }
		
		/*if(ie6 && related_subnav) {
			var parent_ul_height = $(related_subnav).up('ul');
			var iframe = parent_ul_height.select('iframe');
			//alert (iframe.length);
			if (iframe.length > 0) {
				iframe.height = parent_ul_height.getHeight();
				iframe.width = parent_ul_height.getWidth();
				//alert(iframe.height + " " + iframe.width);
			//iframe.height(0).width(0);
			} 
		} */
		
        if(all_expanded_lis[depth-1]) {
            $(all_expanded_lis[depth-1]).removeClassName('expanded');
        }

        this.last_depth = depth;
        
    }
}


var search_filter =  {
    container: null,
    items: [],
    
    handle: function(url_param) {
        this.container = $('filter');
        if(!this.container) return;
        
        var ul = document.createElement('ul');
        this.items = $(this.container).select('option');
        var il = this.items.length;
        var default_selection = null;

        var form_action = $(this.container).select('form')[0].getAttribute('action');
        

        for(var i = 0; i < il; i++) {
            var current_item = this.items[i];
            var current_li = document.createElement('li')
            var current_a = document.createElement('a')
                current_a.setAttribute('href', form_action + (form_action == '/' ? '?' : '&amp;') + url_param + '=' + current_item.getAttribute('value'));        
            var current_a_txt = document.createTextNode(current_item.firstChild.nodeValue);

                if(current_item.selected) {
                    var default_selection = current_item.firstChild ? current_item.firstChild.nodeValue : '';
                    $(current_li).addClassName('active');
                }
            
                current_a.appendChild(current_a_txt);
                current_li.appendChild(current_a);
                ul.appendChild(current_li);
                
                Event.observe(current_a, 'click', this.changeListener.bind(this));
        }
        
        $(this.container).select('form')[0].remove();
        $(this.container).appendChild(ul);

        var selection_p = document.createElement('p');
            selection_p.className += 'selection';
        var selection_p_txt = document.createTextNode(default_selection || 'Odabir');
            selection_p.appendChild(selection_p_txt);
            
        var toggle_p = document.createElement('p');
            toggle_p.className += 'toggle';
        
        var toggle_a = document.createElement('a');
            toggle_a.setAttribute('href', '#');
        var toggle_img = document.createElement('img');
            toggle_img.setAttribute('src', '/images/layout/arrow-expand.png');
            toggle_img.setAttribute('alt', 'otvori / zatvori');
            toggle_a.appendChild(toggle_img);
            toggle_p.appendChild(toggle_a);
            Event.observe(toggle_a, 'click', this.clickListener.bind(this));
            
            $(this.container).addClassName('collapsed');
            $(ul).insert({before:selection_p});
            $(ul).insert({before:toggle_p});

            var bd = document.getElementsByTagName('body')[0];
            Event.observe(bd,'click',this.bodyListener.bind(this));
    },
    
    bodyListener: function(e) {
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }

        var obj = event_target;
        while(obj != this.container){
            obj = obj.parentNode;
            if(obj.nodeName.toLowerCase()=='html'){
                if(!$(this.container).hasClassName('collapsed')) {
                    this.toggle();
                }
                obj = null;
                break;
            }
        }
    },

    clickListener: function(e){
        Event.stop(e);
        this.toggle();
    },
    
    toggle: function() {
        $(this.container).toggleClassName('collapsed');
        var ul = $(this.container).select('ul')[0];
        
        $(ul).setStyle({'opacity': '0.01'})
        Effect.Appear(ul, {duration: 0.8, from: 0.5, to: 0.9999});
        
        var toggle_img = $(this.container).select('.toggle img')[0];
        var current_src = toggle_img.getAttribute('src');
        if(current_src.indexOf('expand') != -1) {
            var new_src = current_src.replace('expand', 'collapse');
        } else {
            var new_src = current_src.replace('collapse', 'expand');
        }
        toggle_img.setAttribute('src', new_src);
    },
    
    changeListener: function(e){
        Event.stop(e);
        var event_target = window.event ? window.event.srcElement : e.target;
        this.makeSelection(event_target);
    },
    
    makeSelection: function(event_target) {
        var current_label = event_target.firstChild.nodeValue;
        $(this.container).select('.selection')[0].firstChild.nodeValue = current_label;
        this.toggle();
        document.location = event_target.getAttribute('href').replace('&amp;', '&');
    }
    
}


var pagination =  {
    container: null,
    items: [],
    
    handle: function() {
        this.container = $('pagination');
        if(!this.container) return;
        
        var ul = document.createElement('ul');
        this.items = $(this.container).select('option');
        var il = this.items.length;
        var default_selection = null;
        
        var form_action = $(this.container).select('form')[0].getAttribute('action');
        
        for(var i = 0; i < il; i++) {
            var current_item = this.items[i];
            var current_li = document.createElement('li')
            var current_a = document.createElement('a')
                current_a.setAttribute('href', form_action + (form_action == '/' ? '?' : '&amp;') +'page-no=' + current_item.getAttribute('value'));
            var current_a_txt = document.createTextNode(current_item.firstChild.nodeValue);

            if(current_item.selected) {
                var default_selection = current_item.firstChild ? current_item.firstChild.nodeValue : '';
                $(current_li).addClassName('active');
            }
                            
            current_a.appendChild(current_a_txt);
            current_li.appendChild(current_a);
            ul.appendChild(current_li);
            
            Event.observe(current_a, 'click', this.changeListener.bind(this));
        }
        
       $(this.container).select('form')[0].remove();
        $(this.container).appendChild(ul);

        var selection_p = document.createElement('p');
            selection_p.className += 'selection';
        var selection_p_txt = document.createTextNode(default_selection || 'Odabir');
            selection_p.appendChild(selection_p_txt);
            
        var toggle_p = document.createElement('p');
            toggle_p.className += 'toggle';
        
        var toggle_a = document.createElement('a');
            toggle_a.setAttribute('href', '#');
        var toggle_img = document.createElement('img');
            toggle_img.setAttribute('src', '/images/layout/arrow-expand.png');
            toggle_img.setAttribute('alt', 'otvori / zatvori');
            toggle_a.appendChild(toggle_img);
            toggle_p.appendChild(toggle_a);
            Event.observe(toggle_a, 'click', this.clickListener.bind(this));
            
            $(this.container).addClassName('collapsed');
            $(ul).insert({before:selection_p});
            $(ul).insert({before:toggle_p});

       var prev_p = document.createElement('p');
            prev_p.className += 'prev';
        var prev_a_txt = document.createTextNode('< Prethodna');
        var prev_a = document.createElement('a');
            prev_a.setAttribute('href', '#');
            prev_a.appendChild(prev_a_txt);
            prev_p.appendChild(prev_a);

        var next_p = document.createElement('p');
            next_p.className += 'next';
        var next_a_txt = document.createTextNode('Sljedeæa >');
        var next_a = document.createElement('a');
            next_a.setAttribute('href', '#');
            next_a.appendChild(next_a_txt);
            next_p.appendChild(next_a);       
           
           //$(this.container).insert({top:next_p});
           //$(this.container).insert({top:prev_p});
                        
            var bd = document.getElementsByTagName('body')[0];
            Event.observe(bd,'click',this.bodyListener.bind(this));
    },
    
    bodyListener: function(e) {
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }

        var obj = event_target;
        while(obj != this.container){
            obj = obj.parentNode;
            if(obj.nodeName.toLowerCase()=='html'){
                if(!$(this.container).hasClassName('collapsed')) {
                    this.toggle();
                }
                obj = null;
                break;
            }
        }
    },
    
    clickListener: function(e){
        Event.stop(e);
        this.toggle();
    },
    
    toggle: function() {
        $(this.container).toggleClassName('collapsed');
        var ul = $(this.container).select('ul')[0];
        
        var offset_x = $(this.container).select('.selection')[0].offsetLeft;
        
        $(ul).setStyle({'opacity': '0.01'})
        ul.style.left = offset_x + 'px';
        Effect.Appear(ul, {duration: 0.8, from: 0.5, to: 0.9999});
        
        
        var toggle_img = $(this.container).select('.toggle img')[0];
        var current_src = toggle_img.getAttribute('src');
        if(current_src.indexOf('expand') != -1) {
            var new_src = current_src.replace('expand', 'collapse');
        } else {
            var new_src = current_src.replace('collapse', 'expand');
        }
        toggle_img.setAttribute('src', new_src);
    },

    changeListener: function(e){

        Event.stop(e);
        var event_target = window.event ? window.event.srcElement : e.target;
        this.makeSelection(event_target);
        
    },
    
    makeSelection: function(event_target) {
        var current_label = event_target.firstChild.nodeValue;
        $(this.container).select('.selection')[0].firstChild.nodeValue = current_label;
        this.toggle();
        document.location = event_target.getAttribute('href').replace('&amp;', '&');
    }
    
}

var poll_results = {
    container: null, 
    items: [],
    track_width: 600,
    
    handle: function() {
        this.container = $('poll-results');
        if(!this.container) return;
        
        this.items = $(this.container).select('strong');
        var il = this.items.length;
        for(var i = 0; i < il; i++) {
            var current_item = this.items[i];
            var current_value = parseInt(current_item.firstChild.nodeValue);
            var position = Math.round(((100-current_value)/100) * this.track_width);
            var track = $(current_item).up('span');
                track.style.backgroundPosition = -position + 'px 0';
                
            if(current_value < 7) {
                $(track).addClassName('value-' + current_value);
            }
        }
        
    }
}

var poll_results2 = {
    container: null, 
    items: [],
    track_width: 180,

    handle: function() {
        this.container = $('poll-results2');
        if(!this.container) return;
        
        this.items = $(this.container).select('strong');
        var il = this.items.length;
        for(var i = 0; i < il; i++) {
            var current_item = this.items[i];
            var current_value = parseInt(current_item.firstChild.nodeValue);
            var position = Math.round(((100-current_value)/100) * this.track_width)+420;
            var track = $(current_item).up('span');
                track.style.backgroundPosition = -position + 'px 0';
                
            if (current_value <= 5) {
                $(track).addClassName('value-5');
            } else if (current_value >5 && current_value<= 10) {
                $(track).addClassName('value-10');
            } else if (current_value >10 && current_value<= 15) {
                $(track).addClassName('value-15');
            } else if (current_value >15 && current_value<= 20) {
                $(track).addClassName('value-20');
            }
			
			if(current_value < 20) {
				width=5+ current_value;
				// $(current_item).setAttribute('style', 'margin-left:' + width +'px;');
            }
        }
        
    }
}


   
var row_link = {
    container: null,

    handle: function(container_id) {
        this.container = $(container_id);
        if(!this.container) return;
        
        var trs = $(this.container).select('tbody tr');
        var il = trs.length;
        for(var i = 0; i < il; i++) {
            var current_row = trs[i];
                Event.observe(current_row,'click',this.clickListener.bind(this));
        }

    },
    
    clickListener: function(e){
        var event_target = window.event ? window.event.srcElement : e.target;
        
        if(event_target.nodeName.toLowerCase() != 'a') {
            
            if(event_target.nodeName.toLowerCase()=='img') {
                event_target = event_target.parentNode;
            }
            
            this.toggle(event_target);
        }
        
    },
    
    toggle: function(event_target) {
        var parent_tr = $(event_target).up('tr');
        if(!parent_tr) return;
        
        var related_a = $(parent_tr).select('a')[0];
        if(related_a) {
            window.location = related_a.getAttribute('href');
        }
    }
    
}

var dl_link = {
    container: null,

    handle: function() {
        this.container = $('top-content-container');
        if(!this.container) return;
        
        $(this.container).addClassName('hit-area');
        
        var lis = $(this.container).select('li');

        var il = lis.length;
        for(var i = 0; i < il; i++) {
            var current_li = lis[i];
                Event.observe(current_li,'click',this.clickListener.bind(this));
        }

    },
    
    clickListener: function(e){
        var event_target = window.event ? window.event.srcElement : e.target;
        
        if(event_target.nodeName.toLowerCase() !='a') {
            
            if(event_target.nodeName.toLowerCase()=='img') {
                event_target = event_target.parentNode;
            }
            
            this.toggle(event_target);
        }
        
    },
    
    toggle: function(event_target) {
        var parent_li = $(event_target).up('li');
        if(!parent_li) return;
        
        var related_a = $(parent_li).select('a')[0];
        if(related_a) {
            window.location = related_a.getAttribute('href');
        }
    }
    
}







var toggler = Class.create();
toggler.prototype=  {
    container: null,
    items: [],
    last: null,
    
    initialize: function(container_id) {


        this.container = $(container_id);
        if(!this.container) return;
        
        $(this.container).addClassName('loaded')
        
        this.items = $(this.container).select('.section');
        var il = this.items.length;
        
        for(var i = 0; i <il; i++) {
            var current_section = this.items[i];
            var section_heading = $(current_section).select('h3')[0];
            var heading_text = section_heading.firstChild.nodeValue;
            
            var heading_a = document.createElement('a')
                heading_a.setAttribute('href', '#');
                heading_a.appendChild(document.createTextNode(heading_text));
                
                section_heading.firstChild.nodeValue = '';
                section_heading.appendChild(heading_a);
                Event.observe(heading_a, 'click', this.clickListener.bindAsEventListener(this), false);
            
            if($(current_section).hasClassName('active')) {
                this.last = current_section;
            }
            
         }
   },
   

   clickListener: function(e) {

        Event.stop(e);

        var event = window.event ? window.event : e;
        var eventTarget = event.srcElement ? event.srcElement :  event.target;
        if(eventTarget.nodeName.toLowerCase() == 'img') {
            eventTarget = eventTarget.parentNode;
        }
        
        this.toggle(eventTarget);
   },
   
   toggle:function(eventTarget) {
    
        var related_section = $(eventTarget).up('.section');
        var related_ul = $(related_section).select('ul')[0];
        
        if($(related_section).hasClassName('active')) {
            Effect.BlindUp(related_ul, { duration: 0.5 });
            setTimeout(function(){ $(related_section).removeClassName('active')}, 500);
        } else {
            $(related_section).addClassName('active');
            related_ul.style.display = 'none';
            Effect.BlindDown(related_ul, { duration: 0.5 });
        }
        
        if(this.last != null && this.last != related_section) {
            var o = this;
            var last_ul = $(this.last).select('ul')[0];
            Effect.BlindUp(last_ul, { duration: 0.5 });
            setTimeout(function(){ $(last_ul).up('.section').removeClassName('active')}, 500);            
        }
        
        this.last = related_section;
   }
}


var default_field_text = {
    form_elements: [{element_id:'Title', element_value:'Pretražite aukcije'},{element_id:'UserTitle', element_value:'Pretražite korisnike'},{element_id:'search-term', element_value:'Pretražite www.stripovi.com'}, {element_id:'login-username',element_value:'Korisnièko ime'}, {element_id:'login-password', element_value:'Lozinka'}],
    setup: function() {
        var il = this.form_elements.length;
        for(var i = 0; i < il; i++) {
            var current_element = $(this.form_elements[i]['element_id']);
            if(current_element) {
                Event.observe(current_element, 'focus',this.focusListener.bind(this));
                Event.observe(current_element, 'blur',this.blurListener.bind(this));
            }
        }
    },
    
    focusListener: function(e){
        
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        if(event_target.value != '') {
            var target_id = event_target.getAttribute('id');
            var default_value = this.getFieldValue(target_id);
            if(event_target.value == default_value) {
                event_target.value = '';
            }
        }
    },
    
    blurListener: function(e){
        
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }
        if(event_target.value == '') {
            var target_id = event_target.getAttribute('id');
            var default_value = this.getFieldValue(target_id);
            event_target.value = default_value;
        }
    },
    
    getFieldValue: function(target_id) {
        var result = null;

        var il = this.form_elements.length;
        for(var i = 0; i < il; i++) {
            var current_element = this.form_elements[i]['element_id'];
            if(current_element == target_id) {
                result = this.form_elements[i]['element_value']
            }
        }
        return result;
        
    }
    
}


var dhtml_select = Class.create();
dhtml_select.prototype=  {

    container: null,
    items: [],
    original_select: null,
    
    initialize: function(original_select, select_index) {
        
        if(!original_select) return;
        this.original_select = original_select;
        
        this.container = document.createElement('div');
        $(this.container).addClassName('select-container');
        $(this.container).setAttribute('id', 'select-' + original_select.getAttribute('id'));
        $(this.container).style.zIndex = select_index;
        
        var ul = document.createElement('ul');
        this.items = $(this.original_select).select('option');
        var il = this.items.length;
        var default_selection = null;
        
        for(var i = 0; i < il; i++) {
            var current_item = this.items[i];
            var current_li = document.createElement('li')
            var current_a = document.createElement('a')
                current_a.setAttribute('href', '#');
            var current_a_txt = document.createTextNode(current_item.firstChild ? current_item.firstChild.nodeValue : '');

            if(!current_item.firstChild) {
                $(current_a).addClassName('empty');
            }

            if(current_item.selected) {
                var default_selection = current_item.firstChild ? current_item.firstChild.nodeValue : '';
                $(current_li).addClassName('active');
            }
                            
            current_a.appendChild(current_a_txt);
            current_li.appendChild(current_a);
            ul.appendChild(current_li);
            
            Event.observe(current_a, 'click', this.changeListener.bind(this));
        }
        
        //$(this.container).select('form')[0].remove();
        $(this.container).appendChild(ul);

        var selection_p = document.createElement('p');
            selection_p.className += 'selection';
        var selection_p_txt = document.createTextNode(default_selection || 'Odabir');
            selection_p.appendChild(selection_p_txt);
            
        var toggle_p = document.createElement('p');
            toggle_p.className += 'toggle';
        
        var toggle_a = document.createElement('a');
            toggle_a.setAttribute('href', '#');
        var toggle_img = document.createElement('img');
            toggle_img.setAttribute('src', '/images/layout/arrow-expand.png');
            toggle_img.setAttribute('alt', 'otvori / zatvori');
            toggle_a.appendChild(toggle_img);
            toggle_p.appendChild(toggle_a);
            Event.observe(toggle_a, 'click', this.clickListener.bind(this));
            
            $(this.container).addClassName('collapsed');
            $(ul).insert({before:selection_p});
            $(ul).insert({before:toggle_p});
            
            $(this.original_select).insert({after:this.container});

            var bd = document.getElementsByTagName('body')[0];
            Event.observe(bd,'click',this.bodyListener.bind(this));
    },
    
    bodyListener: function(e) {
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase()=='img') {
            event_target = event_target.parentNode;
        }

        var obj = event_target;
        while(obj != this.container){
            obj = obj.parentNode;
            if(obj.nodeName.toLowerCase()=='html'){
                if(!$(this.container).hasClassName('collapsed')) {
                    this.toggle();
                }
                obj = null;
                break;
            }
        }
    },
    
    clickListener: function(e){

        Event.stop(e);
        this.toggle();
    },
    
    toggle: function() {
        $(this.container).toggleClassName('collapsed');
        var ul = $(this.container).select('ul')[0];
        
        $(ul).setStyle({'opacity': '0.01'})

        Effect.Appear(ul, {duration: 0.8, from: 0.5, to: 0.9999});
        
        var toggle_img = $(this.container).select('.toggle img')[0];
        var current_src = toggle_img.getAttribute('src');
        if(current_src.indexOf('expand') != -1) {
            var new_src = current_src.replace('expand', 'collapse');
        } else {
            var new_src = current_src.replace('collapse', 'expand');
        }
        toggle_img.setAttribute('src', new_src);
    },

    changeListener: function(e){
        Event.stop(e);

        var event_target = window.event ? window.event.srcElement : e.target;

        this.makeSelection(event_target);
    },
    
    makeSelection: function(event_target) {
        var current_label = event_target.firstChild.nodeValue;
        //$(this.container).select('.selection')[0].firstChild.nodeValue = current_label;
        $(this.container).select('.selection')[0].innerHTML = current_label;
        
        var active_li = $(this.container).select('.active')[0];

        if(active_li) {
            $(this.container).select('.active')[0].removeClassName('active');
        }
        
        var parent_li = $(event_target).up('li');
        $(parent_li).addClassName('active');

        var element_index = this.getIndex(parent_li);
        if(element_index != null) {
            $(this.items)[element_index].selected = 'selected';
        }
        
        this.toggle();
    },
    
    getIndex: function(parent_li) {
        
        var index_no = null;
        var all_lis = $(this.container).select('li');
        
        var il = all_lis.length;
        for(var i = 0; i < il; i++) {
            if(all_lis[i] == parent_li) {
                index_no = i;
                break;
            }
        }
        return index_no;
    }
    
}


var dhtml_select_init = {
    container: null,
    items: null,
    
    setup: function(container_id) {
        this.container = $(container_id);
        if(!this.container) return;
        
        if(typeof dhtml_select != 'function') return;
        
        this.items = $(this.container).select('select');
        var il = this.items.length;
        
        for(var i = 0; i < il; i++) {
            var current_item = this.items[i];
            new dhtml_select(current_item, il-i+1);
        }
        
        $(this.container).addClassName('select-loaded');
    }
}


var tooltip = {
    container: null,
    items: [],
    last: null,
    delay: 1500,
    si: null,
    
    setup: function(container_id) {
        this.container = $(container_id);
        if(!this.container) return;
        
        if(container_id == 'serp-list') {
            this.items = $(this.container).select('.type-reviews', '.type-news');
        }
        
        var il = this.items.length;
        for(var i = 0; i < il; i++) {
            var current_a = this.items[i];
            Event.observe(current_a, 'mouseover', this.mouseoverListener.bind(this));
        }
        
    },
    
    mouseoverListener: function(e) {
        Event.stop(e);
        
        var event_target = window.event ? window.event.srcElement : e.target;
        if(event_target.nodeName.toLowerCase() != 'a') {
            event_target = $(event_target).up('a');
        }

        if(event_target.nodeName.toLowerCase() == 'a') {
            clearTimeout(this.si);
            this.show(event_target);
        }
               
    },
    
    show: function(event_target) {
            
        var tooltip = document.createElement('span');
        $(tooltip).addClassName('tooltip');
        var tooltip_text = '';
        
        if($(event_target).hasClassName('type-reviews')) {
            tooltip_text =  'Recenzija';
        } else if($(event_target).hasClassName('type-news')) {
            tooltip_text = 'Novost';
        }
        
        tooltip.appendChild(document.createTextNode(tooltip_text));
        event_target.appendChild(tooltip);
        var o = this;
        this.si = setTimeout(function() { o.cleanUp(); }, this.delay);
        
        this.cleanUp(tooltip);
        this.last = tooltip;
    },
    
    cleanUp: function(current_tooltip) {
        if(this.last && this.last != current_tooltip) {
            $(this.last).remove();
            this.last = null;
        }        
    }
    
    
}



var handle_min_height = Class.create();
handle_min_height.prototype=  {

    container: null,
    items: null,
    original_select: null,
    
    initialize: function(element_type, container) {
        this.items = [];
        
        if(element_type == 'reviews-featured') {
            this.items = $(container).select('.reviews-featured');
        }

        if(element_type == 'encyclopedia') {
            this.items = $(container).select('.related-content > div');
        }

        if(element_type == 'user-data') {
            var desc = $(container).immediateDescendants();
            var jl = desc.length;
            for(var j = 0; j < jl; j++) {
                var current_element = desc[j];
                if(current_element.nodeName.toLowerCase() == 'div') {
                    this.items.push(current_element);
                }
                
            }
        }
          
        var il = Math.floor(this.items.length / 2);
        
        if(il == 0) return;
        for(var i = 0; i < il * 2; i+=2) {
            var left_item = this.items[i];
            var lh = $(left_item).getHeight();
            
            var right_item = this.items[i+1];
            var rh = $(right_item).getHeight();
            
            var max_height = lh > rh ? lh : rh;
            var element_padding = parseInt($(this.items[0]).getStyle('paddingTop')) + parseInt($(this.items[0]).getStyle('paddingBottom'));
                max_height -= element_padding
           
            left_item.style.height = max_height + 'px';
            left_item.style.minHeight = max_height + 'px';
            
            right_item.style.height = max_height + 'px';
            right_item.style.minHeight = max_height + 'px';
            
            if(element_type == 'encyclopedia') {
                
                var inner_diff = 29;
                var left_inner = $(left_item).select('div')[0];
                var right_inner = $(right_item).select('div')[0]; 
                
                left_inner.style.height = max_height - inner_diff + 'px';
                left_inner.style.minHeight = max_height - inner_diff + 'px';
                    
                right_inner.style.height = max_height - inner_diff + 'px';
                right_inner.style.minHeight = max_height - inner_diff + 'px';
            }
        }
        

        
        
    }
}

var flash_handler  = {

    render: function(file_name, element_id, w, h, v, c){
        $(document.getElementsByTagName('body')[0]).addClassName('js-available');
        
        if($(element_id)) {
            var fm = $(element_id).select('.flash-js-message')[0];
            $(fm).select('noscript')[0].remove();
            $(fm).innerHTML = '<h2>Multimedijalni sadrÅ¾aj trenutno nije dostupan</h2><p>Za pregled multimedijalnog sadrÅ¾aja:</p><ul><li>omogucite JavaScript u web pregledniku</li><li>instalirajte <a href="http://www.adobe.com/products/flashplayer/">najnovniju verziju Flash playera</a></li></ul>';
        }

    		var so = new SWFObject(file_name, 'flash_' + element_id, w, h, v, c);
        so.addParam("scale","noscale");
        so.addParam("salign","tl");
        so.addParam("menu","false");

    		so.write(element_id);
     }
}


var date_range = {
    container: null,
    
    setup: function(container_id) {
        this.container = $(container_id);
        if(!this.container) return;
        
        if(container_id == 'edit-comic-form') {
            var day_select = $(this.container).select('label[for="comic-publish-day"]')[0];
            var month_select = $(this.container).select('label[for="comic-publish-month"]')[0];
            var year_select = $(this.container).select('label[for="comic-publish-year"]')[0];
            
            $(day_select).addClassName('date-related');
            $(month_select).addClassName('date-related');
            $(year_select).addClassName('date-related');
            
            var publish_date = document.createElement('label');
                publish_date.setAttribute('for', 'comic-publish-day');
                
                publish_date.appendChild(document.createTextNode('Datum izlaska'));
            
            $(day_select).insert({before:publish_date});
        }
        
    }
    
}


var first_letter = {
    items: [],
    setup: function() {
        
        if(!ie6 && !ie7 && !ie8) return;
        this.items = $('main-content').select('.hero-related-info p', '.author-related-info p');
        
        var il = this.items.length; 
        for(var i = 0; i < il; i++) {
            var current_p = this.items[i];
            var p_value = current_p.firstChild.nodeValue;
            var first_letter = p_value.substr(0,1);
            var p_diff = p_value.substr(1);
            
            var span = document.createElement('span');
                span.className = 'first-letter';
                span.appendChild(document.createTextNode(first_letter));
                
            current_p.firstChild.nodeValue = '';
            current_p.appendChild(span);
            current_p.appendChild(document.createTextNode(p_diff));
            
        }
    }
}


var styleSheet = document.styleSheets[0];
if(is_safari) {
    if (styleSheet.insertRule) {
      styleSheet.insertRule('#poll-container p a { padding-right: 5px; padding-left: 7px; }',styleSheet.cssRules.length);
      styleSheet.insertRule('.hero-related-info p:first-letter { margin: -6px 5px -15px 0; }',styleSheet.cssRules.length);
      styleSheet.insertRule('.author-related-info p:first-letter { margin: -6px 5px -15px 0; }',styleSheet.cssRules.length);
      styleSheet.insertRule('#add-publisher a { padding-left: 4px; padding-right: 4px; margin-left: 2px; }',styleSheet.cssRules.length);
      styleSheet.insertRule('#page-reviews-latest #pagination { margin-top: -28px; }',styleSheet.cssRules.length);
      styleSheet.insertRule('#page-poll-archive #pagination { margin-top: -28px; }',styleSheet.cssRules.length);
      styleSheet.insertRule('#page-news-latest #pagination { margin-top: -28px; }',styleSheet.cssRules.length);
      styleSheet.insertRule('#page-home #pagination { margin-top: -28px; }',styleSheet.cssRules.length);
      
    }
}
if(is_opera) {
    if (styleSheet.insertRule) {
      styleSheet.insertRule('#poll-container .input-submit { margin-bottom: -26px; }',styleSheet.cssRules.length);
      styleSheet.insertRule('#poll-container p a { padding-right: 7px; padding-left: 9px; }',styleSheet.cssRules.length);
      styleSheet.insertRule('.hero-related-info p:first-letter { margin: -6px 5px -10px 0; }',styleSheet.cssRules.length);
      styleSheet.insertRule('.author-related-info p:first-letter { margin: -6px 5px -10px 0; }',styleSheet.cssRules.length);
      styleSheet.insertRule('.related-content li { position: relative; }',styleSheet.cssRules.length);
    }
}


