var rollover_rules = {
    'img.rollover' : function(el) {
        el.onmouseover = function() {
            parts = this.src.match(/^(.+)\.(\w+)$/);
            if (parts[1] != null && parts[1].match(/_ro/) == null ) {
                this.src = parts[1] + "_ro." + parts[2];
            }
        };
        el.onmouseout = function() {
            parts = this.src.match(/^(.+)_ro\.(\w+)$/);
            if (parts != null ) {
                this.src = parts[1] + "." + parts[2];
            }
        }
    },
    'ul.nav li' : function(el) {
        el.onmouseover = function() {
            this.className = 'MenuItemOver';
        };
        el.onmouseout = function() {
            this.className = 'MenuItem';
        };
    }

}
Behaviour.register(rollover_rules);
var popup_rules = {
    'a.popup' : function(el) {
        el.onclick = function() {
            window.open(this.href,
                'PopUp',
                'width=684,height=350,top=200,left=50%,scrollbars=0,status=no,resizable=0,toolbar=0,titlebar=0,menubar=0,location=0');
            return false;
        }
    },
    'a.status' : function(el) {
        el.onmouseover = function() {
            window.status=this.title;
            return true;
        };
        el.onmouseout = function() {
            window.status='';
            return true;
        }
    },
    'a.tip' : function(el) {
        el.onmouseover = function() {
            var image_small = this.getElementsByTagName("img")[0];
						var image = document.getElementById("tip").getElementsByTagName("img")[0];
						image.src = image_small.src.replace(/_small/,"");
        };
        el.onclick = function() {
            return false;
        }
    },
    'div.submenu' : function(el) {
        Event.observe(el, 'mouseout', function(e) {
            /* Stop bubbling up */
            Event.stop(e);
            /* Find the div this mouseout occurred on */
            var me = Event.findElement(e,'div');
            /* Does the event occur outside the div? */
            var myPosition = Position.cumulativeOffset(me);
            if (Event.pointerY(e) <= myPosition[1] + 1 || Event.pointerX(e) <= myPosition[0] + 1 || Event.pointerX(e) >= myPosition[0] + me.offsetWidth - 1 || Event.pointerY(e) >= myPosition[1] + me.offsetHeight - 1){
                me.style.display = 'none';
            }
        }, false);
    },
    'a.switch' : function(el) {
        Event.observe(el,'mouseover',function(e) {
            Event.stop(e);
            var me = Event.element(e);
		    var myTarget = $(me.id.replace('_switch',''));
		    var myOffset = $('menu_content');
            if (myTarget) {
                myTarget.style.left = Position.cumulativeOffset(me)[0] - Position.cumulativeOffset(myOffset)[0] + 'px';
                myTarget.style.display = 'block';
            }
        }, false);
        Event.observe(el,'mouseout',function(e) {
            Event.stop(e);
            var me = Event.element(e);
   		    var c = $(me.id.replace('_switch',''));
            var myPosition = Position.cumulativeOffset(me);
            if (Event.pointerY(e) <= myPosition[1] + 1 || Event.pointerX(e) <= myPosition[0] + 1 || Event.pointerX(e) >= myPosition[0] + me.offsetWidth - 1){
                c.style.display = 'none';
            }
        }, false);
    },
    'a.basket_switch' : function(el) {
        Event.observe(el,'click',function(e) {
            var me = Event.element(e);
		    var c = $(me.id.replace('_switch',''));
            if (c) {
                Element.toggle(c);
            }
        }, false);
    }
}
Behaviour.register(popup_rules);
var form_rules = {
    'input.auto_upper' : function(el) {
        el.onblur = function() {
            toUpper(this)
        };
        el.onchange = function() {
            toUpper(this)
        };

    },
	  '.auto_blur' : function(el) {
        if (typeof el.onfocus == 'function') {
            var cascade = el.onfocus;
        }
        el.onfocus = function() {
            if (typeof cascade == 'function') {
                cascade.call(this);
            }
            this.className = this.className.replace('_off','_on');
            var fieldLabel = $(this.id + '_label');
            if (fieldLabel) {
            	  fieldLabel.className = fieldLabel.className.replace('_off','_on');
                var image = fieldLabel.getElementsByTagName('img')[0];
                if (image) {
                    image.src = image.src.replace('_normal','_hover');
                }
            }
        };
        el.onblur = function() {
            this.className = this.className.replace('_on','_off');
            var fieldLabel = $(this.id + '_label');
            if (fieldLabel) {
            	  fieldLabel.className = fieldLabel.className.replace('_on','_off');
                var image = fieldLabel.getElementsByTagName('img')[0];
                if (image) {
                    image.src = image.src.replace('_hover','_normal');
                }
            }
        }
    },
    'input.rollover' : function(el) {
        Event.observe(el,'mouseover',function(e) {
            var me = Event.element(e);
            if (me.className.search('selected') == -1) {
                me.src = me.src.replace('_normal','_hover');
            }
        },false);
        Event.observe(el,'mouseout',function(e) {
            me = Event.element(e);
            if (me.className.search('selected') == -1) {
                me.src = me.src.replace('_hover','_normal');
            }
        },false);
    },
    'input.bg_rollover' : function(el) {
        Event.observe(el,'mouseover',function(e) {
            var me = Event.element(e);
            if (me.className.search('selected') == -1) {
                me.className = me.className.replace('_normal','_hover');
            }
        },false);
        Event.observe(el,'mouseout',function(e) {
            me = Event.element(e);
            if (me.className.search('selected') == -1) {
                me.className = me.className.replace('_hover','_normal');
            }
        },false);
    }
}
Behaviour.register(form_rules);

var site_rules = {
		
		'.forrent' : function(el) {
		    Event.observe(el,'click',function(e) {
		    	e.stop();
		    	
		    	new Ajax.Request('/js/templates/forRent.tpl',{
		    		onSuccess: function(transport){
			    		var dialog = new Dialog.getInstance({
							dialogId : 'ccDialog'
						});
						dialog.insertContent(transport.responseText);
						dialog.show();
		    		}
		    	});
		    }, false);
		}
	}
Behaviour.register(site_rules);