/*-------------------------------------------------------------
	VARIABLE DECLARATIONS
---------------------------------------------------------------*/

var lastUpdated = "12 Jan 2010";
var email = "<a href=mailto:mahfuzul.haque@gmail.com class=link>mahfuzul.haque@gmail.com</a>";
var resume = "<a class=link target=_blank href=resume_mahfuzul_oct_07.pdf>resume</a>";


//Tags
var headerLeft = "";
var headerCenter = "<div style=padding-top:15;padding-bottom:15;><img src=images/header.png border=0></div>";//"<div style=padding:10;font-family:sans-serif,arial,verdana;font-size:30pt>Mahfuzul Haque</div>";
var headerRight = ""; //"<div style=height:100%;padding-top:3;padding-bottom:3;vertical-align:middle;font-weight:normal;>GSIT, Monash University<br>Northways Road, Churchill<br>VIC 3842, Australia <br>" + email + "<div>";  
var footerLeft = "<img src=images/triangle.gif>&nbsp;<a class=link href=contact.html>My Contact</a>" ;  
var footerCenter = "<b>Last updated: </b>" + lastUpdated + "&nbsp;&copy;&nbsp;Mahfuzul Haque";
var footerRight = "" + email;    


var IMG_BULLET = 0;
var IMG_UP = 1;
var IMG_DOWN = 2;
var IMG_TOP_BANNER = 3;
var IMG_BOTTOM_BANNER = 4;

var ID_MENU_STRIP = "tagMenuStrip";
var ID_BREAD_CRUMB = "tagBreadCrumb";
var ID_HEADER_LEFT = "tagHeaderLeft";
var ID_HEADER_CENTER = "tagHeaderCenter";
var ID_HEADER_RIGHT = "tagHeaderRight";
var ID_FOOTER_LEFT = "tagFooterLeft";
var ID_FOOTER_CENTER = "tagFooterCenter";
var ID_FOOTER_RIGHT = "tagFooterRight";
var ID_PAGE_TITLE = "tagPageTitle";

var PROP_PAGE_TYPE = "propPageType";
var PROP_PAGE_CONTENT = "propPageContent";

var HOME_URL = "index.html";

/*-------------------------------------------------------------
	IMAGE PRE-LOADING
---------------------------------------------------------------*/
img_names = new Array(
"images/triangle.gif", 
"images/up.png", 
"images/down.png",
"images/banner.png",
"images/bottom.png",
"images/curve.png"
);


function loadImages()
{
    img = new Array(img_names.length);
    for(i = 0; i < img.length; i++) 
    {
	img[i] = new Image();
  	img[i].src = img_names[i]; 	
    } 	
}

loadImages();	

/*-------------------------------------------------------------
	CLASS DEFINITIONS
---------------------------------------------------------------*/

function MenuItem(text,tooltip,url,target) {
    this.text = text;	
    this.tooltip = tooltip;	
    this.url = url;	
    this.target = target;	
}


function Menu(text,id) {
    this.text = text;	
    this.id = id;	
}


/*-------------------------------------------------------------
	OBJECT CREATION
---------------------------------------------------------------*/

menu = new Array(
  new Menu("About","About"),
  new Menu("Research","Research"),
//  new Menu("Projects","Projects"),
  new Menu("Software & Games","SoftwareNGames")
//  new Menu("Resources","Resources")
);

