function gOb(id){
	return document.getElementById(id);
}

function add_load_event(func) 
{
	var oldonload = window.onload;
  	if (typeof window.onload != 'function')
	{
    	window.onload = func;
  	} 
	else 
	{
    	window.onload = function() 
		{
      		oldonload();
      		func();
    	}
  	}
}

function convert_char (rot_algo, range_start, range_end, input_char) {
  // rot_algo: 5 for ROT5, 13 for ROT13, etc...
  // range_start, range_end: position in ASCII code table
  // input_char: character to be converted
  //
  // 1. Get position of character in a list that contains only the characters
  //    to be converted. Counting starts with 0:
  //    => position_in = input_char.charCodeAt(0) - range_start;
  // 2. Get new position after applying ROT algorithm:
  //    => position_out = (position_in + rot_algo) % (rot_algo * 2);
  // 3. Return converted character:
  //    => return String.fromCharCode(range_start + position_out);
  return String.fromCharCode(range_start + (((input_char.charCodeAt(0) -
range_start) + rot_algo) % (rot_algo * 2))); }

function convert() {
  // Convert according to chosen ROT algorithm:
  var input = document.getElementById("email_empfaenger").value;
  var output = "";  
    
      for (var i = 0; i < input.length; i++ ) {
        // Letters A-Z (code 65-90):
        if (input.charCodeAt(i) >= 65 && input.charCodeAt(i) <= 90) {
          output = output + convert_char(13, 65, 90, input.charAt(i));
        } else {
          // Letters a-z (code 97-122):
          if (input.charCodeAt(i) >= 97 && input.charCodeAt(i) <= 122) {
            output = output + convert_char(13, 97, 122, input.charAt(i));
          } else {
            output = output + input.charAt(i);
          }
        }
      }     
      
  document.mailform.______oij239uvsdk324r.value = output;
}


function iframe_hoehe()
{
	document.getElementById('ticket_frame').style.height = (ticket_frame.document.getElementById('inhalt').offsetHeight+25)+'px';
}

// startup functions
function startup_functions_home(){
	form_colorchanger();
	random_header_image();
	show_header_image();
	random_header_text();
}
function startup_functions(){
	form_colorchanger();
	show_header_image();
}
function startup_functions_pns(){
	form_colorchanger();
}

// layer navigation
function getElemOffset(element){	
	var parents = element.offsetParent;
	var ol = element.offsetLeft;
 	while (parents) {
		ol+=parents.offsetLeft;
		parents=parents.offsetParent;
	 }
	return ol+element.offsetWidth;
}

function check_layers_pos(layer,cont){
	cont = gOb(cont);
	layer = gOb(layer);
	var cont_pos = getElemOffset(cont);
	var layer_pos = getElemOffset(layer);
	if (layer_pos > cont_pos){
		layer.style.left = "-230px";
	}
}

function show_elem(id){
	if(gOb(id)){
		if(id.length > 8){
			check_layers_pos(id,"mainnav_container");
		}
		gOb(id).style.visibility = "visible";
	}
}

function hide_elem(id){
	if(gOb(id)){
		gOb(id).style.visibility = "hidden";
	}
}

// form colorchanger
function form_colorchanger(color_1,color_2,use_tags,input_types){
	var color_1 =  color_1 || "#d6e2f6";
	var color_2 =  color_2 || "#ffffff";
	
	function set_active_status(){
		this.style.backgroundColor = color_1;
	};
	function set_passive_status(){
		this.style.backgroundColor = color_2;
	};
	
	// define elements & attributes 
	var use_tags = use_tags || "input,select,textarea";
	var use_inputtypes = input_types || "text,password";
	
	var tags = use_tags.split(",");
	var inputtypes = use_inputtypes.split(",");
	
	for(var i=0;i<tags.length;i++){
		var elem = document.getElementsByTagName(tags[i]);
		
		for(var a=0;a<elem.length;a++){
			for(var b=0;b<inputtypes.length;b++){
				if((elem[a].tagName == "INPUT" && elem[a].type == inputtypes[b]) || elem[a].tagName != "INPUT"){
					elem[a].onfocus = set_active_status;
					elem[a].onblur = set_passive_status;	
				}
			}
		}
	}
}

