document.onmousedown = function(){for (a in document.links) document.links[a].onfocus = document.links[a].blur;}

function launch(url, w, h, r, s, m, t)
{
	var hWnd = window.open(url,"pop","width="+w+",height="+h+",resizable="+r+",scrollbars="+s+",menubar="+m+",toolbar="+t+"");
}

// Startup variables
var imageTag = false;
var theSelection = false;

// Check for Browser & Platform for PC & IE specific bits
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version

var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;

var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);


function addText(unde, text) {
	cr=document.getElementById(unde);
	cr.value  += text;
	cr.focus();
}

function tag_url(unde, dfrm)
{
	var text_enter_url      = "Introduceti linkul complet";
	var text_enter_text      = "Introduceti textul pentru link";
	var error_no_url        = "Trebuie sa introduceti o adresa";
    var FoundErrors = '';
    var enterURL   = prompt(text_enter_url, "http://");

	if ((clientVer >= 4) && is_ie && is_win) {
		theSelection = document.selection.createRange().text;
	}

	if(!theSelection){
		var enterTEXT   = prompt(text_enter_text, "");
	}
	else{
		var enterTEXT   = "";
	}

	if (!enterURL) {
		FoundErrors += " " + error_no_url;
	}

    if (FoundErrors) {
        alert("Eroare ! "+FoundErrors);
        return;
    }

	addCode(unde, dfrm, '[url="'+enterURL+'"]'+enterTEXT+'', '[/url]');
}

function addCode(unde, dfrm, colopen, colclose) {
	//var cr = document.getElementById(unde);
	var txtarea = document.forms[dfrm].elements[unde];

	if ((clientVer >= 4) && is_ie && is_win) {
		theSelection = document.selection.createRange().text;
		if (!theSelection) {
			txtarea.value += colopen + colclose;
			txtarea.focus();
			return;
		}
		document.selection.createRange().text = colopen + theSelection + colclose;
		txtarea.focus();
		return;
	}
	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	{
		mozWrap(txtarea, colopen, colclose);
		return;
	}
	else
	{
		txtarea.value += colopen + colclose;
		txtarea.focus();
	}
	storeCaret(txtarea);
}

// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd == 1 || selEnd == 2) 
		selEnd = selLength;

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + open + s2 + close + s3;
	return;
}

// Insert at Claret position. Code from
// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
function storeCaret(textEl) {
	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}




// This code was written by Tyler Akins and has been placed in the
// public domain.  It would be nice if you left this header intact.
// Base64 code from Tyler Akins -- http://rumkin.com

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function encode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + 
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);
   
   return output;
}

function decode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}

function quoteMessage(autor, mesaj){
	if (document.all || document.getElementById) {
		var elem = document.getElementById('comment');
		toad = "[quote=\""+ decode64(autor) +"\"]"+ decode64(mesaj) +"[/quote]";

		new_line = "";
		if(elem.value.length > 0){
			new_line = "\r\n\r\n";
		}

		elem.value += new_line +""+ toad;
		elem.focus();
	}
}

function highlightElement(elem){
	var el = document.getElementById(elem);
	el.focus();
	el.select();
}