menuItems = new Array(
  new Array(
    //new MenuItem("About Me","","me.html",""),
    new MenuItem("My Albums","","albums.html",""),
    //new MenuItem("Resume (PDF)","","resume_mahfuzul_oct_07.pdf","_blank"),
    new MenuItem("Contact","My Contact Information","contact.html","")
  ),
  new Array(
    //new MenuItem("Research Interests","","research_int.html",""),
    new MenuItem("Ongoing Research","","research_cur.html",""),
    new MenuItem("Talks & Publications","","research_publications.html",""),
    new MenuItem("Research Posters","","research_posters.html","")
    //new MenuItem("Undergrad Research","","research_undergrad.html",""),
    //new MenuItem("Workshops","","research_workshops.html",""),
    //new MenuItem("Resource Links","","research_links.html","")
  ),
//  new Array(
//    new MenuItem("Undergrad projects","My undergraduate level projects","undergrad_proj.html","")
//  ),
  new Array(
    new MenuItem("Apps & Utilities","Apps & Utilities","apps.html",""),
    new MenuItem("Games","Games","games.html","")
//    new MenuItem("Mobile Apps","Mobile Apps","mobile_apps.html","")
           )
//  new Array(
//    new MenuItem("Design Patterns","Design Patterns","design_patterns.html",""),
//    new MenuItem("XML","XML","xml.html",""),
//    new MenuItem("Links","Links","resource_links.html","")
//  )
);

function getSelectedMenuID() 
{
    var pageType = $(PROP_PAGE_TYPE);	
    return pageType.value;
}

function getSelectedMenuText() 
{
    var selectedMenuID = getSelectedMenuID();
    var selectedMenuText = "";
    for( i = 0; i < menu.length; i++) 
    {
        if(menu[i].id == selectedMenuID)
	{
            selectedMenuText = menu[i].text;
            break;
	}
    }   
    return selectedMenuText;
}

function getBreadCrumb() 
{
    var breadCrumbText = ""; 
    if ($(PROP_PAGE_CONTENT).value != '') {
        breadCrumbText = getSelectedMenuText() + "&nbsp;&gt;&gt;&nbsp;" + $(PROP_PAGE_CONTENT).value;
    } 
    return breadCrumbText;	
}

//Research  Current project


function init() {
  initMenu();
  correctPNG();
}

/*---------------------------------------------
  This initMenu() function is called from each page's 
  onLoad() event. 
  This function creates the menus and attach them 
  to ID_MENU_STRIP
----------------------------------------------*/
function initMenu()
{
    selected = getSelectedMenuID();

    var html = "";	
    	
    html += "" + 	
	"<table cellpadding=0 cellspacing=0 class=tableMenu >" +
	"<tr>" +
	"<td class=tdMenu><a style=width:100%; class=aMenu href='" + HOME_URL + "'>Home</a></td>" +
	"</tr>" +
	"</table>";

    //for each menu 
    for(var i = 0 ; i < menu.length; i++)
    {  
        html += " " +
            "<table cellpadding=0 cellspacing=0 class=tableMenu >" +
            "<tr>" +
            "<td class=tdMenu><a style=width:100% class=aMenu href=javascript:ShowHide('" + menu[i].id + "');>" + menu[i].text + "</a></td>"  +  
            "</tr>" ;
	
        //for each menuItem in a menu  
        var j;
        for(j = 0 ; j < menuItems[i].length; j++)
        {
            if (j == 0)html += "<tbody id=" + menu[i].id + " style=\'display: none;\'>"; 
            html += "" +   
                "<tr>" +
                "<td class=tdMenuItem >" +
                "<img border=0 src=" + img_names[IMG_BULLET] + " width=7 height=11>" +
                "<a class=aMenuItem title='" + menuItems[i][j].tooltip + "' href='" + menuItems[i][j].url +"' target='" + menuItems[i][j].target  + "'>" + 
                "&nbsp;" + menuItems[i][j].text + "</a>" +
                "</td>" +
                "</tr>";
        }

        if(j > 0)html += "</tbody>"; 
        html += "</table>";	
    }	
	
    setHTML(ID_MENU_STRIP,html);  										
    selectDefault();
    initPlaceHolders();
}


