var flash_rules = {
    /*
    '#flashHeader' : function(el) {
        var FOHeader = {
            movie:"/flash/header.swf",
            width:"776",
            height:"201",
            menu:"false",
            wmode:"transparent",
            xi:"false",
            majorversion:"8",
            build:"0"
        };
        UFO.create(FOHeader,"flashHeader");
    },*/
    'span.flashThumb' : function(el) {
        var images = el.getElementsByTagName("img");
        var FOThumb = {
            movie:"/flash/thumb.swf",
            flashvars:"url="+escape(images[0].src)+"&target="+escape(el.parentNode.href),
            width:"173",
            height:"126",
            menu:"false",
            wmode:"window",
            xi:"false",
            majorversion:"8",
            build:"0"
        };
        UFO.create(FOThumb,el.id);
    }
}
Behaviour.register(flash_rules);
var rollover_rules = {
    'img.rollover' : function(el) {
        el.onmouseover = function() {
            parts = this.src.match(/^(.+)\.(\w+)$/);
            if (parts[1] != null && parts[1].match(/_ro/) == null ) {
                this.src = parts[1] + "_ro." + parts[2];
            }
        };
        el.onmouseout = function() {
            parts = this.src.match(/^(.+)_ro\.(\w+)$/);
            if (parts != null ) {
                this.src = parts[1] + "." + parts[2];
            }
        }
    },
        'input.rollover' : function(el) {
              if (el.type == 'image') {
                        el.onmouseover = function() {
                                parts = this.src.match(/^(.+)\.(\w+)$/);
                                if (parts[1] != null && parts[1].match(/_ro/) == null ) {
                                        this.src = parts[1] + "_ro." + parts[2];
                                }
                        };
                        el.onmouseout = function() {
                                parts = this.src.match(/^(.+)_ro\.(\w+)$/);
                                if (parts != null ) {
                                        this.src = parts[1] + "." + parts[2];
                                }
                        }
                }
    }
}
Behaviour.register(rollover_rules);

