function getObj(name)
{
	return document.getElementById(name);
}

function count(arr)
{
		var cnt = 0;
		for(element in arr)
		{
			if (element!=null)
				cnt++;
		}
		return cnt;
}

function toggleObjDisplay(obj)
{
  if (obj)
  {
	if (obj.style.display=='none')
		obj.style.display = '';
	else
		obj.style.display = 'none';
	//alert(obj.id+" display = '"+obj.style.display+"'");
  }
}

function highlight_div(checkbox_node)
{
    label_node = checkbox_node.parentNode;
	
    if (checkbox_node.checked)
	{
		label_node.style.backgroundColor='#0a246a';
		label_node.style.color='#fff';
	}
	else
	{
		label_node.style.backgroundColor='#fff';
		label_node.style.color='#000';
	}
}



// some auxiliary functions  with respect to http://www.aspdev.org/articles/javascript-trim/

function leftTrim(sString) 
{
  while (sString.substring(0,1) == ' ')
  {
    sString = sString.substring(1, sString.length);
  }
return sString;
}


function rightTrim(sString) 
{
  while (sString.substring(sString.length-1, sString.length) == ' ')
  {
    sString = sString.substring(0,sString.length-1);
  }
return sString;
}


function trimAll(sString) 
{
  while (sString.substring(0,1) == ' ')
  {
    sString = sString.substring(1, sString.length);
  }

  while (sString.substring(sString.length-1, sString.length) == ' ')
  {
    sString = sString.substring(0,sString.length-1);
  }
  
  return sString;
}

// number_format(number, len, separator, th_separator) 

function  number_format( /* in: float   */ number, 
                                        /* in: integer */ len, 
                                        /* in: String  */ sep, 
                                        /* in: String  */ th_sep ) {

  if(!sep) sep = ".";
  if(!th_sep) th_sep = "";

  number = Math.round( number * Math.pow(10, len) ) / Math.pow(10, len);
  str_number = number+"";
  arr_int = str_number.split(".");
  if(!arr_int[0]) arr_int[0] = "0";
  if(!arr_int[1]) arr_int[1] = "";
  if(arr_int[1].length < len){
    nachkomma = arr_int[1];
    for(i=arr_int[1].length+1; i <= len; i++){  nachkomma += "0";  }
    arr_int[1] = nachkomma;
  }
  if(th_sep != "" && arr_int[0].length > 3){
    Begriff = arr_int[0];
    arr_int[0] = "";
    for(j = 3; j < Begriff.length ; j+=3){
      Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
      arr_int[0] = th_sep + Extrakt +  arr_int[0] + "";
    }
    str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
    arr_int[0] = str_first + arr_int[0];
  }
  return arr_int[0]+sep+arr_int[1];
}

var mouse_hover_divs = 0;
var timers = {}; 
function mouseHover(img_obj,link) {
	mouse_hover_divs+=1;
	var div_obj = $('<div id="mh_image_'+String(mouse_hover_divs)+'" class="mouse_hover_image"><a href="'+link+'"><img src="'+$(img_obj).attr('src')+'" alt="" /></a></div>');
	div_obj.insertAfter($(img_obj));
	timers[mouse_hover_divs] = setTimeout(function(){
		div_obj.fadeIn("fast");
	},500);
	
	$(img_obj).mouseout(function(e){
		if(timers[mouse_hover_divs] != undefined) {
			clearTimeout(timers[mouse_hover_divs]);
		}
	});
	div_obj.mouseout(function(e){
		$(this).fadeOut('fast');
	});
}

(function($){
	$.fn.populate = function(array) {
		var obj = this[0];
		if(obj.tagName != 'FORM') throw 'Only forms is accepted in jQuery.fn.populate()';
		for(var i in array) {
			var element = $(obj).find("*[name='"+i+"']");
			if(element.is(':checkbox')) {
				element.attr('checked',array[i] == 1);	
				element.change();
			} else {
				element.val(array[i]);
			}
		}
	}
	
	$.fn.unserialize = function() {
		return $.unserialize(this.selector);
	}
	
	$.unserialize = function(string) {
		string = decodeURIComponent(string.replace(/\+/g,  " "));
		var parts1 = string.split('&');
		var ret = Array();
		for(var i in parts1) {
			var parts2 = parts1[i].split('=');
			ret[parts2[0]] = parts2[1];
		}
		return ret;
	}
})(jQuery);