function toggleStatMenu(){
	$('#menup1').slideToggle();
	$('#menup2').slideToggle();
	return false;
	
}

function perPostSend(){
    $('#perpost').html('<img src="/img/spinner_large.gif" style="margin-left:300px">');
    $('#perpost').animate({height:0}, 500, perPostSendOrdered);
    $.ajax({url:'/wizard-perpost/', async:false});

}
function perPostSendOrdered(){
    $('#perpost').html('<h1 class="green" style="text-align:center;">Alle Unterlagen werden Ihnen per Post zugeschickt</h1>');
    $('#perpost').slideDown('slow');
}
var lastHighlited=null;
function rowsHighlight(){
	$('div[@class="row"] input').each(function (i) {
		$(this).focus(function (){
			if ($(this).attr('type')=="submit") return;
			fparent = $(this).parent().get(0);
			dparent = $(fparent).parent().get(0);
			div2hi = dparent;
			if ((!(div2hi==lastHighlited)) && lastHighlited!=null){
				lh = $(lastHighlited);
				lh.attr('class', 'row');
			}
			$(div2hi).attr('class', 'rowhl');
			lastHighlited = div2hi;
		});
	});
	$('#buttonBack').mouseover(function(){
		$(this).attr('class', 'subzhl');
	});
	$('#buttonBack').mouseout(function(){
		$(this).attr('class', 'subz');
	});
	$('#buttonNext').mouseover(function(){
		$(this).attr('class', 'subwhl');
	});
	$('#buttonNext').mouseout(function(){
		$(this).attr('class', 'subw');
	});
}

var lastPlz = 0;
function checkPlz(){
	elem = $('input[name="plz"]');
	val = elem.val();
	if (val.length==5){
		if (val==lastPlz) return;
		sel = $("#city_id").val();
		if (!sel){
			sel = 0;
		}

		link = '/place-lookup/'+sel+'/'+val;
		$.ajax({
			type: "GET",
			url: link,
			async:true,
			success: function(data) {
				$("#city_id").html(data);
				$('#city_id_input').remove();
				$('#city_id_container').remove();
				$('#city_id').selectbox({inputClass: 'selectboxBig'});
			}
		});
	}else{
		$("#city_id").html('<option value="0">Zuerst sollten Sie PLZ eintippen</option>');
		$('#city_id_input').remove();
		$('#city_id_container').remove();
		$('#city_id').selectbox({inputClass: 'selectboxBig'});
	}

}
function plzSelect(){

	$('input[name="plz"]').keyup(checkPlz).change(checkPlz);
	$(document).ready(function() {
		$('#city_id').selectbox({inputClass: 'selectboxBig'});
	});
}

function formFields(id){
	data = new Object();
	$('#'+id+' input').each(function(){
		if (this.type == "checkbox"){
			name = this.name;
			if ($('input[name="'+name+'"]:checked').val() == null){
				data[name]=0;
			}else{
				data[name]=1;
			}
		}else{
			data[$(this).attr('name')]=$(this).val();
		}
	});
	$('#'+id+' select').each(function(){
		data[$(this).attr('name')]=$(this).val();
	});
	$('#'+id+' textarea').each(function(){
		data[$(this).attr('name')]=$(this).val();
	});
	return data;
}

function ajaxSubmitShowRes(id, url){
	data = formFields(id);
	$.post(url, data,
		function(data2){
			mbox = new MessageBox(data2);
			mbox.show();

		});
}

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects
	 for(var item in arr) {
	  var value = arr[item];
	 
	  if(typeof(value) == 'object') { //If it is an array,
	   dumped_text += level_padding + "'" + item + "' ...\n";
	   dumped_text += dump(value,level+1);
	  } else {
	   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
	  }
	 }
	} else { //Stings/Chars/Numbers etc.
	 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}	

/* Custom variables */

/* Offset position of tooltip */
var x_offset_tooltip = 5;
var y_offset_tooltip = 0;

/* Don't change anything below here */


var ajax_tooltipObj = false;
var ajax_tooltipObj_iframe = false;

var ajax_tooltip_MSIE = false;
if(navigator.userAgent.indexOf('MSIE')>=0)ajax_tooltip_MSIE=true;

