var editWindow;
var topArticleUrl = "/top-artikel.html";
var gadgetUrl = "/gadget.html";
var actTopArticleInterval;

function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

function openDialog(path, width, height, scrollbars) {
//    editWindow = window.open("/admin/index.html","popup"+width+height,"width="+width+",height="+height+",resizable=auto,scrollbars=no");
//    editWindow.close();
    var width=width+20;
    editWindow = window.open(path,"popup"+width+height,"width="+width+",height="+height+",resizable=yes,scrollbars="+scrollbars);
    editWindow.focus();
    return false;
}

function countCharsInComment(elem,maxLength){
    var text=elem.value;
    if(text.length>maxLength){
        text=text.substring(0,maxLength);
        elem.value=text;
    }
//    window.document.frm.charsLeft.value=maxLength-text.length;


//    if(text.length>225){
//        elem.style.color="#ff0000";
//     } else{
//        elem.style.color="#404040";
//     }
}

// Zeichenzähler für Twittertitel
function countChars(maxLength){
    titleElem = document.getElementById("titleTwitter");
    if(titleElem==null) return;
    var text=titleElem.value;
    if(text.length>maxLength){
        text=text.substring(0,maxLength);
        titleElem.value=text;
    }
    window.document.formular.charsLeft.value=maxLength-text.length;

    if(window.document.formular.charsLeft.value<25){
        window.document.formular.charsLeft.style.color="#ff0000";
     } else{
        window.document.formular.charsLeft.style.color="#404040";
     }
}

function printPage() {
    if(navigator.userAgent.indexOf("Mac") == -1) window.print();
}

/**
 * Some browser detection
 */
var clientPC  = navigator.userAgent.toLowerCase(); // Get client info
var is_gecko  = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));
var is_safari = ((clientPC.indexOf('AppleWebKit')!=-1) && (clientPC.indexOf('spoofer')==-1));
var is_khtml  = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled ));
if (clientPC.indexOf('opera')!=-1) {
    var is_opera = true;
    var is_opera_preseven = (window.opera && !document.childNodes);
    var is_opera_seven = (window.opera && document.childNodes);
}

function initDatePicker() {
    var cal = new CalendarPopup("divDP");
    cal.setMonthNames('Januar','Februar','Mrz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
    cal.setDayHeaders('S','M','D','M','D','F','S');
    cal.setWeekStartDay(1);
    cal.setTodayText("Heute");
    return cal;
}

function getDatePicker(elementName, num) {
    document.write("<a href=\"#\" onClick=\"cal.select(document.forms[0].elements['"+elementName+"'],'anchor"+num+"','dd.MM.yyyy'); return false;\" TITLE=\"\" NAME=\"anchor"+num+"\" ID=\"anchor"+num+"\"><img src=\"/img/calendar.gif\" width=\"16\" height=\"16\" class=\"datePicker\" alt=\"\"></A>");
    document.write("<DIV ID=\"divDP\" class=\"datePickerDiv\"></DIV>");

}

function fileBrowserCallBack(field_name, url, type, win) {
    tinymce_field = field_name;
    tinymceObj = win;
    var connector = "/inc/tiny_mce/filemanager/browser.html?Connector=/connector&Type=image";
    window.open(connector, "filemanager", "modal,width=600,height=400");
}

// Custom save callback, gets called when the contents is to be submitted
function customSave(id, content) {
    content = replace(content, /\.\.\/*data/gi, "/data");
    return content;
}

function clipboardAccess() {
    var success = true;
    // JavaScript Clipboard Access Test
    var tmpCBD=window.clipboardData.getData("Text");
    window.clipboardData.setData("Text", "Test");
    if (clipboardData.getData("Text") != "Test") {
        success = false;
        alert("In Ihrem Browser ist die Funktion \"Einfügeoperationen ber ein Skript zulassen\" deaktiviert.\nFr den vollen Funktionsumfang des Texteditors sind Einfgeoperationen jedoch erforderlich.\nIn der Hilfe erhalten Sie eine Anleitung zur Aktivierung.");
    }
    window.clipboardData.setData("Text", tmpCBD);
    return success;
}

function replace(str, regExp, repl) {
    var i = 0;
    while(str.search(regExp)>-1) {
        str = str.replace(regExp, repl);
        if(i++>30) break; //no endless loop
    }
    return str;
}

function HideErrors()
{
   return true;
}

function ct(obj) {
    obj.target = '_blank';
}


function checkAll(theForm) { // check all the checkboxes in the list
  for (var i=0;i<theForm.elements.length;i++) {
    var e = theForm.elements[i];
		var eName = e.name;
    	if (eName != 'allbox' &&
            (e.type.indexOf("checkbox") == 0)) {
        	e.checked = theForm.allbox.checked;
		}
	}
}

function CheckState(status){
    for (var i=0;i<document.article.elements.length;i++){
        var e = document.article.elements[i];
        if(e.type=="checkbox"){
         e.checked = status;
        }
    }
}

function switchInterval(value) {
    document.getElementById("individual").style.display = (value == 'individual')?'block':'none';
}

function loadTopArticleList(interval) {
    actTopArticleInterval = interval;
    $("#topArticle").load(topArticleUrl, {interval: interval}, ajaxLoaded);
    return false;
}

function sendEmosRequest(pageId) {
    var emospro = {};
    emospro.pageId = pageId;
    emospro.content = pageId;
//    alert(pageId);
    window.emosPropertiesEvent(emospro);
}

function loadGadget(type, id, clear) {
    $("#"+type).load(gadgetUrl, {type: type, id: id, clear: clear}, ajaxLoaded);
    return false;
}

function submitGadget(type, id, form) {
    var radioObj = form.poll;
    var answer;
    var radioLength = radioObj.length;
    for(var i = 0; i < radioLength; i++) {
        if(radioObj[i].checked) {
           answer = radioObj[i].value;
        }
    }
    $("#"+type).load(gadgetUrl, {type: type, id: id, answer: answer}, ajaxLoaded);
}

function ajaxLoaded(responseText, textStatus, XMLHttpRequest) {
    toggleActBgColor();
    if(responseText.indexOf("<!--Message")>-1) {
        var message = responseText.substring(responseText.indexOf("<!--Message")+11, responseText.indexOf("-->")-1);
        alert(message);
    }
    if(textStatus=='error') {
//        ignore
//        this.innerHTML = responseText;
    }
}

function toggleActBgColor(){
    var elem;
    var intervals = new Array("week", "month", "year");
    
    for(i = 0; i < intervals.length; i++){
        elem = document.getElementById("last_"+intervals[i]);
        if(elem!=null) {
            elem.style.backgroundColor = actTopArticleInterval==intervals[i]?"#E3E2E2":"";
            elem.style.color = actTopArticleInterval==intervals[i]?"#666666":"";
        }
    }

}

function loadComment(url, artId) {
    $("#commentContainer").load(url, commentLoaded);
    return false;
}

function submitComment(url, form, newCode) {
    $("#commentContainer").load(url, {captcha: form.captcha.value, newcode: newCode, nickname: form.nickname.value, email: form.email.value, content: form.content.value}, commentLoaded);
}

function commentLoaded(responseText, textStatus, XMLHttpRequest) {
    if(textStatus=='error') {
        this.innerHTML = "Beim Laden oder Abschicken ist ein Fehler aufgetreten! Bitte probieren Sie es erneut.";
    }
}



