var menutimeout = false;
var searchtimeout = false;


$(document).ready(function() {
    FLIR.init();
    $("#top>ul>li>a, #left h2, #product_info h1, #bininfo p, #subfront h1, #categories h1, #brands h1, #contentpage h1, #sendtofriend h1").each( function() { FLIR.replace(this,  new FLIRStyle({mode:'wrap'})); } );

    $('#top>ul>li').bind('mouseover', function() {
            $('#top>ul>li>ul').hide();
            $(this).children('ul').show();
    });
    $('#top>ul>li>ul').bind('mouseout', function() {$(this).hide();});
    
    $('#newsletter_signup input, #newsletter_front input').bind('focus', function() { if ($(this).val() == 'Din e-mail adresse') {$(this).val('')}}).bind('blur', function() { if ($(this).val() == '') {$(this).val('Din e-mail adresse')}});
    
    
    $('#searchbox input[name="search"]').bind('keyup', function() {
    	if ($(this).val().length > 3) {
    		clearTimeout(searchtimeout);
    		searchtimeout = setTimeout('dirks.search.commit();', 500);
    	} else {
    		clearTimeout(searchtimeout);
			dirks.search.hidesearchboxresults();				
    	}
    });
});


var dirks = function(){};

dirks.bin = function() {
    return {
        scrollleft : function() {
            $('#bin').scrollTo('-=400px', {axis:'x',duration:500});
        },

        scrollright : function() {
            $('#bin').scrollTo('+=400px', {axis:'x',duration:500});
        }


    }
}();

dirks.grid = function() {
    return {
        filter : function(elm) {
            if ($(elm).parent().children('ul').css('display') == 'none') {
                $('#topinfo ul').hide();
            }
            $(elm).parent().children('ul').toggle();
        }

    }

}();

dirks.basket = function() {
    return {
        toggle : function() {
            if ($('#basket').css('display') == 'none') {
            	dirks.basket.getcart();
            } else {
                $('#basket').hide();
            }
        },

        add : function(id, musthavesize, size) {
        	if (musthavesize) {
				if (size == 'false') {
					alert('Du har ikke valgt ringstørrelse.');
					return false;
				}
        	} else {
        		size = 0;
        	}
        
            $.get('/json/addtocart/' + id + '/' + size, {}, function() {
                dirks.basket.getcart(true);
            });
        },

        remove : function(id) {
            $.get('/json/removefromcart/' + id, {}, function() {
                dirks.basket.getcart(false);
            });
        },

        getcart : function(fadeout) {
            $('#basket').load('/json/getcart/', {}, function() {
                $('#basket').show();
                if (fadeout) {
					setTimeout('$(\'#basket\').slideUp(\'slow\');', 2000);
				}
            });
        }

    }
}();