function initPlaceHolders() {
    document.title = $(PROP_PAGE_CONTENT).value;
    setHTML(ID_PAGE_TITLE,document.title);        

    setHTML(ID_HEADER_LEFT,headerLeft);  
    setHTML(ID_HEADER_CENTER,headerCenter);  
    setHTML(ID_HEADER_RIGHT,headerRight);  
    setHTML(ID_FOOTER_LEFT,footerLeft);  
    setHTML(ID_FOOTER_CENTER,footerCenter);  
    setHTML(ID_FOOTER_RIGHT,footerRight);    
    setHTML(ID_BREAD_CRUMB,getBreadCrumb());    
    
}

function setHTML(elementID,html) {
    if ($(elementID)){
      $(elementID).innerHTML = html;  
    }
}

/*---------------------------------------------
  opens the approprate menu for a page 
  called by init();
----------------------------------------------*/
function selectDefault()
{
    for( i = 0; i < menu.length; i++) 
    {
        if(menu[i].id == selected)
	{
            document.getElementById(menu[i].id).style.display = '';
            break;
	}
    }	
}	


/*---------------------------------------------
  visibility function for pulldown menu
----------------------------------------------*/
function ShowHide( ref )
{
    //var html = "";	

    if (document.getElementById(ref).style.display =='none') //hide all and show this 
    {
        for( i = 0; i < menu.length; i++) {
            if(document.getElementById(menu[i].id).style.display == ''){ // visible so hide it 
                document.getElementById(menu[i].id).style.display = 'none';
            }
        } 
        document.getElementById(ref).style.display ='';
    }
    else
    {
        document.getElementById(ref).style.display ='none';
    }
}

/*---------------------------------------------
  visibility function for pulldown contents
----------------------------------------------*/
function ShowHideDetails( ref )
{
    if (document.getElementById(ref).style.display =='none') 
    {
        document.getElementById('x' + ref).innerHTML = "Hide details";
        document.getElementById(ref).style.display = '';
    }
    else
    {
        document.getElementById('x' + ref).innerHTML = "View details";
        document.getElementById(ref).style.display ='none';
    }
}

function ShowHideDetails2( ref,showText,hideText )
{
    if (document.getElementById(ref).style.display =='none') 
    {
        document.getElementById('x' + ref).innerHTML = hideText;
        document.getElementById(ref).style.display = '';
    }
    else
    {
        document.getElementById('x' + ref).innerHTML = showText;
        document.getElementById(ref).style.display ='none';
    }
}


/*
function showModalWin(url,w,h) {
  if (window.showModalDialog) {
    window.showModalDialog(url,"name","dialogWidth:"+w+"px;dialogHeight:"+h+"px");
  } else {
    window.open(url,'name','height='+w+',width='+h+ ',toolbar=no,directories=no,status=no,continued from previous linemenubar=no,scrollbars=no,resizable=no ,modal=yes');
  }
}


function showMap() {
    showModalWin("map.html",600,730);
    //YAHOO.ex.con.panel1.setBody("<iframe width=575 height=550 frameborder=0 src=map.html scrolling=no></iframe>");
    return false;
}
*/


function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
   var arVersion = navigator.appVersion.split("MSIE")
   var version = parseFloat(arVersion[1])
   if ((version <= 6) && (document.body.filters)) 
   {
      for(var i=0; i<document.images.length; i++)
      {
         var img = document.images[i]
         var imgName = img.src.toUpperCase()
         if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
         {
            var imgID = (img.id) ? "id='" + img.id + "' " : ""
            var imgClass = (img.className) ? "class='" + img.className + "' " : ""
            var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
            var imgStyle = "display:inline-block;" + img.style.cssText 
            if (img.align == "left") imgStyle = "float:left;" + imgStyle
            if (img.align == "right") imgStyle = "float:right;" + imgStyle
            if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
            var strNewHTML = "<span " + imgID + imgClass + imgTitle
            + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
            + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
            img.outerHTML = strNewHTML
            i = i-1
         }
      }
   }    
}



Event.observe( 
window, 'load', function() { init() }
);