var checkout_rules = {
    'form.auto_submit' : function(el) {
        el.submit();
    },
    'form.password' : function(el) {
        el.onsubmit = function() {
          if(this.password1.value != this.password2.value) {
              setError("password","Uw wachtwoorden zijn ongelijk.");
              return false;
          } else if (!check_pw(this.password1.value)){
              setError("password","Uw wachtwoord is ongeldig. Minimaal 2 cijfers en 6 karakters.");
              return false;
          } else {
              return true;
          }
       }
    },
    'form.register2' : function(el) {
        el.onsubmit = function() {
            var submit = true;
            if (this.firstname.value == "") {
                setError("firstname","Vul een waarde in.");
                submit = false;
            } else {
                unsetError("firstname");
            }
            if (this.lastname.value == "") {
                setError("lastname","Vul een waarde in.");
                submit = false;
            } else {
                unsetError("lastname");
            }
            if (!this.gender[0].checked && !this.gender[1].checked) {
                setError("gender","Vul een waarde in.");
                submit = false;
            } else {
                unsetError("gender");
            }
            if (this.address.value == "") {
                setError("address","Vul een waarde in.");
                submit = false;
            } else {
                unsetError("address");
            }
            if (this.postcode1.value == "" || this.postcode2.value == "") {
                setError("postcode","Vul een waarde in.");
                if (this.postcode1.value == "") {
                    setError("postcode1",1);
                } else {
                    unsetError("postcode1");
                }
                if (this.postcode2.value == "") {
                    setError("postcode2",1);
                } else {
                    unsetError("postcode2");
                }
                submit = false;
            } else {
                var postcode_error = false;
                if (/^(\d{4})$/.test(this.postcode1.value) == false) {
                    postcode_error = true;
                    setError("postcode","Vul een geldige waarde in.");
                    setError("postcode1",1);
                    submit = false;
                } else {
                    unsetError("postcode1");
                }
                if (/^([a-zA-z]{2})$/.test(this.postcode2.value) == false) {
                    postcode_error = true;
                    setError("postcode","Vul een geldige waarde in.");
                    setError("postcode2",1);
                    submit = false;
                } else {
                    unsetError("postcode2");
                }
                if (!postcode_error) {
                    unsetError("postcode");
                    unsetError("postcode1");
                    unsetError("postcode2");
                }
            }
            if (this.city.value == "") {
                setError("city","Vul een waarde in.");
                submit = false;
            } else {
                unsetError("city");
            }
            if (this.phone.value == "") {
                setError("phone","Vul een waarde in.");
                submit = false;
            } else {
                unsetError("phone");
            }
            if (this.email == "") {
                setError("email","Vul een waarde in.");
                submit = false;
            } else if (/^[\w-.]+@[\w-.]+\.\w{2,}$/.test(this.email.value) == false) {
                setError("email","Vul een geldig e-mailadres in.");
                submit = false;
            } else {
                unsetError("email");
            }
            if (this.shipping.checked) {
	            if (this.shipping_firstname.value == "" && !this.shipping.checked) {
	                setError("shipping_firstname","Vul een waarde in.");
	                submit = false;
	            } else {
	                unsetError("shipping_firstname");
	            }
	            if (this.shipping_lastname.value == "" && !this.shipping.checked) {
	                setError("shipping_lastname","Vul een waarde in.");
	                submit = false;
	            } else {
	                unsetError("shipping_lastname");
	            }
	            if (!this.shipping_gender[0].checked && !this.shipping_gender[1].checked && !this.shipping.checked) {
	                  setError("shipping_gender","Vul een waarde in.");
	                submit = false;
	            } else {
	                unsetError("shipping_gender");
	            }
	            if (this.shipping_address.value == "" && !this.shipping.checked) {
	                setError("shipping_address","Vul een waarde in.");
	                submit = false;
	            } else {
	                unsetError("shipping_address");
	            }
	            if (!this.shipping.checked && (this.shipping_postcode1.value == "" || this.shipping_postcode2.value == "")) {
	                setError("shipping_postcode","Vul een waarde in.");
	                if (this.shipping_postcode1.value == "") {
	                    setError("shipping_postcode1",1);
	                } else {
	                    unsetError("shipping_postcode1");
	                }
	                if (this.shipping_postcode2.value == "") {
	                    setError("shipping_postcode2",1);
	                } else {
	                    unsetError("shipping_postcode2");
	                }
	                submit = false;
	            } else {
	                var shipping_postcode_error = false;
	                if (/^(\d{4})$/.test(this.shipping_postcode1.value) == false && !this.shipping.checked) {
	                    shipping_postcode_error = true;
	                    setError("shipping_postcode","Vul een geldige waarde in.");
	                    setError("shipping_postcode1",1);
	                    submit = false;
	                } else{
	                    unsetError("shipping_postcode1");
	                }
	                if (/^([a-zA-z]{2})$/.test(this.shipping_postcode2.value) == false && !this.shipping.checked) {
	                    shipping_postcode_error = true;
	                    setError("shipping_postcode","Vul een geldige waarde in.");
	                    setError("shipping_postcode2",1);
	                    submit = false;
	                } else{
	                    unsetError("shipping_postcode2");
	                }
	                if (!shipping_postcode_error) {
	                    unsetError("shipping_postcode");
	                    unsetError("shipping_postcode1");
	                    unsetError("shipping_postcode2");
	                }
	            }
	            if (this.shipping_city.value == "" && !this.shipping.checked) {
	                setError("shipping_city","Vul een waarde in.");
	                submit = false;
	            } else {
	                unsetError("shipping_city");
	            }
	            if (this.shipping_country.value == "" && !this.shipping.checked) {
	                setError("shipping_country","Vul een waarde in.");
	                submit = false;
	            } else {
	                unsetError("shipping_country");
	            }
            }
            if (!this.conditions.checked) {
                setError("conditions","U dient akkoord te gaan met de voorwaarden.");
                submit = false;
            } else {
                unsetError("conditions");
            }
            if (this.command.value == "update") {
                if (this.password1.value != "" && !check_pw(this.password1.value)) {
                    setError("password","Uw wachtwoord is ongeldig. Minimaal 2 cijfers en 6 karakters.");
                    submit = false;
                }
                else if(this.password1.value != this.password2.value) {
                    setError("password","Uw nieuwe wachtwoorden zijn ongelijk.");
                    submit = false;
                } else {
                    unsetError("password");
                }
            }
            if (this.command.value == 'register2') {
                if (!check_pw(this.password1.value)) {
                    setError("password","Uw wachtwoord is ongeldig. Minimaal 2 cijfers en 6 karakters.");
                    submit = false;
                } else if (this.password1.value =='') {
                    setError("password","Vul uw wachtwoord in.");
                    submit = false;
                } else if (this.password2.value =='') {
                    setError("password","Vul uw wachtwoord in.");
                    submit = false;
                } else {
                    unsetError("password");
                }
            }
            return submit;
        }
    }
}
Behaviour.register(checkout_rules);

