var tmrMenu = new Array();
tmrMenu[0] = null;
tmrMenu[1] = null;

var tmrMenuSlide = new Array();
tmrMenu[0] = null;
tmrMenu[1] = null;

var dir = new Array();
dir[0] = "";
dir[1] = "";

var tmrPopup = null;

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function GetXMLHTTPObject(){
    var XMLHTTP=false;    
    try {
        XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            XMLHTTP = false;
        }
    }    
    if (!XMLHTTP && typeof XMLHttpRequest!='undefined') {
        try {
            XMLHTTP = new XMLHttpRequest();
        } catch (e) {
            XMLHTTP=false;
        }
    }
    if (!XMLHTTP && window.createRequest) {
        try {
            XMLHTTP = window.createRequest();
        } catch (e) {
            XMLHTTP=false;
        }
    }
    return XMLHTTP;
}

function GetPage(url)
{
    //Show Progress
    var html;
    html = "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" border=\"0\">";
    html += "<tr style=\"padding:30px 0px 300px 0px;\"><td align=\"center\"><img src=\"images/ajax-loader.gif\" width=\"16\" height=\"16\" border=\"0\" /></td></tr>";
    html += "</table>";
    document.getElementById("content").innerHTML = html;
    
    var XMLHTTP = GetXMLHTTPObject();
    
    XMLHTTP.open("GET", url, true);
    XMLHTTP.setRequestHeader("Referer", "http://www.avteam.co.za");
    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4) {
            document.getElementById("content").innerHTML = XMLHTTP.responseText;
        }
    }
    XMLHTTP.send(null);
}

function PostPage(frm)
{
    //Parse the form.
    var form = "";
    var i;
    for(i = 0; i < frm.length; i++)
    {
        if(frm[i].type == "radio")
        {
            if(frm[i].checked)
            {
                form += frm[i].name + "=" + escape(frm[i].value) + "&";
            }
        }
        else if(frm[i].type == "checkbox")
        {
            if(frm[i].checked)
            {
                form += frm[i].name + "=" + escape(frm[i].value) + "&";
            }
        }
        else if(frm[i].type == "select-one")
        {
            if(frm[i].options.length > 0)
            {
                if(frm[i].value != "")
                {
                    form += frm[i].name + "=" + escape(frm[i].value) + "&";
                }
                else
                {
                    var j;
                    for(j = 0; j < frm[i].options.length; j++)
                    {
                        if(frm[i].options[j].selected)
                        {
                            if(frm[i].options[j].value != "")
                            {
                                form += frm[i].name + "=" + escape(frm[i].options[j].value) + "&";
                            }
                            else
                            {
                                form += frm[i].name + "=" + escape(frm[i].options[j].text) + "&";
                            }
                        }
                    }
                }
            }
        }
        else if(frm[i].type == "select-multiple")
        {
            var j;
            for(j = 0; j < frm[i].options.length; j++)
            {
                if(frm[i].options[j].selected)
                {
                    if(frm[i].options[j].value != "")
                    {
                        form += frm[i].name + "=" + escape(frm[i].options[j].value) + "&";
                    }
                    else
                    {
                        form += frm[i].name + "=" + escape(frm[i].options[j].text) + "&";
                    }
                }
            }
        }
        else
        {
            form += frm[i].name + "=" + escape(frm[i].value) + "&";
        }
    }
    
    if(form != "")
    {
        form = form.substring(0, form.length - 1);
    }
    
    //Show Progress
    var html;
    html = "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" border=\"0\">";
    html += "<tr style=\"padding:30px 0px 300px 0px;\"><td align=\"center\"><img src=\"images/ajax-loader.gif\" width=\"16\" height=\"16\" border=\"0\" /></td></tr>";
    html += "</table>";
    document.getElementById("content").innerHTML = html;

    //Get the new page.
    var XMLHTTP = GetXMLHTTPObject();
    XMLHTTP.open("POST", frm.action, true);
    XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XMLHTTP.setRequestHeader("Content-length", form.length);

    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4) {
            document.getElementById("content").innerHTML = XMLHTTP.responseText;
        }
    }
    
    XMLHTTP.send(form);
    return false;
}

function ImageClick(imgId)
{
    var i;
    for(i = 0; i < document.images.length; i++)
    {
       try{
        var cls = document.images[i].className.split("|");
        
        if(document.images[i].id == imgId)
        {
            document.images[i].src = cls[0];
            document.images[i].setAttribute("class", cls[0] + "|" + cls[1] + "|clicked");
        }
        else
        {
            if(document.images[i].id.indexOf("Image") > -1)
            {
                document.images[i].src = cls[1];
                document.images[i].setAttribute("class", cls[0] + "|" + cls[1] + "|");
            }
        }
       }catch(e){}
    }
}

function ImageMouseOver(img)
{
    var cls = img.className.split("|");
    if(cls[2] != "clicked")
    {
        img.src = cls[0];
    }
}

function ImageMouseOut(img)
{
    var cls = img.className.split("|");
    if(cls[2] != "clicked")
    {
        img.src = cls[1];
    }
}

