/* Overall popup function */ function popup(url, w, h, f){ var day = new Date(); var id = day.getTime(); var name = "melt" + id; var features = "width="+w+",height="+h; if(f != null){ features += "," + f; } eval("var win"+id+" = window.open('"+url+"', '"+name+"', '"+features+"');"); } /* MELT! ticket form function */ function updateTicketPrice(f){ var komb = f.kombi.options[f.kombi.selectedIndex].value; if(date1 > 0){ pricekombi = 25; } else if(date2 > 0){ pricekombi = 30; } else{ pricekombi = 35; } var p = (komb * pricekombi); f.price.value = p; f.price.focus(); return true; } /* MELT! shop form function */ function melt_shop(f) { var errormsg = ""; var field = f.email; var str = field.value; var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; if (reg1.test(str) || !reg2.test(str)) { errormsg += "You must enter a vaild email.\n"; } if(parseFloat(f.total.value) <= 0.00){ errormsg += "You must order something to proceed.\n"; } if(errormsg == ""){ window.focus(); return true; }else{ alert("Sorry,\n---------------------------\n" + errormsg + "---------------------------"); f.email.focus(); f.email.select(); return false; } } /* MELT! ticket form function */ function melt_tickets(f) { var errormsg = ""; var field = f.email; var str = field.value; var komb = f.kombi.options[f.kombi.selectedIndex].value; var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; if (reg1.test(str) || !reg2.test(str)) { errormsg += "You must enter a vaild email.\n"; } if(komb <= 0){ errormsg += "You must buy at least ONE ticket.\n"; } if(errormsg == ""){ window.focus(); return true; }else{ alert("Sorry,\n---------------------------\n" + errormsg + "---------------------------"); f.email.focus(); f.email.select(); return false; } } /* MELT! ticket form function */ function y2k(number) { return (number < 1000) ? number + 1900 : number; } /* MELT! ticket form function */ function daysElapsed(date1,date2) { var difference = Date.UTC(y2k(date1.getYear()),date1.getMonth(),date1.getDate(),0,0,0) - Date.UTC(y2k(date2.getYear()),date2.getMonth(),date2.getDate(),0,0,0); return difference/1000/60/60/24; } /* MELT! ticket form variables */ var date1 = daysElapsed(new Date(2003,3,2),new Date()); var date2 = daysElapsed(new Date(2003,4,2),new Date()); /* initiate MELT! shop object */ var meltshop = new Shop(); /* MELT! shop class */ function Shop(){ this.items = new Array(); this.AddItem = Shop_AddItem; this.UpdateItem = Shop_UpdateItem; this.UpdateTotal = Shop_UpdateTotal; } /*MELT! shop class member function */ function Shop_AddItem(id, x, price, title){ this.items[this.items.length] = new Array(id, x, price, title); } /*MELT! shop class member function */ function Shop_UpdateItem(x, id){ for(var i=0; i < this.items.length; i++){ if(this.items[i][0] == id) { this.items[i][1] = x; } } } /*MELT! shop class member function */ function Shop_UpdateTotal(f){ var t = 0.00; var r = "ANZAHL: PREIS: BESCHREIBUNG:\n=================================================\n\n"; for(var i=0; i < this.items.length; i++){ var s = round(parseInt(this.items[i][1]) * parseFloat(this.items[i][2])); eval("f.subtotal_"+this.items[i][0]+".value=\""+s+"\""); if(this.items[i][1] <= 0) continue; t += parseFloat(s); if(this.items[i][3].length > 28){ var b = this.items[i][3].substr(0,25) + "..."; }else{ var b = this.items[i][3]; } if(this.items[i][1] < 10) { var x = "0"+this.items[i][1]; }else{ var x = this.items[i][1]; } if(this.items[i][2] < 10) { var p = "0"+this.items[i][2]; }else{ var p = this.items[i][2]; } var pr = round(p); if (pr < 10) pr = "0"+pr; r += x+" stk. "+pr+" EUR "+b+"\n"; } var sum = round(t); if(sum > 1000){ var spac = ""; }else if(sum > 100){ var spac = " "; }else if(sum > 10){ var spac = " "; }else{ sum = "0" + sum; var spac = " "; } r += "\n=================================================\n\nTOTAL:" + spac + sum + " EUR"; f.total.value = sum; f.shoppinglist.value = r; } /* Round a float certain deciamls, default to 2 */ function round(x, floatprecision) { floatprecision = (!floatprecision ? 2 : floatprecision); var r = Math.round(x*Math.pow(10,floatprecision))/Math.pow(10,floatprecision); r -= 0; return (r == Math.floor(r)) ? r + '.00' : ( (r*10 == Math.floor(r*10)) ? r + '0' : r); } /* Mailinglist function */ function is_mailinglists(f){ for(i=0; i < f.length; i++){ e = f.elements[i]; if(e.type == "checkbox" && e.checked){ return true; } } } /* Mailinglist function */ function join_mailinglists(f) { var errormsg = ""; var str = f.email.value; var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; if (reg1.test(str) || !reg2.test(str)) { errormsg += "You must enter a vaild email.\n"; } var selected = is_mailinglists(f); if(!selected){ errormsg += "You must select at least ONE list.\n"; } if(errormsg == ""){ window.focus(); return true; }else{ alert("Sorry,\n---------------------------\n" + errormsg + "---------------------------"); f.email.focus(); f.email.select(); return false; } }