var form_rules = {
    'input.auto_blur' : function(el) {
        if (typeof el.onfocus == 'function') {
            var cascadeOnFocus = el.onfocus;
        }
        el.onfocus = function() {
            if (typeof cascadeOnFocus == 'function') {
                cascadeOnFocus.call(this);
            }
            this.className=this.className.replace('fields_off','fields_on');
            var fieldLabel = $(this.id + '_label');
            if (fieldLabel) {
                fieldLabel.className = fieldLabel.className.replace('_off','_on');
                var image = fieldLabel.getElementsByTagName('img')[0];
                if (image) {
                    image.src = image.src.replace('_normal','_hover');
                }
            }
                };
        if (typeof el.onblur == 'function') {
            var cascadeOnBlur = el.onblur;
        }
        el.onblur = function() {
            if (typeof cascadeOnBlur == 'function') {
                cascadeOnBlur.call(this);
            }
            this.className=this.className.replace('fields_on','fields_off');
            var fieldLabel = $(this.id + '_label');
            if (fieldLabel) {
                fieldLabel.className = fieldLabel.className.replace('_on','_off');
                var image = fieldLabel.getElementsByTagName('img')[0];
                if (image) {
                    image.src = image.src.replace('_hover','_normal');
                }
            }
        }
    },
    'input.auto_clear' : function(el) {
        if (typeof el.onfocus == 'function') {
            var cascadeOnFocus = el.onfocus;
        }
        el.onfocus = function() {
            if (typeof cascadeOnFocus == 'function') {
                cascadeOnFocus.call(this);
            }
            if (this.className.search('auto_clear') >= 1) {
                this.value='';
            }
            this.className=this.className.replace('auto_clear','');
        }
//    },
//    'select.article' : function(el) {
//        if (typeof el.onchange == 'function') {
//            var cascadeOnChange = el.onchange;
//        }
//        el.onchange = function() {
//            if (typeof cascadeOnChange == 'function') {
//                cascadeOnChange.call(this);
//            }
//            this.form.setAttribute('action','index.php?pageID=' + this.form.current_pageID.value);
//            this.form.command.value = '';
//            this.form.submit();
//            return true;
//        }
    }
}
Behaviour.register(form_rules);
var popup_rules = {
    'a.popup' : function(el) {
        if (typeof el.onclick == 'function') {
            var cascadeOnClick = el.onclick;
        }
        el.onclick = function() {
            if (typeof cascadeOnClick == 'function') {
                cascadeOnClick.call(this);
            }
            window.open(this.href,
                'PopUp',
                'scrollbars=1,status=no,resizable=1,toolbar=0,titlebar=0,menubar=0,location=0');
            return false;
        }
    },
        'a.popupsmall' : function(el) {
        if (typeof el.onclick == 'function') {
            var cascadeOnClick = el.onclick;
        }
        el.onclick = function() {
            if (typeof cascadeOnClick == 'function') {
                cascadeOnClick.call(this);
            }
            window.open(this.href,
                'PopUp',
                'width=300,height=450,top=200,left=50%,scrollbars=1,status=no,resizable=0,toolbar=0,titlebar=0,menubar=0,location=0');
            return false;
        }
    },
    'a.status' : function(el) {
        if (typeof el.onmuseover == 'function') {
            var cascadeOnMouseOver = el.onmouseover;
        }
        el.onmouseover = function() {
            if (typeof cascadeOnMouseOver == 'function') {
                cascadeOnMouseOver.call(this);
            }
            window.status=this.title;
            return true;
        };
        if (typeof el.onmouseout == 'function') {
            var cascadeOnMouseOut = el.onmouseout;
        }
        el.onmouseout = function() {
            if (typeof cascadeOnMouseOut == 'function') {
                cascadeOnMouseOut.call(this);
            }
            window.status='';
            return true;
        }
    }
}
Behaviour.register(popup_rules);

var registration_rules = {
	'.shipping': function(el){
		
		shipping = el;
		el.style.display = "none";
	},
	'#cb_shipping': function(el){
		el.onclick = function() {
            if(el.checked){
				shipping.style.display = "block";
			}else{
				shipping.style.display = "none";
			}
        }
		
		
	
	}
}
Behaviour.register(registration_rules);

var color_selection_rules = {
	'#articleID': function(el){
		el.onchange = function() {
			if (el.selectedIndex > 0) {
				window.location.href = window.location.href.replace(/&articleID=[0-9]+/, '').replace(/&i=[0-9]+/, '')+'&articleID='+el.options[el.selectedIndex].value;
			}
		}
	}
}
Behaviour.register(color_selection_rules);

//printfunction
function printpage()
{
window.print()
}