/* calculator functions go here */


/* ORG

/* NOT NEEDED? FROM ORG INNO CODE...
function changeVisibility(id,onoff) {
  if (onoff == 0){
      document.getElementById(id).style.display = "block";
  } else {
    document.getElementById(id).style.display = "none";
  }
}
*/

function calc_alter(datum1,datum2) {

	var Datumstring1=new Array();
	var Datumstring2=new Array();
	Datumarr1=datum1.split(".");
	Datumarr2=datum2.split(".");

  a = parseInt(Datumarr1[2]);
  b = parseInt((Datumarr1[1])-1);
  c = parseInt(Datumarr1[0]);
  //d = parseInt(document.form1.stunden.value);
  //e = parseInt(document.form1.minuten.value);
  f = new Date(a,b,c);
  
  a2 = parseInt(Datumarr2[2]);
  b2 = parseInt((Datumarr2[1])-1);
  c2 = parseInt(Datumarr2[0]);
  
  g = new Date(a2,b2,c2);
  
  // minuten = g.getMinutes()-f.getMinutes();
  // stunden = g.getHours()-f.getHours();
  tage = g.getDate()-f.getDate();
  monate = g.getMonth()-f.getMonth();
  jahre = g.getYear()-f.getYear();
  
  // if(minuten<0){minuten = 60+minuten; stunden--;}
  // if(stunden<0){stunden = 24+stunden; tage--;}
  // if(tage<0){tage = 30+tage; monate--;}

  if(monate<0){monate = 12+monate; jahre--;}
  if(jahre > 2000){jahre = jahre-2000}
  if(jahre > 1900){jahre = jahre-1900}

  return (jahre);
}




/*FORM ACTIONS*/      
var form_name = 'requestForm';
var inc_path = '';

function Insert() {
  var theForm = document.getElementById(form_name);
  theForm.verkehrsrechtsschutz.value ="0";
	theForm.sb.value ="0";
	theForm.tgru.value ="0";
}

function xmlhttpPost(strURL,plfunc,plarg,evalcode) {

  new Ajax(strURL, { method: 'post', data: '',
    onComplete: function() {
      ajaxF1Return(this.transport.responseText,evalcode);
    }
  }
  ).request();
}

function ajaxF1(evalcode){
  
  var theForm = document.getElementById('requestForm');
  var plarg;
	var wert1; var wert2; var wert3; var wert4;
  
	
  // dropdown
  wert1=document.getElementById('verkehrsrechtsschutz').value;

  // checkboxen
  // bez=document.getElementById('arg2').name;
  if (theForm.privatberufs[0].checked==true) { wert2=1; } else { wert2=0; }
  if (theForm.wohnungselbst[0].checked==true) { wert3=1; } else { wert3=0; }
  if (theForm.wohnungverm[0].checked==true) { wert4=1; } else { wert4=0; }

  plarg =   '&arg1=' + '' +
            '&arg2=' + 'RES' +
          	'&arg3=' + '1' + 
          	'&arg4=' + 'B7E6FF' +
          	'&arg5=' + 'efefef' +
          	'&arg6=' + 'https%3A%2F%2Fssl.innosystems.net%2Fkundenobjekte%2F286-Css.css' +
          	'&wert1=' + wert1 +
          	'&wert2=' + wert2 +
          	'&wert3=' + wert3 +
          	'&wert4=' + wert4 + 
            '&session=26042806105033' +
            '&user=PRESSE03' +
            '&template=st_res';
      
  plarg = plarg.replace(/&/g,'__AANNDD__');
  plarg = plarg.replace(/=/g,'__EEQQUUAALL__');
  
  xmlhttpPost('../rs/templates/html/master/php/calcdynform.php?par='+plarg,0,0,evalcode);
}



