/** Functions holder
/* Version $Revision: 1.1 $
* Author: $Author: peter $
**/
// This function searches and displays a dropdown div according to the X/Y coords of the input field
function search(field) {
    //detect empty search
    if(field.value=="") {
        unsearch();
        return false;
    } else {
        // Rest of the code
        $("<div class='searchbox' id='searchbox1'>").appendTo(".wrapper");
        var top=(parseFloat($(field).offset().top)+parseFloat($(field).height())+10); // positie van input+hoogte+2px margin
        var left=(parseFloat($(field).offset().left)-25); // positie van input
        $("#searchbox1").css('top',top);
        $("#searchbox1").css('left',left);
        $("#searchbox1").css('display','block');
        //Request
      //  var html="<h3 class='diap'>Zoekresultaten</h3>\n";
        $.get("search/"+field.value, "", function(data) {
            var html="<h3 class='diap'>Zoekresultaten</h3>"+data;
            $("#searchbox1").html(html);
        });

        return;               
    }    
}
function search2(field) {
    // CharChecker
    // geen html 
    var html=/<(.*)>/g;
        if(field.value != "" || !html.test(field.value) || field.value.length>0) {
            // Nieuwe div
            $("<div class='searchbox' id='searchbox1'>").appendTo(".wrapper"); //
            // Coords
            var top=(parseFloat($(field).offset().top)+parseFloat($(field).height())+10); // positie van input+hoogte+2px margin
            var left=(parseFloat($(field).offset().left)); // positie van input
            $("#searchbox1").css('top',top);
            $("#searchbox1").css('left',left);
            $("#searchbox1").css('display','block');
            //Request
            var html="<h3 class='diap'>Zoekresultaten</h3>\n";
            $.get("search/"+field.value, "", function(data) {
                var html=html+data;
            });
            $("#searchbox1").html(html);
            return;   
        } else {
            unsearch();
            return;
        }
        //bug
        if(parseFloat(field.value.length)==0) {
            unsearch()
        }

}

function unsearch() {
    $(".searchbox").remove();
}

// Function 
function spawn_window(mheight, mwidth, mtitle, href) {
    // mask
    var maskH=$(document).height();
    var maskW=$(document).width();
    // Create the mask
    $("<div class='mask' id='mask'>").appendTo("body");
    // inline box maken -- the "modal window"
    $("<div class='modal' id='window'>").appendTo("#mask");
    $("#window").css({
        'height': mheight,
        'width': mwidth
    });
    $.get(href, "", function(data) {
        $("#window").html(data);
    });
}





$(document).ready(function() {
    $("a.modal").click(function(e) {
        // Attribute]
        var href=$(this).attr('href');
        e.preventDefault(); // doorlinken stoppen
        spawn_window(150, 300, $(this).attr('name'), $(this).attr('href'));
    });  
});

//*********************
//* jQuery Multi Level CSS Menu #2- By Dynamic Drive: http://www.dynamicdrive.com/
//* Last update: Nov 7th, 08': Limit # of queued animations to minmize animation stuttering
//* Menu avaiable at DD CSS Library: http://www.dynamicdrive.com/style/
//*********************/

//Specify full URL to down and right arrow images (23 is padding-right to add to top level LIs with drop downs):
//var arrowimages={down:['downarrowclass', 'down.gif', 23], right:['rightarrowclass', 'right.gif']};

var jqueryslidemenu={

animateduration: {over: 200, out: 100}, //duration of slide in/ out animation, in milliseconds

buildmenu:function(menuid, arrowsvar){
    jQuery(document).ready(function($){
        var $mainmenu=$("#"+menuid+">ul")
        var $headers=$mainmenu.find("ul").parent()
        $headers.each(function(i){
            var $curobj=$(this)
            var $subul=$(this).find('ul:eq(0)')
            this._dimensions={w:this.offsetWidth, h:this.offsetHeight, subulw:$subul.outerWidth(), subulh:$subul.outerHeight()}
            this.istopheader=$curobj.parents("ul").length==1? true : false
            $subul.css({top:this.istopheader? this._dimensions.h+"px" : 0})

            $curobj.hover(
                function(e){
                    var $targetul=$(this).children("ul:eq(0)")
                    this._offsets={left:$(this).offset().left, top:$(this).offset().top}
                    var menuleft=this.istopheader? 0 : this._dimensions.w
                    menuleft=(this._offsets.left+menuleft+this._dimensions.subulw>$(window).width())? (this.istopheader? -this._dimensions.subulw+this._dimensions.w : -this._dimensions.w) : menuleft
                    if ($targetul.queue().length<=1) //if 1 or less queued animations
                        $targetul.css({left:menuleft+"px", width:this._dimensions.subulw+'px'}).slideDown(jqueryslidemenu.animateduration.over)
                },
                function(e){
                    var $targetul=$(this).children("ul:eq(0)")
                    $targetul.slideUp(jqueryslidemenu.animateduration.out)
                }
            ) //end hover
        }) //end $headers.each()
        $mainmenu.find("ul").css({display:'none', visibility:'visible'})
    }) //end document.ready
}
}

