﻿var ch,cm,ct,cre,vh,vm,vt,vre;
var current_car;





function GetCars(id,level)
{
 if (level>=3) car_id = id;
 Wait();
 CentroDigitalNETVB.CDK.GetCars(id, level,land,BGnr,bNkw,GetCars_suc);
}

function GetCarsName(id,level,name)
{

 switch(level)
 {
  case 1:
   SetHTML("producer",name);
   break;
  case 2:
   SetHTML("model",name);
   break;
  case 3:
   SetHTML("typ",name);
   car_id = id;
   break;
 }
 //Wait();
 SetHTML("pr","");
 CentroDigitalNETVB.CDK.GetCarsName(id, level,land,BGnr,bNkw,GetCars_suc);
}


var requestArray = new Array();

function GetCarFind(value)
{
UnTip();
if ((value !=null) && (value!="") && (value!= 'undefined'))
 {
 var id;
 
 if (typeof(value) === 'string')
 {  
    var a = new String;
    var ar = value.split("|");
    id = ar[0];
    var nkw = ar[1];
    if (bNkw != (nkw=='True'))
    NKWPKWChange();
}
else
{
    id = value;
}

 DblWait();
 var request = CentroDigitalNETVB.CDK._staticInstance.GetCarFind(-id,land,BGnr,bNkw,FindCars_suc,handleAborted);
 requestArray.push(request);
 
 }
 
}


function handleAborted(e,ee,eee)
{}


function Krit(nr)
{
 var obj = document.getElementById("pr");
 if ( obj != null )
 {
  var r;
  r="";
  for(var i=0;i<30;i+=1)
  {
   obj = document.getElementById("krit"+i);
   if ( obj != null ){
   
    r+=obj.getAttribute('name')+";";
    r+=obj.getAttribute('value')+";"
    r+=obj.checked;
    r+="$";
    }
  }
  Wait();
  CentroDigitalNETVB.CDK.GetArtsKrit(car_id, tree_id, einsp_nr, r, land, BGnr,bNkw,GetArts_suc);
 }
}

function RetToCars()
{
 Wait();
 art_id=0;
 CentroDigitalNETVB.CDK.GetCarFind(-car_id,land,BGnr,bNkw,FindCars_suc);
}

function RetCarsId(id)
{
 car_id=id

 Wait();
 CentroDigitalNETVB.CDK.GetCarFind(-car_id,land,BGnr,bNkw,FindCars_sucHideStckList);
}

function GetCars_suc(e)
{
  ClearHistory();
  UnTip();
  current_car = e;
 
 if ((ch > 0) && (e.HerId >0)) ch = RetId(ch,vh);
 if ((cm > 0) && (e.ModId >0)) cm = RetId(cm,vm);
 if ((ct > 0) && (e.TypId >0)) ct = RetId(ct,vt);
 if ((cre != 0) && (e.TypId >0)) cre = RetId(cre,vre);
 SetHTML("nf",e.nf);
 SetHTML("nr",e.nr);
 SetHTML("d",e.dt);
 SetHTML("ph",e.ph);
 SetHTML("pm",e.pm);
 SetHTML("pt",e.pt);
 SetHTML("pd",e.pd);
 SetHTML("pr",e.nc);
 if (e.Her > " ") SetHTML("producer",e.Her);
 if (e.Model > " ") SetHTML("model",e.Model);
 if (e.Typ > " ") SetHTML("typ",e.Typ);
 if (e.HerId >0) 
 {
  ch = e.HerId;
  vh = MarkId(ch);
 }
 if (e.ModId >0) 
 {
  cm = e.ModId;
  vm = MarkId(cm);
 }
 if (e.TypId >0) 
 {
  ct = e.TypId;
  vt = MarkId(ct);
  cre = -e.TypId;
  vre = MarkId(cre);
  if (car_id!=e.TypId)
  {
   car_id = e.TypId;
   tree_id=0;
  }
 } 
 SetHTML("navCar",GetHTML("producer")+" "+GetHTML("model")+" "+GetHTML("typ"));
 SetHTML("navTree"," ");
 if (e.nf>' ') FocusId('fcKbaNr');
  
  NoWait();
 
 
}
function FindCars_FindCarsSucc(e)
{
    SetHTML("nr",e.nr);
    SetHTML("pr",e.nc);
    FindCars_suc(e);
}