function GetImagePopup(src, evt)
{   
    window.clearTimeout(tmrPopup);
    
    var e = new Event(evt);   
    var popup = document.getElementById("popup");
    var popupText = document.getElementById("popupText");
    popup.style.visibility = "hidden";
    popup.style.top = e.eventElementPosition[1] + "px";
    popup.style.left = (e.eventElementPosition[0] + (e.eventElementDimensions[0] / 2) - 35) + "px";
    popup.style.width = "70px";
    popup.style.height = "30px";
    popupText.innerHTML = "Loading...";
    popup.style.visibility = "visible";
                
    //Get the image.
    var img = new Image();    
    img.onload = function()
    {
        popupText.innerHTML = "<img src=\"" + src + "\" />";
        
        var imgNew = popupText.getElementsByTagName("IMG");
        popup.style.width = imgNew[0].width + "px";
        popup.style.left = Math.abs((GetWindowDimensions()[0] - imgNew[0].width) / 2) + "px";
        
        if(e.eventElementPosition[1] <= GetWindowDimensions()[1] / 2)
        {
            popup.style.top = e.eventElementPosition[1] + "px";
        }
        else
        {
            popup.style.top = (e.eventElementPosition[1] + e.eventElementDimensions[1] - imgNew[0].height) + "px";
        }
        
        popup.style.height = imgNew[0].height + "px";
    };
    img.src = src;
}

function PopupMenu(e, mnuNum)
{
    var menu = document.getElementById("mnu" + mnuNum);
    
    window.clearTimeout(tmrMenu[mnuNum]);
    var e = new Event(e);
    
    menu.style.left = e.eventElementPosition[0] + "px";
    menu.style.top = (-GetElementDimensions(menu)[1] + 63) + "px";
    menu.style.visibility = "visible";
    
    dir[mnuNum] = "in";
    SlideMenuIn(mnuNum);
}

function ShowPopup()
{
    window.clearTimeout(tmrPopup);
    document.getElementById("popup").style.visibility = "visible";
}

function StartHidePopup()
{
    tmrPopup = window.setTimeout("HidePopup();", 500);
}

function HidePopup()
{
    document.getElementById("popup").style.visibility = "hidden";
}

function SlideMenuIn(mnuNum)
{
    if(dir[mnuNum] == "out")
    {
        return;
    }
    
    var menu = document.getElementById("mnu" + mnuNum);
    var top = Math.floor(menu.style.top.replace("px", ""));
    top = top + 2;

    if(top > 0)
    {
        dir[mnuNum] = "";
        menu.style.top = "0px";
        window.clearTimeout(tmrMenuSlide[mnuNum]);
        tmrMenu[mnuNum] = window.setTimeout("SlideMenuOut(" + mnuNum + ");", 2000, "JavaScript");
    }
    else
    {
        dir[mnuNum] = "in";
        menu.style.top = top + "px";
        tmrMenuSlide[mnuNum] = window.setTimeout("SlideMenuIn(" + mnuNum + ");", 15, "JavaScript");
    }
}

function SlideMenuOut(mnuNum)
{
    if(dir[mnuNum] == "in")
    {
        return;
    }
    
    window.clearTimeout(tmrMenu[mnuNum]);
    
    var menu = document.getElementById("mnu" + mnuNum);
    var top = Math.floor(menu.style.top.replace("px", ""));
    top = top - 2;

    if(top < -GetElementDimensions(menu)[1] + 63)
    {
        dir[mnuNum] = "";
        menu.style.top = (-GetElementDimensions(menu)[1] + 63) + "px";
        menu.style.visibility = "hidden";
        window.clearTimeout(tmrMenuSlide[mnuNum]);
    }
    else
    {
        dir[mnuNum] = "out";
        menu.style.top = top + "px";
        tmrMenuSlide[mnuNum] = window.setTimeout("SlideMenuOut(" + mnuNum + ");", 15, "JavaScript");
    }
}

function StartSlideOut(e, mnuNum)
{
    if(!GetMouseOverElement(e, document.getElementById("mnu" + mnuNum)))
    {
        tmrMenu[mnuNum] = window.setTimeout("SlideMenuOut(" + mnuNum + ");", 1000, "JavaScript");
    }
    else
    {
        window.clearTimeout(tmrMenu[mnuNum]);
    }
}

//-------------------------
//-- START OF EVENT CODE --
//-------------------------
function Event(evt)
{
    this.event = GetEvent(evt);
    this.eventElement = GetEventElement(evt);
    this.eventElementPosition = GetEventElementPosition(evt);
    this.eventElementDimensions = GetEventElementDimensions(evt);
    this.windowDimensions = GetWindowDimensions();
}

function GetEvent(evt)
{
    if(window.event)
    {
        return window.event;
    }
    else
    {
        return evt;
    }
}

function GetEventElement(evt)
{
    var e = GetEvent(evt);

    var elm;
    if(e.srcElement)
    {
        elm = e.srcElement;
    }
    else
    {
        elm = e.target;
    }
    
    return elm;
}