function ajax_showTooltip(externalFile,inputObj){
	ajax_showTooltip(externalFile, inputObj, false);
}

function createTooltip(){

if(!ajax_tooltipObj)	/* Tooltip div not created yet ? */
	{
		ajax_tooltipObj = document.createElement('DIV');
		ajax_tooltipObj.style.position = 'absolute';
		ajax_tooltipObj.id = 'ajax_tooltipObj';		
		document.body.appendChild(ajax_tooltipObj);
		
		
		var leftDiv = document.createElement('DIV');	/* Create arrow div */
		leftDiv.className='ajax_tooltip_arrow';
		leftDiv.id = 'ajax_tooltip_arrow';
		ajax_tooltipObj.appendChild(leftDiv);
		
		var contentDiv = document.createElement('DIV'); /* Create tooltip content div */
		contentDiv.className = 'ajax_tooltip_content';
		ajax_tooltipObj.appendChild(contentDiv);
		contentDiv.id = 'ajax_tooltip_content';
		 
		if(ajax_tooltip_MSIE){	/* Create iframe object for MSIE in order to make the tooltip cover select boxes */
		
			ajax_tooltipObj_iframe = document.createElement('IFRAME');
            ajax_tooltipObj_iframe.frameborder=0;
			ajax_tooltipObj_iframe.style.position = 'absolute';
			ajax_tooltipObj_iframe.border='0';
			ajax_tooltipObj_iframe.frameborder=0;
			 
			ajax_tooltipObj_iframe.style.backgroundColor='#FFF';
			ajax_tooltipObj_iframe.src = 'http://www.expokredit.de/blank.html';
			contentDiv.appendChild(ajax_tooltipObj_iframe);
			ajax_tooltipObj_iframe.style.left = '0px';
			ajax_tooltipObj_iframe.style.top = '0px';
			ajax_tooltipObj.style.display='none'; 
			
		}
		
		ajax_tooltipObj.style.display='none';  
	}
}

function attShow(externalFile, inputObj, hint)
{
	createTooltip();
	// Find position of tooltip
	showTooltip();
	divLoadContent('ajax_tooltip_content',externalFile);
	if(ajax_tooltip_MSIE){
		ajax_tooltipObj_iframe.style.width = ajax_tooltipObj.clientWidth + 'px';
		ajax_tooltipObj_iframe.style.height = ajax_tooltipObj.clientHeight + 'px';
	}
	ajax_positionTooltip(inputObj, hint);
}

function ajax_positionTooltip(inputObj, hint)
{
	var leftPos = (ajaxTooltip_getLeftPos(inputObj) + inputObj.offsetWidth);
	var topPos = ajaxTooltip_getTopPos(inputObj);
	if (hint){
		leftPos = leftPos + 10;
		topPos = topPos - inputObj.clientHeight/2;
	}
	/*
	var rightedge=ajax_tooltip_MSIE? document.body.clientWidth-leftPos : window.innerWidth-leftPos
	var bottomedge=ajax_tooltip_MSIE? document.body.clientHeight-topPos : window.innerHeight-topPos
	*/
	
	var tooltipWidth = document.getElementById('ajax_tooltip_content').offsetWidth +  document.getElementById('ajax_tooltip_arrow').offsetWidth; 
	// Dropping this reposition for now because of flickering
	//var offset = tooltipWidth - rightedge; 
	//if(offset>0)leftPos = Math.max(0,leftPos - offset - 5);
	
	ajax_tooltipObj.style.left = leftPos + 'px';
	ajax_tooltipObj.style.top = topPos + 'px';	
	
}

function attHide(){
	ajax_hideTooltip();
}

function showTooltip(){
	ajax_tooltipObj.style.display='block';
}
function ajax_hideTooltip()
{
	ajax_tooltipObj.style.display='none';
}

function ajaxTooltip_getTopPos(inputObj)
{		
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function ajaxTooltip_getLeftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
  }
  return returnValue;
}