// images & text functions
function set_expires_time(){
	var expires = new Date();
	var timeStamp = expires.getTime() + (1 * 24 * 60 * 60 * 1000);
	expires.setTime(timeStamp);
	expires.toGMTString();
	return expires;
}

var random_images = new Array(
	"images/layout/random_image_001.gif",
	"images/layout/random_image_001_a.gif",
	"images/layout/random_image_002.gif",
	"images/layout/random_image_002_a.gif",
	"images/layout/random_image_003.gif",
	"images/layout/random_image_003_a.gif"
);
var obj_random_images = new Array();
for(i = 0; i < random_images.length; i++){
	obj_random_images[i] = new Image();
	obj_random_images[i].src = random_images[i];
}

function change_random_image(id,img){
	id.src = obj_random_images[img].src;
}

var header_images = new Array(
	"images/header/home_header_1.jpg",
	"images/header/home_header_2.jpg",
	"images/header/home_header_3.jpg"
);
var obj_header_images = new Array();
for(i = 0; i < header_images.length; i++){
	obj_header_images[i] = new Image();
	obj_header_images[i].src = header_images[i];
}

function change_header_image(img){
	gOb("header_image").src = obj_header_images[img].src;
	if(gOb("header_image_container").style.display != "block"){
		gOb("header_image_container").style.display = "block";
		//gOb("header_title").style.position = "absolute";
		//gOb("header_title").style.width = "280px";
		gOb("header_bar_image").src = "images/layout/header_bar_close.gif";
		var expires = set_expires_time();
		setCookie("show_header_image_container","yes",expires);
	}
}

function random_header_image(){
	random_number = Math.round(Math.random() * 2);
	gOb("header_image").src = obj_header_images[random_number].src;
}

function switch_header_image(id){
	var expires = set_expires_time();
	if(gOb("header_image_container").style.display == "block"){
		//gOb("header_title").style.position = "static";
		//gOb("header_title").style.width = "880px";
		if(gOb("header_address")){
			gOb("header_address").style.position = "static";
			gOb("header_address").style.width = "880px";
		}
		gOb("header_image_container").style.display = "none";
		id.src = "images/layout/header_bar_open.gif";
		setCookie("show_header_image_container","no",expires);
	}else{
		//gOb("header_title").style.position = "absolute";
		//gOb("header_title").style.width = "280px";
		if(gOb("header_address")){
			gOb("header_address").style.position = "absolute";
			gOb("header_address").style.width = "280px";
		}
		gOb("header_image_container").style.display = "block";
		id.src = "images/layout/header_bar_close.gif";
		setCookie("show_header_image_container","yes",expires);
	}
}

function show_header_image(){
	var show_header_image_container = getCookie("show_header_image_container");
	if(show_header_image_container == "yes" || show_header_image_container == null){
		gOb("header_image_container").style.display = "block";
		gOb("header_bar_image").src = "images/layout/header_bar_close.gif";
		//gOb("header_title").style.position = "absolute";
		//gOb("header_title").style.width = "280px";
		if(gOb("header_address")){
			gOb("header_address").style.position = "absolute";
			gOb("header_address").style.width = "280px";
		}
	}
}

var pin_images = new Array(
	"images/layout/footer_pin_passiv.png",
	"images/layout/footer_pin_aktiv.jpg"
);
var obj_pin_images = new Array();
for(i = 0; i < pin_images.length; i++){
	obj_pin_images[i] = new Image();
	obj_pin_images[i].src = pin_images[i];
}

function change_pin_image(id,img){
	id.src = obj_pin_images[img].src;
	gOb("support_number").style.display = gOb("support_number").style.display == "block" ? "none" : "block";
}

function random_header_text(){
	var random_text = new Array(
		"CARROSSERIE-SCHADEN",
		"SCHADENMANAGEMENT",
		"LACK-SCHADEN",
		"AUTOGLAS-SCHADEN",
		"WERTERHALT"
	);
	
	random_number = Math.round(Math.random() * (random_text.length-1));
	//gOb("header_title").innerHTML = random_text[random_number];
}
