﻿// --- check if user agent is supported ---
function user_agent_is_supported(){
	var is_supported = true;
	var is_ie = false;
	var main_version = 0;
	jQuery.each(jQuery.browser, function(i, val) {		
      if(i == "version"){
      	main_version = val.split(".")[0];      	
      }
      else if(i == "msie"){
      	is_ie = val;
      }      
    });
    //alert(!is_ie || main_version > 5);
    return !is_ie || main_version > 5;    
}

// --- check array for element ---
Array.prototype.in_array = function (elem) {
  for (var i = 0; i < this.length; i++) {
    if (this[i] == elem) {
      return true;
    }
  }
  return false;
}

// --- check array for error section code ---
Array.prototype.in_error_section = function (error_section_code) {
  error_section_code += '-';
  for (var i = 0; i < this.length; i++) {
    if (this[i].indexOf(error_section_code) == 0) {
      return true;
    }
  }
  return false;
}

// --- replace string in string ---
function replace_in_string(haystack,needle,replace_string) {
  var search_string = "" + haystack;
  var return_string = "";
  var pos;
  if(needle != ''){
    while (search_string.indexOf(needle)>-1) {
      pos= search_string.indexOf(needle);
      return_string = return_string + "" + search_string.substring(0, pos) + replace_string;
      search_string = search_string.substring((pos + needle.length), search_string.length);
    }
    return_string = return_string + "" + search_string;
    return return_string;
  }
  else return haystack;
}

// ---  enable help links to toggle help fields ---
function enable_help(){
  $(".help-link").each(function (i) {
    $(this).click(function () {
        if ($(".help:eq("+i+")").is(":hidden")) {
            $(".help:eq("+i+")").slideDown("normal");
            $(".help-link:eq("+i+") > img").attr('alt', general_language_array[0]);
            $(".help-link:eq("+i+")").attr('title', general_language_array[0]);
          } else {
            $(".help:eq("+i+")").slideUp("normal");
            $(".help-link:eq("+i+") > img").attr('alt', general_language_array[1]);
            $(".help-link:eq("+i+")").attr('title', general_language_array[1]);
          }
          return false;
      });
    });    
}

// --- hide help fields if no error for the specific field has ocurred ---
function hide_help_fields(){
  var elements_array;
  var elements_id_split;
  elements_array = $(".help");

  for(var i = 0; i < elements_array.length; i++){
     if(elements_array[i].id != ''){
        elements_id_split = elements_array[i].id.split('help_step');
        //alert(elements_id_split[1]);
        if(!error_codes_array.in_error_section('e'+elements_id_split[1]))$("#help_step"+elements_id_split[1]).hide();
      }
    }
}

function enable_set_comsumption_default_values(){
  $(".in-help-link").each(function (i) {
    $(this).click(function () {
      var string = $(this).attr('href');
      var string_array = string.split('=');
      var consumption_value = string_array[1].split('&');
      $('#verbrauchdirekt').attr('value', consumption_value[0]);
      return false;
    });
  });
}

function set_fieldset_header_classes(i) {
        $("#h4-"+i).removeClass();
        $("#h4-"+(i+1)).removeClass();
        if ($("fieldset:eq("+i+")").is(":hidden")) {
          $(".set-close:eq("+i+") > img").attr("src", "images/ico_fieldset_a.gif");
          if (i > 0){
            if ($("fieldset:eq("+(i-1)+")").is(":hidden"))$("#h4-"+i).addClass('hx-2');
            else $("#h4-"+i).addClass('hx-3');
          }
          else $("#h4-"+i).addClass('hx-1');
          if ($("fieldset:eq("+(i+1)+")").is(":hidden")) $("#h4-"+(i+1)).addClass('hx-6');
          else $("#h4-"+(i+1)).addClass('hx-3');
        } else {
          $(".set-close:eq("+i+") > img").attr("src", "images/ico_fieldset_i.gif");
          if (i > 0){
            if ($("fieldset:eq("+(i-1)+")").is(":hidden")) $("#h4-"+i).addClass('hx-5');
            else $("#h4-"+i).addClass('hx-6');
          }
          else $("#h4-"+i).addClass('hx-4');
          if ($("fieldset:eq("+(i+1)+")").is(":hidden")) $("#h4-"+(i+1)).addClass('hx-5');
          else $("#h4-"+(i+1)).addClass('hx-2');
        }
        return false;
}

function warn_before_leaving(){
  return confirm("Beim verlassen der Seite gehen alle unmittelbar getätigten Änderungen verloren.\nSind Sie sicher, dass Sie die Seite verlassen möchten ?");
}

function return_key_is_click(event, element){
	var key = event.charCode ? event.charCode : event.keyCode ? event.keyCode : 0;	
	if(key == 13)$("#"+element+" > img").click();
}