﻿//VERSION number=2 
function ShowOptions()
{
    ShowModalBackground();//pokazanie tla
    ShowWaitIcon();
    CentroDigitalNETVB.CDK.GetOptionsContainer(userID,ShowOptionsContainer_callback) //pobranie kontenera opcji
}

function HideOptions()
{
HideModalBackground();
HideModalPanel();
}

function ShowOptionsContainer_callback(result)
{
 $get('modalContent').innerHTML  = result.Content;
 if ((loginDataObject.UseExternalCart == true)&& (loginDataObject.UseExternalCart_API_SET==true))
    $get('wkorb').style.display="none";
     switch (result.Type)
    {
        case "User" : GetWorkshopContainer(); break;
        case "Root" : GetUserContainer(); break;
        case "BG"   : GetUserContainer(); break;
    }
}

function GetUserContainer()
{
    BoldPosition(benutz);
    CentroDigitalNETVB.CDK.GetUserOptionsContainer(userID,GetUserContainer_callback)
}

function GetWorkshopContainer()
{
    BoldPosition(stamm);
    CentroDigitalNETVB.CDK.GetWorkshopOptionsContainer(userID,GetWorkshopContainer_callback)
}

function GetCartContainer()
{
    BoldPosition(wkorb);
    CentroDigitalNETVB.CDK.GetCartOptionsContainer(userID,GetCartContainer_callback)
}



function GetUserContainer_callback(result)
{
    $get('settingsContent').innerHTML  = result;
    if ($get('WebShopUserName') )
        WebshopUseChanged($get('WebShopUse'))
  
    ShowModalPanel();//pokazanie wszystkiego
    HideWaitIcon();
}

function GetWorkshopContainer_callback(result)
{
    $get('settingsContent').innerHTML  = result;
    ShowModalPanel();//pokazanie wszystkiego
    HideWaitIcon();
}

function GetCartContainer_callback(result)
{
    $get('settingsContent').innerHTML  = result;
    if ($get('ExtCartUse'))
        ExternalCartUseChanged($get('ExtCartUse'));
    ShowModalPanel();//pokazanie wszystkiego
    HideWaitIcon();
}


function SaveBGUserOptions(uid,wid)
{
if (BeforeSaveUserOptions())
    {
                //$get('usersavebtn').disabled = true;
                var wuser = new CentroDigitalNETVB.UserStructs.Workshop.WorkshopUser();
                wuser.WUserFirstName = $get('wuserfirstname').value;
                wuser.WUserLastName = $get('userlastname').value;
                wuser.WUserName = $get('username').value;
                wuser.WUserPassword = $get('userpassword').value;
                wuser.WUserPrefix = 'Herr';
                if ($get('wuserprefixf').checked) wuser.WUserPrefix = "Frau";
                wuser.WorkshopId = wid;
                wuser.WUserId = uid;
                
                
               var wosuser = null;
               if ($get('wosId') != null)
               {
                wosuser = new CentroDigitalNETVB.Interfaces.OrderSystem.OrderSystemUserData();
                wosuser.OSId = $get('wosId').value;
                wosuser.OSUserId = uid;
                wosuser.OSUserName = $get('wosusername').value;
                wosuser.OSUserPassword = $get('wosuserpassword').value;
               }
               var changedPass = (($get('userpasswordHidden').value != $get('userpassword').value));
              
               var webshopuser = null;
               var webshopPass = null;
               var useWebshop = false;
                
               if ($get('WebShopUserName') )
                {
                    useWebshop= $get('WebShopUse').checked;
                    webshopuser= $get('WebShopUserName').value;
                    webshopPass= $get('WebShopUserPassword').value;
                }
    
                if (loginDataObject.UseWebshop_API_SET == false)
                {
                    CentroDigitalNETVB.WebShopProvider.GetEncodedData(webshopuser,webshopPass,GetEncodedData_succ)
                }
    
               CentroDigitalNETVB.CDK.SaveBGUserOptions(wuser,wosuser, changedPass,useWebshop, webshopuser, webshopPass, SaveUserOptions_sucedded, ErrorHandler)
    
    
    }
}




