// Copyright 2010 Dustin Adler. All rights reserved.

function zfShowIm(cmd, id, w, h, sb, rs) {
    window.open("/zeromsg?cmd=" + cmd + "&id=" + id + "&x=" + Math.random(), "im" + id, "width="+w+",height="+h+",scrollbars="+sb+",resizable="+rs);
}


function cookie (c_id) { 
    c_id = c_id + "=";var c = document.cookie;if (c.length > 0) { b = c.indexOf(c_id); if (b != -1) { b += c_id.length; e = c.indexOf(";", b); if (e == -1) e = c.length; return unescape(c.substring(b,e));    } } return null; 
}

function VerifyBrowser () {
        this.version = navigator.appVersion;
        this.getel = document.getElementById ? 1 : 0;
        this.ie5 = (this.version.indexOf("MSIE 5") > -1 && this.getel) ? 1 : 0;
        this.ie4 = (document.all && !this.getel) ? 1 : 0;
        this.ns5 = (this.getel && parseInt(this.version) >= 5) ? 1 : 0;
        this.ns4 = (document.layers && !this.getel) ? 1 : 0;
        this.bw = (this.ie5 || this.ie4 || this.ns4 || this.ns5);
        return this;
}

b = new VerifyBrowser ();

function d_obj(obj) {
        this.el = b.getel ? document.getElementById(obj) : b.ie4 ? document.all[obj] : b.ns4 ? eval('document.' + obj) : 0;
        this.css = b.getel ? document.getElementById(obj).style : b.ie4 ? document.all[obj].style : b.ns4 ? eval('document.' + obj) : 0;
}

function DoInsert(instext, mflag) {
    var textarea = document.zeroform.text;
    if (textarea.createTextRange && textarea.caretPos) {
        var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? instext + ' ' : instext;
        if (mflag) {
          var mend = -(instext.length - 1)/2 - 1;
          caretPos.moveEnd('character', mend);
          caretPos.select();
        }
    } else {
        textarea.value = textarea.value + instext;
    }
    textarea.focus();
    return;
}

function DoText(t) {
    var textarea = document.zeroform.text;
    if (textarea.createTextRange && textarea.caretPos) {
        var caretPos = textarea.caretPos;
        caretPos.text = '[' + t + ']' + caretPos.text + '[/' + t + ']';
    } else {
        textarea.value = textarea.value + ' [' + t + '][/' + t + '] ';
    }
    textarea.focus();
    return;
}

function SavePos()  {
    textarea = document.zeroform.text;
    if (textarea.createTextRange) { textarea.caretPos = document.selection.createRange().duplicate(); }
}


function zfSpellCheck(ss, sm) {
        textarea = document.zeroform.text;
        if (textarea.value == '') {
                alert('You must provide text to spell check.');
                return;
        }
        var scwin = window.open('', 'sc', 'width=800,height=400,resizable=yes,scrollbars=yes');
        document.sc.text.value = textarea.value;
        document.sc.mode.value = sm;
        document.sc.cmd.value = '';
        document.sc.action = 'http://' + ss;
        document.sc.submit();
        scwin.focus();
        document.domain = ss.substring(ss.indexOf('.') + 1);
}

function zfPreview() {
        textarea = document.zeroform.text;
        if (textarea.value == '') {
                alert('You must provide text to preview.');
                return false;
        }
        var scwin = window.open('', 'sc', 'width=800,height=400,resizable=yes,scrollbars=yes');
        document.sc.text.value = textarea.value;
        document.sc.cmd.value = 'preview';
        document.sc.action = '/zeromisc';
        document.sc.submit();
        scwin.focus();
}

function ColorPick(fb, fv, ft) {
	var cwin = window.open('/zeromisc?cmd=cp&fb=' + fb + '&fv=' + fv + '&ft' + ft, 'color', 'width=375,height=170,scrollbars=no,resizable=no');
}

function ColorDone(fb, fv, ft) {
	fb = (document.all ? 'document.all' : 'document') + '.zeroform.' + fb;
	var fe = eval(fb);
	fe.value = fv;
}

function zfDoQuote(i,user) {
	var el = eval('document.quoteform.quote'+i);
	DoInsert('[quote=' + user + ']' + el.value + '[/quote]');
}


var ti_off = '1px solid #e8e8e8';
var ti_sel = '1px dotted black';
var ti_orig = null;

function zfIconClick(v,i) {
        if (ti_orig) { ti_orig.style.border = ti_off; }
        document.zeroform.iconid.value = i;
        v.style.border = ti_sel;
        ti_orig = v;
}

function zfIconHover(v,i,f) {
        var current = document.zeroform.iconid.value;
        v.style.border = ((current==i || f) ? ti_sel : ti_off);
        v.style.cursor = 'pointer';
}

function zfCheckLength(n, l) {
    l = l || 0;
	var zl = document.zeroform.text.value.length;
	if (zl > l) {
		alert(n+' cannot be longer than '+l+' characters (' + (zl - l) + ' too long). Please revise.');
		return false;
	}
	return true;
}

function zfTopLinks() {
    document.writeln('<a class="text" href="/zerouser?cmd=profile" >My Profile</a> | <a class="text" href="/zerouser?cmd=memberlist">Member List</a> | <a class="text" href="/zerosearch">Search</a><br />');
    var user = cookie('user');    
    if ((user == '') || (user == null)) {
        document.writeln('You are not logged in, <a class="text" href="/zerouser?cmd=login">Log in</a> | <a class="text" href="/zerouser?cmd=register">Register</a> ');
    } else {
        document.writeln('You are logged in as <b>' + user + '</b>, <a class="text" href="/zerouser?cmd=logout">Log out</a> | <a class="text" href="/zerosearch?cmd=recenttopics">Recent Topics</a>');
    }
}

function zfCheckAll(f) { 
   for (i = 0; i < document.zeroform.elements.length; i++) { 
	if (document.zeroform.elements[i].type == "checkbox") { document.zeroform.elements[i].checked = (f?false: true); }
   } 
} 
