var pathMatcher = /\/index\.php\/tk\/(\w+?)\/(\w+?)\//;
var defaultPage = "welcome";
var ajaxContainer = "";

function LinkFilter() {
	try {
		// if(window.event.srcElement) this = window.event.srcElement;
		if(this.title == "External Link") {
			this.target = "_blank";
			return true;
		}
		var page = "";
		if(this.rel) page = document.getElementById(this.rel);
		if(page) {
			ClearPages();
			page.style.display = "block";
		}
		else {
			var match = pathMatcher.exec(this.href);
			if (match != null && match.length > 2) {
			ClearPages();
			// TODO: assign link filter to anchors of the new content
			FetchFrag(this.href,ajaxContainer);
			} else {
				this.target = "_blank";
				return true;
			}
		}
	}
	catch(e) {
		DoError(e,"LinkFilter");
	}
	return false;
}

function ClearPages() {
    var arrPages = getElementsByClassName("div","page");
    for(var i=0; i<arrPages.length; i++) arrPages[i].style.display = "none";
    ajaxContainer.innerHTML = "";
}

function FetchFrag(uri,container) {
    try {
        var xmlHttpReq = false;
        var self = this;
        if (window.XMLHttpRequest) {
            self.xmlHttpReq = new XMLHttpRequest();
        }
        else if (window.ActiveXObject) {
            self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
        }
        self.xmlHttpReq.open('GET', uri, true);
        self.xmlHttpReq.onreadystatechange = function() {
            if (self.xmlHttpReq.readyState == 4) {
                container.innerHTML = self.xmlHttpReq.responseText;
            }
        }
        self.xmlHttpReq.send(null);
        container.innerHTML = "Loading...";
    }
    catch(e) {
        DoError(e,"FetchFrag");
    }
}

function getElementsByClassName(tag,classname) {
	try {
		var arrAllElements = document.getElementsByTagName(tag);
		var arrElements = [];
		var n = 0;
		for(var i=0; i<arrAllElements.length; i++) {
			if(arrAllElements[i].className == classname) {
				arrElements[n++] = arrAllElements[i];
			}
		}
		return arrElements;
	}
	catch(e) {
		DoError(e,"getElementsByClassName");
		return null;
	}
}

function GetNewsArticle(news_url,news_title) {
    alert(news_title);
}

function ToggleSlides(el) {
    try {
        var slides = document.getElementById('monoSlideshow');
        ToggleElement(slides);
        if(slides.style.display == 'block') {
            el.innerHTML = 'hide slide show';
        }
        else {
            el.innerHTML = 'show slide show';
        }
    }
    catch(e) {
        DoError(e,"ToggleSlides");
    }
}

function ToggleElement(el) {
    try {
        if(el.style.display == "block") el.style.display = "none";
        else el.style.display = "block";
    }
    catch(e) {
        DoError(e,"ToggleElement");
    }
}

function StartSlideShow() {
    try {
        var flashvars = {};
        flashvars.backgroundColor           = "323232";
        flashvars.showLoadingIcon           = "false";
        flashvars.showImageInfo             = "never";
        flashvars.dataFile                  = "/slides/slides.php";
        flashvars.markMarginX               = "100";
        flashvars.markMarginY               = "20";
        flashvars.markFile                  = "/vni_logo.swf";
        flashvars.markAlign                 = "topCenter";
        flashvars.randomizeImages           = "true";
        flashvars.imagePause                = "4";
        flashvars.imageTransitionTime       = "2";
        flashvars.kenBurnsMode              = "random";
        flashvars.kenBurnsTime              = "15";
        flashvars.imageScaleMode            = "noScale";
        flashvars.showImageInfo             = "never";
        flashvars.showControls              = "true";
        flashvars.controlAutoHide           = "true";
        flashvars.controlAlign              = "topLeft";
        flashvars.controlIconColor          = "cccccc";
        flashvars.controlLineWidth          = "2";
        flashvars.controlIconRollOverColor  = "ffffff";
        flashvars.controlRoundedCorners     = "0";
        flashvars.showAlbumsButton          = "false";
        flashvars.showVersionInfo           = "false";
        flashvars.showLogo                  = "false";
        
        
        if(BrowserDetect.browser == "Explorer") {
            flashvars.backgroundMusic           = "/slides/soundtrack.mp3";
            flashvars.backgroundMusicVolume     = "100";
            flashvars.backgroundMusicLoop       = "true";
            flashvars.backgroundMusicFadeIn     = "false";
            flashvars.backgroundMusicFadeOut    = "false";
            flashvars.showMuteButton            = "true";
        }
        
        var params = {};
        params.allowfullscreen  = "true";
        params.allowscriptaccess= "always";
        params.wmode            = "opaque";
        params.bgcolor          = "#323232";
        
        var attributes = {};
        
        swfobject.embedSWF("/monoslideshow.swf", "monoSlideshow", "100%", "500", "9.0.0", false, flashvars, params, attributes);
    }
    catch(e) {
        DoError(e,"StartSlideShow");
    }
}

function StartMusic() {
    try {
        var flashvars = {};
        flashvars.file          = "/slides/soundtrack.mp3";
        flashvars.height        = "20";
        flashvars.width         = "120";
        flashvars.backcolor     = "0x323232";
        flashvars.lightcolor    = "0xC0C0C0";
        flashvars.frontcolor    = "0x808080";
        flashvars.screencolor   = "0x000000";
        flashvars.usefullscreen = "false";
        flashvars.showdigits    = "false";
        flashvars.showicons     = "false";
        flashvars.autostart     = "true";
        flashvars.repeat        = "true";
        flashvars.type          = "mp3";
        
        var params = {};
        params.allowfullscreen  = "true";
        params.allowscriptaccess= "always";
        params.wmode            = "opaque";
        
        var attributes = {};
        
        swfobject.embedSWF("/player/mediaplayer.swf", "musicplayer", "120", "20", "7.0.0", false, flashvars, params, attributes);
    }
    catch(e) {
        DoError(e,"StartMusic");
    }
}

function DoError(e) {
    var msg = ((arguments.length > 1) ? DoError.arguments[1]+": " : "") + e.message;
    if(!e.message) msg += e;
	if(typeof console == "object" && typeof console.error != "undefined") {
		console.error(msg);
		if(arguments.length > 2) console.log(DoError.arguments[2]);
		else console.log(e);
	}
	else {
		alert(msg);
	}
}

function PageLoader() {
    try {
        var anchors = document.getElementsByTagName("a");
        for(var i=0; i<anchors.length; i++) {
            anchors[i].onclick = LinkFilter;
        }
    }
    catch(e) {
        DoError(e,"PageLoader link interception");
    }
    BrowserDetect.init();
    // alert(BrowserDetect.browser);
    cssdropdown.startchrome("chromemenu");
    StartSlideShow();
    if(BrowserDetect.browser != "Explorer") StartMusic();
    urchinTracker();
    try {
        ajaxContainer = document.getElementById("ajax_container");
        var match = pathMatcher.exec(window.location.pathname);
        if (match != null && match.length > 1) {
            if(match[1] == "index") {
                match[1] = "page";
            }
            var ndCurrentElement = document.getElementById(match[1] + "_" + match[2]);
            if(ndCurrentElement) {
                ndCurrentElement.style.display = "block";
            }
        }
        else {
            document.getElementById("page_" + defaultPage).style.display = "block";
        }
    }
    catch(e) {
        DoError(e,"PageLoader");
    }
}

// for google urchinTracker
_uacct = "UA-5170344-1";

onload = PageLoader;