﻿var req;

$(document).ready(function(){
    if ($.browser.msie) {
        $('img[@src$=.png]').ifixpng(); // transparent png fix
    }
    
    // Curvy corners kan padding overnemen door autopad te gebruiken. Hiermee plaatst hij de inhoud en css van de div waarvan de randen
    // rond moeten worden in nested div en pakt hij alles over op dienen div. Probleem is als de originele div een breedte en padding heeft
    // dan wordt de padding mee ingecalculeerd in de breedte. Dus verliezen we onze padding.
    // OPLOSSING (die mooi degradeert als javascript gedisabled is):
    // In de div die rounded moet worden een andere div steken (zelf, zonder js) en daar de breedte en padding enzo op los laten.
    
    $('#content').corner({
        tl: { radius: 12 },
        tr: { radius: 12 },
        bl: { radius: 12 },
        br: { radius: 12 },
        antiAlias: true,
        autoPad: false,
        validTags: ["div"] 
    });

	if ($("#headerSlideShow").length > 0) {
	    for(var i = 1; i < 12; i++) {
	        if ($('#headerSlideShow').html().indexOf("header" + i + ".jpg") == -1) { // zie allegrow.master.vb (*1)
	            $('<li><img src="../images/header' + i + '.jpg" alt="" /></li>').appendTo('#headerSlideShow');
	        }
	    }
	    $('#headerSlideShow').innerfade({
            speed: 'slow',
            timeout: 4000,
            type: 'random',
            containerheight: '151px'
        });
    }    
    
    $("#ctl00_ctlMenu_txtSearch").keyup(function() {
        // Als we in deze functie komen moeten we een nieuwe ajax search request uitvoeren.
        // De vorige requests mogen dus gecancelled worden.
        
        if ($(this).val().length > 2) {
            getSearchResultsAsync();
        }        
    });   
    
    
    $(".productOverview a").hover(function() {
        if ($("#productImage").length > 0) {
            $("#productImage").attr("src", "../upload/Image/" + $(this).attr("title"));
        }
    }, function() {
    });
    

    function setSelectedMenuItem()
    {
        var url = window.location.href.toLowerCase();
        var home = new Array("default.aspx");
        var contact = new Array("contact.aspx");
        var kalender = new Array("kalender.aspx");
        var recepten = new Array("recepten.aspx", "recept.aspx");
        var kruiden = new Array("product_group.aspx?id=2");
        var groenten = new Array("product_group.aspx?id=1", "product_group.aspx?id=1");
        var product = new Array();
        
        
        var arrPages = [home, edities, contactGroups, contact, stats, images]; // pagina namen ...
        var arrItems = ["Home", "Edities", "ContactGroups","Contacts", "Statistieken", "Images"]; // ... met bijhorende id's (van de li's) om dan bijhorende icoon op selected te zetten.
        var url_array = url.split("/");
        
        for(var i=0; i < (arrPages.length); i++) {
            for (var j=0; j < arrPages[i].length; j++) {
                var temp = arrPages[i];
                
                if (temp[j] == url_array[(url_array.length) - 1]) {
                    $("#img" + arrItems[i]).attr("src","images/" + arrItems[i] + "-selected.jpg");
                    currentPageName = arrItems[i];
                    //$("#paginaTitel").text();
                }
            }
        } 
    }     
});

/* ----------------------------------------------------------------------------------------------------------- 
VALIDATIE FORMS
-------------------------------------------------------------------------------------------------------------- */ 

function validateForm(arrayNumber) {
    var url, ok_color, error_color, i, postForm, error_messages, ok_messages;
    
	error_messages = "<ol>";                    
	ok_messages = "oke."
    error_class = "TextBoxError";
	ok_class = "TextBox";
	ok_class_large = "TextBoxLarge";
	postForm = true;
	var fields;
	
	switch(arrayNumber) { // arrayNumber duidt aan welke pagina we zitten, dus welke velden we moeten checken.
        case 'contact':
            var naam = new Array("ctl00_cphBody_ctlContact_txtNaam", "textbox", "u heeft uw <strong>naam</strong> niet ingevuld");
            var email = new Array("ctl00_cphBody_ctlContact_txtEmail","email", "u heeft uw <strong>e-mail </strong> niet ingevuld");
            var bericht = new Array("ctl00_cphBody_ctlContact_txtBericht","textboxLarge", "u heeft geen <strong>bericht</strong> niet ingevuld");
            
            fields = new Array(naam, email, bericht);
            break;
	}
	    
    for(i = 0; i < fields.length; i++) {
        var temp = fields[i];
		//$("#" + temp[0]).removeAttr("class");        
		
        switch(temp[1])
        {
            case "textbox":
                if ($("#" + temp[0]).val().length < 1) {
					$("#" + temp[0]).addClass(error_class);
					error_messages += "<li>" + temp[2] + "</li>";
                    postForm = false;
                }
                else {
                    $("#" + temp[0]).attr("class", ok_class);
                }
            break;

            case "textboxLarge":
                if ($("#" + temp[0]).val().length < 1) {
					$("#" + temp[0]).addClass(error_class);
					error_messages += "<li>" + temp[2] + "</li>";
                    postForm = false;
                }
                else {
                    $("#" + temp[0]).attr("class", ok_class_large);
                }
            break;            
            
            case "email":          
                if (!validateEmail(document.getElementById(temp[0]).value)) {         
					$("#" + temp[0]).addClass(error_class);     
					error_messages += "<li> - uw <strong>" + $("#" + temp[0]).attr("title") + "</strong> is niet het correcte formaat </li>";					              
                    postForm = false;                     
                }
                else {
                    $("#" + temp[0]).attr("class", ok_class);
                }
            break;
        }
    }
	
	if (postForm) {
		//$("#messages").html(ok_messages);
	}
	else {
	    setContactFormError();
	}
    
    return postForm;
}

