
function tag_adder(tag)
{
	clear();
	var chk_var = $('b_tags').value;
	var chk_var_array = chk_var.split(' ');
	var found = false;
	for (var i=0; i<chk_var_array.length;i++)
	{
		if (chk_var_array[i] == tag)
		{
			found = true;
			chk_var_array[i] = '';
		}
	}
	if (found == false)
	{
		chk_var_array.push(tag);
	}
  var chk_var_array_aus = new Array();
	for (var i=0; i<chk_var_array.length;i++)
	{
		if (chk_var_array[i] != ' ' && chk_var_array[i] != '') chk_var_array_aus.push(chk_var_array[i]);
	}
	chk_var_array_aus = chk_var_array_aus.slice(0,max_tags);
	$('b_tags').value = chk_var_array_aus.join(' ');
}

function clear()
{
	/*
	var chk_var = $('b_title').value;
	chk_var = chk_var.replace(',',' ');
	chk_var = chk_var.replace('  ',' ');
	var reg = new RegExp('[^0-9a-zA-ZÀ-Üà-üß. ]+$', 'i');
	chk_var2 = chk_var.replace(reg,'');
	$('b_title').value = chk_var2.toLowerCase();
	*/
	var chk_var = $('b_tags').value;
	chk_var = chk_var.replace(',',' ');
	chk_var = chk_var.replace('  ',' ');
	var reg = new RegExp('[^0-9a-zA-ZÀ-Üà-üß. ]+$', 'i');
	chk_var2 = chk_var.replace(reg,'');
	$('b_tags').value = chk_var2.toLowerCase();
}

function clear_uname()
{
	var chk_var = $('reg_user').value;
	var reg = new RegExp('[^0-9a-zA-ZÀ-Üà-üß_.-]+$', 'i');
	$('reg_user').value = chk_var.replace(reg,'');
}

function count_anz(id, count, div)
{
	var chk_var = $(id).value;
	
	if (chk_var.length > count)
	{
		chk_var = chk_var.substring(0,count);
		$(id).value = chk_var;
		$(id).blur();
	}
	
	$(div).innerHTML = count - chk_var.length;
}

function folder(div_id)
{
	var akt_d = new Date();
	var abl_d = akt_d.getTime() + (365 * 24 * 60 * 60 * 1000);
	akt_d.setTime(abl_d);
	if ($(div_id).style.display == 'block')
	{
		$(div_id).style.display = 'none';
		$('mode_'+div_id).innerHTML = '+';
		document.cookie = div_id+"=none; expires=" + akt_d.toGMTString();
	}
	else
	{
		$(div_id).style.display = 'block';
		$('mode_'+div_id).innerHTML = '-';
		document.cookie = div_id+"=block; expires=" + akt_d.toGMTString();
	}
}

function getCookieVal (offset) { 
var endstr = document.cookie.indexOf (";", offset); 
if (endstr == -1) 
endstr = document.cookie.length; 
return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) { 
var arg = name + "="; 
var alen = arg.length; 
var clen = document.cookie.length; 
var i = 0; 
while (i < clen) { 
var j = i + alen; 
if (document.cookie.substring(i, j) == arg) 
return getCookieVal (j); 
i = document.cookie.indexOf(" ", i) + 1; 
if (i == 0) break; 
} 
return null;
}

function chk_folder(div_id)
{
	var display = GetCookie(div_id);
	if (display) $(div_id).style.display = display;
	if (display == 'block')
	{
		$('mode_'+div_id).innerHTML = '-';
	}
	else
	{
		$('mode_'+div_id).innerHTML = '+';
	}
}

function change_tagstyle2()
{
	var akt_d = new Date();
	var abl_d = akt_d.getTime() + (365 * 24 * 60 * 60 * 1000);
	akt_d.setTime(abl_d);
	document.cookie = "tagcloudvarcookie="+tagcloudvar+";domain=welt-der-links.de; path=/; expires=" + akt_d.toGMTString();
	if(tagcloudvar == 'tags')
	{
		wechsel(2);
		$('tagcloudchanger').innerHTML = "Tagcloud";
		tagcloudvar = 'list';
	}
	else if(tagcloudvar == 'list')
	{
		wechsel(1);
		$('tagcloudchanger').innerHTML = "Liste";
		tagcloudvar = 'tags';
	}
	return;
}

function wechsel(num) {
 var styles = document.getElementsByTagName('style');
 for(var i = 1; i < (styles.length); i++) {
  if(i==num) {
   styles[i].disabled = false;
  }
  else {
   if(styles[i].getAttribute("title")!="") {
      styles[i].disabled = true;
   }
  }
 }
}

function change_tagstyle()
{
	var akt_d = new Date();
	var abl_d = akt_d.getTime() + (365 * 24 * 60 * 60 * 1000);
	akt_d.setTime(abl_d);
	document.cookie = "tagcloudvarcookie="+tagcloudvar+";domain=welt-der-links.de; path=/; expires=" + akt_d.toGMTString();
	if(tagcloudvar == 'tags')
	{
		$('tagcloudcss').href = "/ml/list.css";
		$('tagcloudchanger').innerHTML = "Tagcloud";
		tagcloudvar = 'list';
	}
	else if(tagcloudvar == 'list')
	{
		$('tagcloudcss').href = "/ml/tag.css";
		$('tagcloudchanger').innerHTML = "Liste";
		tagcloudvar = 'tags';
	}
	return;
}

function chk_tagstyle()
{
	change_tagstyle();
	return;
}

function get_url_info(url)
{
	$('get_url_bt').style.display = 'none';
	$('get_url_bt_off').style.display = 'inline';
	get_url_iframe.location.href = '/ml/get_url/'+escape(URLEncode(url));
}

function URLEncode(string)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var plaintext = string;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};

function URLDecode(string)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var encoded = string;
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
   return plaintext;
};