function GetEventElementPosition(evt)
{
    var obj = GetEventElement(evt);
    
	var curleft = 0;
	var curtop = 0;
	
	if (obj.offsetParent)
	{
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent)
        {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	
	return [curleft, curtop];
}

function GetEventElementDimensions(evt)
{
    var obj = GetEventElement(evt);
    
	var innerWidth = 0;
	var innerHeight = 0;
	
    if(obj.offsetWidth)
    {   
        innerWidth = obj.offsetWidth;
        innerHeight = obj.offsetHeight;
    }
    else
    {
        innerWidth = obj.clientWidth;
        innerHeight = obj.clientHeight;
    }
    
	return [innerWidth, innerHeight];
}

function GetElementPosition(obj)
{
	var curleft = 0;
	var curtop = 0;
	
	if (obj.offsetParent)
	{
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent)
        {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	
	return [curleft, curtop];
}

function GetElementDimensions(obj)
{
	var innerWidth = 0;
	var innerHeight = 0;
	
    if(obj.offsetWidth)
    {   
        innerWidth = obj.offsetWidth;
        innerHeight = obj.offsetHeight;
    }
    else
    {
        innerWidth = obj.clientWidth;
        innerHeight = obj.clientHeight;
    }
    
	return [innerWidth, innerHeight];
}

function GetWindowDimensions()
{
    if (window.innerWidth)
    {
        return [window.innerWidth, window.innerHeight];
    }
 
    if (document.body.clientWidth)
    {
        return [document.body.clientWidth, document.body.clientHeight];
    }
    
    return [0, 0];
}

function GetMouseOverElement(evt, elm)
{
    var e = GetEvent(evt);
    var pos = GetMousePosition(e);
    var elmPos = GetElementPosition(elm);
    var elmDim = GetElementDimensions(elm);
    
    if(pos[0] > elmPos[0] && pos[0] < (elmPos[0] + elmDim[0]) && pos[1] > elmPos[1] && pos[1] < (elmPos[1] + elmDim[1]))
    {   
        return true;
    }
    else
    {
	    return false;
	}
}

function GetMousePosition(evt)
{
    var e = GetEvent(evt);
    return [e.clientX, e.clientY];
}
//-----------------------
//-- END OF EVENT CODE --
//-----------------------

//------------------------
//-- START OF FORM CODE --
//------------------------

function SubmitContact(frm)
{
    var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
    var phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
    
    if(frm.contact_name.value == "")
    {
        alert("Please enter your name!");
        return false;
    }
    
    if(frm.contact_email.value == "")
    {
        alert("Please enter your Email Address!");
        return false;
    }
    else
    {
        if(!emailRe.test(frm.contact_email.value))
        {
            alert("Please enter a valid Email Address!");
            return false;
        }
    }
    
    if(frm.contact_number.value != "")
    {
        if(!phoneRe.test(frm.contact_number.value))
        {
            alert("Please enter a valid Telephone Number!");
            return false;
        }
    }
    
    if(frm.comments.value == "")
    {
        alert("Please enter your Questions & Comments!");
        return false;
    }
    
    return PostPage(frm);
}

function SubmitQuote(frm)
{
    var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
    var phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
    
    if(frm.contact_name.value == "")
    {
        alert("Please enter your name!");
        return false;
    }
    
    if(frm.contact_email.value == "")
    {
        alert("Please enter your Email Address!");
        return false;
    }
    else
    {
        if(!emailRe.test(frm.contact_email.value))
        {
            alert("Please enter a valid Email Address!");
            return false;
        }
    }
    
    if(frm.contact_number.value != "")
    {
        if(!phoneRe.test(frm.contact_number.value))
        {
            alert("Please enter a valid Telephone Number!");
            return false;
        }
    }
    
    //Interests.
    var i;
    var found = false;
    for(i = 0; i < frm.length; i++)
    {
        if(frm[i].name == "interest")
        {
            if(frm[i].checked)
            {
                if(frm[i].value == "Other")
                {
                    if(frm.interest_other.value == "")
                    {
                        alert("Please specify what Other Interests you have!");
                        return false;
                    }
                }
                
                found = true;
            }
        }
    }
    
    if(!found)
    {
        alert("Please select what you are Interested in!");
        return false;
    }
    
    //Needs.
    for(i = 0; i < frm.length; i++)
    {
        if(frm[i].name == "need")
        {
            if(frm[i].checked)
            {
                if(frm[i].value == "Other")
                {
                    if(frm.need_other.value == "")
                    {
                        alert("Please specify what Other Needs you have!");
                        return false;
                    }
                }
            }
        }
    }    
    
    //Event info.
    if(frm.date_from.value == "")
    {
        alert("Please select the Event Start Date!");
        return false;
    }
    
    if(frm.date_to.value == "")
    {
        alert("Please select the Event End Date!");
        return false;
    }
    
    if(frm.duration.value == "")
    {
        alert("Please specify the Event Duration!");
        return false;
    }
    
    if(frm.no_people.value == "")
    {
        alert("Please specify the Approximate Number of People!");
        return false;
    }
    
    return PostPage(frm);
}

//----------------------
//-- END OF FROM CODE --
//----------------------