function FindCars_sucHideStckList(e)
{
 HideStckListeDetails();
 FindCars_suc(e);
}

function FindCars_suc(e)
{
ClearHistory();
UnTip();
current_car = e;
var noCarText = "<b><font color='red'>&nbsp;&nbsp;Kein Fahrzeug gefunden !</font></b>";
if ((e.HerId == 0) && (e.ModId == 0) && (e.TypId == 0))
{
    SetHTML("nr",e.nr);
    SetHTML("pr",noCarText);
}
else
{
 if ((ch > 0) && (e.HerId >0)) ch = RetId(ch,vh);
 if ((cm > 0) && (e.ModId >0)) cm = RetId(cm,vm);
 if ((ct > 0) && (e.TypId >0)) ct = RetId(ct,vt);
 if ((cre != 0) && (e.TypId >0)) cre = RetId(cre,vre);
 SetHTML("nf",e.nf);
 SetHTML("d",e.dt);
 SetHTML("ph",e.ph);
 SetHTML("pm",e.pm);
 SetHTML("pt",e.pt);
 SetHTML("pd",e.pd);
 
 
 
 if (e.Her > " ") SetHTML("producer",e.Her);
 if (e.Model > " ") SetHTML("model",e.Model);
 if (e.Typ > " ") SetHTML("typ",e.Typ);
 if (e.HerId >0) 
 {
  ch = e.HerId;
  vh = MarkScrollId(ch);
 }
 if (e.ModId >0) 
 {
  cm = e.ModId;
  vm = MarkScrollId(cm);
 }
 if (e.TypId >0) 
 {
  ct = e.TypId;
  vt = MarkScrollId(ct);
  cre = -e.TypId;
  vre = MarkId(cre);
  if (car_id!=e.TypId)
  {
   car_id = e.TypId;
   tree_id=0;
  }
 } 
 SetHTML("navCar",GetHTML("producer")+" "+GetHTML("model")+" "+GetHTML("typ"));
 SetHTML("navTree"," ");
 if (e.nf>' ') FocusId('fcKbaNr');
 }
 NoWait();
 
 HideWaitIcon();
}

function DetectEnterAndFind(e)
{
 var key;
 if(window.event)
 {
    key = e.keyCode;
  if (e.keyCode==13)
  {
  
   FindCars();
   return false;
  }
 }
 else if(e.which)
 {
    key = e.which;
  if (e.keyCode==13)
  {
   FindCars();
   return false;
  }
 }
// var keychar = String.fromCharCode(key);
// var allowed = "1234567890qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM";
// if ((allowed.indexOf(keychar) > -1))
//   return true;

// if ((key==null) || (key==0) || (key==8) || 
//    (key==9) || (key==13) || (key==27) )
//   return true;

 
 return true;
}

function KeyNatcode(e)
{
return DetectEnterAndFind(e);
}

function KeyCHKTyp(e)
{
return DetectEnterAndFind(e);
}

function KeyID(e)
{
return DetectEnterAndFind(e);
}



function restrictLength(event,object,length)
{
    var kba = new String(object.value);
    kba = kba.replace(/ /g, "");
    if (kba.length > length) 
        object.value = kba.substring(0,length);
        
}

function KeyKBA(e,object)
{
var key;
 if(window.event)
 {
  key = e.keyCode;
  if (e.keyCode==13)
  {
   FindCars();
   return false;
  }
 }
 else if(e.which)
 {
  key = e.which;
  if (e.keyCode==13)
  {
   FindCars();
   return false;
  }
 }
 var keychar = String.fromCharCode(key);
 var allowed = "1234567890qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM";
 if ((allowed.indexOf(keychar) > -1))
   return true;
   
   if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;


 return false;
}

function FormatKba(kbaString)
{
var kba = new String(kbaString);
kba = kba.replace(/ /g, "");
while (kba.length < 7)
    kba = "0" + kba;

return kba;
}

