// JavaScript Document


/***********************************************
// CSS Tabs
// handler of tabs and css changes.  Places text on 'separates pages'
// 
* **********************************************/

// CSS helper functions
CSS = {
    // Adds a class to an element.
    AddClass: function (e, c) {
        if (!e.className.match(new RegExp("\\b" + c + "\\b", "i")))
            e.className += (e.className ? " " : "") + c;
    },

    // Removes a class from an element.
    RemoveClass: function (e, c) {
        e.className = e.className.replace(new RegExp(" \\b" + c + "\\b|\\b" + c + "\\b ?", "gi"), "");
    }
};

// Functions for handling tabs.
Tabs = {
    // Changes to the tab with the specified ID.
    GoTo: function (contentId, skipReplace) {
        // This variable will be true if a tab for the specified
        // content ID was found.
        var foundTab = false;

        // Get the TOC element.
        var toc = document.getElementById("toc");
        if (toc) {
            var lis = toc.getElementsByTagName("li");
            for (var j = 0; j < lis.length; j++) {
                var li = lis[j];

                // Give the current tab link the class "active" and
                // remove the class from any other TOC links.
                var anchors = li.getElementsByTagName("a");
                for (var k = 0; k < anchors.length; k++) {
				   if (anchors[k].hash == "#" + contentId) {
						CSS.AddClass(li, "active");
						foundTab = true;
						break;
                    }
					else {
                        CSS.RemoveClass(li, "active");
						CSS.RemoveClass(li, "submit_active");
                    }
                }
            }
        }

        // Show the content with the specified ID.
        var divsToHide = [];
        var divs = document.getElementsByTagName("div");
        for (var i = 0; i < divs.length; i++) {
            var div = divs[i];

            if (div.className.match(/\bcontent\b/i)) {
                if (div.id == "_" + contentId)
                    div.style.display = "block";
                else
                    divsToHide.push(div);
            }
        }

        // Hide the other content boxes.
        for (var i = 0; i < divsToHide.length; i++)
            divsToHide[i].style.display = "none";

        // Change the address bar.
        if (!skipReplace) window.location.replace("#" + contentId);
    },

    OnClickHandler: function (e) {
        // Stop the event (to stop it from scrolling or
        // making an entry in the history).
        if (!e) e = window.event;
        if (e.preventDefault) e.preventDefault(); else e.returnValue = false;

        // Get the name of the anchor of the link that was clicked.
        Tabs.GoTo(this.hash.substring(1));
    },

    Init: function () {
        if (!document.getElementsByTagName) return;

        // Attach an onclick event to all the anchor links on the page.
        var anchors = document.getElementsByTagName("a");
        for (var i = 0; i < anchors.length; i++) {
            var a = anchors[i];
            if (a.hash) a.onclick = Tabs.OnClickHandler;
        }

        var contentId;
        if (window.location.hash) contentId = window.location.hash.substring(1);

        var divs = document.getElementsByTagName("div");
        for (var i = 0; i < divs.length; i++) {
            var div = divs[i];

            if (div.className.match(/\bcontent\b/i)) {
                if (!contentId) contentId = div.id;
                div.id = "_" + div.id;
            }
        }

        if (contentId) Tabs.GoTo(contentId, true);
    }
};

// Hook up the OnLoad event to the tab initialization function.
window.onload = Tabs.Init;

// Hide the content while waiting for the onload event to trigger.
var contentId = window.location.hash || "#Introduction";

if (document.createStyleSheet) {
    var style = document.createStyleSheet();
    style.addRule("div.content", "display: none;");
    style.addRule("div" + contentId, "display: block;");
} else {
    var head = document.getElementsByTagName("head")[0];
    if (head) {
        var style = document.createElement("style");
        style.setAttribute("type", "text/css");
        style.appendChild(document.createTextNode("div.content { display: none; }"));
		style.appendChild(document.createTextNode("div" + contentId + " { display: block; }"));
        head.appendChild(style);
    }
}



/***********************************************
// emailme
// Encrypt Email script- Please keep notice intact
// Tool URL: http://www.dynamicdrive.com/emailriddler/
* **********************************************/

// Encrypted version of: diving [at] **************.*** 

function emailme(lang)
{
if (lang == 'mt') {
	var text = 'Ag&#295;fas hawn';
}
else {
	var text = 'Click here';
}
	

var emailriddlerarray=[100,105,118,105,110,103,64,97,100,105,45,97,115,115,111,99,105,97,116,101,115,46,99,111,109];
var encryptedemail_id46=''; //variable to contain encrypted email 
for (var i=0; i<emailriddlerarray.length; i++)
 encryptedemail_id46+=String.fromCharCode(emailriddlerarray[i]);

document.write('<a href="mailto:'+encryptedemail_id46+'?subject=Malta Diving Master Plan">'+text+'</a>');
}


/***********************************************
// show_other
// Shows/hides hidden objects
// Returns true
* **********************************************/

function show_other(choice, fld, SelName) {
	var a = eval('document.maltaDMP_survey.'+SelName+'.options[choice].value');
	var othertype = document.getElementById(fld);
	
	//document.write(a);
	
	var display = othertype.style.display;
	if (a == "other") {
        othertype.style.display = (display == "block") ? "block" : "block";
        // othertype.style.display = (display == "table-row") ? "none" : "table-row";
        return false;
	}
	else {
        othertype.style.display = (display == "block") ? "none" : "none";
        return false;
	}
}

/***********************************************
// show_other
// Show an input field when 'other' is selected from list, checks menu choice
// Returns false
* **********************************************/

function show_otherRows(showfld, hidefld) {
	var othertype = document.getElementById(showfld);
	var othertypeHide = document.getElementById(hidefld);

	var display = othertype.style.display;
	var displayHide = othertypeHide.style.display;

    othertype.style.display = (display == "block") ? "none" : "block";
    // othertype.style.display = (display == "table-row") ? "none" : "table-row";
    
    othertypeHide.style.display = (display == "block") ? "none" : "none";
	return false;
}

