home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 September / Chip_2003-09_cd1.bin / tema / turbina / img / auScript.js next >
Encoding:
Text File  |  2003-07-31  |  15.0 KB  |  501 lines

  1. var g_oTiskWindow = null;
  2. var g_sVarSymbol  = "";
  3. var g_sKonstSymbol = "0308";
  4. var g_nCelkem  = 0;
  5. var g_nKusu    = 0;
  6.  
  7. var g_prod = new Array(
  8. "ManipulaΦnφ poplatek - dobφrka", 50,
  9. "ManipulaΦnφ poplatek - zßsilka", 20,
  10. "Program Autouniverzita - sleva 15% pro CHIP", 502,
  11. "Program Zbrojnφ pr∙kaz", 390,
  12. "Kolem kolem NovΘho ZΘlandu", 199
  13. );
  14.  
  15. function OutCell()
  16. {
  17.   var element = window.event.srcElement;
  18.   while(element.tagName != "TD") 
  19.     element = element.parentElement;
  20.   element.style.backgroundImage = "url(./img/tlac.gif)";
  21. }
  22.  
  23. function OverCell()
  24. {
  25.   var element = window.event.srcElement;
  26.   while(element.tagName != "TD") 
  27.     element = element.parentElement;
  28.   element.style.background = "url(./img/tlac_sel.gif)";
  29. }
  30.  
  31. function CheckObjednavkuPh()
  32. {
  33.   if (document.objednavka.Jmeno.value.length > 0 || document.objednavka.Firma.value.length > 0)
  34.   {
  35.     if (document.objednavka.Tel.value.length > 0 || 
  36.             document.objednavka.Fax.value.length > 0 || 
  37.             document.objednavka.Email.value.length > 0)
  38.       {      
  39.       SendObjednavkuPh();
  40.       return (true);
  41.       }
  42.     else
  43.     {
  44.       if (confirm('Nezadali jste telefon, fax ani e-mail. Chcete p°esto objednßvku odeslat?'))
  45.         {
  46.         SendObjednavkuPh();
  47.         return (true);
  48.         }
  49.       else
  50.         return(false);
  51.      }
  52.    } 
  53.    else 
  54.    {
  55.       alert ('Zadejte jmΘno nebo firmu!');
  56.       return (false);
  57.    }
  58. }
  59.  
  60. function SendObjednavkuPh()
  61. {
  62.   var sAction="mailto:info@turbina.cz"+"?";
  63.   sAction+="&Subject=Objednavka";
  64.   sAction+="&body=" + document.body.value;
  65.   document.objednavka.action=sAction;
  66. }
  67.  
  68.  
  69. function onPlatbaChanged(nIndex)
  70. {
  71.   switch(nIndex)
  72.   {
  73.     case 0:
  74.       idDobirka.className = "expanded";
  75.       idZaloha.className  = "collapsed";
  76.       idPrevod.className  = "collapsed";
  77.       break;
  78.     case 1:
  79.       idDobirka.className = "collapsed";
  80.       idZaloha.className  = "expanded";
  81.       idPrevod.className  = "collapsed";
  82.       break;
  83.     case 2:
  84.       idDobirka.className = "collapsed";
  85.       idZaloha.className  = "collapsed";
  86.       idPrevod.className  = "expanded";
  87.       break;
  88.   }
  89. }
  90.  
  91. function fnValidateValueCommon(sTisk)
  92. {
  93.   if (document.objednavka.AU.value == "" && document.objednavka.NZ.value == "")    
  94.   {
  95.     alert('Zadejte alespo≥ jeden produkt!');
  96.     document.objednavka.AU.focus();
  97.     return false;
  98.   }
  99.   if (document.objednavka.AU.value != "" && (parseInt(document.objednavka.AU.value) <= 0 || isNaN(document.objednavka.AU.value)))
  100.   {
  101.     alert('Zadejte poΦet kus∙ Φφslem!');
  102.     document.objednavka.AU.focus();
  103.     return false;
  104.   }
  105.   if (document.objednavka.NZ.value != "" && (parseInt(document.objednavka.NZ.value) <= 0 || isNaN(document.objednavka.NZ.value)))
  106.   {
  107.     alert('Zadejte poΦet kus∙ Φφslem!');
  108.     document.objednavka.NZ.focus();
  109.     return false;
  110.   }
  111.  
  112.   if(document.objednavka.Firma.value == "" && document.objednavka.Jmeno.value == "")
  113.   {
  114.     alert('Zadejte jmΘno nebo firmu!');
  115.     document.objednavka.Jmeno.focus();
  116.     return false;
  117.   }
  118.   if(document.objednavka.Ulice.value == "")
  119.   {
  120.     alert('Zadejte ulici!');
  121.     document.objednavka.Ulice.focus();
  122.     return false;
  123.   }
  124.   if(document.objednavka.Obec.value == "")
  125.   {
  126.     alert('Zadejte obec!');
  127.     document.objednavka.Obec.focus();
  128.     return false;
  129.   }
  130.   if(document.objednavka.PSC.value == "")
  131.   {
  132.     alert('Zadejte PS╚!');
  133.     document.objednavka.PSC.focus();
  134.     return false;
  135.   }
  136.   if(document.objednavka.PSC.value.length != 5)
  137.   {
  138.     alert('Zadejte PS╚ jako p∞timφstnΘ Φφslo!');
  139.     document.objednavka.PSC.focus();
  140.     return false;
  141.   }
  142.  
  143.   var checkOK   = "0123456789";
  144.   var checkStr  = document.objednavka.PSC.value;
  145.   var bValid    = true;
  146.   var decPoints = 0;
  147.   var allNum = "";
  148.   for(i = 0;  i < checkStr.length;  i++)
  149.   {
  150.     ch = checkStr.charAt(i);
  151.     for(j = 0;  j < checkOK.length;  j++)
  152.       if(ch == checkOK.charAt(j))
  153.         break;
  154.     if(j == checkOK.length)
  155.     {
  156.       bValid = false;
  157.       break;
  158.     }
  159.     allNum += ch;
  160.   }
  161.   if(!bValid)
  162.   {
  163.     alert("Zadejte pouze Φφslice.");
  164.     document.objednavka.PSC.focus();
  165.     return false;
  166.   }
  167.  
  168.   if(sTisk != "tisk" && document.objednavka.Tel.value == "" && document.objednavka.Fax.value == "" && document.objednavka.Email.value == "")
  169.   {
  170.     if(confirm('Nezadali jste telefon, fax ani e-mail. Chcete p°esto objednßvku odeslat?'))
  171.       return true;
  172.     else
  173.     {
  174.       document.objednavka.Tel.focus();
  175.       return false;
  176.     }
  177.   }
  178.   return true;
  179. }
  180.  
  181. function fnValidateValueDobirka()
  182. {
  183.   return true;
  184. }
  185.  
  186. function fnValidateValueZaloha()
  187. {
  188.   return true;
  189. }
  190.  
  191. function fnValidateValuePrevod()
  192. {
  193.   return true;
  194. }
  195.  
  196.  
  197. function fnValidateValue(sTisk)
  198. {
  199.   g_sVarSymbol = fnGenVarSymbol();
  200.   g_nCelkem    = fnCelkovaCastka();
  201.  
  202.   var bValid = fnValidateValueCommon(sTisk);
  203.   if(!bValid)
  204.     return bValid;
  205.  
  206.   if(document.objednavka.Platba.value == "dobirka")
  207.     bValid = fnValidateValueDobirka();
  208.   else if(document.objednavka.Platba.value == "faktura")
  209.     bValid = fnValidateValueZaloha();
  210.   else if(document.objednavka.Platba.value == "prevod")
  211.     bValid = fnValidateValuePrevod();
  212.   else
  213.     bValid = false;
  214.  
  215.   return true;
  216. }
  217.  
  218. function fnCelkovaCastka()
  219. {
  220.   var celkem = 0;
  221.   g_nKusu = 0;
  222.  
  223.   if(document.objednavka.AU.value > 0)
  224.   {
  225.     celkem += g_prod[5] * parseInt(document.objednavka.AU.value);
  226.     g_nKusu += parseInt(document.objednavka.AU.value);
  227.   }
  228.  
  229.   if(document.objednavka.ZP.value > 0)
  230.   {
  231.     celkem += g_prod[7] * parseInt(document.objednavka.ZP.value);
  232.     g_nKusu += parseInt(document.objednavka.ZP.value);
  233.   }
  234.  
  235.   if(document.objednavka.NZ.value > 0)
  236.   {
  237.     celkem += g_prod[9] * parseInt(document.objednavka.NZ.value);
  238.     g_nKusu += parseInt(document.objednavka.NZ.value);
  239.   }
  240.  
  241.   if(document.objednavka.Platba.value == "dobirka")
  242.   {
  243.     celkem += g_prod[1];
  244.   }
  245.   else
  246.   {
  247.     celkem += g_prod[3];
  248.   }
  249.   return celkem;
  250. }
  251.  
  252. // VS den mesic hod min zbytek vypocten z nazvu ulice
  253. function fnGenVarSymbol()
  254. {
  255.   var vs = "", vs1 = 0;
  256.   var oTime = new Date();
  257.   var mesic = oTime.getMonth() + 1;
  258.   vs = oTime.getDate().toString() + mesic.toString();
  259.   vs += (oTime.getHours() < 10) ? ("0" + oTime.getHours().toString()) : oTime.getHours().toString();
  260.   vs += (oTime.getMinutes() < 10) ? ("0" + oTime.getMinutes().toString()) : oTime.getMinutes().toString();
  261.  
  262.   // prosty soucet z textu ulice
  263.   for (i=0; i < document.objednavka.Ulice.value.length; i++)
  264.   {
  265.    vs1 += document.objednavka.Ulice.value.charCodeAt(i); 
  266.   }
  267.  
  268.   vs += vs1.toString();
  269.  
  270.   // zajisti delku alespon 10 
  271.   vs = vs + vs;
  272.  
  273.   if (vs > 10)
  274.   {
  275.    vs = vs.substring(0,10);
  276.   }
  277.  
  278.  return vs; 
  279. }
  280.  
  281.  
  282.  
  283. function fnWriteTableLine(sNadpis, sValue)
  284. {
  285.   return "<TR><TD class='odst'>" + sNadpis + "<\/TD><TD class='odst'>" + sValue + "<\/TD><\/TR>";
  286. }
  287.  
  288. function fnWriteTableLine2(sNadpis, sValue, sColor)
  289. {
  290.   return "<TR bgcolor='" + sColor + "'><TD class='odst'>" + sNadpis + "<\/TD><TD class='odst'>" + sValue + "<\/TD><\/TR>";
  291. }
  292.  
  293. function fnWriteTableLine3(sVal1, sVal2, sVal3, sColor)
  294. {
  295.   return "<TR bgcolor='" + sColor + "'><TD class='odst'>" + sVal1 + "<\/TD><TD class='odstr'>" + sVal2 + "<\/TD><TD class='odstr'>" + sVal3 + "<\/TD><\/TR>";
  296. }
  297.  
  298.  
  299. function fnTiskObjednavky()
  300. {
  301.   var kusu = 0;
  302.   g_nCelkem  = 0;
  303.  
  304.   if(fnValidateValue("tisk") == false)
  305.     return false;
  306.  
  307.   if(g_oTiskWindow && !g_oTiskWindow.closed)
  308.     g_oTiskWindow.close();
  309.  
  310.  
  311.   g_oTiskWindow = window.open("", "Objednßvka", "menubar=yes,toolbar=yes,resizable=yes,scrollbars=yes,width=500,height=530")
  312.  
  313.   var sHtml = "";
  314.   sHtml += "<HTML><HEAD><META http-equiv='Content-Type' content='text/html; charset=windows-1250'\/><TITLE>Objednßvka programu<\/TITLE><LINK rel='stylesheet' href='.\/img\/auStyle.css'\/><\/HEAD><BODY BGCOLOR='WHITE'>";
  315.  
  316.   sHtml += "<p class='odstb'>Objednßvka program∙</p>";
  317.   
  318.   // seznam produkt∙
  319.   sHtml += "<TABLE width='100%'>";
  320.   sHtml += "<TR><TD colspan='3' class='odstb'>Produkty<\/TD><\/TR>";
  321.  
  322.   if(document.objednavka.AU.value > 0)
  323.   {
  324.     sHtml += fnWriteTableLine3(g_prod[4],document.objednavka.AU.value + " ks",g_prod[5]+" KΦ", '#eeeeee');
  325.   }
  326.  
  327.   if(document.objednavka.ZP.value > 0)
  328.   {
  329.     sHtml += fnWriteTableLine3(g_prod[6],document.objednavka.ZP.value + " ks",g_prod[7]+" KΦ", '#eeeeee');
  330.   }
  331.  
  332.   if(document.objednavka.NZ.value > 0)
  333.   {
  334.     sHtml += fnWriteTableLine3(g_prod[8],document.objednavka.NZ.value + " ks",g_prod[9]+" KΦ", '#eeeeee');
  335.   }
  336.  
  337.   if(document.objednavka.Platba.value == "dobirka")
  338.   {
  339.     sHtml += fnWriteTableLine3(g_prod[0],"",g_prod[1]+" KΦ", '#eeeeee');
  340.   }
  341.   else
  342.   {
  343.     sHtml += fnWriteTableLine3(g_prod[2],"",g_prod[3]+" KΦ", '#eeeeee');
  344.   }
  345.  
  346.   sHtml += fnWriteTableLine3("Celkem",g_nKusu+" ks",g_nCelkem+" KΦ", '#eeeeee');
  347.   sHtml += "<\/TABLE>";
  348.  
  349.   if(document.objednavka.Platba.value == "prevod")
  350.   {
  351.     sHtml += "<BR/><TABLE width='100%'>";
  352.     sHtml += "<TR><TD colspan='2' class='odstb'>┌daje pro platbu p°evodem na ·Φet<\/TD><\/TR>";
  353.     sHtml += fnWriteTableLine2("┌Φet:",           g_sCisloUctu, '#eeeeee');
  354.     sHtml += fnWriteTableLine2("Variabilnφ symbol:", g_sVarSymbol, 'eeeeee');
  355.     sHtml += fnWriteTableLine2("Konstantnφ symbol:", '0308',       'eeeeee');
  356.     sHtml += fnWriteTableLine2("╚ßstka:", g_nCelkem + ' KΦ', 'eeeeee');
  357.     sHtml += "<TR><TD colspan='2' class='odst'>" + g_sPrevodPozn + "<\/TD><\/TR>";
  358.     sHtml += "<\/TABLE>";
  359.   }
  360.  
  361.   sHtml += "<BR/><TABLE width='100%'>";
  362.   sHtml += "<TR><TD colspan='2' class='odstb'>FakturaΦnφ adresa<\/TD><\/TR>";
  363.   if (document.objednavka.Firma.value != "")
  364.   {
  365.     sHtml += fnWriteTableLine("Firma:",   document.objednavka.Firma.value);
  366.   }
  367.   var psc = document.objednavka.PSC.value.substring(0,3) + " " + document.objednavka.PSC.value.substring(3,5); 
  368.   sHtml += fnWriteTableLine("JmΘno:",   document.objednavka.Jmeno.value);
  369.   sHtml += fnWriteTableLine("Ulice:",   document.objednavka.Ulice.value);
  370.   sHtml += fnWriteTableLine("Obec:",    document.objednavka.Obec.value);
  371.   sHtml += fnWriteTableLine("PS╚:",     psc);
  372.   
  373.   if (document.objednavka.IC.value != "")
  374.   {
  375.     sHtml += fnWriteTableLine("I╚:",      document.objednavka.IC.value);
  376.   }
  377.  
  378.   if (document.objednavka.DIC.value != "")
  379.   {
  380.     sHtml += fnWriteTableLine("DI╚:",     document.objednavka.DIC.value);
  381.   }
  382.   
  383.   if (document.objednavka.Tel.value != "")
  384.   {
  385.     sHtml += fnWriteTableLine("Telefon:", document.objednavka.Tel.value);
  386.   }
  387.   
  388.   if (document.objednavka.Fax.value != "")
  389.   {
  390.     sHtml += fnWriteTableLine("Fax:",     document.objednavka.Fax.value);
  391.   }
  392.  
  393.   if (document.objednavka.Email.value != "")
  394.   {
  395.     sHtml += fnWriteTableLine("E-mail:",  document.objednavka.Email.value);
  396.   }
  397.   
  398.   sHtml += fnWriteTableLine("Platba:",  document.objednavka.Platba.value);
  399.   sHtml += "<\/TABLE><BR>";
  400.  
  401.   if (document.objednavka.FirmaDod.value != "" || document.objednavka.JmenoDod.value != "")
  402.   {
  403.     sHtml += "<BR/><TABLE width='100%'>";
  404.     sHtml += "<TR><TD colspan='2' class='odstb'>Dodacφ adresa<\/TD><\/TR>";
  405.     sHtml += fnWriteTableLine("Firma:",   document.objednavka.FirmaDod.value);
  406.     sHtml += fnWriteTableLine("JmΘno:",   document.objednavka.JmenoDod.value);
  407.     sHtml += fnWriteTableLine("Ulice:",   document.objednavka.UliceDod.value);
  408.     sHtml += fnWriteTableLine("Obec:",    document.objednavka.ObecDod.value);
  409.     psc = document.objednavka.PSCDod.value.substring(0,3) + " " + document.objednavka.PSCDod.value.substring(3,5); 
  410.     sHtml += fnWriteTableLine("PS╚:",     psc);
  411.   }
  412.   sHtml += "<\/TABLE>";
  413.  
  414.   sHtml += "<\/BODY><\/HTML>";
  415.  
  416.   g_oTiskWindow.document.write(sHtml);
  417.   g_oTiskWindow.document.close();
  418.   g_oTiskWindow.focus();
  419. }
  420.  
  421. function fnSetAction()
  422. {
  423.   if(fnValidateValue() == false)
  424.     return false;
  425.  
  426.   var sAction="mailto:info@turbina.cz?subject=Objednavka";
  427.   sAction += "&body=" + document.body.value;
  428.   document.objednavka.action=sAction;
  429.  
  430.   var sTxt = "\n\n------------------------------";
  431.   var sXml = "";
  432.  
  433.   sXml += "<objednavka>";
  434.   sTxt += "\nObjednßvka program∙\n";
  435.   if (document.objednavka.AU.value != "")
  436.   {
  437.     sXml += "<produkt name='AUTOUNIVERZITA'>"  + document.objednavka.AU.value    + "</produkt>";
  438.     sTxt += "\nProgram AUTOUNIVERZITA " + document.objednavka.AU.value + " ks v cen∞ " + g_prod[5] + " KΦ/ks.";
  439.   }
  440.  
  441.   if (document.objednavka.ZP.value != "")
  442.   {
  443.     sXml += "<produkt name='ZP'>"  + document.objednavka.ZP.value    + "</produkt>";
  444.     sTxt += "\nProgram Zbrojnφ pr∙kaz " + document.objednavka.ZP.value + " ks v cen∞ " + g_prod[7] + " KΦ/ks.";
  445.   }
  446.  
  447.   if (document.objednavka.NZ.value != "")
  448.   {
  449.     sXml += "<produkt name='NZ'>"  + document.objednavka.NZ.value    + "</produkt>";
  450.     sTxt += "\nKolem kolem NovΘho ZΘlandu " + document.objednavka.NZ.value + " ks v cen∞ " + g_prod[9] + " KΦ/ks.";
  451.   }
  452.  
  453.   if(document.objednavka.Platba.value == "dobirka")
  454.   {
  455.     sXml += "<produkt name='Poplatek dobφrka'>1</produkt>";
  456.     sTxt += "\nPlatba dobφrkou - poplatek " + g_prod[1] + " KΦ.";
  457.   }
  458.  
  459.   if(document.objednavka.Platba.value == "faktura")
  460.   {
  461.     sXml += "<produkt name='Poplatek zßsilka'>1</produkt>";
  462.     sTxt += "\nPlatba zßlohovou fakturou - poplatek " + g_prod[3] + " KΦ.";
  463.   }
  464.  
  465.   if(document.objednavka.Platba.value == "prevod")
  466.   {
  467.     sXml += "<produkt name='Poplatek zßsilka'>1</produkt>";
  468.     sTxt += "\nPlatba p°evodem na ·Φet - poplatek " + g_prod[3] + " KΦ.";
  469.     sTxt += "\n╚φslo ·Φtu: " + g_sCisloUctu;
  470.     sTxt += "\nVariabilnφ symbol: " + g_sVarSymbol;
  471.     sTxt += "\nKonstantnφ symbol: " + g_sKonstSymbol;
  472.   }
  473.   
  474.   sTxt += "\n\nCelkem " + g_nCelkem + " KΦ";
  475.   sTxt += "\n------------------------------\n\n\n";
  476.  
  477.  
  478.   sXml += "<jmeno>"     + document.objednavka.Jmeno.value    + "</jmeno>";
  479.   sXml += "<ulice>"     + document.objednavka.Ulice.value    + "</ulice>";
  480.   sXml += "<obec>"      + document.objednavka.Obec.value     + "</obec>";
  481.   sXml += "<psc>"       + document.objednavka.PSC.value      + "</psc>";
  482.   sXml += "<telefon>"   + document.objednavka.Tel.value      + "</telefon>";
  483.   sXml += "<fax>"       + document.objednavka.Fax.value      + "</fax>";
  484.   sXml += "<email>"     + document.objednavka.Email.value    + "</email>";
  485.   sXml += "<firma>"     + document.objednavka.Firma.value    + "</firma>";
  486.   sXml += "<ic>"        + document.objednavka.IC.value       + "</ic>";
  487.   sXml += "<dic>"       + document.objednavka.DIC.value      + "</dic>";
  488.   sXml += "<firmadod>"  + document.objednavka.FirmaDod.value + "</firmadod>";
  489.   sXml += "<jmenodod>"  + document.objednavka.JmenoDod.value + "</jmenodod>";
  490.   sXml += "<ulicedod>"  + document.objednavka.UliceDod.value + "</ulicedod>";
  491.   sXml += "<obecdod>"   + document.objednavka.ObecDod.value  + "</obecdod>";
  492.   sXml += "<pscdod>"    + document.objednavka.PSCDod.value   + "</pscdod>";
  493.   sXml += "<platba>"    + document.objednavka.Platba.value   + "</platba>";
  494.   sXml += "<celkem>"    + g_nCelkem                 + "</celkem>";
  495.   sXml += "<varsymbol>" + g_sVarSymbol              + "</varsymbol>";
  496.   sXml += "</objednavka>";
  497.   document.objednavka.xml.value = sXml;
  498.   document.objednavka.popis.value = sTxt;
  499. }
  500.  
  501.