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

function surroundText(text1,text2,doPrompt) {
    if (All('param[textarea]').createTextRange && All('param[textarea]').caretPos) {
        var caretPos = All('param[textarea]').caretPos;
        var content = '';
        if (caretPos.text.length==0 && doPrompt) {
            content = prompt('Geben Sie den Inhalt für diesen Tag ein:', '');
            content = (content==null)?exit:content;
        } else {
            content = caretPos.text;
        }
        var newCaretPos = caretPos+content.indexOf(']')+1;
      
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
        text1 + content + text2 + ' ' : text1 + content + text2;
        All('param[textarea]').caretPos = newCaretPos;
        All('param[textarea]').focus(newCaretPos);
    } else {
        if (doPrompt) {
            var content = prompt('Geben Sie den Inhalt für den Tag ein:', ''); 
        }
        else {
            var content = "";
        }
        if (content == null || content == "undefined" || content == "null") {
            content = "";
        }
        All('param[textarea]').value += text1 + content + text2;
        All('param[textarea]').focus(caretPos);
    }
}

function addNewsRelated() {
    var area=All('related');
    
    var id = (new Date().getTime());
    var text = null;
    
    var form = All('newnews');
    
    var div = document.createElement("div");
    div.setAttribute('id', "related_"+id);
    div.setAttribute('name', "related_"+id);
    
    text = document.createTextNode('Titel: ');
    div.appendChild(text);
    
    var title = document.createElement("input");
    title.setAttribute('style', 'width: 80px');
    title.setAttribute('type', 'text');
    title.setAttribute('onchange', 'All(\'related_title_'+id+'\').value=this.value');
    div.appendChild(title);
    
    text = document.createTextNode(' Link: ');
    div.appendChild(text);
    
    var link = document.createElement("input");
    link.setAttribute('style', 'width: 250px');
    link.setAttribute('type', 'text');
    link.setAttribute('onchange', 'All(\'related_link_'+id+'\').value=this.value');
    div.appendChild(link);
    
    text = document.createTextNode(' ');    
    div.appendChild(text);
    
    var a = document.createElement("a");
    a.setAttribute('href', '#');
    a.setAttribute('onclick', 'All(\'related_'+id+'\').innerHTML=\'\'');
    text = document.createTextNode(' - ');
    a.appendChild(text);
    div.appendChild(a);
    
    area.appendChild(div);

    var titleh = document.createElement("input");
    titleh.setAttribute('type', 'hidden');
    titleh.setAttribute('name', 'param[related][title]['+id+']');
    titleh.setAttribute('id', 'related_title_'+id);
    form.appendChild(titleh);
    
    var linkh = document.createElement("input");
    linkh.setAttribute('type', 'hidden');
    linkh.setAttribute('name', 'param[related][link]['+id+']');
    linkh.setAttribute('id', 'related_link_'+id);
    form.appendChild(linkh);
}

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 SetCookie (name, value) { 
    var argv = SetCookie.arguments; 
    var argc = SetCookie.arguments.length; 
    var expires = (argc > 2) ? argv[2] : null; 
    var path = (argc > 3) ? argv[3] : null; 
    var domain = (argc > 4) ? argv[4] : null; 
    var secure = (argc > 5) ? argv[5] : false; 

    document.cookie = name + "=" + escape (value) + 
          ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
          ((path == null) ? "" : ("; path=" + path)) + 
          ((domain == null) ? "" : ("; domain=" + domain)) + 
          ((secure == true) ? "; secure" : "");
}
  
