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+"");
}

function confirmAct(msg)
{
	var agree=confirm(msg);
	if (agree){
		return true;
	}
	else{
		return false;
	}
}

var haveSubmitted=false;
function disableFormDouble(theform) {
	if(haveSubmitted){
		return false;
	}
	haveSubmitted=true;
	return true;    //we want the first click to occur.
}

function disableForm(theform) {
	if (document.all || document.getElementById) {
		for (i = 0; i < theform.length; i++) {
		var tempobj = theform.elements[i];
		if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset")
			tempobj.disabled = true;
		}
	}
}

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;
	}
}

function highlightElement(elem){
	var el = document.getElementById(elem);
	el.focus();
	el.select();
}

function showElement(id) {
   if (document.getElementById) { // DOM3 = IE5, NS6
      if (document.getElementById(id).style.display == "none"){
         document.getElementById(id).style.display = 'block';
      } else {
         document.getElementById(id).style.display = 'none';
      }
   } else {
      if (document.layers) {
         if (document.id.display == "none"){
            document.id.display = 'block';
         } else {
            document.id.display = 'none';
         }
      } else {
         if (document.all.id.style.visibility == "none"){
            document.all.id.style.display = 'block';
         } else {
            document.all.id.style.display = 'none';
         }
      }
   }
}

function showHidden(u){
	if(document.getElementById(u).style.display=='block'){
		closeAllVisible();
		document.getElementById(u).style.visibility='hidden';
		document.getElementById(u).style.display='none';
	}
	else{
		closeAllVisible();
		document.getElementById(u).style.visibility='visible';
		document.getElementById(u).style.display='block';
	}
}

function closeAllVisible() {
	var divs = document.getElementsByTagName('div');

	for(i=0; i<divs.length; i++){
	if(divs[i].getAttribute('allow_vis')){
			if(document.getElementById){
				divs[i].style.visibility = 'hidden';
				divs[i].style.display='none';
				//divs[i].style.position = 'absolute';
			}
			else{
				if(document.layers){ // Netscape 4
					document.divs[i].visibility = 'hidden';
					document.divs[i].style.display='none';
					//document.layers[divs[i]].position = 'absolute';
				}
				else{ // IE 4
					document.all.divs[i].visibility = 'hidden';
					document.all.divs[i].style.display='none';
					//document.all.divs[i].position = 'absolute';
				}
			}
		}
	}
}

var theSelection = false;
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_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_dwl(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://");

	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, '[download="'+enterURL+'"]'+enterTEXT+'', '[/download]');
}

function tag_urli(unde, dfrm)
{
	var text_enter_url      = "Introduceti linkul FARA http://www.site.ro DOAR index.php/...";
	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, "");

	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 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://");

	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 addImgString(dfrm){
	if(document.forms[0].filez.value.length > 0){
		addCode('continut', dfrm, '[img url="images/pages'+document.forms[0].filez.value+'"]', '');
	}
	else{
		addCode('continut', dfrm, '[img url="images/pages/"]', '');
	}
}

function addCode(unde, dfrm, colopen, colclose) {
	//var cr = document.getElementById(unde);
	var cr = document.forms[dfrm].elements[unde];

	if ((clientVer >= 4) && is_ie && is_win) {
		theSelection = document.selection.createRange().text;
		if (!theSelection) {
			insertAtCaret(cr, colopen + colclose);

			//cr.value = firstPart + colopen + colclose + secondPart;
			//cr.focus();
			return;
		}
		document.selection.createRange().text = colopen + theSelection + colclose;
		//cr.focus();
		return;
	} else {
		cr.value += colopen + colclose;
		//cr.focus();
		return;
	}
	storeCaret(cr);
}


function setCaret (textObj) {
	if (textObj.createTextRange) {
		textObj.caretPos = document.selection.createRange().duplicate();
	}
}

function insertAtCaret (textObj, textFeildValue) {
	if(document.all){
		if (textObj.createTextRange && textObj.caretPos) {
			var caretPos = textObj.caretPos;
			caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?textFeildValue + ' ' : textFeildValue;
		}
		else{
			alert("Trebuie sa pozitionati cursorul in caseta textului pentru a folosi aceste functii.");
			//textObj.value = textFeildValue;
		}
	}
	else{
		if(textObj.setSelectionRange){
			var rangeStart = textObj.selectionStart;
			var rangeEnd = textObj.selectionEnd;
			var tempStr1 = textObj.value.substring(0,rangeStart);
			var tempStr2 = textObj.value.substring(rangeEnd);
			textObj.value = tempStr1 + textFeildValue + tempStr2;
		}
		else{
			alert("Acest browser nu suporta modulul de gasire a pozitionarii cursorului.");
		}
	}
}

// new window opener

function Show(image, alt){
	posLeft=(screen.availWidth-200)/2;
	posTop=(screen.availHeight-100)/2;
	msg= '';
	msg+='<html><head><title>'+alt+'</title>';
	msg+='<script>';
	msg+='function CenterImage(){';
	msg+='w=document.images[0].width+30;h=document.images[0].height+66;';
	msg+='scrWidth=screen.availWidth;scrHeight=screen.availHeight;';
	msg+='posLeft=(scrWidth-w)/2;posTop=(scrHeight-h)/2;';
	msg+='if(posLeft<0){posLeft=0;w=scrWidth;}';
	msg+='if(posTop<0){posTop=0;h=scrHeight;}';
	msg+='window.moveTo(posLeft,posTop);window.resizeTo(w,h);';
	msg+='loading.style.visibility="hidden"}';
	msg+='</script>';
	msg+='</head><body onload="CenterImage()">';
	msg+='<div style="position:absolute; left:0px; top:0px"><img src="'+image+'" style="cursor: pointer; cursor:hand"></div>';
	msg+='<div id="loading" style="position:absolute; left:0px; top:0px"><table bgcolor="black" width=200 height=100><td align=center style="font:11px verdana;color:white">Loading...</td></table></div>';
	msg+='</body></html>';
	BigImage=window.open('','',"resizable=no,scrollbars=yes,width=200,height=100,left="+posLeft+",top="+posTop);
	BigImage.document.write(msg);
	BigImage.document.close();
}

function loading(){
	var container = document.getElementById('status').style;
	
	if(container.display == 'none'){
		container.display = 'block';
		container.visibility = 'visible';
	}
	else{
		container.display = 'none';
		container.visibility = 'hidden';
	}
}

// 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;
}