function setContactFormError() {
    var url = window.location.href.toLowerCase();
    var url_array = url.split("/");
    
    for (var i = 0; i < url_array.length; i++) {
        if (i == (url_array.length - 2)) {
            switch (url_array[i])
            {
                case "nl-be":
                    $("#messages").html("<div id=\"error\">Gelieve alle velden correct in te vullen.</div>");
                    break;
                    
                case "de":
                    $("#messages").html("<div id=\"error\">Es ist ein Fehler aufgetreten, bitte versuchen Sie es später nochmal.</div>");
                    break;
                    
                case "fr": 
                    $("#messages").html("<div id=\"error\">Il y a problème d'envoyer votre message, essayez de nouveau svp.</div>");
                    break;
            }
        }
    }
}

function validateEmail(strEmail) {
    var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
    var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
   
  	if (!reg1.test(strEmail) && reg2.test(strEmail)) { // if syntax is valid
    	return true;
  	}
  	else {
  	    return false;
  	}
}

/* ----------------------------------------------------------------------------------------------------------- 
AJAX
-------------------------------------------------------------------------------------------------------------- */ 
function getSearchResultsAsync() {   
    if (req) {
        req.abort();
    }
    
    var url_array = window.location.href.toLowerCase().split("/");
    var strURL = "../ajax.aspx?zoek=" + $("#ctl00_ctlMenu_txtSearch").val() + "&taal=" + url_array[url_array.length - 2];
    
    // We moeten het in de binnenste contentplacer steken anders
    // zijn we onze rounded corners kwijt.
    // Aangezien we verschillende inner contentplaceholder's hebben
    // moeten we weer met een loop werken.
    var contentholders = new Array("#home", "#contentReal", "#kalender");
    
    // We werken met jQuery AJAX en niet met .NET omdat het redelijk moeilijk is om requests te aborten enz. (wat hier
    // in deze situatie nu wel specifiek nodig is).
    req = $.ajax({
        url: strURL,
        type: 'GET',
        error: function(){
            $(contentholders[i]).html("<p><strong> There was a problem, please try again </strong></p>"); 
        },
        success: function(result){    
            $("#searching").removeAttr("class");
            $("#searching").attr("class", "invisible");   
              
            for (var i = 0; i < contentholders.length; i++) {                       
                if ($(contentholders[i]).length > 0) {                          
                    if (contentholders[i] == "#home") { // Homepage heeft andere dimensies en zoekresultaat layout klopt anders niet.
                        $(contentholders[i]).remove();
                        $("#content").append("<div id=\"contentReal\">" + result + "</div>");
                    }
                    
                    $(contentholders[i]).html(result);

                    if ($.browser.msie) {  // IE 6 messes curvy corners up.               
                        $('#content').corner({
                            tl: { radius: 6 },
                            tr: { radius: 6 },
                            bl: { radius: 6 },
                            br: { radius: 6 },
                            antiAlias: true,
                            autoPad: false,
                            validTags: ["div"] 
                        });                           
                    }
                }
            }
            
            req = null;
        }
    });
    
    if ($("#searching").length > 0) {
        $("#searching").removeAttr("class");
        $("#searching").attr("class", "searching");
    }
    
//    for (var i = 0; i < contentholders.length; i++) {                       
//        if ($(document).find(contentholders[i])) {                          
//            $(contentholders[i]).html("<div id=\"searching\"><img src=\"../images/ajax-loader.gif\" alt=\" \" /> <p>searching...</p></div>");
//            if ($.browser.msie) { // IE 6 messes curvy corners up.                  
//                $('#content').corner({
//                    tl: { radius: 6 },
//                    tr: { radius: 6 },
//                    bl: { radius: 6 },
//                    br: { radius: 6 },
//                    antiAlias: true,
//                    autoPad: false,
//                    validTags: ["div"] 
//                });                           
//            }                                          
//        }
//    }
    
}