function SaveUserOptions(uid,wid)
{
if (BeforeSaveUserOptions())
    {
                //$get('usersavebtn').disabled = true;
                var wuser = new CentroDigitalNETVB.UserStructs.Workshop.WorkshopUser();
                wuser.WUserFirstName = $get('wuserfirstname').value;
                wuser.WUserLastName = $get('userlastname').value;
                wuser.WUserName = $get('username').value;
                wuser.WUserPassword = $get('userpassword').value;
                wuser.WUserPrefix = 'Herr';
                if ($get('wuserprefixf').checked) wuser.WUserPrefix = "Frau";
                wuser.WorkshopId = wid;
                wuser.WUserId = uid;
                
                
               var wosuser = null;
               if ($get('wosId') != null)
               {
                wosuser = new CentroDigitalNETVB.Interfaces.OrderSystem.OrderSystemUserData();
                wosuser.OSId = $get('wosId').value;
                wosuser.OSUserId = uid;
                wosuser.OSUserName = $get('wosusername').value;
                wosuser.OSUserPassword = $get('wosuserpassword').value;
               }
               var changedPass = (($get('userpasswordHidden').value != $get('userpassword').value));
              
               var webshopuser = null;
               var webshopPass = null;
               var useWebshop = false;
                
               if ($get('WebShopUserName') )
                {
                    useWebshop= $get('WebShopUse').checked;
                    webshopuser= $get('WebShopUserName').value;
                    webshopPass= $get('WebShopUserPassword').value;
                }
    
                if (loginDataObject.UseWebshop_API_SET == false)
                {
                    CentroDigitalNETVB.WebShopProvider.GetEncodedData(webshopuser,webshopPass,GetEncodedData_succ)
                }
    
               CentroDigitalNETVB.CDK.SaveUserOptions(wuser,wosuser, changedPass,useWebshop, webshopuser, webshopPass, SaveUserOptions_sucedded, ErrorHandler)
    
    
    }
}

function GetEncodedData_succ(e)
{
    loginDataObject.WebshopUser = e.WebshopUser;
    loginDataObject.WebshopPass = e.WebshopPass;
}


function FocusMe(me)
{
 me.focus();
 me.select();
}


function BeforeSaveUserOptions()
{ 
        var OK = true;
        if ($get('wosusername'))
         {
            if ($get('wosusername').value!='')
            {
                if (!requiredFieldOK('wosuserpassword', 'Passwort',true)) OK = false; 
                if (!requiredFieldOK('wosuserpassword2', 'Passwort',true)) OK = false; 
                if (!passValid('wosuserpassword','wosuserpassword2' , true, true)) OK = false;
            }
         }
         
        if (($get('WebShopUserName'))&& $get('WebShopUse').checked)
         {
            if (!requiredFieldOK('WebShopUserName', 'Webshop Benutzerkennung',true)) OK = false;
            if (!requiredFieldOK('WebShopUserPassword', 'Webshop Passwort',true)) OK = false; 
            if (!requiredFieldOK('WebShopUserPassword2', 'Webshop Passwort',true)) OK = false; 
            if (!passValid('WebShopUserPassword','WebShopUserPassword2' , true, true)) OK = false;
         }
         
        
        
        if (!requiredFieldOK('userpassword', 'Passwort',true)) OK = false; 
        if (!requiredFieldOK('userpassword2', 'Passwort',true)) OK = false; 
        if (!passValid('userpassword','userpassword2' , true, true)) OK = false;
        if (($get('userpasswordHidden').value != $get('userpassword').value))
        if (!errorCharsValid('userpassword',OK)) OK=false;
        
                
        if (OK)
        {
        
        if (($get('WebShopUserName')))
         {
            ResetMessage('WebShopUserName');
            ResetMessage('WebShopUserPassword');
            ResetMessage('WebShopUserPassword2');
         }
        
        if ($get('wosusername'))
         {
             ResetMessage('wosuserpassword');
             ResetMessage('wosuserpassword2');
             ResetMessage('wosusername');
          }
        ResetMessage('userpassword');
        ResetMessage('userpassword2');
        }
        return OK;
}


function WebshopUseChanged(element)
{
loginDataObject.UseWebshop = element.checked;
$get('WebShopUserName').disabled = !element.checked;
$get('WebShopUserPassword').disabled = !element.checked;
$get('WebShopUserPassword2').disabled = !element.checked;
if (loginDataObject.UseWebshop == true)
 {
    if ($get('GetWebshopArticleInfo_btn'))
        $get('GetWebshopArticleInfo_btn').style.display = "inline";
    if ($get('GetWebshopAllArticleInfo_btn'))
        $get('GetWebshopAllArticleInfo_btn').style.display = "inline";
 }
 else
 {
  if ($get('GetWebshopArticleInfo_btn'))
        $get('GetWebshopArticleInfo_btn').style.display = "none";
    if ($get('GetWebshopAllArticleInfo_btn'))
        $get('GetWebshopAllArticleInfo_btn').style.display = "none";
 }
}