function divLoadContent(divId,url){
$('#'+divId).html('<img src="/img/common/spinner.gif">');
  jQuery.ajax({
	 type: "GET",
	 url: url,
	 data: "",
	 async: true,
	 success: function(data) {
		$('#'+divId).html(data);  
	 }
	 });
}

var ttTimer;
function showMenuTooltip(html, tid){

    $('#ajax_tooltip_content').html(html);
    
	ajax_positionTooltip(document.getElementById(tid), false);
    // the following crashes under IE (fix made in tooltip.js)
    if(ajax_tooltip_MSIE==false) {
	    top = $('#ajax_tooltipObj').css('top');
	    pos = top.indexOf('px');
	    top = top.substring(0, pos);
	    top=top-10;
	    $('#ajax_tooltipObj').css('top', top+'px');
    }
    showTooltip();
	scheduleHide();
}

function keepMenu(){
	if (ttTimer!=null){
		clearTimeout(ttTimer);
		ttTimer = null;
	}
}

function scheduleHide(){
	ttTimer = setTimeout('ajax_hideTooltip()', 2000);
}

$(document).ready(function(){
createTooltip();
$('#ajax_tooltip_content').hover(
  function () {
	keepMenu();
  },
  function () {
	scheduleHide();
  }
);

});function cancelContract(id){
    MBConfirm('Vertrag stornieren', 'Sind Sie sicher?', 'cancelContractConfirm('+id+')', 'Ja');
}
function cancelContractConfirm(id){
    document.location='/hcont-cancel/'+id;
}

var u_string=new Array();

function submitContract(cid){
$('#actions'+cid).html('<img src="/img/common/spinner.gif">');
$('#state'+cid).html('');
jQuery.ajax({
	 type: "GET",
	 url: '/cstate-submit/'+cid,
	 data: "",
	 async: true,
	 timeout:60000,
	 success: function(data) {
		if (data.indexOf('##')>=0){
			arr = data.split('##');
			$('#actions'+cid).html(arr[0]);
			$('#state'+cid).html(arr[1]);
		}else{
			$('#actions'+cid).html(data); 
		}
	 },
	 error:function(){
		$('#actions'+cid).html('Error');
	 }
	 });
}

function sure(msg){
var res= confirm("Markierte löschen " + msg + " ?");
	if (res== true) {
		document.formSubmit = true;
	}else{
		document.formSubmit = false;
	}

}
function replaceBlocks(){
 //alert('some');
 elems = document.getElementsByTagName('textex');
 for(var i=0;i<elems.length;i++){
	 var attrValue = elems[i].getAttribute('hint');
	 elems[i].setAttribute('id', 'tex'+i);
	 elems[i].style.display = 'none';
	 link = document.createElement('a');
	 link.setAttribute('href', 'javascript:toggleVisibility(\'tex'+i+'\')');
	 link.setAttribute('style', 'color:#61707A; text-decoration:underline');
	 var textNode = document.createTextNode(attrValue);
	 link.appendChild(textNode);
	 parent = elems[i].parentNode;
	 parent.insertBefore(link, elems[i]);
 }
}

function toggleVisibility(id){
 elem = document.getElementById(id);
 if (elem != null){
	 if (elem.style.display == 'block'){
		 elem.style.display = 'none';
	 }else{
		 elem.style.display = 'block';
	 }
 }
}

function array_list(){
	var str='';
	for(i = 0; i < u_string.length; i++) {
		str += u_string[i];
	}
	alert (str);
	return str;
	 
}
 

function m_delete() {
	if(confirm("Markierte löschen ? \r\n ")==true) {
		document.f1.act.value="1";
		document.f1.submit();
	}
}

function h_delete() {
	if(confirm("Markierte löschen ? \r\n ")==true) {
		document.f1.act.value="1";
		document.f1.submit();
	}
}

  
function move_arcive() {
	document.f1.act.value="2";
	document.f1.submit();
}

function move_main() {
	document.f1.act.value="3";
	document.f1.submit();
}


function  client_restore() {
	document.f1.act.value="4";
	document.f1.submit();
}
  

function confirmLink(link, text){
   if(confirm(text+"? \r\n ")==true) {
		document.location=link;
	}
	return true;
}

