/*--------------------------------------------------
EUKPOL contains CONFIG, UTIL, UKISA.FLASH, UKISA.WIDGET.MULTIMAP, FORM, BASE, POLYCELL.SHOPPINGLIST
Generated: 9/4/2009
--------------------------------------------------*/

var UKISA={Config:{},l10n:{},widget:{}};
UKISA.Config={
REGION:"EUK",
CODE:"POL",
SITE:"Polycell",
domLoad:function(){
var shoppingList=new UKISA.Polycell.ShoppingList();
UKISA.util.clearForm(document.getElementById("search"));
if(document.body.id==="home-page"){
UKISA.Polycell.Page.home();
UKISA.Polycell.Page.tooltips();
}
if(document.body.id==="product-page"){
shoppingList.attach();
}
if(document.body.id==="category-page"){
UKISA.Polycell.CategoryAccordian.init();
}
if(document.body.id==="visual-guide-page"){
UKISA.Polycell.CategoryAccordian.visual();
}
if(document.body.id==="guide-page"){
UKISA.Polycell.Guide.init();
shoppingList.multiAttach();
}
},
contentLoad:function(){}
};
UKISA.l10n[UKISA.Config.SITE]={};
var UKISA=UKISA||{util:{}};
UKISA.util={
pngFix:function(t){
if(typeof DD_belatedPNG!=="undefined"){
DD_belatedPNG.fix(t);
}else{
alert("Missing PNG handler");
}
},
print:function(){
if(window.print){
window.print();
}
return false;
},
nthChild:function(list,freq){
for(var i=0,ix=list.length;i<ix;i++){
if((i+1)%freq==0){
YAHOO.util.Dom.addClass(list[i],"nth-child");
}else{
YAHOO.util.Dom.removeClass(list[i],"nth-child");
}
}
},
clearDefault:function(){
var action=function(el){
var v=el.value;
el.onfocus=function(){
if(this.value===v){
this.value="";
}
};
el.onblur=function(){
if(this.value===""){
this.value=v;
}
};
};
for(var i=0,ix=arguments.length;i<ix;i++){
action(document.getElementById(arguments[i]));
}
},
parentNode:function(el){
var e=(typeof el=="string")?document.getElementById(el):el;
var node=null;
if(e&&e.parentNode){
while(e.parentNode.nodeType!=1){
e=e.parentNode;
node=e;
}
return(!node)?e.parentNode:node;
}
},
trim:function(s){
return s.replace(/^\s+|\s+$/g,"");
},
getScrollXY:function(){
var scrOfX=0,scrOfY=0;
if(typeof(window.pageYOffset)==="number"){
scrOfY=window.pageYOffset;
scrOfX=window.pageXOffset;
}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){
scrOfY=document.body.scrollTop;
scrOfX=document.body.scrollLeft;
}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){
scrOfY=document.documentElement.scrollTop;
scrOfX=document.documentElement.scrollLeft;
}
return[scrOfX,scrOfY];
},
clearForm:function(el){
if(!el){return;}
var defaultValue=el.value;
el.onfocus=function(){
var old=defaultValue;
if(this.value===defaultValue){
this.value="";
}
};
el.onblur=function(){
var old=defaultValue;
if(this.value===""||this.value===defaultValue){
this.value=old;
}
};
}
};
UKISA.Flash={
_baseUrl:"/web/media/flash/",
_supportedVersion:"8.0.0",
_flashVersion:null,
_defaultVars:{},
_defaultParams:{
"quality":"high",
"pluginspage":"http://www.macromedia.com/go/getflashplayer",
"wmode":"transparent"
},
embed:function(movie,el,width,height,vars,params,version){
if(movie.toLowerCase().indexOf(".flv")!==-1){
return this.embedVideo(movie,el,width,height,vars,params,version);
}else{
return this.embedMovie(movie,el,width,height,vars,params,version);
}
},
embedMovie:function(movie,el,width,height,vars,params,version){
var ver,vars,params;
ver=version||this._supportedVersion;
fVars=vars||this._defaultVars;
fParams=params||this.defaultParams;
if(typeof swfobject!=="undefined"){
swfobject.embedSWF(this._baseUrl+movie,el,width,height,this._supportedVersion,null,fVars,fParams);
}else{
alert("Missing Flash handler script");
}
},
embedVideo:function(movie,el,width,height,vars,params,version){
var ver,height,width,vars,params;
ver=version||this._supportedVersion;
height=height||400;
width=width||400;
fVars=vars||{
"MM_ComponentVersion":"1",
"skinName":"/web/media/flash/Halo_Skin_3",
"streamName":"/web/media/movies/"+movie.substring(0,movie.indexOf(".")),
"autoPlay":"false",
"autoRewind":true
};
fParams=params||{
"quality":"high",
"scale":"noscale",
"pluginspage":"http://www.macromedia.com/go/getflashplayer",
"wmode":"transparent"
};
if(typeof swfobject!=="undefined"){
swfobject.embedSWF("/web/media/flash/flv_player.swf",el,width,height,ver,null,fVars,fParams);
}else{
alert("Missing Flash handler script");
}
},
remove:function(el){
swfobject.removeSWF(el);
}
};var UKISA=UKISA||{};
UKISA.widget=UKISA.widget||{};
UKISA.widget.MultiMap={
_viewer:null,
_country:"GB",
reload:function(canvas,postcode,label){
var instance=this;
var geocode=function(type,target,location,error_code){
var pan_zoom_widget,pos,icon;
pos=instance._viewer.getCurrentPosition();
icon=new MMIcon("/web/media/images/global/location.png");
icon.iconSize=new MMDimensions(32,32);
icon.iconAnchor=new MMPoint(16,16);
instance._viewer.createMarker(pos,{'label':label,'icon':icon});
pan_zoom_widget=new MMPanZoomWidget();
instance._viewer.addWidget(pan_zoom_widget);
};
var canvas=document.getElementById(canvas);
if(canvas){
this._viewer=new MultimapViewer(canvas);
this._viewer.addEventHandler("endGeocode",geocode);
}
this._viewer.drawAndPositionMap(
new MMLocation(
new MMAddress(
{
postal_code:postcode,
country_code:this._country
}
)
)
);
},
load:function(canvas,postcode,label){
var instance=this;
var geocode=function(type,target,location,error_code){
var pan_zoom_widget,pos,icon;
pos=instance._viewer.getCurrentPosition();
icon=new MMIcon("/web/media/images/global/location.png");
icon.iconSize=new MMDimensions(32,32);
icon.iconAnchor=new MMPoint(16,16);
instance._viewer.createMarker(pos,{'label':label,'icon':icon});
pan_zoom_widget=new MMPanZoomWidget();
instance._viewer.addWidget(pan_zoom_widget);
};
var canvas=document.getElementById(canvas);
if(!this._viewer||canvas){
this._viewer=new MultimapViewer(canvas);
this._viewer.addEventHandler("endGeocode",geocode);
}
this._viewer.drawAndPositionMap(
new MMLocation(
new MMAddress(
{
postal_code:postcode,
country_code:this._country
}
)
)
);
}
};
function highlightField(field){
field.focus();
if(field.select){
field.select();
}
}
function fieldError(field,msg){
if(field){
highlightField(field);
}
alert(msg);
return false;
}
function hasNumbers(str){
var exp=new RegExp("[0-9]");
return exp.test(str);
}
function isRadiogroupChecked(radioGroup){
for(var i=0;i<radioGroup.length;i++){
if(radioGroup[i].checked){
return true;
}
}
return false;
}
function isNumeric(str){
var num=parseFloat(str);
return(!isNaN(num)||str=="");
}
function isInteger(str){
var num=parseInt(str);
return(str.indexOf(".")<0&&(!isNaN(num)||str==""));
}
function isPhoneNumber(str){
var exp=new RegExp("^[0-9 ]*$");
return exp.test(str);
}
function inRange(num,lower,upper){
if(isNaN(num)){
num=0;
}
return(num>=lower&&num<=upper);
}
function isAlpha(str){
var exp=new RegExp("[^A-Za-z]");
return!exp.test(str);
}
function isAlphaAndNumeric(str){
var exp=new RegExp("[^A-Za-z0-9]");
return!exp.test(str);
}
function trimSpaces(str){
return str.replace(/\s+/g,"");
}
function trimOutsideSpaces(str){
return str.replace(/^\s+|\s+$/g,"");
}
function isValidSequence(str,validSequence){
var exp=new RegExp("[^"+validSequence+"]");
return!exp.test(str);
}
function isEmail(str){
str=trimOutsideSpaces(str.toLowerCase());
var exp=new RegExp(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(2([0-4]\d|5[0-5])|1?\d{1,2})(\.(2([0-4]\d|5[0-5])|1?\d{1,2})){3} \])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
return exp.test(str);
}
function isValueSelected(field){
return(field.options[field.selectedIndex].value!="");
}
function validatePostCode(field,combo,partial){
if(((combo)&&combo.options[combo.options.selectedIndex].value!="United Kingdom")){
return true;
}
var str=trimSpaces(field.value.toUpperCase());
if(str.length==0){
return fieldError(field,"Please enter a postcode.");
}
if(!isAlphaAndNumeric(str)){
return fieldError(field,"Please enter a valid UK postcode (containing both letters and numbers).");
}
var exp=(partial&&partial==true)?new RegExp("^[A-Z]{1,2}([0-9]{1,2}|[0-9][A-Z])($|[0-9][ABD-HJLNP-UW-Z]{2}$)"):new RegExp("^[A-Z]{1,2}([0-9]{1,2}|[0-9][A-Z])[0-9][ABD-HJLNP-UW-Z]{2}$");
if(!exp.test(str)&&!document.layers)return fieldError(field,"Please enter a valid UK postcode.");
else return true;
}
function getDays(month,year){
var monthDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
monthDays[1]=(year%4==0&&year%100!=0||year%400==0)?monthDays[1]+1:monthDays[1];
return monthDays[month-1];
}
function validateDateOfBirth(day,month,year){
var dayStr=trimSpaces(day.value);
var monthStr=trimSpaces(month.value);
var yearStr=trimSpaces(year.value);
var theDate=new Date();
if(dayStr.length==0||monthStr.length==0||yearStr.length==0){
return fieldError(day,"Please complete your full date of birth.");
}
if(!(isNumeric(yearStr)&&inRange(parseInt(yearStr),1849,theDate.getFullYear()))){
return fieldError(year,"Please give a valid year.  It may not be before 1849 or after the present year.");
}
if(!(isNumeric(monthStr)&&inRange(parseInt(monthStr),1,12))){
return fieldError(month,"Please give a valid month (1 - 12).");
}
var daysInMonth=getDays(parseInt(monthStr),parseInt(yearStr));
if(!(isNumeric(dayStr)&&inRange(parseInt(dayStr),1,daysInMonth))){
return fieldError(day,"Please give a valid day.");
}
var DOB=new Date(parseInt(yearStr),parseInt(monthStr)-1,parseInt(dayStr));
if(DOB>=theDate){
return fieldError(day,"Please give a date of birth that is not in the future.");
}
return true;
}
(function(){
UKISA.l10n.get=function(key){
var value=UKISA.l10n[UKISA.Config.SITE][key][UKISA.Config.REGION];
return(value!=="undefined")?value:null;
};
YAHOO.util.Event.onDOMReady(UKISA.Config.domLoad);
YAHOO.util.Event.onContentReady(UKISA.Config.contentLoad);
UKISA[UKISA.Config.SITE]={};
})();
UKISA.Polycell.Page={
home:function(){
if(document.all&&document.getElementById){
var nav=document.getElementById("product-selector");
if(!nav){return;}
nav.onmouseover=function(){
this.className="hover";
};
nav.onmouseout=function(){
this.className="";
};
}
},
player:function(movie){
var vars;
vars={
"MM_ComponentVersion":"1",
"skinName":"/web/media/flash/Clear_Skin_1",
"streamName":"/web/media/movies/"+movie.substring(0,movie.indexOf(".")),
"autoPlay":"true",
"autoRewind":true
};
UKISA.Flash.embed(movie,"featured-player-static",272,153,vars);
return false;
},
tooltips:function(){
var canvas,links,tooltip;
canvas=document.getElementById("guide-finder");
if(!canvas){return;}
canvas=canvas.getElementsByTagName("ul");
if(!canvas){return;}
canvas=canvas[0];
links=canvas.getElementsByTagName("a");
tooltip=new YAHOO.widget.Tooltip("video-tooltip",{
context:links,
effect:{
effect:YAHOO.widget.ContainerEffect.FADE,duration:0.20
},
width:218,
zIndex:150
});
tooltip.setHeader("");
tooltip.setFooter("");
tooltip.contextMouseOverEvent.subscribe(
function(type,args){
var context=args[0];
if(context&&context.id==="B3"){
return false;
}else{
return true;
}
}
);
tooltip.contextTriggerEvent.subscribe(
function(type,args){
var context=args[0];
this.cfg.setProperty("text",context.title);
}
);
tooltip.moveTo=function(x,y){
this.cfg.setProperty("xy",[x-43,y-this.element.offsetHeight]);
};
}
};
UKISA.Polycell.Guide={
init:function(){
var bookmarker=new YAHOO.dulux.co.uk.Widgets.Bookmarker();
this.related();
this.equalise();
},
related:function(){
var canvas,link,i,ix,span;
canvas=document.getElementById("related-articles");
if(!canvas){return;}
link=canvas.getElementsByTagName("a");
span=document.createElement("span");
span.className="direct";
for(i=0,ix=link.length;i<ix;i++){
link[i].appendChild(span.cloneNode(false));
}
},
equalise:function(){
var canvas,items,columns,maxHeight,height,store,item;
var canvas=document.getElementById("guide-shopping-list");
if(!canvas){return;}
list=canvas.getElementsByTagName("ul");
if(!canvas&&!canvas.length){return;}
canvas=list[0];
items=canvas.getElementsByTagName("li");
columns=4;
maxHeight=0;
height=0;
store=[];
for(var i=0,ix=items.length;i<ix;i++){
item=items[i];
store.push(item);
height=item.offsetHeight;
if(height>maxHeight){
maxHeight=height;
}
if(store.length===columns){
for(j=0,jx=store.length;j<jx;j++){
store[j].style.height=maxHeight+"px";
}
store=[];
maxHeight=0;
}
if(i+1===items.length){
for(j=0,jx=store.length;j<jx;j++){
store[j].style.height=maxHeight+"px";
}
}
}
}
};
UKISA.Polycell.CategoryAccordian={
init:function(){
var category=document.getElementById("category-list");
if(!category){return;}
var content=category.getElementsByTagName("div");
for(var i=0,ix=content.length;i<ix;i++){
var contentClassName=content[i].className;
if(contentClassName.indexOf("parent-category-content")!==-1||contentClassName.indexOf("child-category-content")!==-1){
if(contentClassName.indexOf("active")===-1){
content[i].style.display="none";
}else{
container=YAHOO.util.Dom.getPreviousSibling(content[i]);
container.className="active";
}
}
}
var h2=category.getElementsByTagName("h2");
for(var i=0,ix=h2.length;i<ix;i++){
h2[i].onclick=function(){
var content=category.getElementsByTagName("div");
var active=(this.nextSibling.nodeType!==1)?this.nextSibling.nextSibling:this.nextSibling;
var state=active.style.display;
for(var i=0,ix=content.length;i<ix;i++){
if(content[i].className==="parent-category-content"){
content[i].style.display="none";
}
}
for(var i=0,ix=h2.length;i<ix;i++){
h2[i].className="";
}
if(state==="block"){
active.style.display="none";
this.className="";
}else{
active.style.display="block";
this.className="active";
}
return false;
};
}
var h3=category.getElementsByTagName("h3");
for(var i=0,ix=h3.length;i<ix;i++){
h3[i].onclick=function(){
var content=category.getElementsByTagName("div");
var active=(this.nextSibling.nodeType!==1)?this.nextSibling.nextSibling:this.nextSibling;
var state=active.style.display;
for(var i=0,ix=content.length;i<ix;i++){
if(content[i].className==="child-category-content"){
content[i].style.display="none";
}
}
for(var i=0,ix=h3.length;i<ix;i++){
h3[i].className="";
}
if(state==="block"){
active.style.display="none";
this.className="";
}else{
active.style.display="block";
UKISA.Polycell.CategoryAccordian.equalise(active);
this.className="active";
}
return false;
};
}
},
visual:function(){
var category=document.getElementById("visual-guide-list");
if(!category){return;}
var content=category.getElementsByTagName("div");
for(var i=0,ix=content.length;i<ix;i++){
var contentClassName,container;
contentClassName=content[i].className;
if(contentClassName.indexOf("parent-category-content")!==-1||contentClassName.indexOf("child-category-content")!==-1){
if(contentClassName.indexOf("active")===-1){
content[i].style.display="none";
}else{
container=YAHOO.util.Dom.getPreviousSibling(content[i]);
container.className="active";
}
}
}
var h2=category.getElementsByTagName("h2");
for(var i=0,ix=h2.length;i<ix;i++){
h2[i].onclick=function(){
var content=category.getElementsByTagName("div");
var active=(this.nextSibling.nodeType!==1)?this.nextSibling.nextSibling:this.nextSibling;
var state=active.style.display;
for(var i=0,ix=content.length;i<ix;i++){
if(content[i].className=="parent-category-content"){
content[i].style.display="none";
}
}
for(var i=0,ix=h2.length;i<ix;i++){
h2[i].className="";
}
if(state==="block"){
active.style.display="none";
this.className="";
}else{
active.style.display="block";
this.className="active";
}
return false;
};
}
},
equalise:function(target){
var canvas,items,columns,maxHeight,height,store;
var canvas=target.getElementsByTagName("ul");
if(!canvas&&!canvas.length){return;}
canvas=canvas[0];
items=canvas.getElementsByTagName("li");
columns=4;
maxHeight=0;
height=0;
store=[];
for(var i=0,ix=items.length;i<ix;i++){
var item=items[i];
if(item.className.indexOf("product")!==-1){
store.push(item);
height=item.offsetHeight;
if(height>maxHeight){
maxHeight=height;
}
if(store.length===columns){
for(j=0,jx=store.length;j<jx;j++){
store[j].style.height=maxHeight+"px";
}
store=[];
maxHeight=0;
}
}
if(i+1==items.length){
for(j=0,jx=store.length;j<jx;j++){
store[j].style.height=maxHeight+"px";
}
}
}
}
};
UKISA.Polycell.Stockist={
canvas:null,
search:function(e){
var callback,transaction,canvas,field,error,validatePostCode;
if(document.body.id!=="stockist-search-page"){
return true;
}
validatePostCode=function(field){
var str=field.value.toUpperCase().replace(/ /g,"");
var exp=new RegExp("[0-9]");
if(exp.test(str)){
return true;
}
var exp=new RegExp("^[A-Z]{1,2}([0-9]{1,2}|[0-9][A-Z])[0-9][ABD-HJLNP-UW-Z]{2}$");
if(!exp.test(str)){
return false;
}else{
return true;
}
}
field=e["pc"];
if(validatePostCode(field)){
return true;
}
error=document.getElementById("stockist-search-error");
if(field&&field.value.length===0){
if(!error){
error=document.createElement("p");
error.id="stockist-search-error";
error.className="error";
error.innerHTML="Please enter a postcode or location";
e.insertBefore(error,e.getElementsByTagName("fieldset")[0]);
}
return false;
}else{
if(error){
e.removeChild(error);
}
}
if(!this.canvas){
this.canvas=document.createElement("div");
document.getElementById("content").appendChild(this.canvas);
}
this.canvas.innerHTML="<p class=\"ajax-loader\">Please wait</p>";
canvas=this.canvas;
callback={
success:function(o){
canvas.innerHTML=o.responseText;
},
failure:function(o){
canvas.innerHTML="<p class=\"error\">Sorry, there is a problem and we apologise for any inconvenience caused. Please try again.</p>";
},
timeout:8000
};
YAHOO.util.Connect.setForm(e);
transaction=YAHOO.util.Connect.asyncRequest("POST",e.getAttribute("action")+"?ajax=true",callback);
YAHOO.util.Event.preventDefault(e);
return false;
},
result:function(){
var canvas,items,i;
canvas=document.getElementById("stockist-results");
if(!canvas){return;}
items=canvas.getElementsByTagName("li");
for(i=0,ix=items.length;i<ix;i++){
YAHOO.util.Event.addListener(items[i],"click",function(e){
var link=this.getElementsByTagName("a");
YAHOO.util.Event.preventDefault(e);
if(link&&link.length){
UKISA.Polycell.Stockist.map(link[0]);
}
return false;
});
}
},
map:function(e){
var callback,transaction,canvas,aside;;
if(!this.canvas){
this.canvas=document.getElementById("stockist-content");
if(!this.canvas){
this.canvas=document.createElement("div");
this.canvas.id="stockist-content";
aside=document.getElementById("content");
aside.appendChild(this.canvas);
}
}
this.canvas.innerHTML="<p class=\"ajax-loader\">Please wait</p>";
canvas=this.canvas;
callback={
success:function(o){
var url,match,postcode,storeName,span,item,i;
canvas.innerHTML=o.responseText;
url=decodeURI(e.getAttribute("href"));
match=url.match(/pc=([a-zA-Z0-9 ]*)/);
postcode=RegExp.$1;
span=e.getElementsByTagName("span");
if(span&&span.length){
storeName=span[0].innerHTML;
}else{
storeName="Polycell stockist";
}
item=document.getElementById("stockist-results").getElementsByTagName("li");
for(i=0,ix=item.length;i<ix;i++){
YAHOO.util.Dom.removeClass(item[i],"active");
}
item=UKISA.util.parentNode(UKISA.util.parentNode(UKISA.util.parentNode(e)));
YAHOO.util.Dom.addClass(item,"active");
UKISA.widget.MultiMap.reload("stockist-map",postcode.replace(/ /g,""),storeName.replace(/&amp;/g,"&"));
},
failure:function(o){
canvas.innerHTML="<p class=\"error\">Sorry, there is a problem and we apologise for any inconvenience caused. Please try again.</p>";
},
timeout:8000
};
transaction=YAHOO.util.Connect.asyncRequest("GET",e.getAttribute("href").replace("store","accountRef")+"&ajax=true",callback);
return false;
}
};
UKISA.Polycell.ShoppingList=function(){
this.init();
};
UKISA.Polycell.ShoppingList.prototype={
init:function(){
this.config={
offsetY:12,
startY:114,
minWidth:700,
duration:.5
};
this.note={
anim:null
};
this.tab={
anim:null,
state:true
};
var tab=document.getElementById("notebook-tab");
if(tab){
var instance=this;
YAHOO.util.Event.addListener(tab,"click",this.toggle,null,this);
this.tab.anim=new YAHOO.util.Anim("notebook-body");
this.tab.anim.duration=.3;
this.tab.anim.method=YAHOO.util.Easing.easeOut;
this.tab.anim.onComplete.subscribe(function(){
instance.tab.state=!instance.tab.state;
});
}
this.move();
YAHOO.util.Event.addListener(window,"scroll",this.move,null,this);
YAHOO.util.Event.addListener(window,"resize",this.resize);
},
toggle:function(){
var start=(this.tab.state)?169:0;
var finish=(this.tab.state)?0:169;
this.tab.anim.attributes.width={from:start,to:finish};
this.tab.anim.animate();
},
move:function(e){
var offset,anim;
if(UKISA.util.getScrollXY()[1]<114){
anim=new YAHOO.util.Anim("notebook",{
top:{to:100}
},0.5,YAHOO.util.Easing.backOut).animate();
}else{
anim=new YAHOO.util.Anim("notebook",{
top:{to:UKISA.util.getScrollXY()[1]+14}
},0.5,YAHOO.util.Easing.backOut).animate();
}
},
resize:function(e){},
attach:function(){
var add=document.getElementById("add-shopping-list");
if(add){
YAHOO.util.Event.addListener(add,"submit",this.add,null,this);
}
},
add:function(e){
var callback,transaction,params,form,canvas,add;
canvas=document.getElementById("notebook-content");
if(!canvas){return;}
form=document.getElementById("add-shopping-list");
add=document.getElementById("add-shopping-list-add");
add.src=add.src.replace("shopping_list_add.gif","shopping_list_loading.gif");
callback={
success:function(o){
var notice;
notice=document.getElementById("add-shopping-list-error");
if(notice){
notice.parentNode.removeChild(notice);
}
canvas.innerHTML=o.responseText;
add.src=add.src.replace("shopping_list_loading.gif","shopping_list_success.gif");
add.disabled=true;
},
failure:function(o){
var notice;
notice=document.getElementById("add-shopping-list-error");
if(notice){
notice.parentNode.removeChild(notice);
}
notice=document.createElement("p");
notice.id="add-shopping-list-error";
notice.className="error";
notice.innerHTML="Sorry, this could not be added to your shopping list.";
form.appendChild(notice);
add.src=add.src.replace("shopping_list_loading.gif","shopping_list_add.gif");
},
timeout:8000
};
params="colour="+encodeURIComponent(form["colour"].value);
params+="&listaction="+encodeURIComponent(form["listaction"].value);
params+="&product="+encodeURIComponent(form["product"].value);
params+="&successURL="+encodeURIComponent("/includes/mini_shopping_list.jsp");
transaction=YAHOO.util.Connect.asyncRequest("POST",form.getAttribute("action")+"?ajax=true",callback,params);
YAHOO.util.Event.preventDefault(e);
return false;
},
multiAttach:function(){
var canvas,i;
canvas=document.getElementById("guide-shopping-list");
forms=canvas.getElementsByTagName("form");
for(i=0,ix=forms.length;i<ix;i++){
YAHOO.util.Event.addListener(forms[i],"submit",this.multiAdd,null,this);
}
},
multiAdd:function(e){
var tg,callback,transaction,params,form,canvas,add,i,inputs;
canvas=document.getElementById("notebook-content");
if(!canvas){return;}
form=(window.event)?e.srcElement:e.target;
inputs=form.getElementsByTagName("input");
for(i=0,ix=inputs.length;i<ix;i++){
if(inputs[i].getAttribute("type")==="image"){
add=inputs[i];
break;
}
}
add.src=add.src.replace("shopping_list_add_multi.gif","shopping_list_multi_loading.gif");
add.src=add.src.replace("shopping_list_guide_add.gif","shopping_list_guide_loading.gif");
callback={
success:function(o){
var notice;
notice=document.getElementById("add-shopping-list-error");
if(notice){
notice.parentNode.removeChild(notice);
}
canvas.innerHTML=o.responseText;
add.src=add.src.replace("shopping_list_multi_loading.gif","shopping_list_multi_success.gif");
add.src=add.src.replace("shopping_list_guide_loading.gif","shopping_list_guide_success.gif");
add.disabled=true;
},
failure:function(o){
var notice,multiForm;
notice=document.getElementById("add-shopping-list-error");
if(notice){
notice.parentNode.removeChild(notice);
}
notice=document.createElement("p");
notice.id="add-shopping-list-error";
notice.className="error";
notice.innerHTML="Sorry, this could not be added to your shopping list.";
if(document.body.id==="guide-page"){
multiForm=document.getElementById("add-shopping-list");
multiForm.appendChild(notice);
}else{
form.appendChild(notice);
}
add.src=add.src.replace("shopping_list_multi_loading.gif","shopping_list_add_multi.gif");
add.src=add.src.replace("shopping_list_loading.gif","shopping_list_add_multi.gif");
add.src=add.src.replace("shopping_list_guide_loading.gif","shopping_list_guide_add.gif");
},
timeout:8000
};
params="colour="+encodeURIComponent(form["colour"].value);
params+="&listaction="+encodeURIComponent(form["listaction"].value);
params+="&successURL="+encodeURIComponent("/includes/mini_shopping_list.jsp");
if(form["product"]){
params+="&product="+encodeURIComponent(form["product"].value);
}
if(form["products"]){
params+="&products="+encodeURIComponent(form["products"].value);
}
transaction=YAHOO.util.Connect.asyncRequest("POST",form.getAttribute("action")+"?ajax=true",callback,params);
YAHOO.util.Event.preventDefault(e);
return false;
}
};
