CINXE.COM
Winning Moves Games: New 2024 Games & Puzzles
<!-- include file="AllReviewsAddUrl.asp" --><!DOCTYPE HTML> <html lang="en"> <head> <meta charset="UTF-8" /> <base href="https://winning-moves.com/"> <style type="text/css"> #qm0 li.secure, #qm0 a.secure { display: NONE; } </style> <title>Winning Moves Games: New 2024 Games & Puzzles</title> <!-- 96QUYq7l94pmuw6p-6Vl6SZ5wng --> <meta name="description" content="All the new games and puzzles from Winning Moves are featured here!" /> <meta name="keywords" content="New from Winning Moves, Checkers, Chinese Checkers, Snail Mail and More!" /> <style type="text/css">.ui-widget-content { background:none !important; }</style> <link rel="stylesheet" type="text/css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/base/jquery-ui.css" /> <link rel="stylesheet" type="text/css" href="templates/css/layout.css" /> <link rel="stylesheet" type="text/css" href="templates/css/products.css" /> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script> <script type="text/javascript" src="templates/js/nav.js"></script> <script type="text/javascript" src="templates/js/scripts.js"></script> <script type="text/javascript" src="//use.typekit.net/nnd7xtu.js"></script> <script type="text/javascript">try{Typekit.load();}catch(e){}</script> <script src="//maps.googleapis.com/maps/api/js?sensor=false&key=AIzaSyBIicy6LYVf4RTpo601wKh4-6pqSquorcs"></script> <script type="text/javascript" src="common_images/scripts/cycle.js"></script> <style> /*#instagram-block{ padding: 10px 10px 0px 10px; background-color: #e6e6e6; border: 1px solid #dadada; border-bottom: 0px; -webkit-border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; display: inline-block; } */ #instagram-block h1{ background: #45484d; background: -moz-linear-gradient(top, #45484d 0%, #000000 100%); background: -webkit-linear-gradient(top, #45484d 0%,#000000 100%); background: linear-gradient(to bottom, #45484d 0%,#000000 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45484d', endColorstr='#000000',GradientType=0 ); color: #fff; border-radius: 5px; padding: 8px 5px; margin-bottom: 10px; line-height: inherit; } </style> </head> <body class="interior loggedout"> <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.4&appId=213575610533"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> <div id="container"> <div id="header"> <div id="social"> <a href="http://www.facebook.com/WinningMovesGames" target="_blank"><img src="http://winning-moves.com/templates/gfx/facebook.png" /></a> <a href="http://twitter.com/winningmovesusa" target="_blank"><img src="http://winning-moves.com/templates/gfx/twitter.png" /></a> <a href="http://www.youtube.com/WinningMovesUSA" target="_blank"><img src="http://winning-moves.com/templates/gfx/youtube.png" /></a> <a href="https://www.instagram.com/winningmovesusa/" target="_blank" id="insta-icon"><img src="http://winning-moves.com/templates/gfx/instagram.png" /></a> </div> <ul id="util_nav" class="qmmc"> <li><a href="default.asp" class="sprite-utility utility2">Home</a></li> <li><a href="showcart.asp" class="sprite-utility utility3">Shopping Cart</a></li> <li><a href="https://winning-moves.com/security_logon.asp?autopage=%2Fgames%2FNew2024%2Easp">Log In</a></li> <li class="qmclear"> </li> </ul> <a href="http://winning-moves.com"><img src="images/winning-moves-logo.png" id="logo"></a> <ul id="qm0" class="qmmc"> <li><a href="http://winning-moves.com/games/BestSellers.asp">Best Sellers</a></li> <li><span class='qmdivider'></span></li> <li><a href="http://winning-moves.com/games/CardGames.asp">Card</a></li> <li><span class='qmdivider'></span></li> <li><a href="http://winning-moves.com/games/ChildrensGames.asp">Children</a></li> <li><span class='qmdivider'></span></li> <li><a href="http://winning-moves.com/games/FamilyGames.asp">Family</a></li> <li><span class='qmdivider'></span></li> <li class="active"><a href="http://winning-moves.com/games/New2024.asp" class="active">New 2024!</a></li> <li><span class='qmdivider'></span></li> <li><a href="http://winning-moves.com//product/twistables.asp">Twistables</a></li> <li><span class='qmdivider'></span></li> <li><a href="/product/whamo.asp">Classic Wham-O!</a></li> <li class="qmclear"> </li> </ul> </div><!-- End Header --> <div id="content"> <div id="content_header"> <ul id="qm1" class="qmmc"> <li><span class='qmdivider'></span></li> <li><a href="http://winning-moves.com/games/Specials.asp">Specials</a></li> <li><span class='qmdivider'></span></li> <li class="mobile-site-link"><a href="mobile.asp">Mobile Website</a></li> <li class="mobile-site-link"><span class='qmdivider qmdividery'></span></li> <li class="qmclear"> </li> </ul> <style> .validinput { border: 1px solid #008000; background-color: #CCFFCC; } .invalidinput { border: 1px solid #800000; background-color: #FFCCCC; color: #000; } </style> <div id="pc-searchwindow1" class="pc-searchwindow"> <form id="pc-searchform" name="pc-searchform" method="POST" action="" onsubmit="SubmitSearchForm1();return false;"> <div class="pc-searchsection" id="pc-filter4"> <div class="pc-searchheader">Enter Keyword(s)</div> <div class="pc-searchwin" id="filter_4_results"> <input type="text" name="search_keyword" id="search_keyword" class="pc-searchinput" maxlength="255" onblur="if(this.value==''){this.value='Search'}" onfocus="if(this.value=='Search'){this.value=''}" value="Search" /> <div class="pc-searchindiv"> <br/><span class="pc-searchintext">in </span> <select name="search_string" id="search_string" class="pc-searchindrop" onchange="SetResultsPage1();"> <option value="search_style=(searchlike~pcs.nm~<Keyword>|Or|searchlike~pcs.ds~<Keyword>|Or|searchlike~pcs.num~<Keyword>)&search_prod=(searchlike~p.nm~<Keyword>|Or|searchlike~p.ds~<Keyword>|Or|searchlike~p.sku~<Keyword>);http://winning-moves.com/pc_combined_results.asp?tab=style" title="All Fields">All Fields</option><option value="search_style=(searchlike~pcs.nm~<Keyword>)&search_prod=(searchlike~p.nm~<Keyword>);http://winning-moves.com/pc_combined_results.asp?tab=style" title="Name">Name</option><option value="search_style=(searchlike~pcs.ds~<Keyword>)&search_prod=(searchlike~p.ds~<Keyword>);http://winning-moves.com/pc_combined_results.asp?tab=style" title="Description">Description</option><option value="search_prod=(searchlike~p.sku~<Keyword>);http://winning-moves.com/pc_combined_results.asp?tab=product" title="Part # (Contains)">Part # (Contains)</option><option value="search_prod=(searchleft~p.sku~<Length>~<Keyword>);http://winning-moves.com/pc_combined_results.asp?tab=product" title="Part # (Starts With)">Part # (Starts With)</option> </select> </div> </div> </div> <div class="pc-searchsection" id="pc-searchsubmit"> <input type="Submit" name="search_submit" id="search_submit" value="" class="pc-submitbutton" /> <input type="hidden" id="valid_input" value="0" /> <input type="hidden" id="valid_key" value="" /> </div> </form> </div> <script language="Javascript" type="text/javascript"> var xmlHttp; var xmlDoc; var bOldCats = false; if ('0'=='1'){ bOldCats = true; } function fncCheckValidInput1(){ MakeSearchAJAXRequest(drawCheckResult1, '/games/New2024.asp?searchformaction=checkvalid&search_keyword=' + escape(document.getElementById('search_keyword').value), true, [], [], "Unable to check for valid input.", xmlDoc, null, true); DisableSearchForm1() } function drawCheckResult1(xmlDoc, vNull){ try{ if (getSearchNodeValue(xmlDoc, 'KeyField', 0).length==32){ document.getElementById('search_keyword').className = 'pc-searchinput validinput'; document.getElementById('valid_input').value = '1'; document.getElementById('valid_key').value = getSearchNodeValue(xmlDoc, 'KeyField', 0); SubmitSearchForm1(); } else { document.getElementById('search_keyword').className = 'pc-searchinput invalidinput'; document.getElementById('search_keyword').value = 'Invalid Style Number!'; document.getElementById('valid_input').value = '0'; document.getElementById('valid_key').value = ''; } } catch (err){ document.getElementById('search_keyword').className = 'pc-searchinput invalidinput'; document.getElementById('search_keyword').value = 'Invalid Style Number!'; document.getElementById('valid_input').value = '0'; document.getElementById('valid_key').value = ''; //alert(err.message); } EnableSearchForm1(); } function GetSubCategories1(vField){ var strSearchVals = ''; var strLoadingTxt = 'Loading...'; if (bOldCats==true){ switch (vField){ case 2: strSearchVals = escape(document.getElementById('searchfield1').value); document.getElementById('filter_1_2').innerHTML = strLoadingTxt; document.getElementById('filter_1_2').style.display = 'block'; document.getElementById('filter_1_3').innerHTML = ''; document.getElementById('filter_1_3').style.display = 'none'; document.getElementById('filter_1_4').innerHTML = ''; document.getElementById('filter_1_4').style.display = 'none'; break; case 3: strSearchVals = escape(document.getElementById('searchfield2').value); document.getElementById('filter_1_3').innerHTML = strLoadingTxt document.getElementById('filter_1_3').style.display = 'block'; document.getElementById('filter_1_4').innerHTML = ''; document.getElementById('filter_1_4').style.display = 'none'; break; case 4: strSearchVals = escape(document.getElementById('searchfield3').value); document.getElementById('filter_1_4').innerHTML = strLoadingTxt; document.getElementById('filter_1_4').style.display = 'block'; break; } if (document.getElementById('searchfield1').value.replace(/\s+/, "")!=''){ DisableSearchForm1(); MakeSearchAJAXRequest(DrawSubCategories1, '/games/New2024.asp?searchformaction=ajaxcall&searchformactiontype=getoldcats&pc_key=' + strSearchVals + '&field=' + escape(vField), true, [], [], false, "", xmlDoc, vField, true); } else { document.getElementById('filter_1_2').innerHTML = ''; document.getElementById('filter_1_2').style.display = 'none'; document.getElementById('filter_1_3').innerHTML = ''; document.getElementById('filter_1_3').style.display = 'none'; document.getElementById('filter_1_4').innerHTML = ''; document.getElementById('filter_1_4').style.display = 'none'; } } else { switch (vField){ case 2: strSearchVals = '&searchfield1=' + escape(document.getElementById('searchfield1').value) + '&searchfield2=' + escape(trim(getSearchQueryVariable('searchfield2'))); document.getElementById('filter_1_2').innerHTML = strLoadingTxt; document.getElementById('filter_1_2').style.display = 'block'; document.getElementById('filter_1_3').innerHTML = ''; document.getElementById('filter_1_3').style.display = 'none'; document.getElementById('filter_1_4').innerHTML = ''; document.getElementById('filter_1_4').style.display = 'none'; try{ document.getElementById('filter_2_1').innerHTML = strLoadingTxt; document.getElementById('filter_2_1').style.display = 'block'; }catch (err){ //alert(err.message); } break; case 3: strSearchVals = '&searchfield1=' + escape(document.getElementById('searchfield1').value) + '&searchfield2=' + escape(document.getElementById('searchfield2').value) + '&searchfield3=' + escape(trim(getSearchQueryVariable('searchfield3'))); document.getElementById('filter_1_3').innerHTML = strLoadingTxt; document.getElementById('filter_1_3').style.display = 'block'; document.getElementById('filter_1_4').innerHTML = ''; document.getElementById('filter_1_4').style.display = 'none'; try{ document.getElementById('filter_2_1').innerHTML = strLoadingTxt; document.getElementById('filter_2_1').style.display = 'block'; } catch (err){ //alert(err.message); } break; case 4: strSearchVals = '&searchfield1=' + escape(document.getElementById('searchfield1').value) + '&searchfield2=' + escape(document.getElementById('searchfield2').value) + '&searchfield3=' + escape(document.getElementById('searchfield3').value) + '&searchfield4=' + escape(trim(getSearchQueryVariable('searchfield4'))); document.getElementById('filter_1_4').innerHTML = strLoadingTxt; document.getElementById('filter_1_4').style.display = 'block'; try{ document.getElementById('filter_2_1').innerHTML = strLoadingTxt; document.getElementById('filter_2_1').style.display = 'block'; } catch (err){ //alert(err.message); } break; } //Removed '' check to resolve bug - dand 2/1/2010 //if (document.getElementById('searchfield1').value.replace(/\s+/, "")!=''){ DisableSearchForm1(); MakeSearchAJAXRequest(DrawSubCategories1, '/games/New2024.asp?searchformaction=ajaxcall&searchformactiontype=getsubcats&usestyle=0&field=' + escape(vField) + strSearchVals, true, [], [], false, "", xmlDoc, vField, true); /*} else { document.getElementById('filter_1_2').innerHTML = ''; document.getElementById('filter_1_2').style.display = 'none'; document.getElementById('filter_1_3').innerHTML = ''; document.getElementById('filter_1_3').style.display = 'none'; document.getElementById('filter_1_4').innerHTML = ''; document.getElementById('filter_1_4').style.display = 'none'; }*/ } } function DrawSubCategories1(xmlDoc, Step){ var bContinue = false; var bFireNext = false; var bSelectedOpt = false; var sDisplay = ''; var sStepPrePop = trim(getSearchQueryVariable('searchfield' + Step)).replace(new RegExp('%2520', 'g'), ' '); var sPrepop = sStepPrePop.replace(new RegExp('%20', 'g'), ' '); var sSel112 = '[Select Sub-Category]'; var sSel113 = '[Select Sub-Category]'; var sSel114 = '[Select Sub-Category]'; var sSelOne = '[Select One]'; var sValue = ''; if ( Step <= parseInt('4') ){ bContinue = true; } switch (Step){ case 2: sSelOne = sSel112; break; case 3: sSelOne = sSel113; break; case 4: sSelOne = sSel114; break; default: sSelOne = '[Select One]'; break; } if ((xmlDoc.childNodes.length > 0) && (bContinue==true)){ try{ if (bOldCats==true){ oSubCats = xmlDoc.getElementsByTagName('record'); } else { oSubCats = xmlDoc.getElementsByTagName('searchfield' + Step); } var sSelectOneText = sSelOne.replace(/<count>/ig, oSubCats.length); if (oSubCats.length > 0){ document.getElementById('filter_1_' + Step).innerHTML = '<select name="searchfield' + Step + '" id="searchfield' + Step + '" class="pc-searchdrop" onchange="GetSubCategories1(' + (Step + 1) + ');"><option value="">' + sSelectOneText + '</option></select>'; for (var iResults = 0; iResults < oSubCats.length; iResults++) { try{ if (bOldCats==true){ sDisplay = oSubCats[iResults].childNodes[0].childNodes[0].nodeValue; sValue = oSubCats[iResults].childNodes[2].childNodes[0].nodeValue; } else { sDisplay = oSubCats[iResults].childNodes[0].nodeValue; sValue = oSubCats[iResults].childNodes[0].nodeValue; } if (sPrepop.toLowerCase()==trim(sValue).toLowerCase()){ bSelectedOpt = true; bFireNext = true; } else { bSelectedOpt = false; } document.getElementById('searchfield' + Step).options[iResults + 1] = new Option(sDisplay, sValue, bSelectedOpt); document.getElementById('searchfield' + Step).options[iResults + 1].title = sDisplay; if (bSelectedOpt==true){ document.getElementById('searchfield' + Step).options[iResults + 1].selected = true; } } catch (err){ //alert('Error in XML Loop - ' + err.message); } } } else { document.getElementById('filter_1_' + Step).innerHTML = ''; document.getElementById('filter_1_' + Step).style.display = 'none'; } EnableSearchForm1(); } catch (err){ EnableSearchForm1(); document.getElementById('filter_1_' + Step).innerHTML = ''; document.getElementById('filter_1_' + Step).style.display = 'none'; //alert('Error in XML Load - ' + err.message); } } else { EnableSearchForm1(); document.getElementById('filter_1_' + Step).innerHTML = ''; document.getElementById('filter_1_' + Step).style.display = 'none'; } if (bFireNext==true){ GetSubCategories1(Step + 1); if ((Step==parseInt('4'))&&(bOldCats==false)){ GetManu1(); } } else { if (bOldCats==false){ GetManu1(); } } HideBlankDropdowns1(); } function GetManu1(){ DisableSearchForm1(); var strSearchVals = ''; var strCopyVal = ''; for (var iSF = 1; iSF <= 4; iSF++){ try{ if (trim(document.getElementById('searchfield' + iSF).value)!=''){ strCopyVal = strSearchVals; strSearchVals = strCopyVal = '&searchfield' + iSF + '=' + escape(trim(document.getElementById('searchfield' + iSF).value)); } } catch (err){ //alert(err.message); } } MakeSearchAJAXRequest(DrawManus1, '/games/New2024.asp?searchformaction=ajaxcall&searchformactiontype=getmanufacturers&usestyle=0' + strSearchVals + '&searchfield5=' + escape(trim(getSearchQueryVariable('searchfield5'))), true, [], [], false, "", xmlDoc, null, true); } function DrawManus1(xmlDoc){ var sStepPrePop = trim(getSearchQueryVariable('searchfield5')).replace(new RegExp('%2520', 'g'), ' '); var sPrepop = sStepPrePop.replace(new RegExp('%20', 'g'), ' '); if (xmlDoc.childNodes.length > 0){ try{ var sSelOne = '[All Manufacturers]'; var oManus = xmlDoc.getElementsByTagName('searchfield5'); var sSelectOneText = sSelOne.replace(/<count>/ig, oManus.length); document.getElementById('filter_2_1').innerHTML = '<select name="searchfield5" id="searchfield5" class="pc-searchdrop"><option value="">' + sSelectOneText + '</option></select>'; for (var iResults = 0; iResults < oManus.length; iResults++) { try{ if (sPrepop.toLowerCase()==trim(oManus[iResults].childNodes[0].nodeValue).toLowerCase()){ bSelectedOpt = true; bFireNext = true; } else { bSelectedOpt = false; } document.getElementById('searchfield5').options[iResults + 1] = new Option(oManus[iResults].childNodes[0].nodeValue, oManus[iResults].childNodes[0].nodeValue, bSelectedOpt); document.getElementById('searchfield5').options[iResults + 1].title = oManus[iResults].childNodes[0].nodeValue; } catch (err){ //alert(err.message); } } document.getElementById('filter_2_1').style.display = 'block'; EnableSearchForm1(); } catch (err){ EnableSearchForm1(); try{ document.getElementById('filter_2_1').innerHTML = ''; document.getElementById('filter_2_1').style.display = 'none'; } catch (err){ //alert(err.message); } //alert(err.message); } } else { EnableSearchForm1(); try{ document.getElementById('filter_2_1').innerHTML = ''; document.getElementById('filter_2_1').style.display = 'none'; } catch (err){ //alert(err.message); } } } function HideBlankDropdowns1(){ var bShow = true; for (iDD = 1; iDD <= 5; iDD++){ bShow = true; try{ if (document.getElementById('searchfield' + iDD).options.length<=1){ bShow = false; } if (bShow==false){ switch (iDD){ case 1: document.getElementById('filter_1_1').innerHTML = ''; document.getElementById('filter_1_1').style.display = 'none'; break; case 2: document.getElementById('filter_1_2').innerHTML = ''; document.getElementById('filter_1_2').style.display = 'none'; break; case 3: document.getElementById('filter_1_3').innerHTML = ''; document.getElementById('filter_1_3').style.display = 'none'; break; case 4: document.getElementById('filter_1_4').innerHTML = ''; document.getElementById('filter_1_4').style.display = 'none'; break; case 5: document.getElementById('filter_2_1').innerHTML = ''; document.getElementById('filter_2_1').style.display = 'none'; break; } } } catch (err){ //alert(err.message); } } } function DisableSearchForm1(){ document.getElementById('search_submit').disabled = true; try{ document.getElementById('searchfield1').disabled = true; } catch (err){ //alert(err.message); } try{ document.getElementById('searchfield2').disabled = true; } catch (err){ //alert(err.message); } try{ document.getElementById('searchfield3').disabled = true; } catch (err){ //alert(err.message); } try{ document.getElementById('searchfield4').disabled = true; } catch (err){ //alert(err.message); } try{ document.getElementById('searchfield5').disabled = true; } catch (err){ //alert(err.message); } try{ for (var iCheck = 0; iCheck <= document.getElementsByName('searchfield6').length; iCheck++){ try{ document.getElementsByName('searchfield6')[iCheck].disabled = true; } catch (err){ //alert(err.message); } } } catch (err){ //alert(err.message); } try{ document.getElementById('search_keyword').disabled = true; document.getElementById('search_string').disabled = true; } catch (err){ //alert(err.message); } try{ document.getElementById('search_page').disabled = true; } catch (err){ //alert(err.message); } } function EnableSearchForm1(){ document.getElementById('search_submit').disabled = false; try{ document.getElementById('searchfield1').disabled = false; } catch (err){ //alert(err.message); } try{ document.getElementById('searchfield2').disabled = false; } catch (err){ //alert(err.message); } try{ document.getElementById('searchfield3').disabled = false; } catch (err){ //alert(err.message); } try{ document.getElementById('searchfield4').disabled = false; } catch (err){ //alert(err.message); } try{ document.getElementById('searchfield5').disabled = false; } catch (err){ //alert(err.message); } try{ for (var iCheck = 0; iCheck <= document.getElementsByName('searchfield6').length; iCheck++){ try{ document.getElementsByName('searchfield6')[iCheck].disabled = false; } catch (err){ //alert(err.message); } } } catch (err){ //alert(err.message); } try{ document.getElementById('search_keyword').disabled = false; document.getElementById('search_string').disabled = false; } catch (err){ //alert(err.message); } try{ document.getElementById('search_page').disabled = false; } catch (err){ //alert(err.message); } } function SetResultsPage1(){ var aSearchInfo = document.getElementById('search_string').value.split(';'); if (aSearchInfo.length>=2){ try{ document.getElementById('search_page').value = aSearchInfo[1]; } catch (err){ //alert(err.message); } } } function SubmitSearchForm1(){ var sPrefix = '<PREFIX>'; var sSearchField1 = ''; var sSearchField5 = ''; var sSearchField6 = ''; var sSearchString = ''; var sBreadCrumbs = ''; var sTempCrumbs = ''; var sSearchPage = 'http://winning-moves.com/pc_combined_results.asp?tab=style'; var sSearchVar = 'key'; if (bOldCats==true){ var sPCKey = ''; for (var iSF = 1; iSF <= 4; iSF++){ try{ if (document.getElementById('searchfield' + iSF).value!=''){ sPCKey = document.getElementById('searchfield' + iSF).value; sTempCrumbs = sBreadCrumbs; sBreadCrumbs = sTempCrumbs + '&searchfield' + iSF + '=' + escape(document.getElementById('searchfield' + iSF).value); } } catch (err){ //alert(err.message); } } if (sPCKey!=''){ if ('0'=='1'){ sSearchField1 = 'searchin~pcs.pcs_key~Product_Category_Style_Map.0.0~searchexact^pc_id^' + sPCKey; } else { sSearchField1 = 'searchin~p.p_key~Product_Category_Map.0.0~searchexact^pc_id^' + sPCKey; } } } else { try{ if (document.getElementById('searchfield1').value!=''){ sSearchField1 = 'searchexact~' + sPrefix + 'searchfield1~' + escape(document.getElementById('searchfield1').value); sBreadCrumbs = '&searchfield1=' + escape(document.getElementById('searchfield1').value); } } catch (err){ //alert(err.message); } try{ if (document.getElementById('searchfield2').value!=''){ sSearchField1 = 'searchexact~' + sPrefix + 'searchfield1~' + escape(document.getElementById('searchfield1').value) + '|and|searchexact~' + sPrefix + 'searchfield2~' + escape(document.getElementById('searchfield2').value); sBreadCrumbs = '&searchfield1=' + escape(document.getElementById('searchfield1').value) + '&searchfield2=' + escape(document.getElementById('searchfield2').value); } } catch (err){ //alert(err.message); } try{ if (document.getElementById('searchfield3').value!=''){ sSearchField1 = 'searchexact~' + sPrefix + 'searchfield1~' + escape(document.getElementById('searchfield1').value) + '|and|searchexact~' + sPrefix + 'searchfield2~' + escape(document.getElementById('searchfield2').value) + '|and|searchexact~' + sPrefix + 'searchfield3~' + escape(document.getElementById('searchfield3').value); sBreadCrumbs = '&searchfield1=' + escape(document.getElementById('searchfield1').value) + '&searchfield2=' + escape(document.getElementById('searchfield2').value) + '&searchfield3=' + escape(document.getElementById('searchfield3').value); } } catch (err){ //alert(err.message); } try{ if (document.getElementById('searchfield4').value!=''){ sSearchField1 = 'searchexact~' + sPrefix + 'searchfield1~' + escape(document.getElementById('searchfield1').value) + '|and|searchexact~' + sPrefix + 'searchfield2~' + escape(document.getElementById('searchfield2').value) + '|and|searchexact~' + sPrefix + 'searchfield3~' + escape(document.getElementById('searchfield3').value) + '|and|searchexact~' + sPrefix + 'searchfield4~' + escape(document.getElementById('searchfield4').value); sBreadCrumbs = '&searchfield1=' + escape(document.getElementById('searchfield1').value) + '&searchfield2=' + escape(document.getElementById('searchfield2').value) + '&searchfield3=' + escape(document.getElementById('searchfield3').value) + '&searchfield4=' + escape(document.getElementById('searchfield4').value); } } catch (err){ //alert(err.message); } } try{ if (document.getElementById('searchfield5').value!=''){ var sTemp5 = sBreadCrumbs; sSearchField5 = 'searchexact~' + sPrefix + 'searchfield5~' + escape(document.getElementById('searchfield5').value); sBreadCrumbs = sTemp5 + '&searchfield5=' + escape(document.getElementById('searchfield5').value); } } catch (err){ //alert(err.message); } try{ var sTemp6 = ''; var sSearchValue6 = ''; var sTempBread6 = sBreadCrumbs; for (var iCheck = 0; iCheck <= document.getElementsByName('searchfield6').length; iCheck++){ try{ if (sSearchField6!=''){ sTemp6 = sSearchField6; sSearchField6 = sTemp6 + '~' + escape(document.getElementsByName('searchfield6')[iCheck].value); sSearchValue6 = sTempV6 + '~' + escape(document.getElementsByName('searchfield6')[iCheck].value); } else { sSearchField6 = 'searchlist~' + sPrefix + 'searchfield6~' + escape(document.getElementsByName('searchfield6')[iCheck].value); sSearchValue6 = escape(document.getElementsByName('searchfield6')[iCheck].value); } } catch (err){ //alert(err.message); } } if (sSearchValue6!=''){ sBreadCrumbs = sTempBread6 + '&searchfield6=' + escape(sSearchValue6); } } catch (err){ //alert(err.message); } var bSearchString = true; var sTempKeyword = sBreadCrumbs; var sTempSearchPage = sSearchPage; try{ // check for default text in keyword field if (document.getElementById('search_keyword').value == 'Search') { document.getElementById('search_keyword').value = ''; } } catch (err){ //alert(err.message); } try{ if (trim(document.getElementById('search_keyword').value)!=''){ if (document.getElementById('search_string')==null){ bSearchString = false; if (document.getElementById('valid_input').value=='0'){ sSearchString = trim(document.getElementById('search_keyword').value); } else { sSearchString = trim(document.getElementById('valid_key').value); } } else { var aSearchInfo = document.getElementById('search_string').value.split(';'); sSearchString = aSearchInfo[0].replace(new RegExp('<Keyword>', 'gi'), trim(document.getElementById('search_keyword').value)); var sTempSS = sSearchString.replace(new RegExp('<Length>', 'gi'), trim(document.getElementById('search_keyword').value).length); sSearchString = sTempSS; try{ sTempSearchPage = aSearchInfo[1]; } catch (err){ sTempSearchPage = sSearchPage; //alert(err.message); } } sBreadCrumbs = sTempKeyword + '&search_keyword=' + escape(trim(document.getElementById('search_keyword').value)); } } catch (err){ // alert(err.message); } try{ if (trim(document.getElementById('search_page').value)!=''){ sSearchPage = trim(document.getElementById('search_page').value); } else { sSearchPage = sTempSearchPage; } } catch (err){ sSearchPage = sTempSearchPage; //alert(err.message); } var sCombinedSearch = ''; var sTempSearch = ''; if (sSearchField1!=''){ sCombinedSearch = '(' + sSearchField1 + ')'; } if (sSearchField5!=''){ if (sCombinedSearch!=''){ sTempSearch = sCombinedSearch; sCombinedSearch = sTempSearch + '|and|(' + sSearchField5 + ')'; } else { sCombinedSearch = '(' + sSearchField5 + ')'; } } if (sSearchField6!=''){ if (sCombinedSearch!=''){ sTempSearch = sCombinedSearch; sCombinedSearch = sTempSearch + '|and|(' + sSearchField6 + ')'; } else { sCombinedSearch = '(' + sSearchField6 + ')'; } } if (bSearchString==true){ if (sSearchString!=''){ var sCatSearch = ''; var sStyleSearch = ''; var sProdSearch = ''; var sCombinedSS = ''; var aSearching = sSearchString.split('&'); for (var iSS = 0; iSS < aSearching.length; iSS++){ switch (aSearching[iSS].substring(0, 10)){ case 'search_cat': try{ sCatSearch = aSearching[iSS] + '|and|' + sCombinedSearch; if (sCombinedSS!=''){ sTempSearch = sCombinedSS; sCombinedSS = sTempSearch + '&' + (sCatSearch); } else { sCombinedSS = (sCatSearch); } } catch (err){ //alert('search_cat - ' + err.message); } break; case 'search_sty': try{ sStyleSearch = aSearching[iSS] + '|and|' + sCombinedSearch.replace(new RegExp('<PREFIX>', 'gi'), 'pcs.'); if (sCombinedSS!=''){ sTempSearch = sCombinedSS; sCombinedSS = sTempSearch + '&' + (sStyleSearch); } else { sCombinedSS = (sStyleSearch); } } catch (err){ //alert('search_sty - ' + err.message); } break; case 'search_pro': try{ sProdSearch = aSearching[iSS] + '|and|' + sCombinedSearch.replace(new RegExp('<PREFIX>', 'gi'), 'p.'); if (sCombinedSS!=''){ sTempSearch = sCombinedSS; sCombinedSS = sTempSearch + '&' + (sProdSearch); } else { sCombinedSS = (sProdSearch); } } catch (err){ //alert('search_pro - ' + err.message); } break; default: break; } } sCombinedSearch = sCombinedSS; } else { sTempSearch = sCombinedSearch; sCombinedSearch = 'search_style=' + (sTempSearch) + '&search_prod=' + (sTempSearch); } } else { sCombinedSearch = sSearchVar + '=' + (sSearchString); } if (sCombinedSearch!=''){ sTempSearch = sCombinedSearch; sCombinedSearch = sTempSearch.replace(new RegExp('<PREFIX>', 'gi'), 'p.'); } var sConcat = '?'; if (sSearchPage.indexOf('?')>=0){ sConcat = '&'; } window.location = sSearchPage + sConcat + sCombinedSearch + sBreadCrumbs; } function AdvEnterDisable1(myfield, e){ var key; var keychar; if (window.event) key = window.event.keyCode; else if (e) key = e.which; else return true; keychar = String.fromCharCode(key); if (key==13) return false; else return true; } /************************************************************************************ *** START XML/AJAX FUNCTIONS ******************************************************** ************************************************************************************/ function createSearchXMLDoc(XMLFile) { // code for IE if (window.ActiveXObject){ xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.loadXML(XMLFile); // code for Mozilla, Firefox, Opera, etc. } else if (document.implementation && document.implementation.createDocument){ var parser = new DOMParser(); var xmlDoc = parser.parseFromString(XMLFile, "text/xml"); } else { alert('Your browser cannot handle this script.'); } return(xmlDoc); } function loadSearchXMLDoc(XMLFile) { // code for IE if (window.ActiveXObject){ xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.load(XMLFile); // code for Mozilla, Firefox, Opera, etc. } else if (document.implementation && document.implementation.createDocument){ var xmlDoc = document.implementation.createDocument("","",null); xmlDoc.async="false"; xmlDoc.load(XMLFile); } else { alert('Your browser cannot load "' + XMLFile + '"'); } return(xmlDoc); } function serializeSearchXML(XMLObj){ var strXML = ''; // code for IE if (window.ActiveXObject){ strXML = XMLObj.xml; // code for Mozilla, Firefox, Opera, etc. } else if (document.implementation && document.implementation.createDocument){ //xmlDoc = document.implementation.createDocument("", "", null); strXML = (new XMLSerializer()).serializeToString(XMLObj); } else { alert('Your browser cannot serialize this script.'); } return(strXML); } function getSearchXMLNodeValue(xmlDoc, tagName, index) { if (xmlDoc.getElementsByTagName(tagName)[index].childNodes[0] != null) return xmlDoc.getElementsByTagName(tagName)[index].childNodes[0].nodeValue; else return ''; } // Create an XMLHttpRequest object function GetSearchXMLHttpObject() { var xmlHttp = null; try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } function MakeSearchAJAXRequest(fncHandleSearchData, strPage, bAsync, aShow, aHide, bDisable, errorMsg, xmlDoc, vID, bDebug) { xmlHttp = GetSearchXMLHttpObject(); if (xmlHttp==null){ alert ("Your browser does not support AJAX."); return; } if (bDisable == null){ bDisable = false; } var i; try{ if (aShow != null){ for (i = 0; i < aShow.length; i++){ if (bDisable==true){ document.getElementById(aHide[i]).disabled = false; } else { document.getElementById(aShow[i]).style.display = 'block'; } } } } catch (err){ //alert(err.message); } try{ if (aHide != null){ for (i = 0; i < aHide.length; i++){ if (bDisable==true){ document.getElementById(aHide[i]).disabled = true; } else { document.getElementById(aHide[i]).style.display = 'none'; } } } } catch (err){ //alert(err.message); } if (((getSearchQueryVariable('action')=='showpostfield')||(getSearchQueryVariable('showpostfield')=='1')||(getSearchQueryVariable('action')=='showsql'))&&(bDebug)){ window.open(strPage + '&r_id=' + genID()); } xmlHttp.open('get', strPage + '&r_id=' + genID(), bAsync); xmlHttp.onreadystatechange = function() { HandleSearchData(fncHandleSearchData, errorMsg, vID, true) }; if (xmlDoc == undefined){ xmlDoc = null; } xmlHttp.send(xmlDoc); } function HandleSearchData(fncHandleSearchData, errorMsg, vID, vReturnXML) { var sError = 'An error has occured.'; try{ if (errorMsg != undefined && errorMsg != '' && errorMsg != null && typeof(errorMsg) != 'object'){ sError = errorMsg; } } catch (err){ //alert(err.message); } if(xmlHttp.readyState == 4) { //Finished loading the response if (vReturnXML==true){ xmlDoc = createSearchXMLDoc(xmlHttp.responseText); } else { var strResponse = xmlHttp.responseText; } if (xmlDoc == null && vReturnXML==true) { // alert(sError); } else { if (vReturnXML==true){ fncHandleSearchData(xmlDoc, vID); } else { fncHandleSearchData(strResponse, vID); } } } } function getSearchQueryVariable(vQSVar) { var strReturn = ''; var strQuery = window.location.search.substring(1); var aVars = strQuery.split('&'); for (var iVar = 0; iVar < aVars.length; iVar++) { var aQS = aVars[iVar].split('='); if (trim(aQS[0]).toLowerCase()==trim(vQSVar).toLowerCase()) { strReturn = trim(aQS[1]); break; } } return strReturn; } // Generate 32 character hex ID function genID() { var id = ""; var i; for (i = 0; i < 32; i++) { id = id + dec2hex(Math.round(16*Math.random())); } return id; } // Create an XMLHttpRequest object function createRequestObject(){ var request_o; var browser = navigator.appName; if(browser == "Microsoft Internet Explorer"){ request_o = new ActiveXObject("Microsoft.XMLHTTP"); }else{ request_o = new XMLHttpRequest(); } return request_o; } // Decimal to Hexadecimal function dec2hex(dec) { var hD="0123456789ABCDEF"; var hex = hD.substr(dec&15,1); while (dec>15) { dec >>= 4; hhex = hD.substr(dec&15,1) + hex; } return hex; } // Hexadecimal to Decimal function hex2ddec(hex) { return parseInt(hex,16); } function trim(stringToTrim) { return stringToTrim.replace(/^\s+|\s+$/g,""); } function getSearchNodeValue(xmlDoc, tagName, index) { try{ if (xmlDoc.getElementsByTagName(tagName)[index].childNodes[0] != null){ return xmlDoc.getElementsByTagName(tagName)[index].childNodes[0].nodeValue; } else { return ''; } } catch (err){ //alert(err.message); return 'Error Loading Search Node'; } } /************************************************************************************ *** END XML/AJAX FUNCTIONS ********************************************************** ************************************************************************************/ </script> </div><!-- End Content Header --> <div id="content_padding"> <!-- include files here --> <script language="JavaScript" src="common_images/scripts/Catalog Builder/catalog_builder__100.0.01.js"></script> <script language="Javascript" type="text/javascript"> function SubmitFormOnChange(vID, vURLVar){ var sQS = BuildQueryString(vURLVar); var sPage = ''; if (sPage != '') { sQS = sQS.replace('page=' + sPage,'page=1'); } if (sQS=='' || sQS=='?'){ if (sQS=='') { sQS = '?' } sQS += vURLVar + '=' + document.getElementById(vID).value; } else { var sTempQS = sQS; sQS = sTempQS + '&' + vURLVar + '=' + document.getElementById(vID).value; } window.location = 'http://winning-moves.com/games/New2024.asp' + sQS; } function BuildQueryString(vRemove){ var sQS = ''; var aQS = sQS.split('&'); var sOutput = ''; var sTempString = ''; var aQSVar; for (var iVar = 0; iVar < aQS.length; iVar++){ aQSVar = aQS[iVar].split('='); if (trim(aQSVar[0]).toLowerCase()!=trim(vRemove).toLowerCase()){ sTempString = sOutput; if (sOutput==''){ sOutput = '?' + aQS[iVar]; } else { sOutput = sTempString + '&' + aQS[iVar]; } } } return sOutput; } function BuildQueryArray(vRemove){ var sQS = ''; var aQS = sQS.split('&'); var sOutput = ''; var sTempString = ''; var aQSVar; var aQA = new Array(); for (var iVar = 0; iVar < aQS.length; iVar++){ aQSVar = aQS[iVar].split('='); if (trim(aQSVar[0]).toLowerCase() in ObjConvert(vRemove)){ //Do Nothing } else { sTempString = sOutput; if (sOutput==''){ aQA[aQA.length] = aQS[iVar]; } } } return aQA; } function FilterWithin(vID){ var aQueryString; var sGroupBy = '' var sGroupByVar = ''; var sPageName = 'http://winning-moves.com/games/New2024.asp'; var sQS = ''; var sRPP = ''; var sRPPVar = ''; var sSortBy = ''; var sSortByVar = ''; var sTempString = ''; try{ sGroupBy = trim(document.getElementById('groupbyqs' + vID).value) + '=' + trim(document.getElementById('groupby' + vID).value); sGroupByVar = trim(document.getElementById('groupbyqs' + vID).value); } catch (err){ //alert(err.message); } try{ sRPP = trim(document.getElementById('rppqs' + vID).value) + '=' + trim(document.getElementById('rpp' + vID).value); sRPPVar = trim(document.getElementById('rppqs' + vID).value); } catch (err){ //alert(err.message); } try{ sSortBy = trim(document.getElementById('sortbyqs' + vID).value) + '=' + trim(document.getElementById('sortby' + vID).value); sSortByVar = trim(document.getElementById('sortbyqs' + vID).value); } catch (err){ //alert(err.message); } aQueryString = BuildQueryArray(Array('page', sGroupByVar, sRPPVar, sSortByVar)); for (iQS = 0; iQS < aQueryString.length; iQS++){ sTempString = sQS; if (sQS==''){ sQS = '?' + aQueryString[iQS]; } else { sQS = sTempString + '&' + aQueryString[iQS]; } } if (sGroupBy!=''){ sTempString = sQS; if (sQS==''){ sQS = '?' + sGroupBy; } else { sQS = sTempString + '&' + sGroupBy; } } if (sRPP!=''){ sTempString = sQS; if (sQS==''){ sQS = '?' + sRPP; } else { sQS = sTempString + '&' + sRPP; } } if (sSortBy!=''){ sTempString = sQS; if (sQS==''){ sQS = '?' + sSortBy; } else { sQS = sTempString + '&' + sSortBy; } } window.location = sPageName + sQS; } function ObjConvert(aArray){ var oObj = {}; for(var iCount = 0; iCount < aArray.length; iCount++){ oObj[trim(aArray[iCount]).toLowerCase()]=''; } return oObj; } function trim(stringToTrim) { return stringToTrim.replace(/^\s+|\s+$/g,''); } </script> <script language="javascript" src="common_images/scripts/wz_tooltip.js"></script> <div id="atc_msg_container" style="display:none;" class="atc_msg overlay"></div> <div id="atc_msg" style="display:none;" class="atc_msg message"> <div id="atc_msg_adj_text" style="display:none;">One or more of the quantities you entered did not match the minimum or maximum quantity allowed and have been adjusted accordingly.</div> <div id="atc_msg_text">Item(s) added to cart!</div> <div id="atc_msg_product"></div> <div id="atc_msg_backorder_text"></div> <ul id="atc_msg_buttons" style="display:none;"> <li id="atc_msg_btn1"><a class="btn" id="atc_msg_close_win" href="#">Close</a></li> <li id="atc_msg_btn2"><a class="btn" id="atc_msg_view_cart" href="https://winning-moves.com/showcart.asp?sc_id=32517C0604E04E209BBC895575A656FC&a_name=&c_Lastname=&c_firstName=&c_userName=&c_id=&a_id=&s_key=69D68FA6AA564A2E8422A8D003F93A82&s_url=http%3A%2F%2Fwinning%2Dmoves%2Ecom&o_url=https%3A%2F%2Fwinning%2Dmoves%2Ecom&createsessioncookie=1&noredirect=1&l_ws_key=&c_type=&SessionPriceGroup=&SessionWarehouse=&SessionCurrency=&SessionPriceSheetField=&user_setting_key=&us_key=&mobile=no">View Cart</a></li> </ul> <div id="atc_msg_notice"> </div> </div> <div id="styled_modal_container" style="display:none;" class="atc_msg overlay"></div> <div id="styled_modal_msg" style="display:none;" class="atc_msg message"> <div id="styled_modal_text"></div> <ul id="styled_modal_buttons" style="display:none;"> <li id="styled_modal_btn1"><a class="btn" id="styled_modal_close" href="#">Ok</a></li> </ul> </div> <div id="list_wrap" class="clearfix"> <div id="list_wrap_pad"> <div id="list_head" class="clearfix"> <h1 class="head_title">New 2024 Games and Puzzles</h1> </div><!--/#list_head--> <div id="dialog-box"></div> <div class="loading-bg" id="detailloadingbg" style="display:none;"> </div> <div class="loading-win bgfade" id="detailloadingpic" style="display:none;"></div> <div id="list_prods"> <div id="products_header" class="list_toolbar clearfix"> <div class="list_paging"> <div class="xresults_counter">Showing 1 - 8 of 8 results</div>Page 1 of 1 </div> </div><!--/#products_header--> <table id="gallery_layout" class="product_wrap_table" border="0" cellspacing="0"> <tr> <td class="prod_item" id="prod_item_917FACCE4AAE401C9B8AC42F18B289CB"> <div class="prod_item_pad"> <div class="thumb"> <a href="product/fuzzybutts.asp" title="Fuzzy Butts&trade;"><img src="images/1255_fuzzybuttssml.jpg" alt="Fuzzy Butts&trade;" /></a> </div> <div class="item_row nm"> <a href="product/fuzzybutts.asp" title="Fuzzy Butts&trade;">Fuzzy Butts™</a> </div> <div class="prod-inv"> </div> <div class="item_pricing"> <div class="item_row retail">Price: $10.95</div></div> <div class="item_row inv"> <input type="hidden" id ="inventory_status_917FACCE4AAE401C9B8AC42F18B289CB" value="in"> <input type="hidden" id="inventory_qty_917FACCE4AAE401C9B8AC42F18B289CB" value="0" > <div class="item_row inv_msg"><span class="inv_qty instock"></span> </div> </div> </div><!--/.prod_item_pad--> </td><!--/.prod_item--> <td class="prod_item" id="prod_item_FB4F7BC659444EDF9570EB3622CDFBDB"> <div class="prod_item_pad"> <div class="thumb"> <a href="product/pppcg.asp" title="Pretty, Pretty, Princess&#174; Card Game"><img src="images/ppp_cg_sml.jpg" alt="Pretty, Pretty, Princess&#174; Card Game" /></a> </div> <div class="item_row nm"> <a href="product/pppcg.asp" title="Pretty, Pretty, Princess&#174; Card Game">Pretty, Pretty, Princess® Card Game</a> </div> <div class="prod-inv"> </div> <div class="item_pricing"> <div class="item_row retail">Price: $9.95</div></div> <div class="item_row inv"> <input type="hidden" id ="inventory_status_FB4F7BC659444EDF9570EB3622CDFBDB" value="in"> <input type="hidden" id="inventory_qty_FB4F7BC659444EDF9570EB3622CDFBDB" value="0" > <div class="item_row inv_msg"><span class="inv_qty instock"></span> </div> </div> </div><!--/.prod_item_pad--> </td><!--/.prod_item--> <td class="prod_item" id="prod_item_701AA9E48A3240878643E1F052B85DAF"> <div class="prod_item_pad"> <div class="thumb"> <a href="product/Rackojr.asp" title="Rack-O&#174; Jr."><img src="images/rackojr_small.jpg" alt="Rack-O&#174; Jr." /></a> </div> <div class="item_row nm"> <a href="product/Rackojr.asp" title="Rack-O&#174; Jr.">Rack-O® Jr.</a> </div> <div class="prod-inv"> </div> <div class="item_pricing"> <div class="item_row retail">Price: $13.95</div></div> <div class="item_row inv"> <input type="hidden" id ="inventory_status_701AA9E48A3240878643E1F052B85DAF" value="in"> <input type="hidden" id="inventory_qty_701AA9E48A3240878643E1F052B85DAF" value="0" > <div class="item_row inv_msg"><span class="inv_qty instock"></span> </div> </div> </div><!--/.prod_item_pad--> </td><!--/.prod_item--> <td class="prod_item last_item" id="prod_item_94553498A4FC4981B5F3B417B9A6A463"> <div class="prod_item_pad"> <div class="thumb"> <a href="product/twistablesholidaypuzzle.asp" title="Twistables&reg; Holiday Puzzle"><img src="images/7204_twistholidaycube_smal.jpg" alt="Twistables&reg; Holiday Puzzle" /></a> </div> <div class="item_row nm"> <a href="product/twistablesholidaypuzzle.asp" title="Twistables&reg; Holiday Puzzle">Twistables® Holiday Puzzle</a> </div> <div class="prod-inv"> </div> <div class="item_pricing"> <div class="item_row retail">Price: $9.95</div></div> <div class="item_row inv"> <input type="hidden" id ="inventory_status_94553498A4FC4981B5F3B417B9A6A463" value="in"> <input type="hidden" id="inventory_qty_94553498A4FC4981B5F3B417B9A6A463" value="0" > <div class="item_row inv_msg"><span class="inv_qty instock"></span> </div> </div> </div><!--/.prod_item_pad--> </td><!--/.prod_item--></tr> <tr> <td class="prod_item" id="prod_item_A35BC918529E44D097F6C3128E25166C"> <div class="prod_item_pad"> <div class="thumb"> <a href="product/YahtzeeWords.asp" title="Yahtzee&#174; Words"><img src="images/yahtzeewords_sml.jpg" alt="Yahtzee&#174; Words" /></a> </div> <div class="item_row nm"> <a href="product/YahtzeeWords.asp" title="Yahtzee&#174; Words">Yahtzee® Words</a> </div> <div class="prod-inv"> </div> <div class="item_pricing"> <div class="item_row retail">Price: $16.70</div></div> <div class="item_row inv"> <input type="hidden" id ="inventory_status_A35BC918529E44D097F6C3128E25166C" value="in"> <input type="hidden" id="inventory_qty_A35BC918529E44D097F6C3128E25166C" value="0" > <div class="item_row inv_msg"><span class="inv_qty instock"></span> </div> </div> </div><!--/.prod_item_pad--> </td><!--/.prod_item--> <td class="prod_item" id="prod_item_315BC38451834261BD2AC56DA320640C"> <div class="prod_item_pad"> <div class="thumb"> <a href="product/ouijasalem.asp" title="Ouija&reg; Salem Edition"><img src="images/1257_ouijasalemsml.jpg" alt="Ouija&reg; Salem Edition" /></a> </div> <div class="item_row nm"> <a href="product/ouijasalem.asp" title="Ouija&reg; Salem Edition">Ouija® Salem Edition</a> </div> <div class="prod-inv"> </div> <div class="item_pricing"> <div class="item_row retail">Price: $30.95</div></div> <div class="item_row inv"> <input type="hidden" id ="inventory_status_315BC38451834261BD2AC56DA320640C" value="in"> <input type="hidden" id="inventory_qty_315BC38451834261BD2AC56DA320640C" value="0" > <div class="item_row inv_msg"><span class="inv_qty instock"></span> </div> </div> </div><!--/.prod_item_pad--> </td><!--/.prod_item--> <td class="prod_item" id="prod_item_6972E29DDA874C55878C2BD386598D4B"> <div class="prod_item_pad"> <div class="thumb"> <a href="product/bogglejr.asp" title="Boggle&reg; Jr."><img src="images/bogglejr_sml.jpg" alt="Boggle&reg; Jr." /></a> </div> <div class="item_row nm"> <a href="product/bogglejr.asp" title="Boggle&reg; Jr.">Boggle® Jr.</a> </div> <div class="prod-inv"> </div> <div class="item_pricing"> <div class="item_row retail">Price: $20.95</div></div> <div class="item_row inv"> <input type="hidden" id ="inventory_status_6972E29DDA874C55878C2BD386598D4B" value="in"> <input type="hidden" id="inventory_qty_6972E29DDA874C55878C2BD386598D4B" value="0" > <div class="item_row inv_msg"><span class="inv_qty instock"></span> </div> </div> </div><!--/.prod_item_pad--> </td><!--/.prod_item--> <td class="prod_item last_item" id="prod_item_44985C468A1B450097B12DB35F43EE68"> <div class="prod_item_pad"> <div class="thumb"> <a href="product/InstantInsanity.asp" title="Instant Insanity&#174;"><img src="images/1256_instantinsanity_small.jpg" alt="Instant Insanity&#174;" /></a> </div> <div class="item_row nm"> <a href="product/InstantInsanity.asp" title="Instant Insanity&#174;">Instant Insanity®</a> </div> <div class="prod-inv"> </div> <div class="item_pricing"> <div class="item_row retail">Price: $6.50</div></div> <div class="item_row inv"> <input type="hidden" id ="inventory_status_44985C468A1B450097B12DB35F43EE68" value="in"> <input type="hidden" id="inventory_qty_44985C468A1B450097B12DB35F43EE68" value="0" > <div class="item_row inv_msg"><span class="inv_qty instock"></span> </div> </div> </div><!--/.prod_item_pad--> </td><!--/.prod_item--></tr> <tr></tr> </table><!--/.product_wrap_table--> <div id="footer_text"></div> <div id="products_footer" class="list_toolbar clearfix"> <div class="list_paging"> Page 1 of 1 </div> </div> </div><!--/#list_prods--></div><!--/#list_wrap_pad--> </div><!--/#list_wrap--> <script type="text/javascript" src="common_images/scripts/ajax_builder/ajax_builder__100_00_05.js"></script> <script type="text/javascript"> /*================================ * Global Vars *================================*/ var oAjax = new ajax_builder(); var bUsingOrderDetailTableForCarts = false; var bShowBackOrderMessage = false var sStockExceedMessage = 'The item you have requested exceeds the quantity available'; var sStockAvailableMessage = 'Requested quantity is currently available'; var sBackorderPlacedMessage = 'Item(s) will be placed on backorder'; var sBackorderAvailableMessage = 'Item(s) added to Cart'; var bShowTableFilter = false; var sPageName = 'New2024.asp'; var sFl_Key = ''; var bShowRecommendedItems = false; var sRecommendedItemsView = 'list'; var bUseCaseQty = true; var bAddToCartAfterQtyAdjust = false; var bAddToCartAfterQtyAdjustErrored = false; var sInvalidQtyHtml = '<div class="alert">Please enter a valid qty greater than 1</div>'; var bCookieFavListQty = false; var sNoWarehouseFound = 'Call for Inventory'; var bRequireWarehouse = false; var bListViewATCPerLine = false; var bInStockShowEmptyWarehouses = false; var bInvalidQtyMsgShowing = false; var bUseIDP = true; /* * Get the values of orderfronturl and buildsessionpassthrough * to maintain sessions and cookies for SSL domain * @auther lroselli * @since 4/10/2013 */ var sOrderFrontUrl = 'https://winning-moves.com'; var sBuildSessionPassThrough = 'sc_id=32517C0604E04E209BBC895575A656FC&a_name=&c_Lastname=&c_firstName=&c_userName=&c_id=&a_id=&s_key=69D68FA6AA564A2E8422A8D003F93A82&s_url=http%3A%2F%2Fwinning%2Dmoves%2Ecom&o_url=https%3A%2F%2Fwinning%2Dmoves%2Ecom&createsessioncookie=1&noredirect=1&l_ws_key=&c_type=&SessionPriceGroup=&SessionWarehouse=&SessionCurrency=&SessionPriceSheetField=&user_setting_key=&us_key=&mobile=no'; var bShowSalesUOM = false; var bShowNativeUOMinCart = false; var bDisableATCZeroQtyWarehouse = false; /*================================ * Init Code & Event Registration *================================*/ jQuery(function(){ /* inline search */ if ( bShowTableFilter ) { /* inline search: store searchable text */ $('#clear_filter').click(function(){ $('#prod_table_search').val('').blur(); $('.product_wrap_table .indexColumn').parent().show().end().hide(); window.location.hash = ''; $(this).hide(); }); $('.product_wrap_table tr:has(td)') .each(function(){ var t = $(this).text().toLowerCase(); $('<td class="indexColumn"></td>').hide().text(t).appendTo(this); }); /* inline search: function */ $('#prod_table_search') .keyup(function(e){ if (e.keyCode == 27) { /* clear search on ESC keypress when search is focused */ $('#clear_filter').click(); } else { /* perform search */ var s = $(this).val().toLowerCase().split(' '); window.location.hash = $(this).val(); $('.product_wrap_table tbody tr:hidden').show(); $.each(s, function(){ $('.product_wrap_table tbody tr:visible .indexColumn:not(:contains("' + this + '"))').parent().hide(); }); } //-if (e.keyCode == 27) if($(this).val()=='') $('#clear_filter').hide(); else $('#clear_filter').show(); }); (function($){ var hash = window.location.hash; if(hash) $('#prod_table_search').val(hash.replace('#','')).keyup(); })(jQuery); } //- if ( bShowTableFilter ) // check for layout cookie - create if necessary c_start = document.cookie.indexOf('productLayout='); if (c_start = -1) { wsp_setCookie('productLayout', 'gallery', 365); }; jQuery('a#gallery_layout').addClass('active'); // set layout mode when ui buttons are clicked jQuery('a#gallery_layout').click(function(event){ event.preventDefault(); wsp_setCookie('productLayout', 'gallery', 365); window.location.reload(); }); jQuery('a#list_layout').click(function(event){ event.preventDefault(); wsp_setCookie('productLayout', 'list', 365); window.location.reload(); }); /* * Added HTML Element "Table" before class "#list_layout", * just to instruct the jQuery to refer the Table with the * Class "list_layout". * * @author MandarK * @since 02/23/2011 */ jQuery('Table#list_layout').delegate("select.uom", "change", function(){ sPKey = jQuery(this).closest('tr').attr("id"); Uom.getPrice(sPKey); }); /* * Added HTML Element "Table" before class "#gallery_layout", just to instruct the jQuery to refer * the Table with the Class "gallery_layout". Now additionally took the "Prod Id" Value from the * closest TD and replacing the text "prod_item_" value with "" * * @author MandarK * @since 02/23/2011 */ jQuery('Table#gallery_layout').delegate("select.uom", "change", function(){ sPKey = (jQuery(this).closest('td').attr("id")).replace("prod_item_",""); Uom.getPrice(sPKey); }); jQuery('#atc_msg_close_win').click(function(event){ event.preventDefault(); closeCartLightbox(); }); jQuery('.order_btn').click(function(){ postToCart('', $(this).data('pkey')); }); /* * Qty Available Immediate Function *@author pijushb *@since 9/14/2011 */ if (bShowBackOrderMessage) { (function($){ // //Show Check Stock Button. // keys = document.getElementsByName('keys'); // for (var k=0; k < keys.length; k++){ // $("#review_button_"+keys[k].value).show(); // } // Refactored above code to use jQuery // jonr - 8-12-2013 jQuery('input[name="keys"]') .each(function(){ $("#review_button_"+jQuery(this).val()).show(); }); //Register review button listener $('.review_button').click(function(event){ sPKey = $(this).attr('rel'); bBackOrder = fncCheckBackorder(sPKey,'checkstock'); $("#review_message_" + sPKey).show(); }); })(jQuery); } //-if (bShowBackOrderMessage) /* * This was added for the list view for results * returning no items that are in stock. * * @author: johns * @since 6/25/2012 */ if ( jQuery('input[name="keys"]').length <= 0 ) { jQuery('.btn_addtocart').hide(); } if ( bRequireWarehouse && bListViewATCPerLine) { jQuery('.btn_addtocart').attr('disabled', true); jQuery('[id*="get_wh_btn_"]').click( function() { pkey = $(this).attr('id').substring($(this).attr('id').length - 32); jQuery('#' + pkey + ' td.product_quantity form button[type="submit"]').removeAttr('disabled'); }); } if ( bCookieFavListQty ) { fncLoadFavListQtyFromCookie(); jQuery('#list_prods input.qtyinput').bind('change keyup', function(){ fncCookieForm(); }); } }); function fncCookieForm() { var sCookie = '['; //build the cookie with an array of objects containing the p_key and qty jQuery('#list_prods input[class="qtyinput"][type="number"][value!=""]').each(function(){ var sPKey = jQuery(this).attr('id').substr(4, jQuery(this).attr('id').length); var sQty = jQuery('#qty_' + sPKey).val(); if ( sCookie != '[' ) { sCookie += ',' } sCookie += '{key: \'' + sPKey + '\', qty: ' + sQty + '}'; }); sCookie += ']'; var sExpDate = new Date(); sExpDate.setDate(sExpDate.getDate() + 1); //keep for 1 day document.cookie = sFl_Key + '=' + sCookie + '; expires=' + sExpDate.toUTCString(); } function fncLoadFavListQtyFromCookie() { try { prepop = eval(getCookie(sFl_Key).replace(/\"/g,'')); if ( typeof prepop == 'undefined' ) { prepop = []; } } catch (ignore) { prepop = [] } if ( prepop.length > 0 ) { $.each(prepop, function(index, prod) { jQuery('#qty_' + prod.key).val(prod.qty) }); } } function getCookie(c_name) { var c_value = document.cookie; var c_start = c_value.indexOf(" " + c_name + "="); if ( c_start == -1 ) { c_start = c_value.indexOf(c_name + "="); } if (c_start == -1) { c_value = null; } else { c_start = c_value.indexOf("=", c_start) + 1; var c_end = c_value.indexOf(";", c_start); if ( c_end == -1 ) { c_end = c_value.length; } c_value = unescape(c_value.substring(c_start,c_end)); } return c_value; } function fncShowChildProducts ( vPKey ) { var aRows = document.getElementsByName(vPKey + '_keys'); for ( var iRow = 0, iGoTo = aRows.length; iRow < iGoTo; iRow++ ) { try { jQuery('#' + vPKey + '_' + aRows[iRow].value).show(); } catch ( oError ) { alert('Error: ' + oError.message); } } jQuery('#' + vPKey + '_disp_children_link').hide(); } //- function fncShowChildProducts ( vPKey ) /*================================ * Standard Functions *================================*/ function wsp_setCookie(nm,val,days) { var expdate = new Date(); expdate.setDate(expdate.getDate()+days); document.cookie = nm + '=' + val + ';expires=' + expdate.toGMTString() + ';path=/;'; } function fncMinMaxQtyCheck ( sKey ) { var iQty = parseInt(jQuery('#qty_' + sKey).val()); var iMinQty = parseInt(jQuery('#min_order_qty_' + sKey).val()); var iMaxQty = parseInt(jQuery('#max_order_qty_' + sKey).val()); var iCaseQty = parseInt(jQuery('#case_qty_' + sKey).val()); var sErrorMsg = 'One or more of the quantities you entered did not match the minimum or maximum quantity allowed and have been adjusted accordingly.'; var bIsError = false; var bUseMinQtyCheck = false; //Checks for negative numbers and non numeric characters //Sets Min & Case QTY to 1 if null or zero //lroselli 3/5/2013 if ( iMinQty <= 0 || isNaN(iMinQty) ) { iMinQty = 1; } if ( iCaseQty <= 0 || isNaN(iCaseQty) ) { iCaseQty = 1; } //This actually does the check and adjusts end result QTY -lroselli 3/5/2013 if ( iQty < iMinQty && iQty != 0 && bUseMinQtyCheck ) { if ( iMinQty > iMaxQty && iMaxQty != 0 ) { jQuery('#qty_' + sKey).val(''); } else if ( iMinQty <= iCaseQty ) { iQty = iCaseQty; jQuery('#qty_' + sKey).val(iQty); bIsError = true; } else { iQty = Math.round(iMinQty / iCaseQty) * iCaseQty; jQuery('#qty_' + sKey).val(iQty); bIsError = true; } } else if ( iQty > iMaxQty && iQty != 0 ) { if ( iMinQty > iMaxQty && iMaxQty != 0 ) { jQuery('#qty_' + sKey).val(''); } else if ( iMaxQty > iCaseQty ) { iQty = Math.floor(iMaxQty / iCaseQty) * iCaseQty; jQuery('#qty_' + sKey).val(iQty); bIsError = true; } else if ( iMaxQty == 0 ) { if ( iQty % iCaseQty != 0 ) { iQty = Math.round(iQty / iCaseQty) * iCaseQty; if ( iQty == 0 ) { iQty = iCaseQty; } jQuery('#qty_' + sKey).val(iQty); bIsError = true; } else { jQuery('#qty_' + sKey).val(iQty); } } else { iQty = iCaseQty; jQuery('#qty_' + sKey).val(iQty); bIsError = true; } } else { if ( ! isNaN(iQty) && iQty != 0 ) { if ( iQty % iCaseQty != 0 ) { iQty = Math.round(iQty / iCaseQty) * iCaseQty; jQuery('#qty_' + sKey).val(iQty); bIsError = true; } else { jQuery('#qty_' + sKey).val(iQty); } } else { //do not alert or break jQuery('#qty_' + sKey).val(''); } } if ( bAddToCartAfterQtyAdjust && bAddToCartAfterQtyAdjustErrored ) { jQuery('#atc_msg_adj_text').show(); } else { jQuery('#atc_msg_adj_text').hide(); } if ( bIsError && ! bAddToCartAfterQtyAdjust ) { styled_modal_alert(sErrorMsg); return false; } else if ( bIsError && bAddToCartAfterQtyAdjust ) { bAddToCartAfterQtyAdjustErrored = true; return true; } else { return true; } } //- function fncMinMaxQtyCheck ( sKey ) /** * This function determines how the products should be posted (form or ajax). * * @author ?? * @since ?? * * @modified johns - 3/19/2013: added param "sKeyDataName" and the code w/ it * * @param sKeyDataName (string): id of the html element that hold the * keys of the products to be added to the cart (this is * specifically used for the add-on products) * * @return bool - for ajax ATC, return false to draw the modal popup window * else return true to redirect to the add to cart page */ function postToCart ( sKeyDataName, sKey ) { var bIsAccessory = false; var addToCartButtons = '.prod_item .actions .btn.btn-small, .detail_atc_standalone .btn-primary'; try { bPassMinMaxQtyCheck = fncMinMaxQtyCheck ( sKey ); if ( ! bPassMinMaxQtyCheck ) { // removed spinner Icon from add to cart button $(addToCartButtons).children('i.icon-spinner').remove(); return false; } /* 'Check of backorder qyantity so that it show proper message and enable review and checkout button. '@author pijushb '@since 9/14/2011 */ if ( bShowBackOrderMessage ) { /* * Call function to check for backorder qyantity * parm: product key * return: boolean */ bBackOrder = ! fncCheckBackorder ( sKey, 'atcbutton' ); if ( bBackOrder ) { //Hold the process.. return false; } else { //Proceed to add product to Cart.. return true; } //- if ( ! bBackOrder ) } else { return true; } //- if ( bShowBackOrderMessage ) } catch ( oError ) { alert(oError.mesage); return false } } //- function postToCart ( sKey ) /** * Check the product's inventory to show a backorder message * * @author pijushb * @since 9/14/2011 */ function fncCheckBackorder ( sKey, sButtonType ) { var sGlobalBackOrderMessage = '' , sBackOrderMessage = '' , sQtyRequested = 1 , iQtyAvaliable = 1 , bReturn = true , sReviewComplete = jQuery('#review_complete_' + sKey).val() , sCheckoutButton = jQuery('#checkout_complete_' + sKey).val(); if ( sReviewComplete === '0' ) { sQtyRequested = jQuery('#qty_' + sKey).val(); iQtyAvaliable = jQuery('#inventory_qty_' + sKey).val(); if ( iQtyAvaliable === '' ) iQtyAvaliable = 0; if ( parseInt(sQtyRequested) > parseInt(iQtyAvaliable) ) { //Popup to show backorder message.. sBackOrderMessage = sBackorderPlacedMessage; if ( sButtonType === 'atcbutton' && sCheckoutButton === '0' ) { showOkCheckoutMessage ( sBackOrderMessage, sKey ); } //- if ( sButtonType === 'atcbutton' && sCheckoutButton === '0' ) jQuery('#review_message_' + sKey).html(sStockExceedMessage); bReturn = false } else { //Popup to show available message.. sBackOrderMessage = sBackorderAvailableMessage; if ( sButtonType === 'atcbutton' && sCheckoutButton === '0' ) { showOkCheckoutMessage ( sBackOrderMessage, sKey ); } //- if ( sButtonType === 'atcbutton' && sCheckoutButton === '0' ) jQuery('#review_message_' + sKey).html(sStockAvailableMessage); bReturn = false } //- if ( parseInt(sQtyRequested) > parseInt(iQtyAvaliable) ) } else { bReturn = false; } // if ( sReviewComplete === '0' ) if (sCheckoutButton === '1') bReturn = true; return bReturn; } //- function fncCheckBackorder ( sKey, sButtonType ) /** * Function to popup dialog box with proper message * @author pijushb * @since 1/25/2012 */ function showOkCheckoutMessage (sBackOrderMessage, sKey ) { bSucessAdd = ajaxAddKeys(sKey); if ( bSucessAdd ) { jQuery('#dialog-box').html(sBackOrderMessage) jQuery('#dialog-box').dialog(); //getter var buttons = $('#dialog-box').dialog( 'option', 'buttons' ); //setter jQuery('#dialog-box').dialog( 'option', 'buttons', [ { text: 'Ok', click: function() { closeCartLightbox(); funcShowHideButtons(sKey); jQuery(this).dialog('close'); } }, { text: 'Checkout', click: function() { gotoCart(sKey); jQuery(this).dialog('close'); } } ] ); } //- if ( bSucessAdd ) } //- function showOkCheckoutMessage (sBackOrderMessage, sKey ) /* * Function to show/hide buttons and message. * @author pijushb * @since 1/25/2012 **/ function funcShowHideButtons ( sKey ) { //Show review button and checkout button and set review message with backorder message.. jQuery('#checkout_button_' + sKey).show(); jQuery('td#prod_item_' + sKey + ' div.actions input.btn_addtocart').hide(); jQuery('#review_message_' + sKey).hide(); //Set the value to 1. so that when click on checkout button it should not check backorder again. jQuery('#checkout_complete_'+ sKey).val('1'); } //- function funcShowHideButtons ( sKey ) /* * Function to redirect the page to showcart page. * @author pijushb * @since 1/25/2012 **/ function gotoCart() { window.location = "https://winning-moves.com/showcart.asp"; } //- function gotoCart() /** * Show a modal message * @author pijushb * @since 9/14/2011 */ function showModalMessage(sMessage){ ResizeLoadingBG(); sOrigText = $('#detailloadingpic').html(); $('#detailloadingpic').html(sMessage); setTimeout( 'HideLoading()', 3000 ); } function HideLoading(){ jQuery('#detailloadingbg').hide(); jQuery('#detailloadingpic').hide(); } function ResizeLoadingBG(){ var oLBG = jQuery('#detailloadingbg')[0]; var oLPic = jQuery('#detailloadingpic')[0]; var popwidth = 200; if (window.innerHeight && window.scrollMaxY) { oLBG.style.width = document.body.scrollWidth; oLBG.style.height = window.innerHeight + window.scrollMaxY; } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac oLBG.style.width = document.body.scrollWidth; oLBG.style.height = document.body.scrollHeight; } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari oLBG.style.width = document.body.offsetWidth; oLBG.style.height = document.body.offsetHeight; } if (self.innerHeight) { // all except Explorer oLPic.style.left = (self.innerWidth / 2) - (popwidth / 2); oLPic.style.top = self.pageYOffset + (self.innerHeight / 4); } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode oLPic.style.left = (document.documentElement.clientWidth / 2) - (popwidth / 2); oLPic.style.top = document.documentElement.scrollTop + (document.documentElement.clientHeight / 4); } else if (document.body) { // other Explorers oLPic.style.left = (document.body.clientWidth / 2) - (popwidth / 2); oLPic.style.top = document.body.scrollTop + (document.body.clientHeight / 4); } oLBG.style.display = 'block'; oLPic.style.display = 'block'; } function validQtys(form) { var bReturn = false; $(form).find('input[name*="qty_"]').each(function(){ if($(this).val()!='' && parseInt($(this).val())>0) { bReturn = true; return; } }); if(!bReturn && !bInvalidQtyMsgShowing) { bInvalidQtyMsgShowing = true; $(form).find('button[type="submit"]').after(sInvalidQtyHtml); } return bReturn; } /** * This function handles the case qty validation of the add to cart form post. * @author ?? * @since ?? * @modified johns - 3/19/2013: added param "sKeyDataName" and the code w/ it * * @param bUseAjaxATC (bool): use ajax form post * @param sKeyDataName (string): id of the html element that hold the * keys of the products to be added to the cart (this is * specifically used for the add-on products) * @param sKey (string): single product key (gallery view and atc per line * in list view) * * @return bool - for ajax ATC, return false to draw the modal popup window * else return true to redirect to the add to cart page */ function checkCaseQtys ( bUseAjaxATC, sKeyDataName, sKey ) { var bValidCaseQty = false; var aKeys; var bFailedCheck = true; bAddToCartAfterQtyAdjustErrored = false; if ( typeof sKeyDataName === 'undefined' && typeof sKey === 'undefined' || sKey === '') sKeyDataName = 'keys'; try { if ( typeof sKey === 'undefined' || sKey === '' || ( typeof sKeyDataName !== 'undefined' && sKeyDataName !== '' ) ) { if ( jQuery('input[name="' + sKeyDataName + '"]').length > 0 ) { aKeys = jQuery('input[name="' + sKeyDataName + '"]'); for ( var iKeyCounter = 0, iKeyGoTo = aKeys.length; iKeyCounter < iKeyGoTo; iKeyCounter++ ) { //bValidCaseQty = fncValidateCaseQty ( jQuery(aKeys[iKeyCounter]).val() ); bValidCaseQty = fncMinMaxQtyCheck ( jQuery(aKeys[iKeyCounter]).val() ); if ( ! bValidCaseQty ) bFailedCheck = false; }//- for ( iKeyCounter = 0, iKeyGoTo = sKeys.length; iKeyCounter < iKeyGoTo; iKeyCounter++ ) if ( ! bFailedCheck ) { //styled_modal_alert('You must order the package quantity for this item. Please adjust the quantity to proceed.'); return false; } else { if ( bUseAjaxATC ) { bPass = postToCart ( sKeyDataName, jQuery(aKeys[iKeyCounter]).val() ); } else { bPass = fncMinMaxQtyCheck ( jQuery(aKeys[iKeyCounter]).val() ); } //- if ( bUseAjaxATC ) } //- if ( bHitOne ) } //- if ( jQuery('input[name="keys"]').length > 0 ) } else { bValidCaseQty = fncMinMaxQtyCheck ( sKey ); //bValidCaseQty = fncValidateCaseQty ( sKey ); if ( ! bValidCaseQty ) { //styled_modal_alert('You must order the package quantity for this item. Please adjust the quantity to proceed.'); return false; } else { if ( bUseAjaxATC ) { bPass = postToCart ( sKeyDataName, sKey ); } else { bPass = fncMinMaxQtyCheck ( sKey ); } //- if ( bUseAjaxATC ) } //- if ( bValidCaseQty ) } //- if ( typeof sKey == 'undefined' ) return bPass; } catch ( oError ) { alert('Case Quantity Validation: ' + oError.mesage); return false; } } //- function checkCaseQtys ( sKey ) function fncValidateCaseQty ( sKey ) { var bPass = true; var iCaseQty, iRemainder = 0; iCaseQty = jQuery('#case_qty_' + sKey).val(); if ( parseInt(iCaseQty) > 1 ) { iQty = jQuery('#qty_' + sKey).val(); if ( iQty != '' ) { //make sure the qty is a multiple iRemainder = parseInt(iQty) % parseInt(iCaseQty); if ( iRemainder != 0 ) { bPass = false; } //- if ( iRemainder = 0 ) } //- if ( iQty.value != '' ) } //- if ( parseInt(iCaseQty) > 1 ) return bPass } //- function fncValidateCaseQty ( sKey ) /*================================ * AJAX Functions *================================*/ /** * Logic to Update Pricing for UOM * * @author dand * @since 4/22/2010 */ var UomJQ = jQuery; var Uom = {fn: function(){}}; var sLoadingMessage = ''; var sPriceText = 'Price:'; (function(jQuery){ /** * getPrice */ Uom.getPrice = function(sPKey){ var oUomAjax = new ajax_builder(); this.sPKey = sPKey; this.toggleQty(); oUomAjax.Reset(); oUomAjax.SetVar("pageaction", "uom_price"); oUomAjax.SetVar("uom_type", jQuery('#uom_type_' + sPKey).val()); oUomAjax.SetVar("p_id", sPKey); oUomAjax.RequestFile = "New2024.asp"; //i_i_ oUomAjax.Method = "GET"; oUomAjax.ResponseType = "text"; oUomAjax.onLoading = function() { Uom.loading() }; oUomAjax.onCompletion = function(){ Uom.drawPrice(oUomAjax.Response) }; oUomAjax.onError = this.error; oUomAjax.RunAJAX(); };//-Uom.getPrice /** * drawPrice */ Uom.drawPrice = function ( sResponse ) { jQuery('#' + Uom.sPKey + ' td.product_price').html(sResponse); /* * Add this line to replace the price value on select of UOM * when the view is Gallary view * * @author MardarK * @since 02/23/2011 */ jQuery('td#prod_item_' + Uom.sPKey + ' div.item_pricing').html('<div class="item_row retail">' + sPriceText + ' ' + sResponse + '</div>'); jQuery('td#prod_item_' + this.sPKey + ' div.actions input.btn_addtocart').removeAttr('disabled'); //HideLoading(); }; //- Uom.drawPrice Uom.loading = function () { jQuery('td#prod_item_' + this.sPKey + ' div.actions input.btn_addtocart').attr('disabled','disabled'); jQuery('td#prod_item_' + this.sPKey + ' div.item_pricing').html(sLoadingMessage); }; //- Uom.loading /** * toggleQty */ Uom.toggleQty = function () { if(jQuery('#uom_type_' + this.sPKey).val() == 'sales'){ jQuery('#qty_' + this.sPKey).attr("name", 'sales_qty_' + this.sPKey); } else { jQuery('#qty_' + this.sPKey).attr("name", 'qty_' + this.sPKey); }//-if(jQuery('#uom_type_' + vPKey).val() == 'sales') }; //- Uom.toggleDisplay /** * error */ Uom.error = function () { alert('There was an error retrieving the information for the product you selected.'); }; //- Uom.error })(UomJQ); /** * AJAX Call to remove item from favorites list. * * @author johns * @since 10/15/2009 */ function fncRemoveItem ( sProdKey ) { jQuery.ajax({ url: sPageName, data: 'pageaction=removefavitems&p_key=' + sProdKey + '&fl_key=' + sFl_Key + '&r_id=' + new Date().getTime(), type: 'GET', async: false, dataType: 'text', success: function () { fncRemoveItemCompleted ( sProdKey ); } }); } //- function fncRemoveItem ( sProdKey ) //- EVENT FUNCTIONS ================================================== function fncRemoveItemCompleted( p_key ) { var $oContainer = jQuery('td#prod_item_' + p_key); var $oContainer2 = jQuery('tr#' + p_key); if ($oContainer.length > 0){ // $oContainer.hide(); $oContainer.remove(); }else{ // $oContainer2.hide(); $oContainer2.remove(); } } //- function fncRemoveItemCompleted( p_key ) //================================================================ function closeCartLightbox() { if (jQuery('#cart_window')){ //cart_window oAjax.Reset(); oAjax.RequestFile = 'i_i_shopping_cart_window.asp' oAjax.Method = 'GET'; oAjax.onCompletion = function(){ //jQuery.scrollTo(0, 500, { // easing: 'swing', // onAfter: function(){ jQuery('#cart_window').replaceWith(oAjax.Response); jQuery("#atc_msg_buttons").show(); // } // }); tb_init('#cartwin_shipping a.thickbox'); }; oAjax.ResponseType = 'text'; //- The format of returned data. xml, text, json. oAjax.RunAJAX(); } jQuery('#atc_msg') .fadeOut('fast', function(){ jQuery('#atc_msg_container').hide(); jQuery('#atc_msg_product, #atc_msg_notice').html(''); }); } /** * This will perform an ajax get request on the ORDERFRONTURL's * showcart.asp page to create a cookie of the SSL domain to * maintain session information such as the shopping cart. * * @author lroselli * @since 04/10/2013 */ function fncBuildSSLCookie() { jQuery.ajax({ url: sOrderFrontUrl + '/i_i_showcart.asp?' + sBuildSessionPassThrough , type: "GET" , async: false , crossDomain: true , xhrFields: { withCredentials: true } , error: function() { //ignore } }); } //- fncBuildSSLCookie /** * This function handles calling the add to cart page via ajax for * a single product key. * * @author johns * @since 03/19/2013 * * @modified johns - 3/19/2013: added param "bIsAccessory" and the code w/ it * * @param p_key (string): key of the product to be added to * cart * @param bIsAccessory (bool): is the call coming from product addon window * * @return void */ function ajaxAddKeys ( p_key, bIsAccessory ) { var sStockStatus = ''; var iCaseQty = 1; var sAtcType = 'GET'; var sAtcSfx = ''; if ( typeof bIsAccessory === 'undefined' ) bIsAccessory = false; var sUomData = ''; var sUomType = ''; var sUom = ''; var sUomStd = ''; var iUomSalesConv = 0; try { $qtybox = jQuery('#qty_' + p_key); if($qtybox.length === 0){ $qtybox = jQuery("#atc_form_" + p_key + " .qtyinput"); } // get min and max qty if it is populated iMinQty = jQuery('#min_order_qty_' + p_key).val(); iMaxQty = jQuery('#max_order_qty_' + p_key).val(); if ( bShowSalesUOM ) { sUomType = jQuery('#uom_type_' + p_key).val(); sUom = jQuery('#uom_' + sUomType + '_' + p_key).val(); sUomStd = jQuery('#uom_std_' + p_key).val(); iUomSalesConv = jQuery('#uom_conv_' + p_key).val(); sUomData += '&uom=' + sUom + '&uomconv=' + iUomSalesConv + '&uomtype=' + sUomType; if ( bShowNativeUOMinCart ) { sUomData += '&stduom=' + sUomStd; } } $qty = $qtybox.val(); // product html for gallery view if ( jQuery('#prod_item_' + p_key).length > 0 ) { $container = jQuery('#prod_item_' + p_key).children('.prod_item_pad'); $prodnm = $container.children('.nm').html(); $stockstatus = jQuery('#in_stock_' + p_key).val(); if ( $stockstatus !== undefined && $stockstatus !== '' ) sStockStatus = '&in_stock_' + p_key + '=' + $stockstatus; $prodimg = '<span class="thumb">' + $container.children('.thumb').html() + '</span>'; if ( $container.children('.thumb').html() === null || typeof $container.children('.thumb').html() == 'undefined' ) $prodimg = ''; $product = $prodimg + '<span class="nm"><strong>' + $prodnm + '</strong> (' + $qty + ')</span>'; // product html for list view } else { $oContainer = jQuery('#' + p_key); iQty = $qtybox.val(); sProdName = $oContainer.children('td.product_desc').children('p').html(); sProdImage = $oContainer.children('td.product_thumb').html(); if ( sProdImage === null || typeof sProdImage == 'undefined') sProdImage = ''; $product = sProdImage + '<span class="nm"><strong>' + sProdName + '</strong> (' + iQty + ')</span>'; } //- if ( jQuery('#prod_item_' + p_key).length > 0 ) var sPWID = '&pw_id=' + (jQuery('#pw_id_' + p_key).val() || ''); if ( $qty !== '' && typeof $qty !== 'undefined' && $qty > 0 ) { // calls i_i_showcart.asp to build session passthrough fncBuildSSLCookie(); if ( bUsingOrderDetailTableForCarts ) { $('#atc_msg').on('hidden', function () { closeCartLightbox(); }); jQuery.ajax({ url: 'i_i_add_to_cart.asp?ajax=listview&action=postlogic' , data: 'type=ajaxadd&key=' + p_key + '&qty'+sAtcSfx+'=' + $qty + '&minqty=' + iMinQty + '&maxqty=' + iMaxQty + sStockStatus + sUomData + '&r_id=' + new Date().getTime() , cache: false , async: false , type: sAtcType , dataType: "json" , complete: function(jsonOrder) { handleAjaxATCSuccess ( bIsAccessory, p_key, $product, jsonOrder ); } , error: function(XMLHttpRequest, textStatus, errorThrown){ alert('Error: ' + errorThrown); } }); } else { // Updated to post form as is using AJAX instead of custom AJAX ATC logic $form = jQuery("#atc_form_" + p_key); if($form.length > 0){ // post form using exisitng form data + action // [dcohen @ 2015-02-23] jQuery.ajax({ url: $form.attr('action').replace("https://", "//") + "&requestType=ajaxcall", type: "POST", data: $form.serialize(), cache: false, async: false, dataType: 'text', success: function(oData){ handleAjaxATCSuccess ( bIsAccessory, p_key, $product, oData ); }, error: function ( jqXHR, textStatus, errorThrown ) { alert('Error: ' + errorThrown); } }); } else { // form not found: use legacy ATC AJAX call (should never get here) jQuery.ajax({ url: 'i_i_add_to_cart.asp?ajax=listview', data: 'type=ajaxadd&key=' + p_key + '&qty'+sAtcSfx+'=' + $qty + '&minqty=' + iMinQty + sPWID + '&maxqty=' + iMaxQty + sStockStatus + sUomData + '&r_id=' + new Date().getTime(), type: sAtcType, async: false, dataType: 'text', error: function ( jqXHR, textStatus, errorThrown ) { alert('Error: ' + errorThrown); }, success: function ( oData ) { handleAjaxATCSuccess ( bIsAccessory, p_key, $product, oData ); } }); } } //- if ( bUsingOrderDetailTableForCarts ) if ( jQuery('#case_qty_' + p_key).val() !== '' && ! isNaN(jQuery('#case_qty_' + p_key).val()) && bUseCaseQty ) iCaseQty = jQuery('#case_qty_' + p_key).val(); //if ( ! bIsAccessory ) $qtybox.val(iCaseQty); // override the qty with the min qty if it is populated //if ( jQuery('#min_order_qty_' + p_key).length > 0 ) $qtybox.val(iMinQty); return true; } else { return false; } } catch ( oError ) { //alert('Failed to add selection to cart. ' + oError.mesage); jQuery('.atc_msg').hide() return false; } } //- function ajaxAddKeys /** * This function the success of the ajax ATC call. * * @author johns * @since 03/19/2013 * * @param sP_Key (string): key of the product detail page loaded * @param $oProd (jQuery object): contains the html of the product info * to be loaded in the modal popup window * @param bIsAccessory (bool): is the call coming from product addon window * * @return void */ function handleAjaxATCSuccess ( bIsAccessory, sP_Key, $oProd, jsonOrder ) { /* * Kbrown 6.19.2014 - #49277 * Added Code to display a back order message when * the page is using IDP. */ if (bUseIDP && bShowBackOrderMessage) { var iQty = jQuery('#qty_' + sP_Key).val(); var iQtyAvaliable = jQuery('#inventory_qty_' + sP_Key).val() || 0; var sInventoryStatus = jQuery('#inventory_status_' + sP_Key).val(); if (sInventoryStatus == "Out" || iQty > iQtyAvaliable){ jQuery('#atc_msg_backorder_text').html('<div class="infobox">' + sBackorderPlacedMessage +'</div>'); } else { jQuery('#atc_msg_backorder_text').html(''); } } /* * added js var to perform based on whether or not the item just added was an addon product * johns - 02/20/2013 */ if ( bShowRecommendedItems && bIsAccessory ) { jQuery('#atc_msg_product').html(''); jQuery('#qty_' + sP_Key).val(''); jQuery('#atc_msg').css('height', '400px'); } else if ( bShowRecommendedItems && ! bIsAccessory ) { jQuery('#atc_msg_product').html($oProd); jQuery.get('i_i_pc_add_ons.asp?searchstring=searchexact~p_id~' + sP_Key + '&modal=1&display=' + sRecommendedItemsView) .done(function ( sData ) { jQuery('#atc_msg_addon_container').html(sData); if ( jQuery('#ors_eof_result').val().toLowerCase() !== 'false' ) { jQuery('#atc_msg').removeClass('with-recommended'); jQuery('.viewport').css('height', '0'); jQuery('#atc_msg').show(); jQuery('#atc_msg_container').show(); } else { jQuery('#atc_msg').show(); jQuery('#atc_msg_container').show(); } //- if ( jQuery('#ors_result').val().toLowerCase() !== 'false' }); jQuery('body').addClass('modal-open'); try { if(typeof jsonOrder == 'undefined') { fncCartRefresh(); } else { fncCartRefresh(jsonOrder[1].item_count, jsonOrder[1].o_total); } } catch(err) { // Silently fail because this is only relevant // with newer versions of cart preview } /* * normal ajax atc window * johns - 02/20/2013 */ } else { jQuery('#atc_msg_product').html($oProd); jQuery('#atc_msg_buttons').show(); try { if(typeof jsonOrder == 'undefined') { fncCartRefresh(); } else { fncCartRefresh(jsonOrder[1].item_count, jsonOrder[1].o_total); } } catch(err) { // Silently fail because this is only relevant // with newer versions of cart preview } } //- if ( bShowRecommendedItems && bIsAccessory ) var bShowAtcMsgAddons = false; if ( ! bShowAtcMsgAddons ) { jQuery('#atc_msg').show(); jQuery('#atc_msg_container').show(); } //- if ( ! bShowAtcMsgAddons ) } //- function fncHandleAjaxATCSuccess () if (bDisableATCZeroQtyWarehouse) { jQuery('td').delegate('[id^=pw_id_]', 'change', function(event) { if (jQuery(event.target).children(':selected').text().indexOf("(Qty: 0)") > -1 || jQuery(event.target).children(':selected').text() == "[Select One]") { sKey = jQuery(event.target).attr("id").replace('pw_id_', '') jQuery('#' + sKey + ' .btn_addtocart').attr('disabled', 'disabled') } else { sKey = jQuery(event.target).attr("id").replace('pw_id_', '') jQuery('#' + sKey + ' .btn_addtocart').removeAttr('disabled') } }); } jQuery('[id*="get_wh_btn_"]').click(function(){ var sPKey = ''; sKey = $(this).attr("ID"); sPKey = sKey.replace('get_wh_btn_',''); fncGetNewProductWarehouse(sPKey); }); function fncGetNewProductWarehouse(sPKey) { try{ jQuery.ajax({ url: sPageName , data: ({ pageaction : 'getproductwarehouse' ,ajax : genID() ,key : sPKey ,getall : bInStockShowEmptyWarehouses }) , cache: false , dataType: "text" , async: false , success: function(data){ sDefaultWH = jQuery('#pw_id_' + sPKey).val(); fncDrawNewProductWarehouse(data,sPKey); if (sDefaultWH.Len == 32) { jQuery('#pw_id_' + sPKey).val(sDefaultWH); } else { jQuery("#pw_id_" + sPKey + " option").not(':contains("Qty: 0")').filter(':first').attr('selected',true); } } }); } catch (err){ //alert(err.message); } } function fncDrawNewProductWarehouse(data,sPKey) { var aWareHouses, aSubWareHouses; var sDisplay; var bSelected = false; if (data!='') { $('#wh_td_' + sPKey).html('<select id="pw_id_' + sPKey + '""></select>'); aWareHouses = data.split('|'); for (var i =0; i < aWareHouses.length; i++ ){ aSubWareHouses = aWareHouses[i].split('~'); sDisplay = aSubWareHouses[0]; sPwKey = aSubWareHouses[1]; var newOption = new Option(sDisplay, sPwKey); $(newOption).html(sDisplay); $('#pw_id_'+sPKey).append(newOption); } } else { $('#wh_td_' + sPKey).html(sNoWarehouseFound); } } /* * Register Product warehouse selection * vinayakj - 6/29/2012 */ jQuery('[name*="pw_id_"]').click(function(){ var sPKey = ''; sKey = $(this).attr("ID"); sPKey = sKey.replace('pw_id_',''); if (jQuery('#pw_id_click_'+sPKey).val()!='1') { fncGetProductWarehouse(sPKey); } }); /* * Get Product warehouse * author - vinayakj * since - 6/29/2012 */ function fncGetProductWarehouse(sPKey) { try{ jQuery.ajax({ url: sPageName , data: ({ pageaction : 'getproductwarehouse' ,ajax : genID() ,key : sPKey }) , cache: false , dataType: "text" , async: false , success: function(data){ fncDrawProductWarehouse(data,sPKey); jQuery('#pw_id_click_'+sPKey).val('1'); $('#pw_id_'+sPKey).val(jQuery('#current_pw_id_'+sPKey).val()); } }); } catch (err){ //alert(err.message); } } /* * This will draw Product warehouse with droplist * author - vinayakj * since - 6/29/2012 */ function fncDrawProductWarehouse(data,sPKey) { var aWareHouses, aSubWareHouses; var sDisplay; var bSelected = false; $('#pw_id_'+sPKey) .empty() //.append('<option selected="selected" value="">[Select One]</option>') ; if (data!='') { aWareHouses = data.split('|'); for (var i =0; i < aWareHouses.length; i++ ){ aSubWareHouses = aWareHouses[i].split('~'); sDisplay = aSubWareHouses[0]; sPwKey = aSubWareHouses[1]; $('#pw_id_'+sPKey).append(new Option(sDisplay, sPwKey)); } } else { $('#pw_id_'+sPKey).hide(); $('#no_warehouse_'+sPKey).show(); } } /** * Function to get sub search value and action, then passed to location * @author pijushb * @since 7/3/2012 */ function subSearchForm() { sSubSearch = jQuery("#sub_search").val(); sActionLink = jQuery("#sub_search_form").attr("action"); sRedirectURL = sActionLink + "&sub_search="+sSubSearch window.location = sRedirectURL } //Added styled modal to use instead of alert() -JMS function styled_modal_alert(htmlmsg) { jQuery('#styled_modal_text').html(htmlmsg); jQuery('#styled_modal_container').show(); jQuery('#styled_modal_msg').show(); jQuery('#styled_modal_buttons').show(); } jQuery('#styled_modal_close').click(function(e){ e.preventDefault(); jQuery('#styled_modal_container').hide(); jQuery('#styled_modal_msg').hide(); jQuery('#styled_modal_buttons').hide(); jQuery('#styled_modal_text').html(''); }); </script> <div class="clearit"></div> </div><!-- End Content Padding --> </div><!-- End Content --> <div id="footer_top"> <div id="newsletter"> <h2>NEWSLETTER</h2> <p>Stay up to date on the latest news from Winning Moves Games by signing up for our Newsletter!</p> <a href="newsletter/">Sign Up Now!</a> </div> <div id="footer_links"> <ul id="foot_nav" class="qmmc"> <li><span class="qmtitle">Consumer Support</span> <ul> <li><a href="http://winning-moves.com/form.asp?f_key=849B2319989D49ABA530EA3BE737C691">Contact Us</a></li> <li><a href="http://winning-moves.com/games/ReplacementParts.asp">Replacement Parts</a></li> <li><a href="rules">Rules & Score Sheets</a></li> </ul></li> <li><span class="qmtitle"></span> <ul> <li><a href="http://winning-moves.com/privacy">Privacy</a></li> <li><a href="shipping">Shipping</a></li> </ul></li> <li><span class='qmdivider'></span></li> <li><span class="qmtitle">Retailer Support</span> <ul> <li><a href="http://winning-moves.com/2024_fall_supplement">2024 Fall Supplement</a></li> <li><a href="2024_catalog/default.asp">2024 Catalog</a></li> <li><a href="http://winning-moves.com/product_safety">Product Safety</a></li> </ul></li> <li><span class='qmdivider'></span></li> <li><span class="qmtitle">Company Info</span> <ul> <li><a href="http://winning-moves.com/about-us">About Us</a></li> <li><a href="http://winning-moves.com/environmental">Environmental</a></li> </ul></li> <li><span class="qmtitle"></span> <ul> <li><a href="http://winning-moves.com/inventors">Inventors</a></li> <li><a href="http://winning-moves.com/store_locator.asp">Store Locator</a></li> </ul></li> <li class="qmclear"> </li> </ul> </div> </div><!-- End Footer Top --> <div id="footer_bot"> <div id="copyright"><script type="text/javascript">drawCopyright();</script> Winning Moves Games, Inc. | 75 Sylvan Street, Suite C-104, Danvers, MA 01923 | (800) 664-7788</div> <div id="pbwsp"><a href="http://www.websitepipeline.com/" rel="external" target="_blank">Ecommerce & ERP Integration</a> by Website Pipeline</div> </div><!-- End Footer Bottom --> <div class="clearit"></div> </div><!-- End Container --> <script type="text/javascript"> jQuery(document).ready(function() { jQuery('span.mgrfront-required').text('*'); }); jQuery('#add_this_productdetail').on('click', "a.addthis_button_facebook" , function(e) {e.preventDefault();}); </script> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-4265831-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </body> </html>