var homePage = "../index.htm";  // relative to this file
var defaultEmailTo = "jbonn.gaebrrynhlaben@azpvz.przzbfnrlcar@eaaqrzfvt.nby";
var defaultEmailFrom = "website@peelrunners.nl";
//var formAction = "http://www.psts.net84.net/default.php";
//var formAction = "http://www.pietsw.heliohost.org/mysend.php";
var formAction = "http://www.pietsw.heliohost.org/mysendgm.php";
//var formAction = "http://localhost/php/nosend.php";
//var formAction = "mailto:";
var formOkPage = "ok.htm";               // relative to the root.
var formErrorPage = "notok.htm";         // relative to the root.
var msIE = window.navigator.userAgent.indexOf("MSIE ") != -1;
var root;


setRoot();
formOkPage = root + formOkPage;
formErrorPage = root + formErrorPage;
attachEventHandler(window, "load", windowOnload);


function setRoot() {
	var i, redirectScript, s, re;
	
	redirectScript = document.getElementById("scriptCommon");
	if (!redirectScript)
		throwError("Error: scriptId 'scriptCommon' not found.");

    try {                             // keep typelibbuilder silent. redirectScript.src error
        if (redirectScript.src.indexOf("://") == -1) {
            s = stripSearchHash(location.href);
            i = s.lastIndexOf("/");
            s = s.substring(0, i + 1);
            i = redirectScript.src.lastIndexOf("/");
            s += redirectScript.src.substring(0, i + 1) + homePage;
        }
        else {
            i = redirectScript.src.lastIndexOf("/");
            s = redirectScript.src.substring(0, i + 1) + homePage;
        }

	    re = /\/[^.\/]+\/\.\.(?=\/)/;
	    while (re.test(s))
		    s = s.replace(re,"");

	    i = s.lastIndexOf("/");
	    root = s.substring(0, i + 1);
	}
	catch (e) {
	}	    
}


function redirectToHomePage(topicToOpen) {
	if (topicToOpen)
		location.href = root + homePage.substring(homePage.lastIndexOf("/") + 1) + "?topicToOpen=" + escape(topicToOpen);
	else
		location.href = root + homePage.substring(homePage.lastIndexOf("/") + 1);
}


function stripSearchHash(href) {
    return href.replace(/\?.*$|\#.*$/,"");
}


function incrementEmailCounter() {
    var msg;
    
    if (top.emailCounter == top.emailCountWarning) {
        msg = "Het lijkt erop dat je de e-mailbox van deze site\n";
        msg += "wilt bevuilen met ongewenste e-mail.\n";
        msg += "Je kunt nog " + (top.emailCountDisable - top.emailCountWarning) + " berichten verzenden.\n\n";
        alert(msg);
    }
    else {
        if (top.emailCounter == top.emailCountDisable) {
            alert("Je kunt geen berichten meer verzenden.\nUw IP-adres is genoteerd.");
            return false;
        }
    }
    ++top.emailCounter;
    return true;
}


function formValidateError() {
    alert("Het formulier kan niet worden verzonden omdat één of meer invoervelden niet juist zijn ingevuld.");
}


function getSearchPairs() {
    var i, nameVal, searchPairs, pairs;
    
    searchPairs = new Array();
    pairs = location.search.substring(1).split("&");
    for (i in pairs) {
        nameVal = pairs[i].split("=");
        searchPairs[unescape(nameVal[0])] = unescape(nameVal[1]);
    } 
    return searchPairs;
}


function isEmailAddress(s) {
    return /^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,4}$/.test(s);
}


function setEmailPars(mode, checkFrom, to, subject, body) {
    top.checkEmailFrom = checkFrom;
    top.emailMode = mode;
    top.emailTo = to;
    top.emailSubject = subject;
    top.emailBody = body;
}


