function closediv (id) {
	document.getElementById(id).style.display = "none";
}

function showdiv (id) {
	document.getElementById(id).style.display = "";
}

function showSearchCat(cat) {
	document.getElementById('search-cat-news').style.display = "none";	
	document.getElementById('search-cat-articles').style.display = "none";
	document.getElementById('search-cat-' + cat).style.display = "";
}

// PopUp
function newWindow(url,w,h,title,optionen) {
	if (window.screen) {
		var hori = screen.availWidth;
		var verti = screen.availHeight;
        dorthin = window.open(url, title,'' + optionen +',width='+ w  +',height='+ h +',left='+((hori - w- 10)* .5) +',top='+((verti - h- 30)* .5))
	dorthin.focus()
	}	
}
// Random
function rand(range) {
	return Math.floor(Math.random()*1000000000+1)
}

function goToURL(url) {
        location.href = url;
}

// Set Value
function setValue(form,feld,value) {
	document.forms[form].elements[feld].value = value;	
}

// Set Folder
function setFolder(form,feld,value,folder) {
	document.forms[form].elements[feld].value = value;
	document.forms[form].folder.value = folder;		
}

// Message: Add User
function msgAddUser (userid) {
	window.opener.document.getElementById('msg_add_user').value = userid;
	window.opener.document.newmsg.submit();
	window.opener.document.focus();           
}

function PictureMouseOver(id,picture){
	document.getElementById(id).src = picture;    
}
// Checkbox Toggle
function checkboxToggle(form,feld,toggle){
	f = document.forms[form].elements[feld];
   	if (document.forms[form].elements[feld]) {
   		document.forms[form].elements[feld].checked = toggle;  	
   		for (i=0;i<f.length;i++) {
      		f[i].checked = toggle;
   		}
    }
}
// Insert easy Text
function insertText(form,feld,text) {
	document.forms[form].elements[feld].value += text;
}


// Swicht Style Class
function switchClass(id,css) {
	document.getElementById(id).className = css;
}

// Jump Menu (Select)
function jumpMenu(targ,selObj,restore) {
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
    if (restore) selObj.selectedIndex=0;
}

// Toggle Status
function toggle(id) {
    if (document.getElementById(id).style.display == 'none') {
        document.getElementById(id).style.display = "";
    } else {
		document.getElementById(id).style.display = "none";
    }
}

// Flag preview
function flag_preview(flag) {
	document.getElementById("flag_preview_bild").src = "templates/images/icons/flags/" + flag + ".gif";
}

function flag_preview_admin(flag) {
	document.getElementById("flag_preview_bild").src = "../templates/images/icons/flags/" + flag + ".gif";
}


var imageTag = false;
var theSelection = false;
var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);
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);
var bbctag_noslect = 17;

bbcode = new Array();
bbtags = new Array('[b]','[/b]',
                   '[u]','[/u]',
                   '[i]','[/i]',
                   '[s]','[/s]',
                   '[li]','[/li]',
                   '[ol]','[/ol]',
                   '[ul]','[/ul]',
                   '[left]','[/left]',
                   '[center]','[/center]',
                   '[right]','[/right]',
                   '[justify]','[/justify]',
                   '[url]','[/url]',
                   '[email]','[/email]',
                   '[hr]','[hr]',
                   '[img]','[/img]',
                   '[quote]','[/quote]',
                   '[code]','[/code]',
                   '[readmore=Read more]','[/readmore]',
                   '[font]','[/font]',
                   '[size]','[/size]',
                   '[color]','[/color]'
                   );

imageTag = false;

// Get Arraysize
function getarraysize(thearray) {
	for (i = 0; i < thearray.length; i++) {
		if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
        return i;
	}
	return thearray.length;
}

// Array Push
function arraypush(thearray,value) {
	thearray[ getarraysize(thearray) ] = value;
}

// Array Pop
function arraypop(thearray) {
	thearraysize = getarraysize(thearray);
	retval = thearray[thearraysize - 1];
	delete thearray[thearraysize - 1];
	return retval;
}

// BBSytle Select (Font, Size, Color)
function bbstyleSelect(typ,value,formular,feld,bbnumber) {
	insert('[' + typ + '=' +value+ ']', '[/' +typ + ']', formular, feld);
    document.forms[formular].elements[feld].focus();
    document.forms[formular].elements[typ].selectedIndex = "0"
    arraypush(bbcode,bbnumber+1);
}  
           