//build menu with ID="myslidemenu" on page:
jqueryslidemenu.buildmenu("myslidemenu")



/**
* Helpdesk callform 
**/
    function new_form() {
        // IE BF
        var browser=navigator.appName;
        if(browser=="Microsoft Internet Explorer") {
            document.location.href="nieuwe_call";
            return;
        }
        // End IE BF
        // display a Jquery based form, in a modal window
        // Step 1; create a overlay:
        var overlay={
            cssclass: 'overlay',
            id: 'overlay'
        }
                $("#"+overlay.id).fadeIn("fast");
        $("<div class="+overlay.cssclass+" id="+overlay.id+">").appendTo("body");

        // Step 2, create the window it self
        var window={
            cssclass: 'helpdesk_window',
            id: 'helpdesk_window',
            height: '70%', // 50% viewport size
            width: '400px'
        }
        // step 3; create the modal window within the overlay
        $("<div class='"+window.cssclass+"' id='"+window.id+"'>").appendTo("#"+overlay.id);
        // Step 4; get the Form from a html file
        $("#"+window.id).html('<form id="new_call" name="new_call" action="return call_submit(this)" onsubmit="return call_submit(this)"> ');
        $.get("tpl.new_call.html", "", function(data) {
            $("#"+window.id).html(data);
        });
    }
    
$(document).ready(function() {
    $("a#adventnet").attr('onclick', 'new_form()');
});


function call_submit(form) {
    // Validate the form
    var err;
    if(form.sender_name.value == "") {
        form.sender_name.style.border="1px solid #FF0000";
        form.sender_name.focus();
        return false;
    } else {
        form.sender_name.style.border="";
    }
    var email=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if(form.sender_email.value == "" || !email.test(form.sender_email.value)) {
        form.sender_email.style.border="1px solid #FF0000";
        form.sender_email.focus();
        return false;
    } else {
        form.sender_email.style.border="";
    }
    if(form.sender_company.value == "") {
        form.sender_company.style.border="1px solid #FF0000";
        form.sender_company.focus();
        return false;
    }else {
        form.sender_company.style.border="";
    } 
    if(form.call_title.value == "") {
        form.call_title.style.border="1px solid #FF0000";
        form.call_title.focus();
        return false;
    } else {
        form.call_title.style.border="";
    }
    if(form.calltxt.value == "") {
        form.calltxt.style.border="1px solid #FF0000";
        form.calltxt.focus();
        return false;
    }     else {
        form.calltxt.style.border="";
    }
    var browser=navigator.appName;
    if(browser=="Microsoft Internet Explorer") {
        var is_ie="ja";
        
    } else {
        var is_ie="nee";
    }
    if(parseFloat(err)>1) {
         return false;
    } else {        
        // post it to php
        $.post("call_engine.php", { 
            name: form.sender_name.value, 
            email: form.sender_email.value, 
            company: form.sender_company.value,
            title: form.call_title.value,
            priority: form.call_priority.value,
            description: form.calltxt.value,
            fromie: is_ie
        }, function(data) {
				//bugfix, call_engine seems to return empty data with IE.
				if (data.length > 0) {
					call_complete(data);
				} else {
					call_complete("<h1>Bedankt</h1><p>Uw call is aangemaakt. <br />Wij zullen spoeding met u contact opnemen.</p>");
				}
        });
    }
}

function call_complete(txt) {
    var browser=navigator.appName;
    var txt=txt+""; // to String
    if(txt=="" || txt.length==0 ||!txt) {
        txt="Bedankt, uw aanvraag is bij ons geregistreerd.";
    }
    if(browser=="Microsoft Internet Explorer") {
        alert("Bedankt, uw aanvraag is bij ons geregistreerd.");
        history.go(-1);
        return;
    } else {
        $("#helpdesk_window").html(txt);
    }
}

function call_cancel() {
    var browser=navigator.appName;
    if(browser=="Microsoft Internet Explorer") {
        history.go(-1);
        return;
    } else {
        $("#helpdesk_window").remove();
        $("#overlay").fadeOut("fast");
        setTimeout('$("#overlay").remove()', 500);
        }
}    


