
Detail_View = {
    // Konfigurationsvariablen.
    config_params: {
        flash_element_x: 370, // Breite des Flash Contents.
        flash_element_y: 170, // Höhe des Flash Contents.
        flash_element_pos_y: 150, // Position von oben des Flash Contents.
        flash_element_id: "flash_element", // Id des Flash Contents.
        detail_view_element_id: "detail_view_bg" // Id des BG für die komplette Setie.
    },

    entry_id: null,
    body: null,
    detail_view_element: null,
    flash_element: null,
    content_size: [],
    
	is_ie: function() {
		return (document.all && !window.opera);
	},
	
	ie_body: function() {
		return (document.compatMode == "CSS1Compat" ? document.documentElement : document.body);
	},
	
    // Breite und Höhe des Anzeigebereichs.
    get_content_size: function() {
	    this.content_size["x"] = (this.is_ie()) ? this.ie_body().clientWidth : document.documentElement.scrollWidth;
		
		if(this.is_ie()) {
			var scroll_height = this.ie_body().scrollHeight;
			var offset_height = this.ie_body().offsetHeight;
			
			if(offset_height > scroll_height) {
				this.content_size["y"] = offset_height;
			} else {
				this.content_size["y"] = scroll_height;
			}
		} else {
			this.content_size["y"] = this.ie_body().scrollHeight;
		}
    },
    // BG über die komplette Seite für Flash Element erzeugen.
    make_detail_view_bg: function() {
        // div#detail_view_bg erzeugen.
        var detail_view_element = document.createElement("div");
            detail_view_element.id = this.config_params.detail_view_element_id;
        
        this.detail_view_element = detail_view_element;
        this.body.appendChild(detail_view_element);
   
        this.get_content_size();
                  
        this.detail_view_element.style.width = this.content_size["x"] + "px";
        this.detail_view_element.style.height = this.content_size["y"] + "px";
    },
    // Detail View schließen.
    close_detail_view: function() {
        this.body.removeChild(this.detail_view_element);
        this.body.removeChild(this.flash_element);
    },
    // Flashelement auf dem Hintergrund positionieren.
    position_flash: function(mode) {
        var flash_pos = new Array();
    
        if(mode == "center") {
            flash_pos["x"] = parseInt((this.content_size["x"] - this.config_params.flash_element_x) / 2) + "px";
        } else {
            flash_pos["x"] = this.config_params.flash_element_pos_x + "px";
        }
        //self.pageYOffset
		//document.body.scrollTop
        flash_pos["y"] = (this.is_ie() ? this.ie_body().scrollTop : self.pageYOffset)  + this.config_params.flash_element_pos_y + "px";
        
        this.flash_element.style.left = flash_pos["x"];
        this.flash_element.style.top = flash_pos["y"];
    },
    // Flashelement erzeugen.
    insert_flash: function() {
        var flash_html = this.content;
        
        
        var flash_element = document.createElement("div");
            flash_element.id = this.config_params.flash_element_id;
    
        this.flash_element = flash_element;
        this.body.appendChild(this.flash_element);
        
        this.flash_element.style.width = this.config_params.flash_element_x + "px";
        this.flash_element.style.height = this.config_params.flash_element_y + "px";
        
        
        this.position_flash("center");
		
		this.flash_element.innerHTML = flash_html;
		this.flash_element.style.visibility = 'visible';
    },
    init: function(content) {
        this.content = content;
        this.body = document.getElementsByTagName("body")[0];
        
        this.make_detail_view_bg();
        this.insert_flash();
    }
};



function clear_input(input) {
	var default_value = input.defaultValue;

	input.value = "";

	if(default_value) {
		input.onblur = function() { 
			if(!input.value) {
				input.value = default_value; 
			}
		};
	}
}


options = {
    toogle_flag: function(img, mode) { 
    	if(img.src.indexOf('.gif') != -1) {
            	var look_for = (mode == "over") ? "_n.gif" : "_r.gif";
           	 	var replacement = (mode == "over") ? "_r.gif" : "_n.gif";
    	} else if(img.src.indexOf('.png') != -1) {
           		var look_for = (mode == "over") ? "_n.png" : "_a.png";
            	var replacement = (mode == "over") ? "_a.png" : "_n.png";
    	} else {
    		return;
    	}

        img.src = img.src.replace(look_for, replacement);
    },

    init: function() {
	//var flags = document.getElementsByTagName("img");
	var flags =  $ES(".rollover");

        for(i = 0; i < flags.length; i++) {
            flags[i].addEvent('mouseover', function() { options.toogle_flag(this, "over");  } );
			flags[i].addEvent('mouseout', function() { options.toogle_flag(this, "out");  } );
        }
    }
};

window.onload = function() {
	options.init();
};