function ajaxF1Return(output,evalcode) {
  
  //replace /vers/images link to ...///vers/images for lokal image existence
  
  //templates/html/master/img/calculator/
  
  output = output.replace(/\/vers\/images\//g,'..\/rs\/templates\/html\/master\/img\/calculator\/');
  document.getElementById("calcFormDynParams").innerHTML = output;
  
  //maybe comlpete cleanup of returned HTML!!!!!!!!!!!!!!!!
  //alert(output);
  
  if(evalcode) eval(evalcode);
}




klick = new Array();

function aufmachen(nummer,klickwert,name) {
  var idName = "lay" + name + nummer;
	if (name) {
	  var position=name + nummer;
	} else {
	  var position=nummer;
	}
  if (klickwert) { klick[position]=klickwert; }
  if (!klick[position]) {
    document.getElementById(idName).style.display = "block"; klick[position]=1;
  } else {
     document.getElementById(idName).style.display = "none"; klick[position]=0;
  }
}
      
      
function SmallWindow71(wintype) {
  SmallWin71=window.open(wintype,"SmallWin71","toolbar=no,directories=no,status=no,scrollbars=yes,menubar=yes,width=415,height=200");
  SmallWin71.window.focus();
}

function SmallWindow40(wintype) {
  SmallWin40=window.open(wintype,"SmallWin40","toolbar=yes,directories=no,status=no,scrollbars=yes,menubar=yes,width=620,height=490");
  SmallWin40.window.focus()
}
/*FORM ACTIONS*/  




  


/*FORM START/REQUEST*/
function formStart(orderfield,orderdir) {
  
  var theForm = document.getElementById(form_name);

  var checkOK = "0123456789-";
  var checkStr = theForm.anzahlfahrzeuge.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid) {
    alert("Geben Sie nur Ziffern in das Feld \"Anzahl Fahrzeuge\" ein.");
    theForm.anzahlfahrzeuge.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal <= "10")) {
    alert("Geben Sie einen Wert kleiner oder gleich \"10\" in das Feld \"Anzahl Fahrzeuge\" ein.");
    theForm.anzahlfahrzeuge.focus();
    return (false);
  }
  
  
  if ((theForm.verkehrsrechtsschutz.value == "0")&&(theForm.anzahlfahrzeuge.value >= "1")) {
    alert("Fahrzeuge können nur versichert werden wenn Verkehrsrechtsschutz gewählt wurde!");
    theForm.anzahlfahrzeuge.focus();
    return (false);
  }
  
  if ((theForm.verkehrsrechtsschutz.value == "1")&&(theForm.anzahlfahrzeuge.value > "1")) {
    alert("Bei Auswahl 1 auf den VN zugelassenes Fahrzeug kann nur 1 KFZ versichert werden");
    theForm.anzahlfahrzeuge.focus();
    return (false);
  }  
  
  if (theForm.anzahlobjekte.value > "3") {
    alert("Es koennen maximal 3 vermietete Wohneinheiten berechnet werden");
    theForm.anzahlobjekte.focus();
    return (false);
  } 
  

  var checkOK = "0123456789-";
  var checkStr = theForm.anzahlobjekte.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  
  if (!allValid) {
    alert("Geben Sie nur Ziffern in das Feld \"Anzahl der Objekte\" ein.");
    theForm.anzahlobjekte.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.Bruttojahresmietwert1Objekt.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  
  if (!allValid) {
    alert("Geben Sie nur Ziffern in das Feld \"Anzahl der Objekte\" ein.");
    theForm.Bruttojahresmietwert1Objekt.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal <= "500000")) {
    alert("Geben Sie einen Wert kleiner oder gleich \"500000\" in das Feld \"Anzahl der Objekte\" ein.");
    theForm.Bruttojahresmietwert1Objekt.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.Bruttojahresmietwert2Objekt.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
    
    if (ch == checkOK.charAt(j))
      break;
        
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  
  if (!allValid) {
    alert("Geben Sie nur Ziffern in das Feld \"Anzahl der Objekte\" ein.");
    theForm.Bruttojahresmietwert2Objekt.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal <= "500000")) {
    alert("Geben Sie einen Wert kleiner oder gleich \"500000\" in das Feld \"Anzahl der Objekte\" ein.");
    theForm.Bruttojahresmietwert2Objekt.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.Bruttojahresmietwert3Objekt.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  
  if (!allValid) {
    alert("Geben Sie nur Ziffern in das Feld \"Anzahl der Objekte\" ein.");
    theForm.Bruttojahresmietwert3Objekt.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal <= "500000")) {
    alert("Geben Sie einen Wert kleiner oder gleich \"500000\" in das Feld \"Anzahl der Objekte\" ein.");
    theForm.Bruttojahresmietwert3Objekt.focus();
    return (false);
  }
  
  startRequest(orderfield,orderdir);
  
  window.location.href = '#calcScroller';
}

function startRequest(orderfield,orderdir) {
  
  var request = '../admin/forward.php?forward=../rs/templates/html/master/php/calcrequestform.php&rPath=/cgi-bin/vers2002/rechtsschutz.pl&skipclasses=1';
  if(orderfield && orderfield != '') {
    request += '&orderField='+orderfield;
  }
  if(orderdir && orderdir != '') {
    request += '&orderDir='+orderdir;
  }
  
  //Insert here 'waiting...' code
  $('requestResults').setHTML('<div id=\'calcLoading\'><img src=\'templates/html/master/img/calculator/loading.gif\' border=\'0\' /></div>');
  $('requestResults').style.textAlign = 'center';
  $('calcLegend').style.display = 'none';
  
  new Ajax(request, {
    method: 'post', data: $(form_name),
    onComplete: function() {
      
      //debug response
      //alert(this.transport.responseText);
      
      $('resultsTable').style.display = 'block';
      //uncomment if lgend is show under results
      $('calcLegend').style.display = 'block';
      $('requestResults').setHTML(this.transport.responseText);
    }
  }
  ).request();
}
/*FORM START/REQUEST*/





