diff --git a/szamrendszer.js b/szamrendszer.js
index eba2ecb..69ad5a5 100644
--- a/szamrendszer.js
+++ b/szamrendszer.js
@@ -1,174 +1,62 @@
-$(document).ready(function(){
- var inputNumber = 0;
- var selectedOption = "";
- var answer = 0;
+document.addEventListener("DOMContentLoaded", function () {
+ const inputValue = document.getElementById("érték");
+ const inputBase = document.getElementById("bevitel");
+ const outputBase = document.getElementById("kimenet");
+ const outputValue = document.getElementById("kiszámoltérték");
+ const convertButton = document.getElementById("számolás");
+ const swapButton = document.getElementById("felcserélés");
- $("#inputNumber").keyup(function(){
- inputNumber = $(this).val();
- setAnswer("");
- activeDieactiveBtn();
- })
- $("#fromTo").change(function(){
- selectedOption = $(this).val();
- activeDieactiveBtn();
- })
-
-
- $("#convertBtn").click(function(){
- if(selectedOption == "decimal to binary" && inputNumber != ""){
- answer = convertDecimalToBinary(inputNumber);
- setAnswer(answer);
- }else if(selectedOption == "binary to decimal" && inputNumber != ""){
- answer = convertBinaryToDecimal(inputNumber);
- setAnswer(answer);
- }else if(selectedOption == "decimal to hexadecimal" && inputNumber != ""){
- answer = convertDecimalToHexadecimal(inputNumber);
- setAnswer(answer);
- }else if(selectedOption == "hexadecimal to decimal" && inputNumber != ""){
- answer = convertHexadecimalToDecimal(inputNumber);
- setAnswer(answer);
- }else if(selectedOption == "binary to hexadecimal" && inputNumber != ""){
- var decimalVal = convertBinaryToDecimal(inputNumber);
- answer = convertDecimalToHexadecimal(decimalVal);
- setAnswer(answer);
- }else if(selectedOption == "hexadecimal to binary" && inputNumber != ""){
- var decimalVal = convertHexadecimalToDecimal(inputNumber);
- answer = convertDecimalToBinary(decimalVal);
- setAnswer(answer);
- }else{
- resetAll();
- }
- })
-
- $("#resetBtn").click(function(){
- resetAll();
- })
-
-})
+ function convertNumber(value, fromBase, toBase) {
+ let decimalValue;
+
+ // Convert input to decimal first
+ switch (fromBase) {
+ case "bináris":
+ decimalValue = parseInt(value, 2);
+ break;
+ case "oktális":
+ decimalValue = parseInt(value, 8);
+ break;
+ case "decimális":
+ decimalValue = parseInt(value, 10);
+ break;
+ case "hexadecimális":
+ decimalValue = parseInt(value, 16);
+ break;
+ default:
+ return "Hibás bemenet";
+ }
+
+ if (isNaN(decimalValue)) {
+ return "Érvénytelen szám";
+ }
+
+ // Convert decimal to target base
+ switch (toBase) {
+ case "bináris":
+ return decimalValue.toString(2);
+ case "oktális":
+ return decimalValue.toString(8);
+ case "decimális":
+ return decimalValue.toString(10);
+ case "hexadecimális":
+ return decimalValue.toString(16).toUpperCase();
+ default:
+ return "Hibás átváltás";
+ }
+ }
-function activeDieactiveBtn(){
-
- var inputNumber = $("#inputNumber").val();
- var selectedOption = $("#fromTo").val();
-
- if(inputNumber != "" && selectedOption != ""){
- $("#convertBtn").prop("disabled",false);
- }else{
- $("#convertBtn").prop("disabled",true);
- }
-
- if(inputNumber != "" || selectedOption != ""){
- $("#resetBtn").prop("disabled",false);
- }else{
- $("#resetBtn").prop("disabled",true);
- }
-
-}
+ convertButton.addEventListener("click", function () {
+ const value = inputValue.value.trim();
+ const fromBase = inputBase.value;
+ const toBase = outputBase.value;
+
+ outputValue.value = convertNumber(value, fromBase, toBase);
+ });
-function setAnswer(answer){
- $("#showAnswer").html(answer);
-}
-
-function resetAll(){
- $("#convertBtn").prop("disabled",true);
- $("#showAnswer").html("");
- $("#inputNumber").val("");
- $("#fromTo").val("").change();
- $(this).prop("disabled",true);
-}
-
-
-// main functions
-function convertDecimalToBinary(inputNumber){
- var answer = "";
- if(!isNaN(inputNumber)){
- inputNumber = Number(inputNumber);
- var remainder = 0;
- while(inputNumber != 0){
- remainder = inputNumber % 2;
- inputNumber = ((inputNumber - remainder) / 2);
- answer = remainder + answer;
- }
- }else{
- answer = 'This is not decimal number!';
- }
- return answer;
-}
-
-function convertBinaryToDecimal(inputNumber){
- inputNumber = inputNumber.toString();
- var numberLen = inputNumber.length;
- var position = numberLen;
- var answer = 0;
- for(var i = 0; i < numberLen; i++){
- if(inputNumber[i] == '0' || inputNumber[i] == '1'){
- position--;
- answer = answer + ( Number(inputNumber[i]) * Math.pow(2, position) );
- }else{
- answer = 'This is not binary number!';
- }
- }
- return answer;
-}
-
-function convertDecimalToHexadecimal(inputNumber){
- inputNumber = Number(inputNumber);
- var remainder = 0;
- var answer = "";
- if(!isNaN(inputNumber)){
- inputNumber = Number(inputNumber);
- while(inputNumber != 0){
- remainder = inputNumber % 16;
- inputNumber = ((inputNumber - remainder) / 16);
- if(remainder == 10){
- answer = 'A' + answer;
- }else if(remainder == 11){
- answer = 'B' + answer;
- }else if(remainder == 12){
- answer = 'C' + answer;
- }else if(remainder == 13){
- answer = 'D' + answer;
- }else if(remainder == 14){
- answer = 'E' + answer;
- }else if(remainder == 15){
- answer = 'F' + answer;
- }else{
- answer = remainder + answer;
- }
- }
- }else{
- answer = 'This is not decimal number!';
- }
- return answer;
-}
-
-function convertHexadecimalToDecimal(inputNumber){
- inputNumber = inputNumber.toString();
- var numberLen = inputNumber.length;
- var position = numberLen;
- var answer = 0;
- for(var i = 0; i < numberLen; i++){
- var num = inputNumber[i];
- if(num == 'A'){
- num = 10;
- }else if(num == 'B'){
- num = 11;
- }else if(num == 'C'){
- num = 12;
- }else if(num == 'D'){
- num = 13;
- }else if(num == 'E'){
- num = 14;
- }else if(num == 'F'){
- num = 15;
- }else if(num >= '0' && num <= '9'){
- num = Number(num);
- }else{
- answer = 'This is not Hexadecimal number!';
- return answer;
- }
- position--;
- answer = answer + (num* Math.pow(16,position));
- }
- return answer;
-}
\ No newline at end of file
+ swapButton.addEventListener("click", function () {
+ const tempValue = inputBase.value;
+ inputBase.value = outputBase.value;
+ outputBase.value = tempValue;
+ });
+});
\ No newline at end of file