function ExternalCartUseChanged(element)
{
loginDataObject.UseExternalCart = element.checked;
$get('ExtCartUrl').disabled = !element.checked;
$get('param1').disabled = !element.checked;
$get('param2').disabled = !element.checked;
$get('param3').disabled = !element.checked;
$get('param4').disabled = !element.checked;
$get('param5').disabled = !element.checked;

if(element.checked == true)
 $get('cart_button').style.display = 'none';
 else
  $get('cart_button').style.display = 'inline';
}

function SaveRootOptions(uid,wid)
{
if (BeforeSaveRootOptions())
    {
         var wuser = new CentroDigitalNETVB.UserStructs.Workshop.WorkshopUser();
         wuser.WUserName = $get('username').value;
         wuser.WUserPassword = $get('userpassword').value;
         var changedPass = (($get('userpasswordHidden').value != $get('userpassword').value));
         CentroDigitalNETVB.CDK.SaveUserOptions(wuser,null, changedPass, SaveUserOptions_sucedded)
    }

 
}


function BeforeSaveRootOptions()
{ 
        var OK = true;
        if (!requiredFieldOK('userpassword', 'Passwort',true)) OK = false; 
        if (!requiredFieldOK('userpassword2', 'Passwort',true)) OK = false; 
        if (!passValid('userpassword','userpassword2' , true, true)) OK = false;
    
        if (OK)
        {
        ResetMessage('userpassword');
        ResetMessage('userpassword2');
       }
        
        return OK;
}



function SaveWorkshopSettings(wid)
{
    //$get('saveworkshopbtn').disabled = true;
    var w = new CentroDigitalNETVB.UserStructs.Workshop.Workshop();
    //wszystkie zmienne do w
    w.WorkshopId = wid;
    w.WorkshopName = $get('wname').value;
    w.Country = $get('country').value;
    land = w.Country;
    loginDataObject.land = w.Country;
    w.Street = $get('street').value;
    w.PostCode = $get('postcode').value;
    w.City = $get('city').value;
    w.Telefon = $get('telefon').value;
    w.Telefax = $get('telefax').value;
    w.MobilePhone = $get('mobile').value;
    w.Email = $get('email').value;
    w.Email2 = $get('email2').value;
    w.UseAlternativeEmail = true;
    if ($get('useemail').checked)
    {
        w.UseAlternativeEmail = false;
    }
    w.WWW = $get('www').value;
   CentroDigitalNETVB.CDK.SaveWorkshopOptions(w, SaveWorkshopSettings_sucedded);
}


function SaveBGSettings(wid)
{
    //$get('saveworkshopbtn').disabled = true;
    var w = new CentroDigitalNETVB.UserStructs.BG.BG();
    w.BGId = wid;
    w.BGName = $get('wname').value;
    w.Country = $get('country').value;
    w.Street = $get('street').value;
    land = w.Country;
    loginDataObject.land = w.Country;
    w.PostCode = $get('postcode').value;
    w.City = $get('city').value;
    w.Telefon = $get('telefon').value;
    w.Telefax = $get('telefax').value;
    w.MobilePhone = $get('mobile').value;
    w.Email = $get('email').value;
    w.Email2 = $get('email2').value;
    w.UseAlternativeEmail = true;
    if ($get('useemail').checked)
    {
        w.UseAlternativeEmail = false;
    }
    w.WWW = $get('www').value;
   CentroDigitalNETVB.CDK.SaveBGOptions(w, SaveBGSettings_sucedded);
}


function SaveCartOptions(wid)
{
clearCartAfterCategoryChange = false; //global z cd.js
var bool1 = false;
if ($get('ClearCartAfterLogin').checked)
    {
        bool1 = true;
    }
    
var bool2 = false;
if ($get('ClearCartAfterCategoryChange').checked)
    {   clearCartAfterCategoryChange = true;
        bool2 = true;
    }

var bool3 = false;
if ($get('PrintProducerName').checked)
    {
        bool3 = true;
    }    
    
    var extCartuse = false;
    
if ($get('ExtCartUse'))
    {
        var bool4 = false;
        bool4 = $get('ExtCartUse').checked;
        CentroDigitalNETVB.CDK.SaveCartOptions(bool1,bool2,bool3,bool4,$get('ExtCartUrl').value,$get('param1').value,$get('param2').value,$get('param3').value,$get('param4').value,$get('param5').value, SaveCartOptions_sucedded);
    }  
    else   
       CentroDigitalNETVB.CDK.SaveCartOptions(bool1,bool2,bool3,false,'','','','','','', SaveCartOptions_sucedded);
}