/*FORM SORT */

function sortAjaxCalcResults(field,dir) {
  formStart(field,dir);
}



/*FORM SORT */




  
  
/*FROM INIT/UPDATE --- NOT NEEDED IN FRONTEND CALCULATOR; AT THE MOMENT... */
/* NO!!! i just do it now */

function formInitEmpty() {
  ajaxF1();
  var mad = document.getElementById('id_maindiv');
  var ind = document.getElementById('id_infodiv');
  if(mad && ind) {
    mad.style.visibility = 'visible';
    mad.style.display = 'block';
    ind.style.display = 'none';
  }
}

/*function formInitEmpty_2() {
  aufmachen(5,'','');
  var check_1 = document.getElementsByName('rubrik5');
  if(check_1 && check_1.length == 1 && check_1[0]) {
    check_1[0].checked="checked";
  }
}*/

function formInit() {
  formUpdateValue(1);
}

function formInit2() {
  formUpdateValue(2);
}

function formUpdateValue(run) {
  var pRObj = document.getElementById('rs_CdinsurancecalcitemRequest');
  var theForm = document.getElementById(form_name);
  
  if(pRObj && theForm) {
    pRVal = pRObj.innerHTML;
    pRValArr = pRVal.split('&amp;');
    
    for(var i=0; i<pRValArr.length; i++) {
      if(pRValArr[i] != '') {
        var tVar = pRValArr[i].split('=');
        
        var tObj = null;
        if(!tObj) {
          tObj = $(tVar[0]);
        }
        
        var pO = tObj;
        if(tObj && tObj != 'undefined' && tObj != 'unknown') {
          //..
        } else {
          try{
            tObj = $(form_name).getElements('[name$='+tVar[0]+']');
          } catch(e) {
          }
          if(tObj) tObj = tObj[0];
        }
        
        if(tObj && tObj != 'undefined' && tObj != 'unknown') {
          
          var doS = tObj.getProperty('type');
          if(!doS) {
            doS = tObj.tagName;
          }
          if(!doS) {
            doS = tObj.getProperty('name');
          }
          
          if(typeof(doS) == 'object') {
            doS = doS.toString();
          }
          
          switch(doS) {
            case 'SELECT':
            case 'hidden':
            case 'text':
              if(tObj.options) { 
                for(var j=0; j<tObj.options.length; j++) {
                  if(tObj.options[j].value == tVar[1]) {
                    tObj.selectedIndex = j;
                  }
                }
              } else {
                tObj.setProperty('value',tVar[1]);
              }
            break;
            case 'checkbox':
              tObj.checked = true;
              tObjF = tObj.getProperty('onclick');
              if(tObjF) {
                eval(tObjF);
              }
            break;
            case 'radio':
              
              var o1 = eval('theForm.'+tVar[0]+'[0]');
              var o2 = eval('theForm.'+tVar[0]+'[1]');
              
              if(o1 && o2) {
                
                if(tVar[1] == 1) {
                  o1.checked = true;
                  o2.checked = false;
                } else {
                  o1.checked = false;
                  o2.checked = true;
                }
              }
              
              if(run == 1) {
                tObjF = tObj.getProperty('onclick');
                if(tObjF) {
                  eval(tObjF);
                }
              }
            break;
            default:
              if(tObj.options) { 
                for(var j=0; j<tObj.options.length; j++) {
                  if(tObj.options[j].value == tVar[1]) {
                    tObj.selectedIndex = j;
                  }
                }
              } else {
                tObj.setProperty('value',tVar[1]);
              }
            break;
          }
        } else {
        }
      }
    }
  }
  if(run == 1) {
    window.setTimeout('formInit2()',5000);
  } else {
    
    //set date to current
    var d = new Date();
    //alert(d.getFullYear() + " - " + d.getMonth() + " - " + d.getDate());
    
    //day - VersicherungsbeginnTag
    var dD = $('VersicherungsbeginnTag');
    if(dD) {
      dD.selectedIndex = (d.getDate() - 1);
    }
    
    //month - VersicherungsbeginnMonat
    var dM = $('VersicherungsbeginnMonat');
    if(dM) {
      dM.selectedIndex = (d.getMonth() + 1);
    }
    
    //year - VersicherungsbeginnJahr
    var dY = $('VersicherungsbeginnJahr');
    if(dY) {
      for(var i = 0; i < dY.options.length; i++) {
        if(dY.options[i].value == d.getFullYear()) {
           dY.selectedIndex = i;
           break;
        }
      }
    }

    
    var mad = document.getElementById('id_maindiv');
    var ind = document.getElementById('id_infodiv');
    if(mad && ind) {
      mad.style.visibility = 'visible';
      mad.style.display = 'block';
      ind.style.display = 'none';
    }
  }
}
/* FROM INIT/UPDATE */