function FindCars()
{

 var clearHerModTyp = false;
 var clearKba = false;
 var clearChtyp = false;
 var clearNatcode = false;
 var clearIDNR = false;
 var searchField="";
 
 if ($get('fcIDNr'))
 {
   if ($get('fcIDNr').value.length > 0)
    {
      clearHerModTyp = true;
      searchField = $get('fcIDNr').value;
    }
 }
 
 
 if ($get('fcKbaNr'))
 {
    if ($get('fcKbaNr').value.length > 0)
    {       
        $get('fcKbaNr').value = FormatKba($get('fcKbaNr').value);
        searchField = $get('fcKbaNr').value;
        clearHerModTyp=true;
        clearChtyp = true;
        clearNatcode = true;
    }
 }
 
 if (($get("fcCHKTyp"))&& (clearChtyp == false)) 
     if ( $get('fcCHKTyp').value.length > 0 )
        {   
            searchField = $get('fcCHKTyp').value;
            clearHerModTyp=true;
            clearNatcode = true;
            clearKba = true;
        }
 
 
 if(($get("fcNatCode"))&& (clearNatcode == false)) 
     if ($get('fcNatCode').value.length > 0 )
        {
            searchField = $get('fcNatCode').value;
            clearHerModTyp=true;
            clearChtyp = true;
            clearKba = true;
        }
  
 if (clearHerModTyp == true)
 {
  $get("fcHer").value="";
  $get("fcMod").value="";
  $get("fcTyp").value="";
 }
 
 if (clearChtyp == true)
  if($get("fcCHKTyp"))  
    $get("fcCHKTyp").value="";
 
 if (clearNatcode == true)
   if($get("fcNatCode")) 
    $get("fcNatCode").value="";
 
 
 
 if ((searchField.length > 0) || ($get("fcHer").value.length > 0) ||($get("fcMod").value.length > 0)||($get("fcTyp").value.length > 0) )
  {  
    Wait();
    ShowWaitIcon();
    CentroDigitalNETVB.CDK.FindCars(searchField, $get("fcHer").value, $get("fcMod").value, $get("fcTyp").value, land, BGnr,bNkw,FindCars_FindCarsSucc);    
  }
  else
    alert("Bitte geben Sie ein Suchkriterium ein.");
}

var tempCarDet;
var cardetVisible = false;


function ShowCarDet()
{
if (!cardetVisible)
{
 tempCarDet = $get("nr").innerHTML;
 $get("nrl").innerHTML = "Fzg. details"
 SetHTML("pr",current_car.pd);
cardetVisible = true;
}
 else
{
 $get("nr").innerHTML =tempCarDet ;
cardetVisible = false; 
}

}


function HideCarDet()
{
    if (cardetVisible)
    {
    cardetVisible = false;
    $get("nr").innerHTML = tempCarDet ;
    }
}

function Erweitert()
{
  
 window.getSelection().removeAllRanges();

}

function ClearFindCars()
{
 if($get('fcKbaNr'))
    $get('fcKbaNr').value ="";
 if($get('fcCHKTyp'))
    $get('fcCHKTyp').value ="";
 if($get('fcNatCode'))
    $get('fcNatCode').value ="";
 if($get('fcIDNr'))
    $get('fcIDNr').value ="";
 $get("fcHer").value="";
 $get("fcMod").value="";
 $get("fcTyp").value="";
}



function GetCarHist(value)
{
 UnTip();    
 if (value!='')
 {
     Wait();
     var ktyp;
     if (typeof(value) === 'string')
         {  
            var a = new String;
            var ar = value.split("|");
            ktyp = ar[0];
            var nkw = ar[1];
            if (bNkw != (nkw=='True'))
                NKWPKWChange();
                CentroDigitalNETVB.CDK.GetIdFromKtyp(ktyp , land ,  BGnr, bNkw,GetCarIdForCarHist_succ,ErrorHandler);
        }
    }
    else
     $get('hisCar').selectedIndex=0;
}

function GetCarIdForCarHist_succ(e)
{
 var id = e;
 var request = CentroDigitalNETVB.CDK._staticInstance.GetCarFind(-id,land,BGnr,bNkw,FindCars_suc,handleAborted);
 requestArray.push(request);
}
 