function SaveWorkshopSettings_sucedded()
{
    alert("Die Änderungen wurden gespeichert.");
}

function SaveSettings_sucedded()
{
    alert("Die Änderungen wurden gespeichert.");
}

function SaveBGSettings_sucedded()
{
    alert("Die Änderungen wurden gespeichert.");
}
   
function SaveUserOptions_sucedded()
{
    alert("Die Änderungen wurden gespeichert.");
}

function SaveCartOptions_sucedded()
{
    alert("Die Änderungen wurden gespeichert.");
}



/*###############################################################################################
 *#    POMOCNICZE                                                                               #
 *###############################################################################################
 */
 
 var OptionsClearString = "stamm benutz wkorb"
 var  stamm = "stamm" ;
 var  benutz = "benutz" ;
 var  wkorb = "wkorb" ;
 var forceShowBackGround = false;
 var forceShowWait = false; 


function ForceShowModalBackground()
{
    forceShowBackGround = true;
    $get('modalBackground').style.display = '';
}

function ShowModalBackground()
{
 $get('modalBackground').style.display = '';
}

function HideModalBackground()
{
    if (forceShowBackGround != true)
        $get('modalBackground').style.display = 'none';
}

function ForceHideModalBackground()
{
    forceShowBackGround =false;
    $get('modalBackground').style.display = 'none';
}



function ForceShowWaitIcon()
{
 deselecttext();
 forceShowWait = true;
 $get('fullwaitPanel').style.display = '';
 $get('waitPanel').style.display = 'none';
}

function ShowWaitIcon()
{
 deselecttext();
 $get('fullwaitPanel').style.display = '';
 $get('waitPanel').style.display = 'none';
}

function ShowDblWaitIcon()
{
 deselecttext();
 $get('waitPanel').style.display = '';
 $get('fullwaitPanel').style.display = 'none';
}


function ForceHideWaitIcon()
{
  forceShowWait = false;
  if ($get('waitPanel'))
    $get('waitPanel').style.display = 'none';
  if ($get('fullwaitPanel'))
    $get('fullwaitPanel').style.display = 'none';
}


function HideWaitIcon()
{
 if (forceShowWait != true) 
    {
     if ($get('waitPanel'))
        $get('waitPanel').style.display = 'none';
     if ($get('fullwaitPanel'))
        $get('fullwaitPanel').style.display = 'none';
    }
}


function ShowModalPanel()
{
 $get('modalPanel').style.display = '';
}

function HideModalPanel()
{
    $get('modalPanel').style.display = 'none';
}

function Wait()
{
 ShowWaitIcon();
 document.body.style.cursor = 'wait';
}

function DblWait()
{
 ShowDblWaitIcon();
 document.body.style.cursor = 'wait';
}

function ForceWait()
{
 ForceShowWaitIcon();
 document.body.style.cursor = 'wait';

}

function NoWait()
{
   HideWaitIcon();
   document.body.style.cursor = 'default';
}

function ForceNoWait()
{
   ForceHideWaitIcon();
   document.body.style.cursor = 'default';
}

function WaitTreeRequest()
{
if (lastTreeFindRequest!=null)
    { 
        ShowWaitIcon();
        document.body.style.cursor = 'wait';
    }
}

/*###############################################################################################
 *#    WALIDATOR                                                                                #
 *###############################################################################################
 */
function containsErrorChars(testString)
{
    var test = new String(testString);
       
       for (i=0;i<test.length;i++ )
          for (ii=0;ii<forbiddenChars.length;ii++ )
                if (forbiddenChars.charAt(ii)==test.charAt(i))   return true;
    return false;
}


function errorCharsValid(field,OK)
{
    if (containsErrorChars($get(field).value)==true)
    {
        if (OK) $get(field+'v').innerHTML = '<BR>Das Passwort muss not contanin Zeichen like \"'+ forbiddenChars +'\"';
        
        return false
    }
    else
        $get(field+'v').innerHTML = "";
    
    return true
}

function passValid(field1, field2 ,show1, show2)
{
    if ($get(field1).value != $get(field2).value) 
    {
        if (show1) 
        $get(field1+"v").innerHTML = "Falsches Passwort"
        
        if (show2) 
        $get(field2+"v").innerHTML = "Falsches Passwort"
  
        return false
    }
       return true;
}


function requiredFieldOK(field, fieldname,clearAfter)
{
 
 if ( $get(field).value.length == 0 ) 
 {
   $get(field+'v').innerHTML =  fieldname + " erforderlich";
   return false;
 }
 else
 {
  if (clearAfter)
   $get(field+'v').innerHTML = '';
   
   return true;
 }
}


