﻿var menuHome = new Array( "", "default.html","","Home", "-5px" );
var HOME = new Array( menuHome );

var menuCoding = new Array( "","#","","Coding", "320px", "-5px" );
var menuGLSLLib = new Array( "menu-glsllib", "glsl_library.html", "", "OpenGL Shading Language Wrapper" );
var menuIKSolver = new Array( "menu-iksolver", "iksolver-1.html", "", "Inverse Kinematics");
var CODING = new Array( menuCoding, menuGLSLLib, menuIKSolver );

var menuMaya = new Array( "","#","","Maya", "290px", "-5px" );
var menuChicken = new Array( "menu-chicken", "maya_chicken_and_egg.html", "", "Chicken and the Egg Animation" );
var menuBook = new Array( "menu-book", "maya_popup_book.html", "", "Popup Book" );
var menuPlugin = new Array( "menu-plugin", "maya_plugins.html", "", "Blast Color Plugin" );
var MAYA = new Array( menuMaya, menuChicken, menuBook, menuPlugin );

var menuVision = new Array( "","#","","Computer Vision", "280px", "-5px" );
var menuToon = new Array( "menu-toon","filterman.html","","Live Action Tooning" );
var menuARLib = new Array( "menu-arlib","arlib-1.html","","C++ Augmented Reality Toolkit" );
var VISION = new Array( menuVision, menuToon, menuARLib );

var menuMisc = new Array( "","#","","Misc", "180px", "-5px" );
var menuExplosion = new Array( "menu-explosion","cg-explosions/index.htm","_blank","CG Explosions" );
var MISC = new Array( menuMisc, menuExplosion );

var menuMe = new Array( "","#","","About Me", "160px", "-5px" );
var menuContact = new Array( "menu-contact","javascript:ContactMe();","","Contact Me" );
var menuBFL = new Array( "menu-bfl","http://www.bluefishlogic.com","_blank","Blue Fish Logic" );
var menuWeb247 = new Array( "menu-web247","http://www.web247.net","_blank","Web247.net" );
var ME = new Array( menuMe, menuContact, menuBFL, menuWeb247 );

var PageMenu = new Array( HOME, CODING, MAYA, VISION, MISC, ME );