// Insert           
function insert(aTag, eTag, formular, feld) {
	var input = document.forms[formular].elements[feld];
  	input.focus();
  	// Internet Explorer
  	if(typeof document.selection != 'undefined') {
		var range = document.selection.createRange();
   		var insText = range.text;
    	range.text = aTag + insText + eTag;
    	range = document.selection.createRange();
    	if (insText.length == 0) {
      		range.move('character', -eTag.length);
    	} else {
      		range.moveStart('character', aTag.length + insText.length + eTag.length);      
    	}
    	range.select();
    	
    // Gecko basierende Browser
  	} else if(typeof input.selectionStart != 'undefined') {
    	var start = input.selectionStart;
    	var end = input.selectionEnd;
    	var insText = input.value.substring(start, end);
    	input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    	var pos;
    	if (insText.length == 0) {
      		pos = start + aTag.length;
    	} else {
      		pos = start + aTag.length + insText.length + eTag.length;
    	}
    	input.selectionStart = pos;
    	input.selectionEnd = pos;
    	
    // Other Broswer
  	} else {
    	var pos;
    	var re = new RegExp('^[0-9]{0,3}$');
    	while(!re.test(pos)) {
      		pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    	}
    	if(pos > input.value.length) {
      	pos = input.value.length;
    	}
    	var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    	input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  	}
}
          
                
// BBSytle                
function bbstyle(bbnumber,formular,feld,id) {
	var txtarea =   document.forms[formular].elements[feld];

    donotinsert = false;
    theSelection = false;
    bblast = 0;
    bc = 0; 
	bcArray = 0;


	// Close all tags
    if (bbnumber == -1) {
    	while (bbcode[0]) {
        	butnumber = arraypop(bbcode) - 1;
            txtarea.value += bbtags[butnumber + 1];
            if (butnumber != 36 && butnumber != 38 && butnumber != 40) {
		        document.getElementById(id+"_bb_" +butnumber).style.backgroundColor= "";   
            	}                    
		}
        imageTag = false;
        txtarea.focus();
        return;
	}
        
	// close last tag
    if (bbnumber == -2) {
		thearraysize = getarraysize(bbcode);
	    if (thearraysize > 0) {
			txtarea.value += bbtags[bbcode[thearraysize - 1]];
		    bbnumberTemp = bbcode[thearraysize - 1]-1;
		    if (bbnumberTemp != 36 && bbnumberTemp != 38 && bbnumberTemp != 40) {
		    	document.getElementById(id+"_bb_" +bbnumberTemp).style.backgroundColor= "";
		    }
		    delete bbcode[thearraysize - 1];
		        
		}
	    imageTag = false;
	    txtarea.focus();
	    return;
 	}

	if ((clientVer >= 4) && is_ie && is_win){
    	theSelection = document.selection.createRange().text;
       	if (theSelection) {
            document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
            txtarea.focus();
            theSelection = '';
            return;
       	}
	} else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)) {
    	mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
        return;
    }


	for (i = 0; i < bbcode.length; i++) {
    	if (bbcode[i] == bbnumber+1) {
        	bblast = i;
            donotinsert = true;
        }
 	}

 	if (donotinsert) {
    	document.getElementById(id+"_bb_" +bbnumber).style.backgroundColor= "";
        while (bbcode[bblast]) {
			// Tag insert
            butnumber = arraypop(bbcode) - 1;
            insert(bbtags[butnumber + 1], '', formular, feld);
            imageTag = false;
        }
        txtarea.focus();
        return;

	} else {

		document.getElementById(id+"_bb_" +bbnumber).style.backgroundColor= "#E9EAEC";
		if (bbnumber == 34) {
			// Tag insert (Readmore)
			insert('[readmore' + rand() + '=Read more]', '', formular, feld);	
		} else {
			// Tag insert
            insert(bbtags[bbnumber], '', formular, feld);
		}
        
		if ((bbnumber == 14) && (imageTag == false)) imageTag = 1;
        arraypush(bbcode,bbnumber+1);

        txtarea.focus();
        return;
  	}
    storeCaret(txtarea);
}

function bbstyleAddfromWindow(form,feld,text) {
    //window.opener.document.getElementById(feld).value += text + "";
    //window.opener.document.getElementById(feld).focus();    
    window.opener.document.forms[form].elements[feld].value += text + "";;  
    window.opener.document.forms[form].elements[feld].focus();;          
}