function ResetMessage(field)
{
 $get(field+'v').innerHTML =  "";
}


function assignClass(fielsd,classes)
{
    var str = new String();
    str = fielsd;
    var ar = new Array();
    ar =  str.split(' '); 
    for (i in ar)
        {
            //var el = $get(ar[i]).setAttribute('class',classes);
            if ($get(ar[i]) != null)
                    $get(ar[i]).className = classes;
        }
   
}


function BoldPosition(posName)
{
  assignClass(OptionsClearString,"pointer");
  assignClass(posName,"pointer bold");
}

//############################################################################################################
//###            SEKCJA ERROR FORMY              #############################################################
//############################################################################################################

function LoadContainer(param)
{


   ShowModalBackground();
   Wait();
if ($get('navCar').innerHTML!='')
   CentroDigitalNETVB.CDK.GetErrorForm(param.userID,param.art_id,param.car_id,0,param.land,param.BGnr,param.bNkw,LoadContainer_succeed);
else
   CentroDigitalNETVB.CDK.GetErrorForm(param.userID,param.art_id,0,0,param.land,param.BGnr,param.bNkw,LoadContainer_succeed);
} 

function LoadContainer_succeed(result)
{
    
    $get("ErrorFormContent").innerHTML = result;
    var systemString = window.navigator.userAgent ;
    $get("systemVersion").value = systemString;
    $get("ErrorFormContener").style.display = "block";
    NoWait();
} 



function SendFax()
{
   var errorStruct = new CentroDigitalNETVB.Logic.ErrorForm.ErrorStruct();
   
            errorStruct.firma1 = $get('firma1').value;
            errorStruct.firma2 = $get('firma2').value;
            errorStruct.email = $get('email').value;
            errorStruct.street = $get('street').value;
            errorStruct.plz = $get('plz').value;
            errorStruct.ort = $get('ort').value ;
            errorStruct.ansprechpartner = $get('ansprechpartner').value  ;
            errorStruct.phone = $get('phone').value;
            errorStruct.fax = $get('fax').value ;
            errorStruct.bgnr = $get('bg_nr').value ;
           
            errorStruct.name =$get('hersteller').value + "-" + $get('modell').value + "-" + $get('typ').value  ;
            errorStruct.artnr = $get('artnr').value  ;
            errorStruct.capacity = $get('capacity').value ;
            errorStruct.hp = $get('hp').value ;
            errorStruct.kw = $get('kw').value ;
            errorStruct.cversion = $get('cversion').value ;
            errorStruct.systemVersion = $get('systemVersion').value ;
            errorStruct.fbe = $get('fbe').value ;
            errorStruct.losung = $get('losung').value ;
            errorStruct.baujahr = $get('baujahr').value ;
            errorStruct.today = $get('today').value ;
            errorStruct.kba = $get('kba').value;
            
            errorStruct.hrstNr =  $get('herstNr').value  
            errorStruct.hrstName = $get('herstName').value  
            
            
            
            var select_list_selected_index = $get('motorcode').selectedIndex;
            var motorcode = '';
            if (select_list_selected_index > -1 ) motorcode = $get('motorcode').options[select_list_selected_index].text;
            var engineCode = $get('motorcode').value
            errorStruct.motorcode = motorcode;
            errorStruct.engineCode = engineCode;
         
            errorStruct.ktypNr =  $get('ktypNr').value ;
            errorStruct.ntypNr = $get('ntypNr').value ;
            errorStruct.bedinung = $get('bedinung').checked ;
            errorStruct.inhalt = $get('inhalt').checked;
            
            
  Wait();
  CentroDigitalNETVB.CDK.SendFehlerFax(errorStruct,SendFax_succeed);
}

function SendFax_succeed(result){
    NoWait();
    if (result == true)
    {
       alert("Die Fehlermeldung wurde erfolgreich verschickt!");
       Close_onclick();
    }
    else
    {
       alert("Es ist ein  Kommunikationsfehler aufgetreten und Fehlermeldung wurde nicht versendet.");
    }
       
}    

function Close_onclick() {
 HideModalBackground();
 $get("ErrorFormContener").style.display = "none";
}

function Send_onclick() {
SendFax();
}

//function ShowWait()
//{
// $get('modalBackground').style.display = '';
// $get('waitPanel').style.display = '';
//}

//function HideWait()
//{
// $get('modalBackground').style.display = 'none';
// $get('waitPanel').style.display = 'none';
//}