function urlChanged(){ showId("spinner"); showId("preview-wrapper"); var url = document.getElementById("wish-url-new").value; if(url!==""){ var token = document.getElementById("csrf-token").content; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if(xhttp.readyState === XMLHttpRequest.DONE) { if (this.readyState == 4 && this.status == 200) { var resp = xhttp.responseText; var myArr = JSON.parse(xhttp.responseText); updateWishFromUrl(myArr); } hideId("spinner"); enableSaveWishActionButtona(); } } xhttp.open("POST", "https://online-wunsch-liste.de/api/loadLink.php", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.setRequestHeader("CsrfToken", token); xhttp.send("url="+encodeURIComponent(url)+"&CsrfToken="+token); }else{ document.getElementById("wishImage-new").value = ""; hideId("spinner"); } } function logAction(id){ var token = document.getElementById("csrf-token").content; var xhttp = new XMLHttpRequest(); xhttp.open("POST", "https://online-wunsch-liste.de/api/change.php", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.setRequestHeader("CsrfToken", token); xhttp.send("logAction="+encodeURIComponent(id)+"&CsrfToken="+token); } function saveNewWish(){ var url = encodeURIComponent(document.getElementById("wish-url-new").value); if(document.getElementById("wishImage-new").style.display === 'block'){ var img_url = encodeURIComponent(document.getElementById("wishImage-new").src); }else{ var img_url = ""; } var title = encodeURIComponent(document.getElementById("new-wish-title").value); var description = encodeURIComponent(document.getElementById("new-wish-description").value); if(url.length>0 || title.length>0 || description.length>0){ var token = document.getElementById("csrf-token").content; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if(xhttp.readyState === XMLHttpRequest.DONE) { if (this.readyState == 4 && this.status == 200) { var resp = xhttp.responseText; var myArr = JSON.parse(xhttp.responseText); cloneNewWish(myArr.id); // get id from response and clone // changedStatus(); resetNewWish(); hideId("W-Modal"); document.getElementById('wish-'+myArr.id).scrollIntoView(); } hideId("spinner"); } } xhttp.open("POST", "https://online-wunsch-liste.de/api/change.php", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.setRequestHeader("CsrfToken", token); xhttp.send("url="+url+"&title="+title+"&img_url="+img_url+"&description="+description+"&CsrfToken="+token); } } function cloneNewWish(id){ var lane = document.getElementById("new-lane").value; var newHiddenWish = document.getElementById("wish-hidden").cloneNode(true); document.getElementById("wishImage-hidden").src = document.getElementById("wishImage-new").src; document.getElementById("title-hidden").innerHTML = document.getElementById("new-wish-title").value; document.getElementById("description-hidden").innerHTML = document.getElementById("new-wish-description").value; document.getElementById("url-hidden").href = document.getElementById("wish-url-new").value; document.getElementById("title-edit-hidden").setAttribute("onchange","changeWish('"+id+"','title')"); document.getElementById("description-edit-hidden").setAttribute("onchange","changeWish('"+id+"','description')"); document.getElementById("markAsGivenAway-hidden").setAttribute("onclick","markAsGivenAway('"+id+"')"); // document.getElementById("amazonSearch-hidden").setAttribute("onclick","amazonSearch('"+id+"')"); document.getElementById("edit-btn-hidden").setAttribute("onclick","editWish('"+id+"')"); document.getElementById("disableBtn-hidden").setAttribute("onclick","disableWish('"+id+"')"); document.getElementById("showImg-btn-hidden").setAttribute("onclick","showImage('"+id+"')"); document.getElementById("hideImg-btn-hidden").setAttribute("onclick","hideImage('"+id+"')"); document.getElementById("delete-btn-hidden").setAttribute("onclick","deleteWish('"+id+"')"); document.getElementById("wishImage-hidden").id = "wishImage-"+id; document.getElementById("title-hidden").id = "title-"+id; document.getElementById("description-hidden").id = "description-"+id; // document.getElementById("amz-search-hidden").id = "amz-search-"+id; document.getElementById("giveAvay-hidden").id = "giveAvay-"+id; document.getElementById("hideImg-btn-hidden").id= "hideImg-btn-"+id; document.getElementById("showImg-btn-hidden").id= "showImg-btn-"+id; document.getElementById("delete-btn-hidden").id= "delete-btn-"+id; document.getElementById("edit-btn-hidden").id = "edit-btn-"+id; document.getElementById("title-edit-hidden").id = "title-edit-"+id; document.getElementById("url-hidden").id = "url-edit-"+id; document.getElementById("description-edit-hidden").id = "description-edit-"+id; document.getElementById("wish-hidden").id = "wish-"+id; document.getElementById("markAsGivenAway-hidden").id = "markAsGivenAway-"+id; document.getElementById("column-"+lane).appendChild(newHiddenWish); document.getElementById("new-lane").value = ((lane)%3)+1; showId("wish-"+id); toggleClassById("wish-"+id,"w3-hide") } function enableSaveWishActionButtona(){ if( document.getElementById("new-wish-description").value || document.getElementById("new-wish-title").value || isValidUrl(document.getElementById('wish-url-new').value) ){ document.getElementById('save-new-btn').disabled = false; document.getElementById('delete-new-btn').disabled = false; }else if(document.getElementById('wish-url-new').value){ document.getElementById('delete-new-btn').disabled = false; } else{ document.getElementById('save-new-btn').disabled = true; document.getElementById('delete-new-btn').disabled = true; } } function newWishTitle(){ document.getElementById("title-new").innerHTML = document.getElementById("new-wish-title").value; enableSaveWishActionButtona(); } function newWishDescription(){ document.getElementById("description-new").innerHTML = document.getElementById("new-wish-description").value; enableSaveWishActionButtona(); } function isValidUrl(url){ /* var urlPattern = new RegExp('^(https?:\\/\\/)?'+ // validate protocol '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // validate domain name '((\\d{1,3}\\.){3}\\d{1,3}))'+ // validate OR ip (v4) address '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // validate port and path '(\\?[;&a-z\\d%_.~+=-]*)?'+ // validate query string '(\\#[-a-z\\d_]*)?$','i'); // validate fragment locator return !!urlPattern.test(url);*/ return true; } function newWishUrl(){ if(!document.getElementById('wish-url-new').value){ document.getElementById('load-data-from-link').disabled = true; document.getElementById('link-validation').innerHTML = ""; }else if( isValidUrl(document.getElementById('wish-url-new').value)){ document.getElementById('load-data-from-link').disabled = false; document.getElementById('link-validation').innerHTML = ""; }else{ document.getElementById('load-data-from-link').disabled = true; document.getElementById('link-validation').innerHTML = "Die Eingabe entspricht keinem validen Link zu einem Produkt."; } enableSaveWishActionButtona(); } function resetNewWish(){ hideId("wishImage-new"); hideId('wishImage-na'); document.getElementById("wishImage-new").src = ""; document.getElementById("description-new").innerHTML = ""; document.getElementById("new-wish-description").value = ""; document.getElementById("new-wish-title").value = ""; document.getElementById("wish-url-new").value = ""; document.getElementById("oldImageUpload").value=""; document.getElementById("title-new").innerHTML = "Neuen Wunsch anlegen"; document.getElementById('link-validation').innerHTML = ""; enableSaveWishActionButtona(); } function updateWishFromUrl(response){ if(response.title && response.title!==""){ document.getElementById("new-wish-title").value = unescape(response.title); document.getElementById("title-new").innerHTML = unescape(response.title); } if(response.description && response.description!==""){ document.getElementById("description-new").innerHTML = unescape(response.description); document.getElementById("new-wish-description").value = unescape(response.description); } if(response.url && response.url!==""){ document.getElementById("wish-url-new").value = unescape(response.url); } if(response.imageLink && response.imageLink!==""){ document.getElementById("wishImage-new").src = unescape(response.imageLink); document.getElementById("oldImageUpload").value = unescape(response.imageLink); showId("wishImage-new"); showId('newImageLink'); }else{ hideId("wishImage-new"); hideId('newImageLink'); showId('wishImage-na'); } hideId("spinner"); } function imgChanged(){ document.getElementById("wishImage-new").src = document.getElementById("oldImageUpload").value; } function showImage(id){ document.getElementById("hideImg-btn-"+id).style.display = "block"; document.getElementById("showImg-btn-"+id).style.display = "none"; document.getElementById("wishImage-"+id).style.display = "block"; toggleShowHideWishImage(id,1); } function hideImage(id){ document.getElementById("hideImg-btn-"+id).style.display = "none"; document.getElementById("showImg-btn-"+id).style.display = "block"; document.getElementById("wishImage-"+id).style.display = "none"; toggleShowHideWishImage(id,0); } function amazonSearch(id){ var curr=document.getElementById("amz-search-"+id).style.display; if(curr=="block"){ document.getElementById("amz-search-"+id).style.display = "none"; }else{ document.getElementById("amz-search-"+id).style.display = "block"; } } function markAsGivenAway(id){ var curr=document.getElementById("giveAvay-"+id).style.display; if(curr=="block"){ document.getElementById("giveAvay-"+id).style.display = "none"; }else{ document.getElementById("giveAvay-"+id).style.display = "block"; } } function disableWish(id){ var token = document.getElementById("csrf-token").content; var xhttp = new XMLHttpRequest(); xhttp.open("POST", "https://online-wunsch-liste.de/api/change.php", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.setRequestHeader("CsrfToken", token); xhttp.send("disableId="+id+"&CsrfToken="+token); document.getElementById("wish-"+id).classList.add("w3-greyscale"); document.getElementById("markAsGivenAway-"+id).innerHTML ="Verschenkt!"; document.getElementById("markAsGivenAway-"+id).setAttribute('disabled', 'disabled'); document.getElementById("disableBtn-"+id).setAttribute('disabled', 'disabled'); document.getElementById("markAsGivenAway-"+id).onclick = ""; document.getElementById("disableBtn-"+id).onclick = ""; markAsGivenAway(id); document.getElementById("description-"+id).innerHTML="Verschenkt!"; } function toggleShowHideWishImage(id,show){ var token = document.getElementById("csrf-token").content; var xhttp = new XMLHttpRequest(); xhttp.open("POST", "https://online-wunsch-liste.de/api/change.php", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.setRequestHeader("CsrfToken", token); xhttp.send("shwishId="+id+"&CsrfToken="+token+"&show="+show); } function changeLayout(){ toggleClassById("column-1","w3-third"); toggleClassById("column-2","w3-third"); toggleClassById("column-3","w3-third"); toggleClassById("layout","fa-bars"); toggleClassById("layout","fa-th-large"); toggleClassByClass("action-wrapper","w3-quarter"); toggleClassByClass("description-wrapper","w3-half"); toggleClassByClass("image-wrapper","w3-quarter"); toggleClassByClass("card-wrapper","w3-container"); toggleClassByClass("wish-img-wrapper", "wish-img-view"); toggleClassByClass("wish-img-wrapper", "wish-img-view-hight"); toggleClassByClass("toggle-margin","w3-margin"); }