function DeleteCookie (name) { 
    var exp = new Date(); 
    exp.setTime (exp.getTime() - 1); 
    var cval = GetCookie (name); 
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function hoverCell(name, color) {
    All(name).style.backgroundColor=color;
}

function showCell(name) {
    All(name).display='inline';
    All(name).style.display='inline';
}

function hideCell(name) {
    All(name).display='none';
    All(name).style.display='none';
}

function showhideCell(base, name) {
    var x=1;
    var exists=true;
    while (exists) {
        if (x == name) {
            if (All(base+''+name).style.display=='none') {
                All(base+''+name).style.display='';
            } else {
                All(base+''+name).style.display='none';
            }
        }
        else if (All(base+''+x)) {
            All(base+''+x).style.display='none'; 
        }
        else {
            exists=false;
        }
        x++;
    }
}

function subMenu(id) {
    DeleteCookie('LastMenu');
    SetCookie('LastMenu', id, null, '/');
  
    var x=1;
    var exists=true;
    while (exists) {
        if (x == id) {
            All('menu_'+id).style.display='';
            try {
                All('menu_title_'+id).className = 'menu_sel';
            } catch (e) {
            }
        }
        else {
            if (All('menu_'+x)) {
                All('menu_'+x).style.display='none';
                try {
                    All('menu_title_'+x).className = 'menu';
                } catch (e) {
                }
            }
            else {
                exists=false;
            }
        }
        x++;
    }
}

function setLastMenu() {
    var last = GetCookie('LastMenu');
    if (last != null)
        subMenu(last);
    else
        subMenu(1);
}

function select(cell, mode) {
    All(cell).className="cell"+mode;
    All(cell+'box').className="cell"+mode;
}

function selFavorite(target, wert) {
    if (wert != "")
        All(target).value=wert;
}

function checkTheBoxes(form, mode) {
    if (mode == "all")
        var newset = true;
    else
        var newset = false;

    for (var i=0;i<document.mailbox.length;i++)
        if (document.mailbox.elements[i].type == "checkbox")
            document.mailbox.elements[i].checked = newset;
}

function profileSelPic() {
    if (All('file').value != "") {
        All('memberpic').src=All('file').value;
    } else {
        All('memberpic').src="/images/Members/new.jpg";
    }
}

function resetPic() {
    dodelete = confirm("Willst du wirklich kein Memberbild hochladen ?");
    if (dodelete) {
        All('file').value="";
        All('memberpic').src="/images/Members/new.jpg";
    }
}

var p_title = "ClanCity Sidebar";
var p_url = "http://www.clan-city.com/external/sidebar";

function sidebar() {
    if (DHTML_IE){ //IE5+
        _search=open(p_url, '_search');
    }
    else if (DHTML_NS){ //Gecko
        eval("window.sidebar.addPanel(p_title, p_url, '');");
    }
}

/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function echeck(str) {
    var at="@";
    var dot=".";
    var lat=str.indexOf(at);
    var lstr=str.length;
    var ldot=str.indexOf(dot);
    if (str.length==0) return true;
    // Check for @-sign in address
    if (str.indexOf(at) == -1 ) {
        alert("Please enter a valid e-mail address.");
        return false;
    }
    // Check if @-sign within address not at start or end
    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
        alert("Please enter a valid e-mail address.");
        return false;
    }
    // Check at least one dot and not as start or end
    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {
	   alert("Please enter a valid e-mail address.");
	   return false;
    }
    // Verify that only one @-sign
    if (str.indexOf(at,(lat+1))!=-1) {
        alert("Please enter a valid e-mail address.");
        return false;
    }
    // Verify that no dot directly before or after @-sign
    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot ) {
	    alert("Please enter a valid e-mail address.");
        return false;
    }
    // Check if dot after @-sign
    if (str.indexOf(dot,(lat+2))==-1 ) {
	    alert("Please enter a valid e-mail address.");
        return false;
    }
	// Verify that there are no spaces
    if (str.indexOf(" ")!=-1 ) {
	    alert("Please enter a valid e-mail address.");
		return false;
    }
 	return true;
}

var CLANCITYSIDEBAR = "/external/sidebar.php";

function sidebar() {
  var sidebarUrl = "http://"+window.location.host+CLANCITYSIDEBAR;
  if ((typeof window.sidebar == "object") && (typeof window.sidebar.addPanel == "function")) {
    window.sidebar.addPanel ("ClanCity: Sidebar", sidebarUrl, "");    
  }
}