function set_status(id,status){
	var kqb_id=window.prompt("KQB ID",'');
	var kqb_pass=window.prompt("KQB Passwort",'');
	if(  kqb_id!=null || kqb_pass!=null) {
		document.f1.act.value="2";
		document.f1.kqb_id.value= kqb_id;
		document.f1.kqb_pass.value= kqb_pass;
		document.f1.id.value=id;
		document.f1.submit();
	}

}


var searchCount;
var sfield;
var surl;
var scheduled;
scheduled = false;
var timeout;
function contentSearch(field, url){
	sfield = field;
	surl = url;
	if (!scheduled){
		timeout = setTimeout('searchContent()', 300);
	}else{
		//alert('Cleaning timeout');
		clearTimeout(timeout);
		timeout = setTimeout('searchContent()', 300);
	}
	scheduled = true; 
	
}

function searchContent(){
	var value = $('#'+sfield).attr('value');
	if (value == null){
		value = '';
	}
    var link = surl+value;
    if ($('#auszuge').size()>0){
        link = '/auszug-search/'+value;
    }
	jQuery.ajax({
	 type: "GET",
	 url: link,
	 data: "",
	 async: true,
	 success: function(data) {
		$('#mainContent').html(data);
		
	 }
	 });
	 sceduled = false;
	
}
 

