// Browser detection
var dom = document.getElementById?true:false;

var server = window.location.href.split("/").slice(0,-1).join("/") + "/";
var id = 0;
var img = 0;
var been_here = new Array();
var seen_this = new Array();
var toload = 0;
var loaded = 0;
var preloaded = new Array();
var nojs = "index_nojs.php";

var args = window.location.search.substr(1).split('&');
for (i=0;a=args[i];i++) eval(a);

function in_array (s, a) {
    var e = -1;
    for (var n in a) {
        if (a[n]==s) {
        	e = n;
            break;
        }
    }
	return e;
}

function getObj (i) {
    return document.getElementById(i);
}

function writeLayer (i, c) {
    document.getElementById(i).innerHTML = c;
}

function setStyle (i, p, v) {
    getObj(i).style.s = v;
}

function getStyle (i, p) {
    return getObj(i).style.p;
}

function return_link (link_name, link_href, link_onclick, link_class, link_title) {
	link_onclick = (link_onclick!="")?" onclick=\"" + link_onclick + "\"":"";
    link_class = (link_class!="")?" class=\"" + link_class + "\"":"";
	link_title = (link_title!="")?" title=\"" + link_title + "\"":"";
	return "<a href=\"" + link_href + "\"" + link_onclick + link_title + link_class + ">" + link_name + "</a>";
}


function img_preload (p) {

	if (document.images) {
		for (var n in p) {
            var e = 0;
            for (var o in preloaded) {
                if (preloaded[o].src==server+p[n]) {
                    e = 1;
                    break;
                }
            }
            if (e==0) {
                var m = preloaded.length;
                preloaded[m] = new Image;
                preloaded[m].src = p[n];
            }
		}
	}
}

function flick_page (d,i,o,e) {
	if (i<=e) {
   		if (i<=o) setStyle(d, "visibility", "hidden");
		else if (i>o) setStyle(d, "visibility", (i%2==0)?"hidden":"visible");
		setTimeout("flick_page('" + d + "'," + (i+1) + "," + o + "," + e + ")",25);
	}
}

function flip_page (_id, _img) {
    if (in_array(_id, been_here)==-1) {
        been_here[been_here.length] = _id;
        seen_this[_id] = new Array();
    }
	writeLayer("level_12", build_nav(_id));
    writeLayer("level_21", pages[_id]['level_21']);
    writeLayer("level_22", pages[_id]['level_22'] || "<img src=\"img/super_blank.gif\" alt=\"\" />");
    writeLayer("level_23", pages[_id]['level_23']);
    writeLayer("level_31", pages[_id]['level_31']);
    if (pages[_id]['level_32'].charAt(0)=="_") {
	    if (_img>-1) img = _img;
	    flip_img(_id, img);
	}
	else {
        writeLayer("level_32", pages[_id]['level_32'] || "<img src=\"img/sub_blank.gif\" alt=\"\" />");
    	writeLayer("level_33", pages[_id]['level_33']);
	}

	flick_page("level_21", 0, 0, 3);
	flick_page("level_31", 0, 2, 5);
	flick_page("level_22", 0, 6, 9);
	flick_page("level_32", 0, 8, 11);
	flick_page("level_23", 0, 12, 15);
	flick_page("level_33", 0, 14, 17);
}

function flip_img (_id,_img) {
	writeLayer("level_32", build_img_content(_id,_img));
    writeLayer("level_33", build_img_nav(_id,_img));
	flick_page("level_32", 0, 0, 3);
}

function build_nav (_id) {
	var _dad = _id;


    // FORWARD

    var forward_nav = "";

	for (var i in pages) {
		if (pages[i]['parent']==_dad) {
			l_name = pages[i]['name'];
			l_href = nojs + "?id=" + i + "&amp;img=0";
			l_onclick = "flip_page(" + i + ");return false;";
			l_title = pages[i]['tip'];
			l_class = (in_array(i, been_here)!=-1)?"INTERNAL SUPER UBEENHERE":"INTERNAL SUPER";
            forward_nav += " " + return_link(l_name, l_href, l_onclick, l_class, l_title);
		}
	}

    // PRESENT

    l_name = pages[_id]['name'];
    l_href = nojs + "?id=" + _id + "&amp;img=0";
    l_onclick = "return false;";
    l_title = pages[_id]['tip'];
    l_class = "INTERNAL SUPER URHERE";
    var present_nav = " " + return_link(l_name, l_href, l_onclick, l_class, l_title);

    // BACKWARD

	var backward_nav = "";

    while (1==1) {
        _id = pages[_id]['parent'];
        if (_id=='root') break;
        l_name = pages[_id]['name'];
        l_href = nojs + "?id=" + _id + "&amp;img=0";
        l_onclick = "flip_page(" + _id + ");return false;";
        l_title = pages[_id]['tip'];
        l_class = "INTERNAL SUPER";
        backward_nav = return_link(l_name, l_href, l_onclick, l_class, l_title) + " " + backward_nav;
    }

	return "<span>" + backward_nav + present_nav + "</span>" + forward_nav;
}


function build_img_nav (_id, _img) {

    if (pages[_id]['level_32']!="") {
       	if (in_array(_img, seen_this[_id])==-1) seen_this[_id][seen_this[_id].length] = _img;
        var pattern = new RegExp("_imgnav\\((.+)\\)", "gi");
    	var _str = pages[_id]['level_32'].replace(pattern,"$1").split(",");
        var _nav = "";
        img_preload(_str);
        if (_str.length>1) {
            _nav += "";
            for (var n in _str) {
                if (n!=0) _nav += " ";
                if (n!=_img) {
					l_name = parseInt(n)+1;
					l_href = nojs + "?id=" + _id + "&amp;img=" + n;
					l_onclick = "flip_img(" + _id + "," + n + ");return false;";
					l_title = "";
	            	l_class = (in_array(_img, seen_this[_id])!=-1)?"INTERNAL SUB UBEENHERE":"INTERNAL SUB";
                }
                else {
                    l_name = parseInt(n)+1;
					l_href = nojs + "?id=" + _id + "&amp;img=" + n;
					l_onclick = "return false;";
					l_title = "";
	            	l_class = "INTERNAL SUB URHERE";
                }
                _nav += return_link(l_name, l_href, l_onclick, l_class, l_title);
            }
        }
        return _nav;
    }
    else return "";
}

function build_img_content (_id, _img) {
    if (pages[_id]['level_32']!="") {
    	if (!_img) var _img = 0;
		var pattern = new RegExp("_imgnav\\((.+)\\)", "gi");
    	var _str = pages[_id]['level_32'].replace(pattern,"$1");
		var _str = _str.split(",");
        return "<img src=\"" + _str[_img] + "\" alt=\"\" />";
    }
    else return "<img src=\"img/sub_blank.gif\" alt=\"\" />";
}

function no_spam (user, domain) {
	window.location = "mailto:" + user + "@" + domain ;
}

var preload = new Array('img/light_stripes_4_plus.gif', 'img/bg_stripe_fade.gif', 'img/light_stripes_2px.gif', 'img/dark_2px.gif', 'img/dark.gif', 'img/img_bg.gif', 'img/page_bottom_mr.gif', 'img/divider.gif', 'img/page_top.gif', 'img/light_stripes.gif', 'img/list_client.gif', 'img/list_coop.gif', 'img/list_company.gif', 'img/list_link.gif', 'img/list_person.gif', 'img/list_email.gif', 'img/list_phone.gif', 'img/list_location.gif');
img_preload(preload);