dirks.checkout = function() {
    return {
        removefrombasket : function(id) {
            $.get('/json/removefromcart/' + id, {}, function() {
            	document.location.reload();            
            });       
          },        
		addtobasket : function(id, size) {
			$.get('/json/addtocart/' + id + '/' + size, {}, function() {
				document.location.reload();
			});        
		},
        savecomment : function() {
            var comment = $('textarea[name="comment"]').val();
            $.post('/json/savecomment/', {comment:comment}, function() {
            	return true;
            });
        },
        
        validatepersonal : function() {            
        	var regexp = /^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(\.){1}[a-zA-Z]{2,4})+$/;
            var error = '';
            var phone = $('#step3 input[name="phone"]').val();
            var email = $('#step3 input[name="email"]').val();
            var rep_email = $('#step3 input[name="repeat_email"]').val();
            var firstname = $('#step3 input[name="firstname"]').val();
            var lastname = $('#step3 input[name="lastname"]').val();
            var address1 = $('#step3 input[name="address1"]').val();
            var address2 = $('#step3 input[name="address2"]').val();
            var zipcode = $('#step3 input[name="zipcode"]').val();
            var city = $('#step3 input[name="city"]').val();
            var country = $('#step3 input[name="country"]').val();

            var alternatedelivery = $('#step3 input[name="alternatedelivery"]:checked').length;
            var accept = $('#step3 input[name="accept"]:checked').length;
            var newsletter = $('#step3 input[name="newsletter"]:checked').length;

            var del_company = $('#step3 input[name="del_company"]').val();
            var del_firstname = $('#step3 input[name="del_firstname"]').val();
            var del_lastname = $('#step3 input[name="del_lastname"]').val();
            var del_address1 = $('#step3 input[name="del_address1"]').val();
            var del_address2 = $('#step3 input[name="del_address2"]').val();
            var del_zipcode = $('#step3 input[name="del_zipcode"]').val();
            var del_city = $('#step3 input[name="del_city"]').val();
            var del_country = $('#step3 input[name="del_country"]').val();

            if (phone.length < 8) {
                error += "Telefonnummer\n";
            }

            if (!regexp.test(email)) {
                error += "Ugyldig email adresse\n";
            }

            if (email != rep_email) {
                error += "E-mail og gentag e-mail er ikke ens\n";
            }

            if (firstname.length < 1) {
                error += "Fornavn\n";
            }

            if (lastname.length < 1) {
                error += "Efternavn\n";
            }

            if (address1.length < 1 && address2.length < 1) {
                error += "Adresse\n";
            }
           if (zipcode.length < 4) {
                error += "Postnr.\n";
            }

            if (city.length < 2) {
                error += "By\n";
            }

            if (country.length < 3) {
                error += "Land\n";
            }


            if (alternatedelivery == 1) {
                if (del_firstname.length < 1) {
                    error += "Leveringsadresse, fornavn\n";
                }

                if (del_lastname.length < 1) {
                    error += "Leveringsadresse, Efternavn\n";
                }

                if (del_address1.length < 1 && del_address2.length < 1) {
                    error += "Leveringsadresse, Adresse\n";
                }

                if (del_zipcode.length < 4) {
                    error += "Leveringsadresse, Postnr.\n";
                }

                if (del_city.length < 2) {
                    error += "Leveringsadresse, By\n";
                }
         	
         	    if (del_country.length < 2) {
                    error += "Leveringsadresse, Land\n";
                }
                
            }

            if (accept == 0) {
                error += "Godkende handels- og leveringsbetingelser\n";
            }

            if (error != '') {
                alert("Flg. felter blev ikke korrekt udfyldt:\n"+error);
                return false;
            }

            return true;
        }

    }
}();

dirks.product = function() {
    return {
        showdetail : function(src, no) {
            $('div.image_large>img').attr('src',src);
            $('div.image_large>img').css('cursor','pointer').unbind('click').bind('click', function() { $(this).unbind('click').css('cursor','auto'); history.back(); });
            document.location.href = '#detalje' + no;
            return true;
        },
        
        findvariant : function(parent_id, gemsize, noofgems, surface, audience, length, prio) {
        	$.post('/json/findVariant/', {parent_id:parent_id,gemsize:gemsize,noofgems:noofgems,surface:surface,audience:audience,_length:length,prio:prio}, function(url) {
        		//alert(url);
        		document.location.href = url;
        	}, 'text');
        }
    }
}();