/*****************************************************************************************************
Under GPL
Timor(at)cyhex.com

* type = { int, float, text, email, url, null=string }
validate(form,'fieldname,type,minlen',fieldname2,type,minlen',...)

example:
onClick="validate('f1','comment,,5','fname,email,5'); return document.formSubmit;">
******************************************************************************************************/

    function clear_error(){
        var arr;
        var args = clear_error.arguments;
        var error = "";
        var f = args[0]; // get the form

           for(i = 1; i < args.length; i++) {
                arr = args[i].split(",");

                var element = document.forms[f].elements[arr[0]];
                if(element == null) {
                    alert( arr[0] + ' does not exist');
                }
           }

           for(i = 1; i < args.length; i++) {
            arr = args[i].split(",");

            var element = document.forms[f].elements[arr[0]];
             var div_name = arr[0]+"_div";
            var type = arr[1];
            var len = arr[2];
            var name = arr[3];

               element.className = 'input';
               var div = getDiv(div_name);
                if (isDefined(div)){
                   div.className = '';
                }

           }

    }

	function validate(){
		var arr;
		var args = validate.arguments;
		var error = "";
		var f = args[0]; // get the form

           for(i = 1; i < args.length; i++) {
                arr = args[i].split(",");

                var element = document.forms[f].elements[arr[0]];
                if(element == null) {
                    alert( arr[0] + ' does not exist');
                }
           }

		   for(i = 1; i < args.length; i++) {
			arr = args[i].split(",");
			var element = document.forms[f].elements[arr[0]];
 			var type = arr[1];
			var len = arr[2];
			var name = arr[3];

 
				if(!valid(element.value,type,element,len)){
					$(element).removeClass('rfield');
					$(element).addClass('rfield');
					$('#log').html($('#log').html()+$(element).attr('name')+' '+args[i]+'<br>');
					error +='error';
				}else{
					$(element).removeClass('rfield');
				}
			}
		if(error != ""){
			$("#error").show();
			document.formSubmit = false;
			return false;
		}else{
			document.formSubmit = true;
			return true;
		}

	}

    arrayIsKey = function(){
      for(i in this){
        if(i === arguments[0])
          return true;
      };
      return false;
    };

    arrayIsNotArray = function() {
        //alert( this.constructor.toString());
        return (this.constructor.toString().indexOf("Array") == -1)
    }



	function valid(value,type,element,len){

		if(value == "")
			return false;

		if(len > 0 &&  value.length < len)
			return false;

        elems = type.split(":");
        if(!elems.isNotArray()) {
            type = elems[0];
            var minval = elems[1];
            if(elems.length >= 3) {
                var maxval=elems[2];
            } 
        }
		switch(type){
			case "int":
				if(isNaN(parseInt(value)))
					return false;
				break;
            case "intgt":
                var val = parseInt(value);
                if(isNaN(val)) return false;
                if(val < minval) return false;
                break;
			case "float":
				if(isNaN(parseFloat(value)))
					return false;
				break;
            case "floatgt":
                var val = parseFloat(value);
                if(isNaN(val)) return false;
                if(val < minval) return false;
                break;
            case "floatgtlt":
                var val = parseFloat(value);
                if(isNaN(val)) return false;
                // note minval is actualy a max val here
                if(val < minval) return false;
                if(val > maxval) return false;
                break;
			case "email":
				var valid_mail = /^[a-z0-9._-]+@[a-z0-9A-ZßüäöÄÖÜ.-]+\.[a-z]{2,4}$/i;
				if(value.search(valid_mail) == -1)
					return false;
				break;
			case "url":
				var valid_url = /^(https?|ftp):\/\/([a-z0-9._-]+:[a-z0-9._-]+@)?[a-z0-9A-ZßüäöÄÖÜ#._\/~% -]+(\?([a-z0-9_-]+(=[a-zA-Z0-99ßüäöÄÖÜ+%?_-]+&?)?)*)?$/i;
				if(value.search(valid_url)== -1)
					return false;
				break;
			case "checked":
				if(!element.checked)
					return false;
				break;
		}
		return true;
	}

	function test(str){
		alert(str);
	}

	function getDiv(id){
	 return document.getElementById(id);
	}

	function setDivVisible(div_id, visible){
	  div = getDiv(div_id);
	  if (isDefined(div)){
		 div.style.visibility = visible? "visible":"hidden";
	  }
	}
	function setDivText(div_id, text){
	  div = getDiv(div_id);
	  if (isDefined(div)){
		 div.innerHTML=text;
	  }
	}
	function showError(idName, text){
	   setDivVisible(idName, true);
	   setDivText(idName, text);
	}
	function isDefined(variable){
		if (variable == null) return false;
		return (typeof(variable) == "undefined")?  false: true;
	}

	function searchValue(val, res, type){
		elem = document.getElementById(val);
		if (isDefined(elem)){
			elem2 = document.getElementById(res);
			if (isDefined(elem2)){
				elem2.value = '';
				fillValue(val, res, type);
			}
		}
	}

	function fillValue(val, res, type){
		elem = document.getElementById(val);
		if (isDefined(elem)){
			elem2 = document.getElementById(res);
			if (isDefined(elem2)){
				if (elem2.value ==""){
					ajaxLoad(elem.value, res, type);
				}
			}
		}
	}

	function ajaxLoad(value, res, type){
		arr = {};
		link ='/lookup-'+type+'2name/'+value;
		$.get(link, arr, function(data){ valueLoaded(data, res);} );
	}

	function valueLoaded(data, res){
		//alert('here with '+data+' ['+res+']');
		$('#'+res).attr('value', data);
		res= "#"+res+"icon";
		$(res).css({border:'1px solid blue'});
		$(res).css({border:'2px solid blue'});
		$(res).css({border:'3px solid blue'});
		$(res).css({border:'0px'});
		//$(res).animate({border:'0px solid blue'}, "slow");
	}

var isNN =  (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input, e) {
len = input.maxLength;
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}

var lastHighlited=null;
function rowsHighlight(){
	$('div[@class="row"] input').each(function (i) {
		$(this).focus(function (){
			if ($(this).attr('type')=="submit") return;
			fparent = $(this).parent().get(0);
			dparent = $(fparent).parent().get(0);
			div2hi = dparent;
			if ((!(div2hi==lastHighlited)) && lastHighlited!=null){
				lh = $(lastHighlited);
				lh.attr('class', 'row');
			}
			$(div2hi).attr('class', 'rowhl');
			lastHighlited = div2hi;
		});
	});
	$('#buttonBack').mouseover(function(){
		$(this).attr('class', 'subzhl');
	});
	$('#buttonBack').mouseout(function(){
		$(this).attr('class', 'subz');
	});
	$('#buttonNext').mouseover(function(){
		$(this).attr('class', 'subwhl');
	});
	$('#buttonNext').mouseout(function(){
		$(this).attr('class', 'subw');
	});
}