function mail(from, to, subject, body, mode) {
    var form;

    if (!incrementEmailCounter())
        return;

    if (typeof (mode) == "undefined" || mode == "")
        mode = "nocontact";
    form = document.createElement("FORM");
    form.style.display = "none";
    form.innerHTML = "<INPUT name=from> <INPUT name=to> <INPUT name=subject> <INPUT name=body>";
    if (typeof(formOkPage) != "undefined" && formOkPage != "")
        form.innerHTML += "<INPUT name=ok_page value='" + formOkPage + "?mode=" + mode + "'>";
    if (typeof(formErrorPage) != "undefined" && formErrorPage != "")
        form.innerHTML += "<INPUT name=error_page value='" + formErrorPage + "?mode=" + mode + "'>";
    document.body.appendChild(form);
	if (typeof(from) == "undefined" || from == "")
        form.from.value = defaultEmailFrom;
    else
        form.from.value = from;
	if (typeof(to) == "undefined" || to == "")
	    form.to.value = defaultEmailTo;
	else
        form.to.value = to;
    form.subject.value = subject;
    form.body.value = encodeURI(body);
    form.action = formAction;
    form.method = "post";
    form.submit();
    document.body.removeChild(form);
}


function mailProxy(user, domain, subject, body) {
	var s = "mailto:";
	if (typeof(user) == "undefined" || user == "" || typeof(domain) == "undefined" || domain == "")
	    s += defaultEmailTo;
	else
	    s += user + "@" + domain;
	if (typeof(subject) != "undefined" && subject != "")
	    s += "?subject=" + subject;
	if (typeof(body) != "undefined" && body != "")
	    s += "&body=" + body;
	    
	location.href = s;
}	    


function linkCxtMnu() {
	var el;
	
	if (window.confirm("Dode link emailen?")) {
		el = window.event.srcElement;
		while (el && (el.tagName !=  "A"))
			el = el.parentNode;
		mail("", "", "Dode link", "Pagina: " + window.location.href + "\nLink: " + el.href);
		return false;
	}
	else
		return true;
}


function initLinks() {
	return;                                 //No real use
	var a = window.document.links;
	var i, s;
	
	i = a.length;
	s = "Gebruik rechter muisknop om dode links te emailen.";
	while (--i >= 0) {
		if (a.item(i).title == "")
			a.item(i).title = s;
		a.item(i).oncontextmenu = linkCxtMnu;
	}
}


function trim(s) {
    return s.replace(/^\s+|\s+$/g, "");
}


function windowOnload() {
	initLinks();
}


function printContent() {
    if (typeof(printEmbeds) == "function")
        printEmbeds();
    else {
        if (msIE)
            document.execCommand('print', false, null);
        else
            print();
    }
}


// Compatibility functions
function attachEventHandler(srcObject, eventType, functionReference, useCapture) {
    if (srcObject.attachEvent)
        return srcObject.attachEvent("on" + eventType, functionReference);
    if (typeof(useCapture) == "undefined")
        return srcObject.addEventListener(eventType, functionReference, false);
    return srcObject.addEventListener(eventType, functionReference, useCapture);
}


function setStyleAttribute(obj, attribute, value, units) {
    if (typeof(units) == "string")
        value += units;
    else
        value += "px";
    
    obj.style[attribute] = value;
}


function throwError(errorMsg) {
    e = new Error;
    if (typeof e.description == "string")
        e.description = errorMsg;
    else
        e.message = errorMsg;
    throw e;    
}


function addToFavorites() {
    if (msIE)
        external.AddFavorite(location.href, document.title);
    else {
        var height = 150; //Firefox bug. center:yes does not function. 
        var width = 350;
        var top = (screen.availHeight - height) / 2;
        var left =  (screen.availWidth - width) / 2;
        var ok = window.showModalDialog(root + "atfdialog.htm", null, "dialogHeight:" + height + ";dialogWidth:" + width + ";dialogleft:" + left + ";dialogtop:" + top + ";center:yes;resizable:no;scroll:no;");
        if (!ok)
            alert("De popup-blokker verhindert het uitvoeren van deze functie.");
    }
}