function Page_OnLoad()
{

    var content = null;

    // Create Outer page element
    var obj = document.getElementsByTagName( "body" );
    if (typeof(obj)!="undefined" && obj!=null) {
 
        content = document.getElementById( "page" );
        if (typeof(content)!=undefined && content!=null) {
            
            var TABLE = document.createElement( "table" );
            TABLE.setAttribute( "width", "100%" );
            TABLE.setAttribute( "border", "0" );
            
            TABLE.cellSpacing = "0";
            TABLE.cellPadding = "0";
            TABLE.cellSpacing = 0;
            TABLE.cellPadding = 0;

           
            var TBODY_MAIN = document.createElement( "tbody" );
            TABLE.appendChild( TBODY_MAIN );
            
            var TR = document.createElement( "tr" );
            TBODY_MAIN.appendChild( TR );
            
            var TD = document.createElement( "td" );
            TD.setAttribute( "align", "center" );
            TR.appendChild( TD );
                        
            var DIV = document.createElement("div");
            DIV.id="header";
            DIV.className = "header";
            TD.appendChild( DIV );

            TBL = document.createElement("table");
            TBL.cellSpacing = "0";
            TBL.cellPadding = "0";
            TBL.cellSpacing = 0;
            TBL.cellPadding = 0;
            DIV.appendChild(TBL);
            
            TBODY = document.createElement("tbody");
            TBL.appendChild(TBODY);
            
            TR = document.createElement("tr");
            TR.style.height = "153px";
            TBODY.appendChild(TR);
            
            TR = document.createElement("tr");
            TBODY.appendChild(TR);
            
            TD2 = document.createElement("td");
            TR.appendChild(TD2);
            
            DIV = document.createElement("div");
            DIV.id = "menu";
            TD2.appendChild(DIV);
            
            
            TD.appendChild( content );
            
            var TR = document.createElement( "tr" );
            TBODY_MAIN.appendChild( TR );

            var TD = document.createElement( "td" );
            TD.setAttribute( "align", "center" );
            TR.appendChild( TD );

            var DIV = document.createElement("div");
            DIV.id="footer";
            DIV.className = "footer";
            TD.appendChild( DIV );
            
            var P = document.createElement("P");
            P.className = "footer-text";
            P.innerHTML="Site designed for Internet Explorer 6, Firefox 1.5 and Opera 9<br/>© Dan Diggins, 2006";
            DIV.appendChild(P);


            obj[0].appendChild(TABLE);
            
        }
    }
        
        
    CreateMainMenu( "menu" );
        
    // Create downloads
    if (typeof(PageDownloads)!="undefined") {
        for (i=0; i<PageDownloads.length; i++) {
            CreateDownloadElement( 
                PageDownloads[i][0], 
                PageDownloads[i].length>1?PageDownloads[i][1]:null
            );
        }
    }
    
    // Create images
    if (typeof(PageImages)!="undefined") {
        for (i=0; i<PageImages.length; i++) {
            CreateImageElement( 
                PageImages[i][0], 
                PageImages[i].length>1?PageImages[i][1]:null, 
                PageImages[i].length>2?PageImages[i][2]:null,
                PageImages[i].length>3?PageImages[i][3]:null,
                PageImages[i].length>4?PageImages[i][4]:null
            );
        }
    }
    
    // video clips
    if (typeof(PageVideos)!="undefined") {
        for (i=0; i<PageVideos.length; i++) {
            CreateVideoElement(
                PageVideos[i][0],
                PageVideos[i].length>1?PageVideos[i][1]:null,
                PageVideos[i].length>2?PageVideos[i][2]:null,
                PageVideos[i].length>3?PageVideos[i][3]:null,
                PageVideos[i].length>4?PageVideos[i][4]:null,
                PageVideos[i].length>5?PageVideos[i][5]:null,
                PageVideos[i].length>6?PageVideos[i][6]:null
            );
        }
    }
    
    // Create borders
    if (typeof(PageBorders)!="undefined") {
        for (i=0; i<PageBorders.length; i++) {
            CreateBorderElement( 
                PageBorders[i][0], 
                PageBorders[i].length>1?PageBorders[i][1]:null, 
                PageBorders[i].length>2?PageBorders[i][2]:null, 
                PageBorders[i].length>3?PageBorders[i][3]:null,
                PageBorders[i].length>4?PageBorders[i][4]:null
            )
        }
    }

    // Do main container
    CreateBorderElement("content-container", null, "flat", "#f0f0f0", FLAGS_FLAT_TOP | FLAGS_FLAT_BOTTOM )
    
    if (typeof(OnLoad)!="undefined") OnLoad();
    if (content!=null) content.style.visibility = "visible";

}

// ** //
function NullIt( value, defValue )
{
    if (typeof(value)=="undefined" || value==null) 
    {
        if (typeof(defValue)=="undefined")
            return null;
        else
            return defValue;
    }
    
    return value;
}

// ** //
function AddEvent( DomObj, Event, Function )
{
    if (typeof(DomObj.attachEvent)=="undefined") 
        DomObj.addEventListener( Event, Function ,false )
    else
        DomObj.attachEvent( "on" + Event, Function );
}

// ** //
function GetEventTarget(evt) {
    evt = (typeof(evt)=="undefined")?event:evt;
    return (typeof(evt.target)=="undefined"?evt.srcElement:evt.target);
}

// ** //
function ShowMenu(obj, flag )
{
    flag = NullIt(flag,true);
        
    var obj = document.getElementById( obj.id + "-popup" );
    if (NullIt(obj)==null) return;

    obj.style.visibility = flag ? "visible" : "hidden";
}

// ** //
function ContactMe()
{
    var email = "";
    email += "mailto:"
    email += "contact";
    email += "@";
    email += "dandiggins.co.uk"
    
    window.open(email);
}