dirks.search = function() {
	return {
		showsearchbox : function() {
			$('#searchbox').toggle();
		},
		
		commit : function() {
			$.getJSON('/json/search/' + $('#searchbox input[name="search"]').val() + '/', {}, function(data) {
				if (data.count > 0) {
					$('div.searchresult div.item').remove();				
					$('div.searchresult').show();
					$('div.searchbutton a').attr('href', '/soegeresultat/' + $('#searchbox input[name="search"]').val() + '/');
					$('div.searchbutton').show();					
				} else {
					dirks.search.hidesearchboxresults();				
				}
				$.each(data.products, function(i, item) {
					$('div.searchresult').append('<div class="item"><div class="product"><a href="/' + item.id + '/' + item.urltitle + '/"><img src="http://www.dirksdesign.com/products/' + item.real_id + '/basket.jpg" alt="' + item.name + '" /></a></div><div class="desc"><p><a href="/' + item.id + '/' + item.urltitle + '/">' + item.name + '</a></p></div><div class="link"><a href="/' + item.id + '/' + item.urltitle + '/"><img src="/design/img/button_viewresult.gif" alt="" /></a></div><div class="breaker">&nbsp;</div></div>');
				});
			});
		},
		
		hidesearchboxresults : function() {
			$('div.searchresult').hide();
			$('div.searchbutton').hide();					
			$('div.searchresult div.item').remove();
		}	
	}
}();

dirks.newsletter = function() {
	return {
		signup : function() {
			var regexp = /^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(\.){1}[a-zA-Z]{2,4})+$/;
			if (!regexp.test($('#newsletter_signup input').val())) {
				alert('Den indtastede e-mail adresse er ugyldig');
				return false;
			} else {
				$.post('/json/newsletter_signup/', {email:$('#newsletter_signup input').val()}, function() { 
					$('#newsletter_signup input, #newsletter_signup img').css('visibility','hidden');
					$('#newsletter_signup p').html('Tak for din tilmelding');
					pageTracker._trackPageview('/nyhedsbrev-tilmeldt');
				}, 'text');
				return false;
			}
		
		},
		signup_front : function() {
			var regexp = /^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(\.){1}[a-zA-Z]{2,4})+$/;
			if (!regexp.test($('#newsletter_front input').val())) {
				alert('Den indtastede e-mail adresse er ugyldig');
				return false;
			} else {
				$.post('/json/newsletter_signup/', {email:$('#newsletter_front input').val()}, function() { 
					$('#newsletter_front input, #newsletter_front button').css('visibility','hidden');
					$('#newsletter_front p').html('Tak for din tilmelding');
					pageTracker._trackPageview('/nyhedsbrev-tilmeldt');
				}, 'text');
				return false;
			}
		
		}		
	}
}();            

dirks.sendtofriend = function() {
	return {
		validate : function() {
			var regexp = /^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(\.){1}[a-zA-Z]{2,4})+$/;
			var error = '';
						
			if (!regexp.test($('input[name="rec_email"]').val())) {
				error += "Modtager e-mail adresse er ugyldig\n";
			}			

			if (!regexp.test($('input[name="send_email"]').val())) {
				error += "Din e-mail adresse er ugyldig\n";
			}			

			if ($('input[name="rec_name"]').val().length < 2) {
				error += "Modtagernavn\n";
			}			

			if ($('input[name="send_name"]').val().length < 2) {
				error += "Dit navn\n";
			}			


			if (error != '') {
				alert("Flg. felter blev ikke korrekt udfyldt:\n" + error);
				return false;
			} else {
				return true;
			}
		}	
	}
}();

dirks.wishlist = function() {
	return {
		add : function(product) {
			$.getJSON('/json/addtowishlist/' + product, function() {
				document.location.href = '/oenskeliste/';
			});
		},
		
		remove : function(product) {
			$.getJSON('/json/removefromwishlist/' + product, function() {
				document.location.href = '/oenskeliste/';
			});		
		},
		validate : function() {
			var regexp = /^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(\.){1}[a-zA-Z]{2,4})+$/;
			var error = '';
						
			if (!regexp.test($('input[name="rec_email"]').val())) {
				error += "Modtager e-mail adresse er ugyldig\n";
			}			

			if (!regexp.test($('input[name="send_email"]').val())) {
				error += "Din e-mail adresse er ugyldig\n";
			}			


			if (error != '') {
				alert("Flg. felter blev ikke korrekt udfyldt:\n" + error);
				return false;
			} else {
				return true;
			}
		}	

	}
}();
            
