/**
 * @author sasonikolov
 */ 
function admin_geladen(){return true;}
function admin_loginMachen(login, pw, noschliessen) {
    login = trim(login);
    if (login == "")
        return false;
    if (pw == "")
        return false;
    system['user'] = new Object();
    system['user']['login'] = login;
    system['user']['pw'] = pw;
    var url = system['apiurl'] + admin_getURLLogin();
    if (system['REQUEST']['l_deblock'] && system['REQUEST']['l_deblock'] != "")
        url += "data[deblock]="+encodeURIComponent(system['REQUEST']['l_deblock'])+"&";
    WarteSymbolEinblenden();    
    apicall(url+"a=1", function(h) {
        WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;
        system['user']['loggedin'] = true;
        for (var key in h.object)
        	system['user'][key] = h.object[key];
        cookie_set("session", system['user']['idcodelogin']+"_"+system['user']['sessionid'], time() + (2*24*3600*1000));
		index_MenueZeigen();		
    	if (!noschliessen)
    		InfoBoxSchliessen();
    	system['BEREICH'] = 2;
		if (system['REQUEST']['bereich']) {
		      var wert = intval(system['REQUEST']['bereich']);
		      if (wert > 0) {
    		      InhaltZeigen2(system['REQUEST']['bereich']);
    		  } else {
    		      InhaltZeigen2("admin_startseite");
              }
        } else {
            InhaltZeigen2("admin_startseite");
        }		
    });
    return false;        
}
function admin_getURLLogin() {
	var username = "";
	var password = "";
	var c = false;
  if (!system['user']){
    admin_logoutAnzeigen();
    return "";
   } 
	if (system['user']['idcodelogin'] && (!system['user'] || !system['user']['login'])) {
		username = system['user']['idcodelogin'];
		password = system['user']['sessionid'];
		c = true; 
	} else {
	    username = trim(system['user']['login']);
	    if (username == "" && !system['user']['macheLogin']) {
	    	system['user']['macheLogin'] = true;
	        //alert(GlobalerText("darfnichtleersein"));
	        InhaltZeigen('login', true);
			document.forms.f_loginmaske.login.focus();
	        return false;
	    }
	    password = trim(system['user']['pw']);
	}
    var text = '?';
    if (c)
    	text += '&loginformat=cookie';
	text += '&login[user]='+encodeURIComponent(username)+'&login[pw]='+encodeURIComponent(password)+"&";
    return text;
}
function admin_logout() {
    var url = system['apiurl'] + admin_getURLLogin();
    url += "a=12";
    apicall(url, function(h) {
    });
    admin_logoutAnzeigen();
    ZeigeStartSeite();
}
function admin_logoutAnzeigen() {
    cookie_set("session", "", false);
    system['user'] = null;
    index_MenueZeigen();
}
function admin_MenueZeigen() {
    var text = TemplateLaden("admin_menue");
    var status = "none";
    if (system['user']['status'] == 1)
    	status = "inline";
    text = text.replace(/<#status>/g, status);
    var name = "";
    if (system['user']['login']) { 
        name = system['user']['login'];
        if (system['user']['name'] && system['user']['name'] != "")
            name = system['user']['name'];         
    }
    text = text.replace(/<#name>/g, name);
    return text;
}
function admin_checkResponseWithLogin(text) {
    if (!checkResponse(text, true)) {
    	if (trim(text.substr(6).toLowerCase()) == "login failed") {
		    admin_logoutAnzeigen();
//			InfoBoxZeigen2(TemplateLaden('login'), null, null, text, 1);
			InhaltZeigen2('login');        		    
		} else {
			alert(text);
		}					
        return false;                
    }
    return true;
}
function admin_DateienHolen(nichtnochmal) {
	admin_WerkeHolen(admin_DateienAnzeigen, nichtnochmal);
}
function admin_MoneyHolen(nichtnochmal) {
	admin_WerkeHolen(admin_MoneyAnzeigen, nichtnochmal);
}
function admin_TicketHolen(nichtnochmal) {
	admin_WerkeHolen(admin_TicketAnzeigen, nichtnochmal);
}
function admin_VoucherHolen(nichtnochmal) {
	admin_WerkeHolen(admin_VoucherAnzeigen, nichtnochmal);
}
function admin_WerkeHolen(fktname, nichtnochmal) {
    var logd = admin_getURLLogin();
    if (logd == "")
    	return;
    WarteSymbolEinblenden();
    var url = system['apiurl'] + logd + "a=2";
    apicall(url, function(h) {
            WarteSymbolSchliessen();
            system['werke'] = {};
            if (!admin_checkResponseWithLogin(h.responseText))
                return false;                
            system['werke'] =  h.responseText;
            if (!nichtnochmal)
                fktname();                
        }, function () { admin_WerkeHolen(fktname, nichtnochmal); });
}
function admin_Profil() {
	admin_ProfilLaden(admin_ProfilZeigen);
}
function admin_ProfilZeigen() {
	if (!system['user'] || !system['user']['profilgeladen'])
		return admin_ProfilLaden(admin_ProfilZeigen); // sich selbst nochmal aufrufen , wenn user daten geladen
    var text = "";
    text += TemplateLaden("admin_profil");
    text = text.replace(/<#START>/g, Date2Text(system['user']['start']*1000)); 
    var eintrag = system['user'];
    text = text.replace(/<#NICKNAME>/g, eintrag['nickname']+"_"+eintrag['id']);
    for (var key in eintrag) {
        var rg = new RegExp('<#'+key.toUpperCase()+'>', "g");
        text = text.replace(rg, eintrag[key]);
	}    	
    text = text.replace(/<#url>/g, basics_url());
    var deeplink = "http://"+basics_url()+"d/b/"+trenneZahl(eintrag.id, "/")+eintrag.idcode+"/";		
    text = text.replace(/<#deeplink>/g, deeplink);
    /*
	text = text.replace(/<#PAYEMAIL>/g, system['user']['login']); 
    text = text.replace(/<#NAME>/g, system['user']['name']);
	*/ 
    admin_setzeHaupt(text);
}
function admin_ProfilLaden(fkt, nichtnochmal) {
    WarteSymbolEinblenden();
    var urllogin = admin_getURLLogin();
    if (urllogin == "")
    	return false;
    var url = system['apiurl'] + urllogin;
    url += 'a=7';
    apicall(url, function (h) {
        WarteSymbolSchliessen();
        if (!admin_checkResponseWithLogin(h.responseText))
            return false;
        if (!h.object) {
            system['user'] = new Object();
            alert(h.responseText);
        } else {
        	system['user'] = h.object;
			system['user']['loggedin'] = true;
            system['user']['login'] = system['user']['payemail'];
            system['user']['pw'] = system['user']['password'];
            system['user']['profilgeladen'] = true;
            system['user']['rapidcoins'] = floatval(system['user']['rapidcoins']);
	        cookie_set("session", system['user']['idcodelogin']+"_"+system['user']['sessionid'], time() + (2*24*3600*1000));
	        index_MenueZeigen();
	        if (fkt)
	    		fkt();	    	
        }
	}, function () { if (!nichtnochmal && system['user']['loggedin']) admin_ProfilLaden(fkt, true); }
	);
}
function admin_ProfilAendernMaske(art, wert) {
	if (art == "landauswahl") {
		WarteSymbolEinblenden();
		 ajaxen({
	        url: "laenderliste.txt",
			method:'POST',
	        str: "",
	        onError: function () {WarteSymbolSchliessen();},
	        onSuccess: function(h) {
				var text = '<form onsubmit="admin_ProfilAendernMaske(\'land\', this.elements.land.options[this.elements.land.selectedIndex].value);InfoBoxSchliessen();return false;">';
				text += '<select name="land"><#landliste></select>';
				text += '<div style="text-align:right;"><input type="submit"></div></form>';			
				var zeilen = h.responseText.split("\n");
				var atext = '';			
				var laender = new Array();	
				for (var a=0;a<zeilen.length;a++){
					var zeile = trim(zeilen[a]);
					if (zeile == "")
						continue;  
					zeile = zeile.replace(/\"/g, "");
					spalten = zeile.split(";");		
					var land = spalten[2];						
					laender.push({"land":land,"key":spalten[5]});
				}					
				laender.sort(function (a,b) {
					if (a.land > b.land)
						return 1;				
					else if (a.land < b.land) 
						return -1
					return 0;
					});
				for (var a=0;a<laender.length;a++) {
					atext += '<option value="'+laender[a].key+'"';
					if (system['user']['land'].toLowerCase() == laender[a].key.toLowerCase())
						atext += ' selected';
					atext += '>'+laender[a].land+'</option>';
				}
				text = text.replace(/<#landliste>/, atext);
				WarteSymbolSchliessen();
				InfoBoxZeigen2(text);
	        }
	    });
	} else {
	    var erg = '';
	    if (!wert) {
			erg = prompt("",system['user'][art]);
		    if (erg == null)
		        return false;        
		    erg = trim(erg);
		} else {
			erg = trim(wert);
		}		
	    if (erg == "" && system['user'][art] == "") {        
	        alert(document.getElementById("fehlerMSG1").innerHTML);
	        return false;
	    }        
	    if (art == "login" && erg.indexOf('@') < 1) {
	        InhaltZeigen('emailaddress', true);
	        return false;
	    }
	    if (erg == system['user'][art])
	        return false;
	    WarteSymbolEinblenden();
	    var url = system['apiurl'] + admin_getURLLogin();
	    url += "a=8&data[art]="+encodeURIComponent(art)+"&data[wert]="+encodeURIComponent(erg);
	    apicall(url, function(h) {
	        WarteSymbolSchliessen();
	        if (!checkResponse(h.responseText))
	            return false;
	        if (art == "payemail" || art == "login") {
	        	var errorcode = ermittelErrorCode(h.responseText);
				if (errorcode == "")
					alert(document.getElementById("hinweisMSG10").innerHTML);
				else 
					alert(document.getElementById("fehlerMSG"+errorcode).innerHTML);	
			}
	        admin_Profil();
	    });
	}
}
function admin_DateienVorschauZeigen(werkid, elem) {
    if (!system['werke'] || !system['werke'][werkid])
        return false;
    var produkt = system['werke'][werkid]['Attribute'];
    if (produkt['aktiv'] == 1){
    	elem.href = 'http://'+basics_url()+'?id='+produkt['id']+produkt['idcode'], "vorschau_"+werkid; 
		return true;
	}
	elem.href = 'bilder/progress_wheel.gif';
    var url = system['apiurl'] + admin_getURLLogin()+'a=21&data[werkid]='+werkid;
    apicall(url, function(h) {
            if (!checkResponse(h.responseText))
                return false;
            window.open('http://'+basics_url()+'?id='+encodeURIComponent(h.responseText), "ppreview_"+werkid);
		});
	return true;		
}
function admin_DateienAnzeigen() {
    if (!isOpen())
		return InhaltZeigen('closing');
	if (!system['user'] || !system['user']['loggedin'])
		return admin_ProfilLaden(admin_DateienAnzeigen);
    if (!system["werke"])
        return admin_DateienHolen(true);
    WarteSymbolEinblenden();
	JSLaden("sellingtools");
    var template = "";
	if (system['MODE_MOBILE'])
		template = TemplateLaden("mobile_admin_dateienzeile");
	else
		template = TemplateLaden("admin_dateienzeile"); 
    var user_status = "none";
    if (admin_isUserStatus(1))
    	user_status = "inline";
    template = template.replace(/<#user_status>/g, user_status);
    var text = "";
    text += document.getElementById("admin_m_produkte").innerHTML;
    text += TemplateLaden("admin_dateienmenue");
    text += '<div id="admin_haupt">';
    text += TemplateLaden("admin_dateientabelle");
	text += '</div>';
    // gehe über die dateien
    var dateien = system['werke'];
    var a= 0;
    var btext = "";
    var fileurl = 'http://'+basics_url()+'?id=';
    for (var key in dateien) {    	
        var eintrag = dateien[key]['Attribute'];
        if (!eintrag)
            continue;
        if (eintrag.deleted != 0)
        	continue;
        if (intval(eintrag.besitzerid) != system['user']['id'])
        	continue; // damit die kauf produkte nicht hier fälchlicherweise angezeigt werden
        if (eintrag.art && intval(eintrag.art) != 0)
        	continue; // kein filepaylink
        a++;
        var atext = template;
        atext = atext.replace(/<#A>/g, a);            
        atext = atext.replace(/<#NONDPL>/g, eintrag['nondpl']);            
        atext = atext.replace(/<#START>/g, Date2Text(eintrag["start"]*1000));        
        var datum = "-";
        if (eintrag["lastdownload"] != 0)
            datum = Date2Text(eintrag["lastdownload"]*1000);
        atext = atext.replace(/<#LASTDOWNLOAD>/g, datum);
        datum = "-";
        if (eintrag["lastverkauf"] != 0)
            datum = Date2Text(eintrag["lastverkauf"]*1000);
        atext = atext.replace(/<#LASTVERKAUF>/g, datum);
        atext = atext.replace(/<#FILEURL>/g, fileurl+eintrag['id']+eintrag['idcode']);
		var picurl = 'bilder/leer.gif';  
		if (eintrag['picture'])
			picurl = getDatenUrl()+"d/p/"+trenneZahl(eintrag.id, "/")+eintrag.idcode+"/picture.jpg";
		atext = atext.replace(/<#PICURL>/g, picurl);
		eintrag.DEEPLINK = "http://"+basics_url()+"d/p/"+trenneZahl(eintrag.id, "/")+eintrag.idcode+"/";		
        for (var akey in eintrag) {
            var rg = new RegExp('<#'+akey.toUpperCase()+'>', "g");
            atext = atext.replace(rg, eintrag[akey]);
        }
		var sharercode = sellingtools_holeSharerlinks(dateien[key]);
		var sharertext = '';
		for(var a=0;a<sharercode.length;a++)
			sharertext += ' <a href="'+sharercode[a].url+'" title="'+sharercode[a].titel+'" target="_blank"><img height=30 src="bilder/'+sharercode[a].image+'"></a>';
		atext = atext.replace(/<#sharer>/, sharertext);
        btext += atext;
    }
    text = text.replace(/##ZEILE##/g, btext);
    admin_setzeHaupt(text);
    if (admin_isUserStatus(1))
		document.getElementById("menue_dateien_nondpl").style.display="inline";
	WarteSymbolSchliessen();
}
function admin_MoneyAnzeigen() {
    if (!isOpen())
		return InhaltZeigen('closing');
	if (!system['user'] || !system['user']['loggedin'])
		return admin_ProfilLaden(admin_MoneyAnzeigen);
    if (!system["werke"])
        return admin_MoneyHolen(true);
    WarteSymbolEinblenden();
	JSLaden("sellingtools");
    var template = TemplateLaden("admin_moneyzeile"); 
    var text = "";
    text += document.getElementById("admin_m_produkte").innerHTML;
    text += TemplateLaden("admin_moneymenue");
    text += '<div id="admin_haupt">';
    text += TemplateLaden("admin_moneytabelle");
	text += '</div>';
    // gehe über die dateien
    var dateien = system['werke'];
    var a= 0;
    var btext = "";
    var fileurl = 'http://'+basics_url()+'?id=';
    for (var key in dateien) {
        var eintrag = dateien[key]['Attribute'];
        if (!eintrag)
            continue;
        if (eintrag.deleted != 0)
        	continue;
        if (intval(eintrag.besitzerid) != system['user']['id'])
        	continue; // damit die kauf produkte nicht hier fälchlicherweise angezeigt werden
        if (!eintrag.art || intval(eintrag.art) != 1)
        	continue; // kein moneypaylink
        a++;
        var atext = template;
        atext = atext.replace(/<#A>/g, a);            
        var datum = Date2Text(eintrag["start"]*1000);
        atext = atext.replace(/<#START>/g, datum);        
        datum = "-";
        if (eintrag["lastverkauf"] != 0)
            datum = Date2Text(eintrag["lastverkauf"]*1000);
        atext = atext.replace(/<#LASTVERKAUF>/g, datum);
        atext = atext.replace(/<#FILEURL>/g, fileurl+eintrag['id']+eintrag['idcode']);
		eintrag.DEEPLINK = "http://"+basics_url()+"d/p/"+trenneZahl(eintrag.id, "/")+eintrag.idcode+"/";		
        for (var akey in eintrag) {
            var rg = new RegExp('<#'+akey.toUpperCase()+'>', "g");
            atext = atext.replace(rg, eintrag[akey]);
        } 
		var sharercode = sellingtools_holeSharerlinks(dateien[key]);
		var sharertext = '';
		for(var a=0;a<sharercode.length;a++)
			sharertext += ' <a href="'+sharercode[a].url+'" title="'+sharercode[a].titel+'" target="_blank"><img height=30 src="bilder/'+sharercode[a].image+'"></a>';
		atext = atext.replace(/<#sharer>/, sharertext);
        btext += atext;
    }
    text = text.replace(/##ZEILE##/g, btext);
    admin_setzeHaupt(text);
    WarteSymbolSchliessen();
}
function admin_VoucherAnzeigen() {
    if (!isOpen())
		return InhaltZeigen('closing');
	if (!system['user'] || !system['user']['loggedin'])
		return admin_ProfilLaden(admin_VoucherAnzeigen);
    if (!system["werke"])
        return admin_VoucherHolen(true);
    WarteSymbolEinblenden();
    JSLaden("sellingtools");
	var template = TemplateLaden("admin_voucherzeile"); 
    var text = "";
    text += document.getElementById("admin_m_produkte").innerHTML;
    text += TemplateLaden("admin_vouchermenue");
    text += '<div id="admin_haupt">';
	text += TemplateLaden("admin_vouchertabelle");
	text += '</div>';
    var btext = admin_setzeWerke(system['werke'], template, 4);
    text = text.replace(/##ZEILE##/g, btext);
    admin_setzeHaupt(text);
    WarteSymbolSchliessen();
}
function admin_setzeWerke(dateien, template, art) {
    // gehe über die dateien
    var a= 0;
    if (!art)
        art = 0;
    var btext = "";
    var fileurl = 'http://'+basics_url()+'?id=';
    for (var key in dateien) {
        var eintrag = dateien[key]['Attribute'];
        if (!eintrag)
            continue;
        if (eintrag.deleted != 0)
        	continue;
        if (intval(eintrag.besitzerid) != system['user']['id'])
        	continue; // damit die kauf produkte nicht hier fälchlicherweise angezeigt werden
        if (!eintrag.art || intval(eintrag.art) != art)
        	continue; // kein ticketpaylink und kein voucherpaylink
        a++;
        var atext = template;
        atext = atext.replace(/<#A>/g, a);            
        var datum = Date2Text(eintrag["start"]*1000);
        atext = atext.replace(/<#START>/g, datum);        
        datum = "-";
        if (eintrag["lastverkauf"] != 0)
            datum = Date2Text(eintrag["lastverkauf"]*1000);
        atext = atext.replace(/<#LASTVERKAUF>/g, datum);
        atext = atext.replace(/<#FILEURL>/g, fileurl+eintrag['id']+eintrag['idcode']);
		eintrag.DEEPLINK = "http://"+basics_url()+"d/p/"+trenneZahl(eintrag.id, "/")+eintrag.idcode+"/";		
        for (var akey in eintrag) {
            var rg = new RegExp('<#'+akey.toUpperCase()+'>', "g");
            atext = atext.replace(rg, eintrag[akey]);
        }
        if (eintrag['werkangaben'])
			for (var akey in eintrag['werkangaben']) {
	            var rg = new RegExp('<#TPL_'+akey.toUpperCase()+'>', "g");
	            atext = atext.replace(rg, eintrag['werkangaben'][akey]);
	        } 
		var sharercode = sellingtools_holeSharerlinks(dateien[key]);
		var sharertext = '';
		for(var a=0;a<sharercode.length;a++)
			sharertext += ' <a href="'+sharercode[a].url+'" title="'+sharercode[a].titel+'" target="_blank"><img height=30 src="bilder/'+sharercode[a].image+'"></a>';
		atext = atext.replace(/<#sharer>/, sharertext);
        btext += atext;
    }
    return btext;
}
function admin_TicketAnzeigen() {
    if (!isOpen())
		return InhaltZeigen('closing');
	if (!system['user'] || !system['user']['loggedin'])
		return admin_ProfilLaden(admin_TicketAnzeigen);
    if (!system["werke"])
        return admin_TicketHolen(true);
    WarteSymbolEinblenden();
    JSLaden("sellingtools");
	var template = TemplateLaden("admin_ticketzeile"); 
    var text = "";
    text += document.getElementById("admin_m_produkte").innerHTML;
    text += TemplateLaden("admin_ticketmenue");
    text += '<div id="admin_haupt">';
	text += TemplateLaden("admin_tickettabelle");
	text += '</div>';
    var btext = admin_setzeWerke(system['werke'], template, 3);
    text = text.replace(/##ZEILE##/g, btext);
    admin_setzeHaupt(text);
    WarteSymbolSchliessen();
}
function admin_isUserStatus(status) {
	status = intval(status);
	if (system['user']['status'] && system['user']['status'] == status)
		return true;
	return false;
}
function admin_setzeHaupt(text, elemname) {
	var bereich = "haupt";
	if (elemname)
		bereich = elemname
    setInhalt(bereich, text);
}
function admin_DateienInfoZeigen(id) {    
    if (!system['werke'] || !system['werke'][id])
        return false;               
    var eintrag = system["werke"][id];
    var text = TemplateLaden("admin_dateieninfobox");
    var url = 'http://'+basics_url()+'?id='+id+eintrag.Attribute['idcode'];
    text = text.replace(/<#URL>/g, url);
    for (var key in eintrag.Attribute) {    	
        var rg = new RegExp('<#_'+key.toUpperCase()+'>', "g");
		text = text.replace(rg, key);
        rg = new RegExp('<#'+key.toUpperCase()+'>', "g");
        var wert = eintrag.Attribute[key]; 
        switch (key.toUpperCase()) {
          case "START":
          case "LASTDOWNLOAD":
          case "LASTVERKAUF":
              if (intval(wert) > 0)
                wert = Date2Text(wert*1000);
        }
		text = text.replace(rg, wert);
    }
	text += '<hr><b>Files:</b>';
    // gehe über die Dateien und liste diese auf    
    var atext = "<ol>";
	for(var key in eintrag.Files) {
		var datei = eintrag.Files[key];
		atext += '<li>';
//		atext += '#'+datei.Attribute['id']+' <b><a href="#" onclick="admin_DateienDownloadLink('+eintrag.Attribute['id']+', '+key+');return false;">'+datei.Attribute['titel']+'</a></b> ('+datei.Attribute['filesize']+' KB) <img src="bilder/'+datei.Attribute['aktiv']+'.png"><br>';
		atext += '#'+datei.Attribute['id']+' <b>'+datei.Attribute['titel']+'</b> ('+number_format(datei.Attribute['filesize']/1000)+' KB) <img src="bilder/'+datei.Attribute['aktiv']+'.png"><br>';
		atext += Date2Text(datei.Attribute['start']*1000)+'<br>';
		atext += 'Download: '+datei.Attribute['downloadanzahl']+' '+Date2Text(datei.Attribute['lastdownload']*1000);
    	// gehe über die Links und liste diese auf
    	atext += '<br>Links:';
		atext += '<ol>';
		for (var a=0;a<datei.Links.length;a++) {
			var link = datei.Links[a];
			atext += '<li>';
			atext += '#'+link['id']+' <b>'+link['filename']+'</b> <img src="bilder/'+link['aktiv']+'.png"><br>';
			atext += Date2Text(link['start']*1000)+'<br>';
			atext += 'Download: '+link['downloadanzahl']+' '+Date2Text(link['lastdownload']*1000);
			if (link['nondpl'] == 1) {
				atext += '<br>RSACCOUNTID: '+link['rsaccountid']+'<br>';
				atext += 'RSFILEID: '+link['rsfileid']+'<br>';
				atext += 'RSKILLCODE: '+link['rskillcode'];
			}
			atext += '</li>';
		}
		atext += '</ol>';
		atext += '</li>';
	}
	atext += '</ol>';
	text += atext;
    InfoBoxZeigen2(text);
}
function admin_DateienDLInfoZeigen(id) {
    if (!system['werke'] || !system['werke'][id])
        return false;
    WarteSymbolEinblenden();
    var url = system['apiurl'] + admin_getURLLogin()+'a=6&data[id]='+id;
    apicall(url, function(h) {
            WarteSymbolSchliessen();
            if (!checkResponse(h.responseText))
                return false;
            var eintrag = system["werke"][id];
            eintrag['dlhistory'] = h.object;
			system["werke"][id] = eintrag; 
            var template = TemplateLaden("admin_dateiendlinfobox");
            var text = "";
			for (var a=0;a<eintrag['dlhistory'].length;a++) {
				var atext = template;
				atext = atext.replace("<#a>", a+1);
				var werte = eintrag['dlhistory'][a];
				werte['files_titel'] = "no filename";
				if (eintrag.Files[werte['fileid']])
					werte['files_titel'] = eintrag.Files[werte['fileid']].Attribute['titel'];
				werte['files_start'] = "-";
				if (eintrag.Files[werte['fileid']])
					werte['files_start'] = eintrag.Files[werte['fileid']].Attribute['start'];
				for (var key in werte) {
                    var wert = werte[key];
                    switch (key.toUpperCase()) {
                      case "START":
                      case "FILES_START":
                      case "LASTDOWNLOAD":
                      case "LASTVERKAUF":
                          if (intval(wert) > 0)
                            wert = Date2Text(wert*1000);
                    }
                    atext = atext.replace("<#"+key.toUpperCase()+">", wert);
				}
				text += atext;
			}			
            InfoBoxZeigen2(text);
        });    
}
function admin_DateienEditMachen(formular) {
    var eintrag = system['werke'][formular.elements.id.value].Attribute;
    var werte = new Array("id", "titel", "preis", "returnurlok", "returnurlcancel", "infotag", "maxanzahl", "werkid_rsent", "beschreibung", "kd_info");
    var checkboxen = new Array("aktiv", "sichtbar", "minpreis", "sf_aktiv", "sf_email", "sf_name", "sf_surname", "sf_address", "sf_street", "sf_land", "sf_fon", "sf_fax", "sf_size", "sf_color", "sf_comment");
    var werkangaben = ["tpl_preview_ok"];
    var pflicht = new Array("id", "titel", "preis");
    var str = "";
    for (var a=0;a<werte.length;a++) {
        var key = werte[a];
        if (!formular.elements[key])
        	continue;
        formular.elements[key].value = trim(formular.elements[key].value);
        if (inArray(pflicht, key) && formular.elements[key].value == "") {
            formular.elements[key].focus();
            return false;
        }
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(formular.elements[key].value);
    }
    for (var a=0;a<checkboxen.length;a++) {
        var key = checkboxen[a];
        if (!formular.elements[key])
            continue;
        var value = 0;
        if (formular.elements[key].checked)
            value = 1;         
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(value);
    }
    var categories = "";
    for (var a=0;a<formular.elements.length;a++) {
    	var el = formular.elements[a];    	
    	if (!el.type || el.type.toLowerCase() != "checkbox" || !el.checked || el.name.substr(0,4) != "cat_")
    		continue;
    	categories += intval(el.name.substr(4))+",";
	}
	str += '&data[kategorien]='+encodeURIComponent(categories);
	eintrag.art = intval(eintrag.art);
    if (formular.elements["tpl_spezialart"] || eintrag.art == 3 || eintrag.art == 4) {
		if (eintrag.art == 3 || eintrag.art == 4)
        	werkangaben.push("tpl_start", "tpl_stop", "tpl_buyernotice", "tpl_kondition", "tpl_wert", "tpl_land", "tpl_stadt", "tpl_location", "tpl_strasse");
    	// spezialarten sind normale filepaylinks mit angepasster produkinformationen, um use case besser abzubilden
    	switch (formular.elements["tpl_spezialart"].value) {
    		case "ebook":
    			//werkangaben = new Array("spezialart", "tpl_productinfo");
    			werkangaben.push("tpl_spezialart");
    			break;
		}
	}
    for (var a=0;a<werkangaben.length;a++) {
        var key = werkangaben[a];
        if (!formular.elements[key])
            continue;
    	var name = key.substr(4)
    	var wert = trim(formular.elements[key].value);
    	if (formular.elements[key].type.toLowerCase() == "checkbox" && !formular.elements[key].checked)
    	   wert = 0;
    	str += '&data[wa]['+encodeURIComponent(name)+']='+encodeURIComponent(wert);
    }
	admin_scrollto(1,1);
    WarteSymbolEinblenden();
    var url = system['apiurl'] + admin_getURLLogin();
    url += 'a=5'+str;
    apicall(url, function(h) {
        WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;
		if (eintrag.art == 1)
			admin_MoneyHolen();
		else if (eintrag.art == 3)
			admin_TicketHolen();
		else if (eintrag.art == 4)
			admin_VoucherHolen();
		else		                
        	admin_DateienHolen(); // sollte aber ohne komplettes neuladen sein. vorerst so.
        InfoBoxSchliessen();                
    });       
}
function admin_DateienEditMaske(id, nobox) {
    if (!system['werke'])
        return false;
    if (!system['werke'][id])
        return false;
    var eintrag = system['werke'][id].Attribute;
    var text = "";
	var tempname = "admin_dateienmaskeaendern";    
    switch(intval(eintrag.art)) {
        case 3:
        	tempname = "admin_ticketmaskeaendern";
        	break;
        case 4:
        	tempname = "admin_vouchermaskeaendern";
        	break;
        default:
        	if (eintrag.werkangaben && eintrag.werkangaben.spezialart) {
        		tempname += "_"+eintrag.werkangaben.spezialart;
			}
    }
    text= TemplateLaden(tempname);
    eintrag.filesize = 0;
    for (var key in system['werke'][id].Files) {
    	eintrag.filesize += intval(system['werke'][id].Files[key].Attribute['filesize']);
	}
    for (var key in eintrag) {    	
        var rg = new RegExp('<#'+key.toUpperCase()+'>', "g");        
        text = text.replace(rg, eintrag[key]);
        rg = new RegExp('<#'+key.toUpperCase()+'CHECKED>', "g");        
        var checked = "";
        if (intval(eintrag[key]) == 1)
        	checked = "checked";
        text = text.replace(rg, checked);
    }
    var kundenfragen = new Array('sf_aktiv',"sf_email", "sf_name", "sf_surname", "sf_address", "sf_street", "sf_land", "sf_fon", "sf_fax", "sf_size", "sf_color", "sf_comment");
    for (var a=0;a<kundenfragen.length;a++) {
      var checked = "";
      if (eintrag.kundenfragen && eintrag.kundenfragen[kundenfragen[a]] && intval(eintrag.kundenfragen[kundenfragen[a]]) == 1)
        checked = " checked ";
      var rg = new RegExp('<#'+kundenfragen[a].toUpperCase()+'CHECKED>', "g");        
      text = text.replace(rg, checked);
    }
    var sf_aktivdisplay = "none";
    if (eintrag.kundenfragen && eintrag.kundenfragen['sf_aktiv'] && intval(eintrag.kundenfragen['sf_aktiv']) == 1)  
		sf_aktivdisplay = "block";
    text = text.replace(/<#SF_AKTIVDISPLAY>/, sf_aktivdisplay);
    eintrag.art = intval(eintrag.art);
    for (var key in eintrag.werkangaben) {
		var rg = new RegExp('<#TPL_'+key.toUpperCase()+'>', "g");
		text = text.replace(rg, eintrag.werkangaben[key]);
        rg = new RegExp('<#TPL_'+key.toUpperCase()+'CHECKED>', "g");        
        var checked = "";
        if (intval(eintrag.werkangaben[key]) == 1)
        	checked = "checked";
        text = text.replace(rg, checked);
    }
   	// altlasten und falsche tags entfernen
   	text = text.replace(/<#[^>]+>/g, "");
	var tteile = ermittelTitelAusText(text);
	if (nobox)
		admin_setzeHaupt(tteile[0]+tteile[1], "admin_haupt");
	else    
    	InfoBoxZeigen2(tteile[1], null, true, tteile[0]);
    document.getElementById("form_desc").value = eintrag.beschreibung;
    if (admin_isUserStatus(1) && eintrag.art && eintrag.art == 0)
    	document.getElementById(eintrag.id+"_werkid_rsent").style.display = "block";
    if (eintrag.art == 3|| eintrag.art == 4) {
		admin_LadeLaenderListe("tpl_land", eintrag.werkangaben['land']);	
    } else {
		var url = getDatenUrl()+"d/categories.js";
	 	apicall(url, function(h) {
			var cats = h.object;
			var template = '<input type=checkbox name="cat_<#ID>" <#CHECKED>> <#TITEL><br>';
			var atext = ""; 
			var eintrag = system['werke'][id];
			for (var a=0;a<cats.length;a++) {
				var btext = template;
				btext = btext.replace(/<#ID>/g, cats[a].id);
				var titel = cats[a].name;
				if (system['TEMPLATES'] && system['TEMPLATES']['admin_dateienmaskeaendern'] && system['TEMPLATES']['admin_dateienmaskeaendern'][system['sprache']] && system['TEMPLATES']['admin_dateienmaskeaendern'][system['sprache']]['sprachteile']['CAT_'+cats[a].id])
					titel = system['TEMPLATES']['admin_dateienmaskeaendern'][system['sprache']].sprachteile['CAT_'+cats[a].id];                                            
				btext = btext.replace(/<#TITEL>/g, titel);
				var checked = "";
				if (inArray(eintrag.Categories, cats[a].id))
					checked = "checked";
				btext = btext.replace(/<#CHECKED>/, checked);
				atext += btext;
			}
			document.getElementById("f_cat_inhalt").innerHTML = atext;
			document.getElementById("f_cat_eingabe").style.display = "block";		
		});
	}      
}
function admin_DateienFilesEditListe(id) {
    if (!system['werke'] || !system['werke'][id])
        return false;
    var eintrag = system['werke'][id];
    // sonst eben neu angelegt, check erfolgt nochmal beim speichern
    if (eintrag.notreadyyet) {
    	InfoBoxZeigen2('<div style="text-align:center;"><img src="bilder/progress_wheel.gif"></div>');
    	return window.setTimeout("admin_DateienFilesEditListe('"+id+"')", 2000);
    }
    var template = TemplateLaden("admin_dateienfilesliste")
    var user_status = "none";
    if (admin_isUserStatus(1))
    	user_status = "inline";
    template = template.replace(/<#user_status>/g, user_status);
    document.getElementById("tmp_template").innerHTML = template;
    var template_files = document.getElementById("admin_dateienfilesliste_files").innerHTML;
	var text = template;
	var atext = "";
	var zaehler = 0;
	for (var key in eintrag.Files) {
		zaehler++;
		var btext = template_files;
		btext = btext.replace("#A#", zaehler);
		for (var akey in eintrag.Files[key].Attribute) {
			var wert = eintrag.Files[key].Attribute[akey]; 
			if (akey == "start")
				wert = Date2Text(wert*1000);
			var rg = new RegExp('#'+akey+'#', "g");
			btext = btext.replace(rg, wert);
		}
        var fs = basics_filesize2Text(eintrag.Files[key].Attribute['filesize']);
		btext = btext.replace(/#FILESIZE_COMPLETE#/g, number_format(fs.size)+" "+fs.unit);
		btext = btext.replace(/#FILEID#/g, key);
		atext += btext;
	}	  
	text = text.replace("<#ZEILEN>", atext);
	text = text.replace(/#WERKID#/g, id);
    InfoBoxZeigen2(text, null, true, document.getElementById("admin_dateienfilesliste_titel").innerHTML);
}
function admin_DateienFiledEditMaske(werkid, fileid) {
    if (!system['werke'] || !system['werke'][werkid])
        return false;
    var eintrag = system['werke'][werkid];
	var file = null; 
    if (fileid == 0) {
	    if (admin_ZuvieleFiles(eintrag))
	    	return alert(GlobalerText("zuvielefiles"));	
    	file = {"Attribute":{"id":0, "titel":"", "aktiv":1}};
	} else {
		file = eintrag.Files[fileid];    		
		if (!file)
			return false;
	}	
    var template = TemplateLaden("admin_dateienfileslisteMaske");
	template = template.replace(/#WERKID#/g, werkid);
	template = template.replace(/#FILEID#/g, fileid);
    document.getElementById("tmp_template").innerHTML = template;
	var titel = '';
	if (fileid == 0)
		titel = document.getElementById("admin_dateienfileslistemasketitel2").innerHTML;
	else
		titel = document.getElementById("admin_dateienfileslistemasketitel").innerHTML;
	var text = '';
	text = template;
	for (var key in file.Attribute)
		text = text.replace("#"+key+"#", file.Attribute[key]);
	var aktivcheck = "";
	if (file.Attribute['aktiv'] == 1)
		aktivcheck = "checked";
	text = text.replace(/#aktivcheck#/g, aktivcheck);
	InfoBoxZeigen2(text, "admin_DateienFilesEditListe("+werkid+")", true, titel);		
}
function admin_DateienFiledEditMachen(formular, werkid, fileid) {
    if (!system['werke'] || !system['werke'][werkid])
        return false;
    var eintrag = system['werke'][werkid];
	var file = null; 
	var para_a = 17;
	var nondpl = 0;
	if (fileid == 0) {
		para_a = 16;
		nondpl = 1;
	} else {
		file = eintrag.Files[fileid];
		if (!file)
			return false;
	}
	var aktiv = ((formular.elements['data[aktiv]'].checked)?1:0);
	var titel = trim(formular.elements["data[titel]"].value);
	if (titel == "") {
		alert(GlobalerText("darfnichtleersein"));
		return false;
	}		
	WarteSymbolEinblenden();
	var url = system['apiurl'] + admin_getURLLogin() + "a="+para_a;
	url += '&data[nondpl]='+nondpl+'&data[werkid]='+encodeURIComponent(werkid)+"&data[titel]="+encodeURIComponent(titel)+"&data[aktiv]="+encodeURIComponent(aktiv)+"&data[fileid]="+encodeURIComponent(fileid);
	apicall(url, function (h) {
		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;	    
	    var nfileid = intval(h.responseText);
	    if (fileid == 0) {
	    	if (!system['TMP'] || !system['TMP']['admin_DateienFiledEditMaskeLinkAfterNew'])
	    		system['TMP'] = {'admin_DateienFiledEditMaskeLinkAfterNew':{}};
			system['TMP']['admin_DateienFiledEditMaskeLinkAfterNew']['werkid'] = werkid; 
			system['TMP']['admin_DateienFiledEditMaskeLinkAfterNew']['fileid'] = nfileid;
		    admin_WerkeHolen(admin_DateienFiledEditMaskeLinkAfterNew);
		} else {
		      // vorbelegen, da manchmal wegen timing die infos zu spät kommen
		    eintrag.Files[fileid].Attribute.aktiv = aktiv; 
		    eintrag.Files[fileid].Attribute.titel = titel; 
			admin_DateienHolen();
		    admin_DateienFilesEditListe(werkid);
		}
	});
}
function admin_DateienFiledEditMaskeLinkAfterNew() {
	var werkid = system['TMP']['admin_DateienFiledEditMaskeLinkAfterNew']['werkid']; 
	var fileid = system['TMP']['admin_DateienFiledEditMaskeLinkAfterNew']['fileid'];
	admin_DateienFiledEditMaskeLink(werkid, fileid, 0); 
} 
function admin_DateienFiledEditMaskeLink(werkid, fileid, linkid) {
    if (!system['werke'] || !system['werke'][werkid])
        return false;
    var eintrag = system['werke'][werkid];
	var link = null; 
    if (linkid == 0) {
	    if (admin_ZuvieleLinks(eintrag, fileid))
	    	return alert(GlobalerText("zuvielelinks"));
    	link = {"rsaccountid":"", "filename":"", "rsfileid":"", "rskillcode":"", "filesize":0};
	} else {
	    for (var a = 0;a<eintrag.Files[fileid].Links.length;a++) {
	    	if (linkid == eintrag.Files[fileid].Links[a]['id']) {
	    		link = eintrag.Files[fileid].Links[a];
				break; 
			}
		}
		if (!link)
			return false;
		if (link['nondpl'] != 1)
			return false;
		link.filesize = eintrag.Files[fileid].Attribute['filesize'];
	}	
    var template = TemplateLaden("admin_dateienfileslisteMaskeLink");
    document.getElementById("tmp_template").innerHTML = template;
	var titel = '';
	if (linkid == 0)
		titel = document.getElementById("admin_dateienfileslistemasketitel2").innerHTML;
	else
		titel = document.getElementById("admin_dateienfileslistemasketitel").innerHTML;
	var text = '';
	text = template;
	for (var key in link)
		text = text.replace("#"+key+"#", link[key]);
	text = text.replace(/#WERKID#/g, werkid);
	text = text.replace(/#FILEID#/g, fileid);
	text = text.replace(/#LINKID#/g, linkid);
	titel = titel.replace(/#LINKID#/g, linkid);
	InfoBoxZeigen2(text, "InfoBoxSchliessen();admin_DateienFilesEditListe("+werkid+")", true, titel);		
}
function admin_DateienFiledEditMachenLink(formular, werkid, fileid, linkid) {
    if (!system['werke'] || !system['werke'][werkid])
        return false;
    var eintrag = system['werke'][werkid];
	var link = null; 
	var para_a = 14;
	var nondpl = 0;
	if (linkid == 0) {
		para_a = 15;
		nondpl = 1;
	} else {
	    for (var a = 0;a<eintrag.Files[fileid].Links.length;a++) {
	    	if (linkid == eintrag.Files[fileid].Links[a]['id']) {
	    		link = eintrag.Files[fileid].Links[a];
				break; 
			}
		}
		if (!link)
			return false;
		if (link['nondpl'] != 1)
			return false;
	}
	var rsaccountid = trim(formular.elements["data[rsaccountid]"].value);
	var rsfilename = trim(formular.elements["data[filename]"].value);
	var rsfileid = trim(formular.elements["data[rsfileid]"].value);
	var rskillcode = trim(formular.elements["data[rskillcode]"].value);
	var rsfilesize = trim(formular.elements["data[filesize]"].value);
	if (rsaccountid == "" || rsfilename == "" || rsfileid == "" || rskillcode == "") {
		alert(GlobalerText("darfnichtleersein"));
		return false;
	}		
	WarteSymbolEinblenden();
	var url = system['apiurl'] + admin_getURLLogin() + "&a="+para_a;
	url += '&data[nondpl]='+nondpl+'&data[werkid]='+encodeURIComponent(werkid)+"&data[rsaccountid]="+encodeURIComponent(rsaccountid)+"&data[rsfilename]="+encodeURIComponent(rsfilename)+"&data[rsfileid]="+encodeURIComponent(rsfileid)+"&data[rskillcode]="+encodeURIComponent(rskillcode)+"&data[rsfilesize]="+encodeURIComponent(rsfilesize)+"&data[fileid]="+encodeURIComponent(fileid)+"&data[linkid]="+encodeURIComponent(linkid);
	apicall(url, function (h) {
		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;                
	    admin_DateienHolen();
		alert(GlobalerText("gespeichert"));
	    admin_DateienFilesEditListe(werkid);
	});
}
function admin_deleteFile(werkid, fileid) {
    if (!system['werke'] || !system['werke'][werkid])
        return false;
/*
    if (system['werke'][werkid].Attribute['lastverkauf'] && intval(system['werke'][werkid].Attribute['lastverkauf']) > 0)
    	return alert(GlobalerText("cannotbeexpr"));
*/
	var wert = confirm(GlobalerText("loeschfrage"));
	if (wert == false)
		return false;
    var eintrag = system['werke'][werkid];		
	delete (eintrag.Files[fileid]);
	admin_DateienFilesEditListe(werkid);			
//	WarteSymbolEinblenden();
	var url = system['apiurl'] + admin_getURLLogin() + "a=18";
	url += '&data[werkid]='+encodeURIComponent(werkid)+"&data[fileid]="+encodeURIComponent(fileid);
	apicall(url, function (h) {
//		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;                
//		admin_DateienHolen();
//		admin_DateienFilesEditListe(werkid);			
	});
}
function admin_deleteLink(werkid, fileid, linkid) {
    if (!system['werke'] || !system['werke'][werkid])
        return false;
    if (system['werke'][werkid].Attribute['lastverkauf'] && intval(system['werke'][werkid].Attribute['lastverkauf']) > 0)
    	return alert(GlobalerText("cannotbeexpr"));
	var wert = confirm(GlobalerText("loeschfrage"));
	if (wert == false)
		return false;		
	WarteSymbolEinblenden();
	var url = system['apiurl'] + admin_getURLLogin() + "a=13";
	url += '&data[werkid]='+encodeURIComponent(werkid)+"&data[fileid]="+encodeURIComponent(fileid)+"&data[linkid]="+encodeURIComponent(linkid);
	apicall(url, function (h) {
		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;                
		//admin_DateienHolen();
		alert(GlobalerText("geloescht"));
	    for (var a = 0;a<system['werke'][werkid].Files[fileid].Links.length;a++) {
	    	if (linkid == system['werke'][werkid].Files[fileid].Links[a]['id']) {
	    		system['werke'][werkid].Files[fileid].Links[a] = null;
				break; 
			}
		}
		admin_DateienFilesEditListe(werkid);			
	});
}
function admin_DateienLoeschen(id) {
    if (!system['werke'] || !system['werke'][id])
        return false;
    if (confirm(GlobalerText("loeschfrage"))) {
        admin_DateienLoeschenMachen(id);
        var elem = document.getElementById("zeile_"+id);
        if (elem && elem.style) {
            elem.style.display = "none";
            // wenn updates auch auf tabellendesign benötigt wird, dann muss das untenstehende auch gemacht werden
        } else {            
            var eintrag = system['werke'][id]['Attribute'];
            var art = 0;
            if (eintrag.art)
                art = intval(eintrag.art);
            delete (system['werke'][id]);
            switch (art) {
                case 4: // voucher
                    admin_VoucherAnzeigen();
                    break;
                case 3: // tickets
                    admin_TicketAnzeigen();
                    break;
                default:
                    admin_DateienAnzeigen();
            }
        }
    }
}
function admin_DateienLoeschenMachen(id) {
    if (!system['werke'])
        return false;
    if (!system['werke'][id])
        return false;
    var url = system['apiurl'] + admin_getURLLogin();
	url += "a=4&data[id]="+encodeURIComponent(id);    
    apicall(url, function(h) {
        if (!checkResponse(h.responseText))
            return false;        
        //admin_DateienHolen();                                                                     
    }, function () {admin_DateienLoeschenMachen(id);} 
	);
    return true;
}
function admin_DateienNeuMachen(formular) {
    var werte = new Array("titel", "preis", "returnurlok", "returnurlcancel", "infotag", "maxanzahl", "nondpl", "werkid_rsent", "beschreibung", "kd_info");
    var checkboxen = new Array("aktiv", "sichtbar", "minpreis", "sf_aktiv", "sf_email", "sf_name", "sf_surname", "sf_address", "sf_street", "sf_land", "sf_fon", "sf_fax", "sf_size", "sf_color", "sf_comment");
    var werkangaben = ["tpl_preview_ok"]; // benötigen 4 stellen am anfang, da diese entfernt werden
    var pflicht = new Array("titel", "preis");
    var str = "";
    for (var a=0;a<werte.length;a++) {
        var key = werte[a];
        if (!formular.elements[key])
            continue;
        formular.elements[key].value = trim(formular.elements[key].value);        
        if (inArray(pflicht, key) && formular.elements[key].value == "") {
            formular.elements[key].focus();
            return false;
        }
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(formular.elements[key].value);
    }
    for (var a=0;a<checkboxen.length;a++) {
        var key = checkboxen[a];
        if (!formular.elements[key])
            continue;
        var value = 0;
        if (formular.elements[key].checked)
            value = 1;         
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(value);
    }
    if (formular.elements["tpl_spezialart"]) {
    	// spezialarten sind normale filepaylinks mit angepasster produkinformationen, um use case besser abzubilden
    	switch (formular.elements["tpl_spezialart"].value) {
    		case "ebook":
    			//werkangaben = new Array("spezialart", "tpl_productinfo");
    			werkangaben.push("tpl_spezialart");
    			break;
		}
	}
    // extra felder für die werkangabe zusammenfassen
    for (var a=0;a<werkangaben.length;a++) {
        var key = werkangaben[a];
        if (!formular.elements[key])
            continue;
    	var name = key.substr(4)
    	var wert = trim(formular.elements[key].value);
    	if (formular.elements[key].type.toLowerCase() == "checkbox" && !formular.elements[key].checked)
    	   wert = 0;
    	str += '&data[wa]['+encodeURIComponent(name)+']='+encodeURIComponent(wert);
    }		
	admin_scrollto(1,1);
    WarteSymbolEinblenden();
    var url = system['apiurl'] + admin_getURLLogin();
    url += 'a=3'+str;
    apicall(url, function(h) {
		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;
		var werkid = h.responseText.match(/\d*/)[0];                 
        system['werke'][werkid] = {'notreadyyet':true}; // damit bei einem Zeitproblem, dennoch die uploadmaske gezeigt wird
		admin_DateienHolen();       
        admin_DateienFilesEditListe(werkid); // zeige fileupload maske
        //admin_DateiQuickInfoZeigen(werkid); // next steps anbieten
	});
}
function admin_FileUploadMaske(werkid) {
    if (!system['werke'] || !system['werke'][werkid])
        return false;
    var produkt = system['werke'][werkid];
    if (!produkt)
        return false;
    if (admin_ZuvieleFiles(produkt))
    	return alert(GlobalerText("zuvielefiles"));	
	var text = TemplateLaden("admin_fileupload");
    for (var key in produkt['Attribute']) {
        var rg = new RegExp('<#'+key.toUpperCase()+'>', "g");
        text = text.replace(rg, produkt['Attribute'][key]);
	}   	
	text = text.replace(/<#host>/, window.location.hostname);
	text = text.replace(/<#user_sessionid>/, system['user']['sessionid']);
	InfoBoxZeigen2(text, "admin_DateienHolen();admin_DateienFilesEditListe("+werkid+")", true);		
}
function admin_FileUploadSpeichern(form){
	if (form.elements['userfile'].value == "")	
		return form.elements['userfile'].click();
	var werkid = intval(form.elements['data[werkid]'].value);
	var produkt = system['werke'][werkid];
	if (!produkt)
		return false;
	var url = getDatenUrl()+"d/us.js";
    apicall(url, function(h){
    	var uurl = "uploadserver.php";
    	var uploadserver = h.object;    	
    	var server = system['upload_server']; //default uploadserver
    	// ermittel den uploadserver
    	// sind server aus der JSON datei vorhanden? dann nimm diese
		if (uploadserver && uploadserver.length > 0)
			server = uploadserver;  
		if (server && server.length && server.length > 0) {
			var zufallpos = Math.round(Math.random()*(server.length-1));
		    if(server[zufallpos]) {
		    	uurl = server[zufallpos];
			} 
		}         		
		// setze action url ein 
		form.action = uurl; 
		// sende eingabemaske in das Iframe mit dem Bild
		document.getElementById("upload_div1").style.display="none";
		document.getElementById("upload_div2").style.display="block";
	    form.submit();
	
		// speicher die aktuelle info der uploads für den späteren vergleich
		system['TEMP_UPLOAD_WERK'] = produkt.Files;
		// prüfe ob upload fertig 				
		admin_FileUploadPollExists(werkid);   	
    }, function(){
           alert(GlobalerText("nodata"));
           InfoBoxSchliessen();
	});		
}
function admin_FileUploadPollExists(werkid, produkt) {
	if (!document.getElementById("upload_div2") || !document.getElementById("upload_div1") || document.getElementById("fuform").elements['aborted'].value == "1")
		return;
	if (!produkt) {
		var produkt = system['werke'][intval(werkid)];
		if (!produkt)
			return false;
		DateienHolenById(""+produkt['Attribute']['id']+produkt['Attribute']['idcode'], admin_FileUploadPollExists, true, null);
	} else {
		// prüfe alte files bestand, ob neuer file hinzugekommen ist
		var oldfiles = system['TEMP_UPLOAD_WERK'];
		var neufiles = produkt.Files;
		var neuesfileda = false;
		for (var key in neufiles){			
			if (oldfiles[key])
				continue;  //war schon vorhanden
			neuesfileda = true;
			break;
		}
		if (neuesfileda) {
			// zeige Dateienliste
			admin_DateienFilesEditListe(intval(produkt.Attribute['id']));
		} else {
			// weiter warten
			window.setTimeout("admin_FileUploadPollExists('"+werkid+"')", 2000);
		}
	}
}
function admin_ZuvieleLinks(eintrag, fileid) {
	if (eintrag.Files[fileid].Links.length >= system['max']['maxlinks'])
		return true;
	return false;	
}
function admin_ZuvieleFiles(eintrag) {
	var zaehler = 0;
	for (var key in eintrag.Files)
		zaehler++; 
	if (zaehler >= system['max']['maxfiles'] && intval(system['user']['status']) < 1)
		return true;
	return false;	
}
function admin_LinkUploadMaske(werkid, fileid) {
    if (!system['werke'] || !system['werke'][werkid])
        return false;
    var eintrag = system['werke'][werkid];
    if (admin_ZuvieleLinks(eintrag, fileid))
    	return alert(GlobalerText("zuvielelinks"));
	var text = TemplateLaden("admin_linkupload");
	text = text.replace("#WERKID#", werkid);	
	text = text.replace("#FILEID#", fileid);	
	InfoBoxZeigen2(text, "InfoBoxSchliessen();admin_DateienFilesEditListe("+werkid+")", true);		
}
function admin_LinkUploadFertig(objekt) {
	var werkid = intval(document.getElementById("upload_werkid").innerHTML);
	var fileid = intval(document.getElementById("upload_fileid").innerHTML);
	if (werkid < 1 || fileid < 1) {
		alert(document.getElementById("fehlerMSG2").innerHTML);
		InfoBoxSchliessen();
		admin_DateienHolen();		
		return false;
	}		
    if (objekt.filename == "" || objekt.fileid == "" || objekt.killcode == "") {        
        alert(document.getElementById("fehlerMSG1").innerHTML);
        admin_DateienFilesEditListe(werkid);  
        return false;      
    }
	WarteSymbolEinblenden();	
	var url = system['apiurl'] + admin_getURLLogin() + "a=15";
	url += '&data[werkid]='+encodeURIComponent(werkid)+'&data[fileid]='+encodeURIComponent(fileid);
	url += '&data[rsfileid]='+encodeURIComponent(objekt.fileid);	
	url += '&data[rskillcode]='+encodeURIComponent(objekt.killcode);	
	url += '&data[rsfilename]='+encodeURIComponent(objekt.filename);	
	url += '&data[rsfilesize]='+encodeURIComponent(objekt.filesize);	
	url += '&data[nondpl]=0';	
	apicall(url, function(h) {
		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;                
		alert(GlobalerText("gespeichert"));
	    admin_DateienHolen(); // zum nachträglichen richtigen aktualisieren
	    admin_DateienFilesEditListe(werkid);
	});
}
function admin_DateienNeuUploadFertig(objekt) {
    if (objekt.filename == "" || objekt.fileid == "" || objekt.killcode == "") {        
        alert(document.getElementById("fehlerMSG1").innerHTML);
        admin_DateienNeuMaske();  
        return false;      
    }
    document.getElementById("uploadbox").style.display = "none";      
    var formular = document.forms['dateieingabe'];              
    formular.elements['rsaccountid'].value = 0;
    formular.elements['rsfileid'].value = objekt.fileid;
    formular.elements['rskillcode'].value = objekt.killcode;
    formular.elements['filename'].value = objekt.filename;
    formular.elements['filesize'].value = objekt.filesize;
    formular.elements['titel'].value = DateinameHolenOhneSuffix(objekt.filename);
    document.getElementById("datenbox").style.display = "block";
}
function admin_MoneyNeuMachen(formular) {
    var werte = new Array("titel", "preis", "returnurlok", "returnurlcancel", "infotag", "maxanzahl", "beschreibung");
    var checkboxen = new Array("aktiv", "sichtbar", "minpreis", "sf_aktiv", "sf_email", "sf_name", "sf_surname", "sf_address", "sf_street", "sf_land", "sf_fon", "sf_fax", "sf_size", "sf_color", "sf_comment");
    var pflicht = new Array("titel", "preis");
    var str = "";
    for (var a=0;a<werte.length;a++) {
        var key = werte[a];
        if (!formular.elements[key])
            continue;
        formular.elements[key].value = trim(formular.elements[key].value);        
        if (inArray(pflicht, key) && formular.elements[key].value == "") {
            formular.elements[key].focus();
            return false;
        }
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(formular.elements[key].value);
    }
    for (var a=0;a<checkboxen.length;a++) {
        var key = checkboxen[a];
        if (!formular.elements[key])
            continue;
        var value = 0;
        if (formular.elements[key].checked)
            value = 1;         
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(value);
    }
    admin_scrollto(1,1);
    WarteSymbolEinblenden();
    var url = system['apiurl'] + admin_getURLLogin();
    url += 'a=3&data[art]=1'+str;
    apicall(url, function(h) {
		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;
		var werkid = h.responseText.match(/\d*/)[0];                 
        admin_MoneyHolen();
		alert(GlobalerText("gespeichert"));
        InfoBoxSchliessen();                
	});
}
function admin_MoneyNeuMaske() {
    var text = TemplateLaden("admin_moneymaskeneu");
	var tteile = ermittelTitelAusText(text);	
//    InfoBoxZeigen2(tteile[1], null, true, tteile[0]);
	admin_setzeHaupt(text, "admin_haupt");  
    //window.location.href = "#a_dateieingabe";
    document.forms.dateieingabe.titel.focus();
}
function admin_DatePickerZeigen(elem) {
	JSLaden("rich_calendar");
    var cal = new RichCalendar();
    cal.sprache = system['sprache'];
    cal.show_time = true;
    cal.parse_date(elem.value, "%d.%m.%Y %H:%i");
    cal.show_at_element(elem, "adj_left-bottom");
}
function admin_DateienNeuMaskeNONDPL() {
    var werkid_zeigen = "none";
    if (admin_isUserStatus(1))
    	werkid_zeigen = "block";
	text = text.replace(/<#werkid_zeigen>/g, werkid_zeigen);
	var tteile = ermittelTitelAusText(text);	
    InfoBoxZeigen2(tteile[1], null, true, tteile[0]);
    ///window.location.href = "#a_dateieingabe";
    document.forms.dateieingabe.rsaccountid.focus();
}
function admin_DateienNeuMaske(art) {
    var tempname = "admin_dateienmaskeneu"; 
	if (art) {
		tempname += "_"+art;
	}
    var text = TemplateLaden(tempname);
	var tteile = ermittelTitelAusText(text);	
    //InfoBoxZeigen2(tteile[1], null, true, tteile[0]);
    admin_setzeHaupt(text, "admin_haupt");
}
function admin_PWAendernMaske() {
    var text = TemplateLaden("admin_pwmaske");
    InfoBoxZeigen2(text, null, true);
}
function admin_PWAendernMachen(formular) {
    var pw = trim(formular.elements['data[pw]'].value);
    if (pw == "")
        return;
    var pw2 = trim(formular.elements['data[pw2]'].value);
    if (pw != pw2) {
        alert(document.getElementById("fehlerMSG1").innerHTML);
        formular.elements['data[pw2]'].value = "";
        formular.elements['data[pw]'].select();
        formular.elements['data[pw]'].focus();
        return;
    }
    if (pw == system['user']['pw']) {
        alert(document.getElementById("fehlerMSG2").innerHTML);
        formular.elements['data[pw2]'].value = "";
        formular.elements['data[pw]'].select();
        formular.elements['data[pw]'].focus();
        return;
    }
    WarteSymbolEinblenden();
    var url = system['apiurl'] + admin_getURLLogin();
    url += "a=8&data[art]=password&data[wert]="+encodeURIComponent(pw);
    apicall(url, function(h) {
        WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;
        system['user']['idcodelogin'] = false;
        system['user']['pw'] = pw;
        admin_ProfilLaden(InfoBoxSchliessen);
        alert(document.getElementById("fehlerMSG3").innerHTML);
    });
}
function admin_StatsZeigen(filter_productid) {
	if (!system['user'] || !system['user']['profilgeladen'])
		return admin_ProfilLaden(admin_StatsZeigen); // sich selbst nochmal aufrufen , wenn user daten geladen
    WarteSymbolEinblenden();
    if (!system['werke']){
        admin_WerkeHolen(admin_StatsZeigen);
        return;   
    }
    admin_setzeHaupt(TemplateLaden("admin_stats").replace("<#RAPIDCOINS>",  number_format(system['user']['rapidcoins'],2,",")));
    system['buchungen'] = new Array();
    var url = system['apiurl'] + admin_getURLLogin();
    url += "a=9";
    apicall(url, function(h) {
        WarteSymbolSchliessen();
        if (!admin_checkResponseWithLogin(h.responseText))
            return false;
        system['buchungen'] = h.object['buchungen'];
        system['buchungen_PayoutTageBlock'] = intval(h.object['buchungen_PayoutTageBlock']);
        admin_BuchungenZeigen(filter_productid);
    }, function () {admin_StatsZeigen(filter_productid);}, 10000 
	);
}
function admin_BuchungenZeigen(filter_productid) {
    var gtext = "";
    var bereichsnamen = document.getElementById("zahlung_bereichsnamen").innerHTML.split(";");
    var datum_auszahlbar = system['buchungen_PayoutTageBlock'];
    var jetzt = new Date();
    jetzt = intval(jetzt.getTime()*0.001);
    var templateZeile = getInhalt("zahlung_datenzeile");
    // auszahlbare verkäufe
    var templateTabelle = getInhalt("zahlung_datentabelle");
    var text = "";
    var abgerechnetsumme = 0;
    var templateCheckbox = document.getElementById("zahlung_datenzeile_checkbox").innerHTML;
    var anzahl = 0;
    var filter_productid = intval(filter_productid);
    for (var a=0;a<system['buchungen'].length;a++) {
        var eintrag = system['buchungen'][a];
        if (filter_productid > 0 && intval(eintrag.werkid) != filter_productid)
        	continue;
        if (intval(eintrag['bezahltam'])+datum_auszahlbar > jetzt || intval(eintrag['abgerechnetam']) > 0)
            continue;
        anzahl++;
        var tmplCheckbox = templateCheckbox.replace(/:#id:/g, eintrag["id"]);
        eintrag['form_checkbox'] = tmplCheckbox;
        abgerechnetsumme += floatval(eintrag.abgerechnetsumme);
        var werk = null;
        if (system['werke'] && system['werke'][eintrag.werkid])
            werk = system['werke'][eintrag.werkid];
        var temp = templateZeile;
        if (werk && werk.Attribute && intval(werk.Attribute.art) == 4) { // voucherpaylink
            var ktemp = getInhalt("zahlung_infos_"+werk.Attribute.art);
            temp = temp.replace(/:#kundenfragen:/g, ':#kundenfragen: '+ktemp);
        }        
        var atext = admin_BuchungenEintragSetzen(eintrag, temp);
        text += atext;
    }
    if (anzahl > 0) {
		templateTabelle = templateTabelle.replace(/:#nachricht:/, document.getElementById("fehlerMSG4").innerHTML);
	    templateTabelle = templateTabelle.replace(/:#bereich:/, bereichsnamen[0]);
	    templateTabelle = templateTabelle.replace(/:#abgerechnetsumme:/, abgerechnetsumme.toFixed(2));
	    templateTabelle = templateTabelle.replace(/:#daten:/, text);
	    gtext += templateTabelle;
	}
    // offene noch gesperrte verkäufe
    var templateTabelle = document.getElementById("zahlung_datentabelle").innerHTML;
    var text = "";
    var abgerechnetsumme = 0;
    for (var a=0;a<system['buchungen'].length;a++) {
        var eintrag = system['buchungen'][a];
        if (filter_productid > 0 && intval(eintrag.werkid) != filter_productid)
        	continue;
        if (intval(eintrag['bezahltam'])+datum_auszahlbar < jetzt || intval(eintrag['abgerechnetam']) > 0)
            continue;
        eintrag['form_checkbox'] = "";
        abgerechnetsumme += floatval(eintrag.abgerechnetsumme);
        var werk = null;
        if (system['werke'] && system['werke'][eintrag.werkid])
            werk = system['werke'][eintrag.werkid];
        var temp = templateZeile;
        if (werk && werk.Attribute && intval(werk.Attribute.art) == 4) { // voucherpaylink
            var ktemp = getInhalt("zahlung_infos_"+werk.Attribute.art);
            temp = temp.replace(/:#kundenfragen:/g, ':#kundenfragen: '+ktemp);
        }        
        var atext = admin_BuchungenEintragSetzen(eintrag, temp);
        text += atext;
    }
    templateTabelle = templateTabelle.replace(/:#nachricht:/, "");
    templateTabelle = templateTabelle.replace(/:#bereich:/, bereichsnamen[1]);
    templateTabelle = templateTabelle.replace(/:#abgerechnetsumme:/, abgerechnetsumme.toFixed(2));
    templateTabelle = templateTabelle.replace(/:#daten:/, text);
    gtext += templateTabelle;
    // ausgezahlte
    var templateTabelle = document.getElementById("zahlung_datentabelle").innerHTML;
    var text = "";
    var abgerechnetsumme = 0;
    for (var a=0;a<system['buchungen'].length;a++) {
        var eintrag = system['buchungen'][a];
        if (filter_productid > 0 && intval(eintrag.werkid) != filter_productid)
        	continue;
        if (intval(eintrag['abgerechnetam']) < 1)
            continue;
        eintrag['form_checkbox'] = "";
        abgerechnetsumme += floatval(eintrag.abgerechnetsumme);
        var werk = null;
        if (system['werke'] && system['werke'][eintrag.werkid])
            werk = system['werke'][eintrag.werkid];
        var temp = templateZeile;
        if (werk && werk.Attribute && intval(werk.Attribute.art) == 4) { // voucherpaylink
            var ktemp = getInhalt("zahlung_infos_"+werk.Attribute.art);
            temp = temp.replace(/:#kundenfragen:/g, ':#kundenfragen: '+ktemp);
        }        
        var atext = admin_BuchungenEintragSetzen(eintrag, temp);
        text += atext;
    }
    templateTabelle = templateTabelle.replace(/:#nachricht:/, "");
    templateTabelle = templateTabelle.replace(/:#bereich:/, bereichsnamen[2]);
    templateTabelle = templateTabelle.replace(/:#abgerechnetsumme:/, abgerechnetsumme.toFixed(2));
    templateTabelle = templateTabelle.replace(/:#daten:/, text);
    gtext += templateTabelle;
    document.getElementById("zahlung_daten").innerHTML = gtext;
}
function admin_BuchungenEintragSetzen(eintrag, template) {
    var datum_auszahlbar = system['buchungen_PayoutTageBlock'];
    var datum = Date2Text(eintrag['bezahltam']*1000);
    template = template.replace(/:#START:/g, datum);
    datum = Date2Text((intval(eintrag['bezahltam'])+datum_auszahlbar)*1000);
    template = template.replace(/:#auszahlbaram:/g, datum);
    datum = Date2Text(eintrag['abgerechnetam']*1000);
    if (eintrag['abgerechnetam'] == 0)
        datum = "-";
    template = template.replace(/:#ABGERECHNETAM:/g, datum);
    for (var akey in eintrag) {
        var rg = new RegExp(':#'+akey.toUpperCase()+':', "g");
        template = template.replace(rg, eintrag[akey]);
    }
    // werk bereitstellen
    var dateieintrag = {"Attribute":{"art":0,"titel":document.getElementById("hinweisMSG4").innerHTML}};
    if (system['werke'] && system['werke'][eintrag.werkid])
        dateieintrag = system['werke'][eintrag.werkid];
    dateieintrag.Attribute.art = intval(dateieintrag.Attribute.art);
    var deleted = "";
    var titel = dateieintrag.Attribute.titel;
    if (dateieintrag.Attribute.deleted && dateieintrag.Attribute.deleted != 0)
    	titel = '<span style="text-decoration:line-through">'+dateieintrag.Attribute.titel+"</span> "+document.getElementById("hinweisMSG4").innerHTML;
    template = template.replace(/:#TITEL:/g, titel);
    var art_bez = admin_WerkArtErmitteln(dateieintrag.Attribute.art);
    template = template.replace(/:#ART:/g, art_bez);
    var kundenfragen = "";
    if (eintrag.kundenfragen) {
        var ticketcode_complete = dateieintrag.Attribute['id']+dateieintrag.Attribute['idcode']+'_'+eintrag.id+'_'+eintrag.kundenfragen['dpl_ticketidcode'];
        template = template.replace(/#_KUNDENFRAGEN_TICKETCODE_COMPLETE_#/g, ticketcode_complete);
        for (var key in eintrag.kundenfragen) {
            kundenfragen += key+": <b>"+eintrag.kundenfragen[key]+"</b> ";
        } 
    }
    template = template.replace(/:#kundenfragen:/g, kundenfragen);
    return template;
}
function admin_WerkArtErmitteln(art) {
    if (!art)
        art = 0;
    art = intval(art);
    var art_bez = "";
    art = intval(art);
    switch(art) {
         case 0: 
             art_bez = "FilePayLink";
             break;
         case 1:
             art_bez = "MoneyPayLink";
             break;
         case 2:
             art_bez = "ExpressPayLink";
             break;
         case 3:
             art_bez = "TicketPayLink";
             break;
         case 4:
             art_bez = "VoucherPayLink";
             break;
    }
    return art_bez;
}
function admin_Auzahlungantrag(psid) {
	if (!system['user'] || !system['user']['rapidcoins'] || system['user']['rapidcoins'] <= 0) {
		alert(document.getElementById("fehlerMSG1").innerHTML);
		return false;
	}
	if (!system['user']['land'] || system['user']['land'] == "") {
		alert(document.getElementById("hinweisMSG3").innerHTML);
		admin_Profil();
		return false;
	}
	if (!system['user']['name'] || system['user']['name'] == "") {
		alert(document.getElementById("hinweisMSG5").innerHTML);
		admin_Profil();
		return false;
	}
	var betrag = floatval(system['user']['rapidcoins']).toFixed(2);
	var text = TemplateLaden("admin_auszahlungantrag_"+psid);
	text = text.replace(/<#RAPIDCOINS>/,betrag);
	text = text.replace(/<#EMAIL>/,system['user']['payemail']);
	text = text.replace(/<#PSID>/,intval(psid));
	text = text.replace(/<#NAME>/,system['user']['name']);	
	var tteile = ermittelTitelAusText(text);	
    InfoBoxZeigen2(tteile[1], null, null, tteile[0]);
}
function admin_AuzahlungsantragMachen(formular) {
	var empfaenger = trim(formular.elements['email'].value);
	if (empfaenger == "") {
		alert(document.getElementById("fehlerMSG2").innerHTML);
		formular.elements['email'].value = system['user']['payemail'];
		formular.elements['email'].focus();		
		return false;
	}
	var rapidcoins = floatval(trim(formular.elements['rapidcoins'].value.replace(",","."))).toFixed(2);
	

	if (rapidcoins < .40) {  // früher war es 5 euro, nun 40 cents, also schon nach dem ersten verkauf
		alert(document.getElementById("fehlerMSG5").innerHTML);
		formular.elements['rapidcoins'].value = floatval(system['user']['rapidcoins']).toFixed(2);
		formular.elements['rapidcoins'].focus();
		formular.elements['rapidcoins'].select();
		return false;
	}

	if (rapidcoins <= 0 || rapidcoins > system['user']['rapidcoins']) {
		alert(document.getElementById("fehlerMSG1").innerHTML);
		formular.elements['rapidcoins'].value = floatval(system['user']['rapidcoins']).toFixed(2);
		formular.elements['rapidcoins'].focus();
		formular.elements['rapidcoins'].select();
		return false;
	}
	var psid = intval(formular.elements['psid'].value);
	if (psid < 0) { // dürfte nie passieren, ausser vergessen ins template zu legen
	 alert("error PSID");
	 admin_Auzahlungantrag(0); // nochmal um die richtigen felder gefüllt zu bekommen
    }
    var infodesc = "";
    if (formular.elements['infodesc']) {
        // gehe über alle infodesc felder und verbinde diese
        for (var key in formular.elements) {
        	var ee = formular.elements[key];
        	if (!ee || !ee.name || !ee.type)
        		continue;
            if (ee.name.match(/^infodesc_/)) {
                infodesc += "&data[infodesc]["+ee.name.substr(9)+"]="+encodeURIComponent(trim(formular.elements[key].value));
            }
        }
    }
	InfoBoxSchliessen();
    WarteSymbolEinblenden();
    var str = "&data[rapidcoins]="+encodeURIComponent(rapidcoins)+"&data[empfaenger]="+encodeURIComponent(empfaenger)+"&data[psid]="+encodeURIComponent(psid);
    str += infodesc;
    var url = system['apiurl'] + admin_getURLLogin();
    url += "a=10"+str;
    apicall(url, function(h) {
        WarteSymbolSchliessen();
		if (!checkResponse(h.responseText, true)) {
			var errorCode = intval(ermittelErrorCode(h.responseText));			
			if (errorCode > 0) {
				alert(document.getElementById("fehlerMSG"+errorCode).innerHTML);
			} else {
			    alert(h.responseText);
			}
			return;
		}
		alert(document.getElementById("hinweisMSG2").innerHTML);       
        admin_ProfilLaden(admin_StatsZeigen);
    }, function () { 			
			WarteSymbolSchliessen();
			alert(GlobalerText("serverproblem"));             
		}
	);
}                                                               
function admin_KaufItemDownloadLinksZeigen(werkid) {
	// ist kauf vorhanden
	var kauf = system['GPRODUKTE'][werkid];
	if (!kauf)
		return false;
	// ist kauf geladen
	var produkt = system['werke'][intval(werkid)];
	if (!produkt)
		return;
	// prüfe das Datum des Kaufs
	var lastdownloadtag = time(true) - (system["max"]["maxdownloaddays"]*24*60*60);
	if (kauf['bezahltam'] < lastdownloadtag)
		return alert(document.getElementById("hinweis10").innerHTML.replace("_DAYS_", system["max"]["maxdownloaddays"]));
	// zeige Files mit downloadbutton
	var text = '';
	var template = getInhalt("edownload_eintrag");
	var a = 0;
	for (var key in produkt.Files) {		
		var file = produkt.Files[key]; 
		if (file.Attribute['aktiv'] != 1)
			continue;
		if (file.Links.length < 1)
			continue;
		a++;
		var atext = template;
		atext = atext.replace(/#_A_#/g, a);
		atext = atext.replace(/#_WERKID_#/g, werkid);
		atext = atext.replace(/#_FILE_TITEL_#/g, file.Attribute['titel']);
		atext = atext.replace(/#_FILE_ID_#/g, file.Attribute['id']);
        var fs = basics_filesize2Text(file.Attribute['filesize']);
		atext = atext.replace(/#_FILESIZE_#/g, number_format(fs.size)+" "+fs.unit);
		text += atext;	
	}
	InfoBoxZeigen2(getInhalt("edownload_maske").replace("#_ZEILEN_#", text),null,true,produkt.Attribute['titel']);              
}
function admin_KaufItemDownloadSenden(werkid, fileid) {
	var kauf = system['GPRODUKTE'][werkid];
	if (!kauf)
		return false;
	var produkt = system['werke'][intval(werkid)];
	if (!produkt)
		return false;
    var file = produkt.Files[fileid];
    if (!file)
    	return false;
    if (file.Attribute['aktiv'] != 1)
    	return false;       
    WarteSymbolEinblenden();
	var url = system['apiurl'] + admin_getURLLogin();
	url += 'a=19&data[bid]='+encodeURIComponent(kauf['bid']);
	url += '&data[werkid]='+encodeURIComponent(werkid);
	url += '&data[fileid]='+encodeURIComponent(fileid);
	apicall(url, function(h){
		WarteSymbolSchliessen();
		if (!checkResponse(h.responseText, true)) {
			var errorCode = intval(ermittelErrorCode(h.responseText));
			if (errorCode > 0) {
				if (document.getElementById("hinweis"+errorCode))
					return alert(document.getElementById("hinweis"+errorCode).innerHTML.replace("_DAYS_", system["max"]["maxdownloaddays"]));
				alert("GLOBAL ERROR CODE: "+h.responseText);
			} else {
				alert(h.responseText);
			}
			return;
		}
		var url = trim(h.responseText);
        if (url == "") {
            alert("NO URL");
        } else {
            // baue iframe für den download, damit man nicht diese hauptseite verlässt
            var elem = document.createElement("iframe");
            elem.src = "http://"+h.responseText+"&redirect_url="+encodeURIComponent(window.location.hostname);
            document.getElementById("download_iframes").appendChild(elem);           
        }
	}, function(){
		WarteSymbolSchliessen();
		alert(GlobalerText("serverproblem"));             
	}, 10000);
}
function admin_KaufItemsZeigen() {
	if (!system['user'] || !system['user']['profilgeladen'])
		return admin_ProfilLaden(admin_KaufItemsZeigen); // sich selbst nochmal aufrufen , wenn user daten geladen
	if (!system['user']['idcodepfad'] || system['user']['idcodepfad'] == "")
		return false;
	if (!system['user']['idcodelogin'] || system['user']['idcodelogin'] == "" || !system['user']['idcodepw'] || system['user']['idcodepw'] == "") {
		alert(GlobalerText("keinekauefe"));
		return false;
	}
	WarteSymbolEinblenden();
	JSLaden("sellingtools");
	var url = getDatenUrl(true)+"d/b/";
	url += system['user']['idcodepfad']+"/kauf/"+system['user']['idcodelogin']+"_"+system['user']['idcodepw']+"_produkte.js";
	apicall(url, function (h) {
        if (!admin_checkResponseWithLogin(h.responseText)) {
        	WarteSymbolSchliessen();
            return false;
        }
		var text = "";
		var produkte = {};
		var zeilen = h.object;
		var fileurl = 'http://'+basics_url()+'?id=';
		text = TemplateLaden("admin_einkauftabelle");
		if (zeilen.length < 1) {
			WarteSymbolSchliessen();
    		admin_setzeHaupt(text.replace(/##ZEILE##/,"")); // aktivieren, damit dann die asynchrone prozesse die daten einschreiben können
    		return;
//			return alert(GlobalerText("keinekauefe"));
		}
		system['GPRODUKTE'] = {};
		for (var a = 0;a<zeilen.length;a++) {
			var kauf = zeilen[a];
			var uebrig = new Date((intval(kauf.bezahltam) + (system["max"]["maxdownloaddays"]*24*60*60))*1000);							
			var left = Math.ceil((uebrig - new Date())/1000/24/3600);
			if (left < 0)
				left = 0;
			// anpassungen vornehmen
			kauf.bezahltam_text = Date2Text(kauf.bezahltam*1000);
			kauf.kauferfasstam = kauf.jsonerfasstam
			kauf.summebezahlt = floatval(kauf.summebezahlt);
			kauf.kauferfasstam = kauf.jsonerfasstam;
			kauf.elemid = "_einkauf_dz_"+kauf.werkid;
			kauf.kaufurl = fileurl+kauf.werkid;
			kauf.art = intval(kauf.art);
			kauf.DLDAYSLEFT = left;
			kauf.id = kauf.werkid.match(/\d*/)[0];
			kauf.idcode = kauf.werkid.match(/[a-z].*/gi)[0].toUpperCase();
			kauf.DEEPLINK = "http://"+basics_url()+"d/p/"+trenneZahl(kauf.id, "/")+kauf.idcode+"/";
			produkte[kauf.werkid+"_"+kauf.bid] = kauf;		
			system['GPRODUKTE'][kauf.werkid] = kauf;
		}
		system['GPRODUKTE']['BIDS'] = {};
		var template = TemplateLaden("admin_dateienzeile_einkauf");
		var atext = "";
		var user_status = "none";
		if (admin_isUserStatus(1))
			user_status = "inline";
		// male produkte
		for (var key in produkte) {
			var eintrag = produkte[key];
			eintrag.art = intval(eintrag.art);
			var btext = template;
			btext = btext.replace('<#user_status>', user_status);
			var ist_rsent = "none";
			if (intval(eintrag['werkid_rsent']) > 0)
				ist_rsent = "inline";
			btext = btext.replace(/<#ist_rsent>/g, ist_rsent);
			eintrag['summebezahlt'] = number_format(eintrag['summebezahlt']);								
			for (kkey in eintrag) {
	        	var rg = new RegExp('<#'+kkey.toUpperCase()+'>', "g");
				btext = btext.replace(rg, eintrag[kkey]);
			}
			var ist_filepaylink = "inline";
			if (eintrag.art && eintrag.art != 0)
				ist_filepaylink = "none"
			btext = btext.replace(/<#ist_filepaylink>/g, ist_filepaylink);
            var art_bez = admin_WerkArtErmitteln(eintrag.art);
			btext = btext.replace(/<#art_bez>/g, art_bez);							
			atext += btext;
		}
		text = text.replace("##ZEILE##", atext);
		admin_setzeHaupt(text); // aktivieren, damit dann die asynchrone prozesse die daten einschreiben können
	   
        for (var key in produkte) {
            var eintrag = produkte[key];
			eintrag.art = intval(eintrag.art);
            // wenn das Produkt ein voucher ist, dann hole die kaufinformationsdatei
            if (eintrag.art != 4)
                continue;
            // d/b/besitzerid+besitzeridcode/kauf/idcodelogin_icodepw_/bid_XX.js
        	var url = getDatenUrl(true)+"d/b/";
        	url += system['user']['idcodepfad']+"/kauf/"+system['user']['idcodelogin']+"_"+system['user']['idcodepw']+"_/bid_"+eintrag.bid+".js";
        	var urlid = "bid_"+eintrag.bid;
    		var template_e = getInhalt("zusatzinfos_art_"+eintrag.art);
            apicall(url, function(h){
                var be = h.object;
                var text = template_e;
                // wenn geladen, erweitere die Informationsanzeige um Wert und voucher code
                for (var akey in be.werkangabe){
    	        	var rg = new RegExp('#_WERKANGABE_'+akey.toUpperCase()+'_#', "g");
    				text = text.replace(rg, be.werkangabe[akey]);
                }
                for (var akey in be.WerkAttribute){
    	        	var rg = new RegExp('#_WERKATTRIBUTE_'+akey.toUpperCase()+'_#', "g");
    				text = text.replace(rg, be.WerkAttribute[akey]);
                }
                text = text.replace(/#_TICKETCODE_COMPLETE_#/g, be.ticketcode_complete);
                text = text.replace(/#_ID_#/g, be.id);
                // speicher die Informationen in die gprodukte, für die späteren klicks und infos
                system['GPRODUKTE']['BIDS'][be.id] = be;
                // informationen anzeigen
                setInhalt("zi_"+be.id, text);                                
            },function(h){alert("no purchase information found for bid:#"+eintrag.bid);},10000,urlid);
        }
		for (var key in system['GPRODUKTE']) {
		      if (key == "BIDS")
		          continue;
			var eintrag = system['GPRODUKTE'][key];
    		// hole nun die Dateien zum auflisten
			DateienHolenById(eintrag.werkid, function (key) {
				var produkt = system['werke'][intval(key)];
				if (!produkt)
					return;				
				var kauf = system['GPRODUKTE'][key];
				if (!kauf)
					return;
				produkt.Attribute.art = intval(produkt.Attribute.art);
				var elemid = kauf['elemid'];
				// titel setzen				
				var elemente = document.getElementsByName(elemid+"_titel");
				var titel = produkt.Attribute['titel'];
				for (var a =0;a<elemente.length;a++) {
					var elem = elemente[a];
					elem.innerHTML = titel;
				}			
				// sharercodes setzen												
				var sharercode = sellingtools_holeSharerlinks(produkt);
				var sharertext = '';
				for(var a=0;a<sharercode.length;a++)
					sharertext += ' <a href="'+sharercode[a].url+'" title="'+sharercode[a].titel+'" target="_blank"><img height=30 src="bilder/'+sharercode[a].image+'"></a>';
				var elemente = document.getElementsByName(elemid+"_sharer");
				for (var a =0;a<elemente.length;a++) {
					var elem = elemente[a];
					elem.innerHTML = sharertext;
				}						
			}, true, function(produktid) {
				var kauf = system['GPRODUKTE'][produktid];
				if (!kauf)
					return;
				var elemid = kauf['elemid'];
				var elemente = document.getElementsByName(elemid+"_titel");
				for (var a =0;a<elemente.length;a++) {
					var elem = elemente[a];
					elem.innerHTML = '<span style="font-style:italic;text-decoration:line-through;color:red;">'+kauf['werkid']+'</span>';
				}															
			});
		}
		WarteSymbolSchliessen();		
	},null,null,"kauf_produkte_"+system['user']['id']);
}
function admin_KaufItemVoucherZeigen(bid) {
    // hole bid aus gprodukte
    if (!system['GPRODUKTE']['BIDS'][bid])
        return false;
    var buchung = system['GPRODUKTE']['BIDS'][bid]; // struktur in bid_XY.js
    // hole werk aus gprodukte
    if (!system['GPRODUKTE'][buchung.WerkAttribute.id+buchung.WerkAttribute.idcode])
        return false;
    var kauf = system['GPRODUKTE'][buchung.WerkAttribute.id+buchung.WerkAttribute.idcode];
    if (!system['werke'][buchung.WerkAttribute.id])
        return false;
    WarteSymbolEinblenden();
    var produkt = system['werke'][buchung.WerkAttribute.id];
    // baue produkt objekt für download anzeige
    var zobj = {};
    // baue produkt
    zobj = produkt;
    // überschreibe änderungen mit den damaligen werten
    for (var key in buchung.WerkAttribute)
        zobj.Attribute[key] = buchung.WerkAttribute[key];
    for (var key in buchung.werkangabe)
        zobj.Attribute.werkangaben[key] = buchung.werkangabe[key];
    // baue ticketinfos
    zobj.TicketObjekt = buchung;
    zobj.TicketObjekt['ticketidcode'] = buchung['kundenfragen'].dpl_ticketidcode;
    zobj.TicketObjekt['ticketcode_complete'] = buchung.ticketcode_complete;
    zobj.TicketObjekt['start'] = buchung.buchung['start']; 
    zobj.TicketObjekt['bezahltam'] = buchung.buchung['bezahltam']; 
    zobj.TicketObjekt['summebezahlt'] = buchung.buchung['summebezahlt']; 
    var werkid = zobj.Attribute.id;

    // lade download fkt
    JSLaden("download");
    // lasse download fkt den text malen
    var text = TemplateLaden("download_voucherlink");
    text = download_DownloadAnzeigenSetzen(text, zobj, buchung.id);
    setInhalt("tmp_template", text);
    // ersetze die ticketdaten
    download_ticketnummer_einsetzen(werkid, zobj.TicketObjekt);
    // voucher text in anzeigen
    var breite = screen.availWidth;
    if (breite > 600)
        breite = 600;
        
	WarteSymbolSchliessen();

	var f = window.open("about:blank", "v_"+buchung.id,"scrollbars=1, width="+breite+",height="+(screen.availHeight*.8));
	f.document.write(getInhalt("tmp_template"));
	f.print();
}
function admin_dateien_productwidget(produktid) {
	JSLaden("sellingtools");
	sellingtools_productwidget(produktid);
}
function admin_profil_shopwidget() {
	JSLaden("sellingtools");
	sellingtools_plistwidget();
}
function admin_dateien_productbutton(produktid) {
	JSLaden("sellingtools");
	sellingtools_buttonwidget(produktid);
}
function admin_dateien_sharebutton(produktid) {
	JSLaden("sellingtools");
	sellingtools_sharewidget(produktid);
}
function admin_ProductPic(werkid) {
	var produkt = system['werke'][intval(werkid)];
	if (!produkt)
		return false;
	var teile = ermittelTitelAusText(TemplateLaden("admin_productpicmaske"));
	var text = teile[1];
	var titel = teile[0];
    for (var key in produkt['Attribute']) {
        var rg = new RegExp('<#'+key.toUpperCase()+'>', "g");
        text = text.replace(rg, produkt['Attribute'][key]);
	}   	
	var picture = "bilder/leer.gif";
	if (produkt['Attribute']['picture'])
        picture = produkt['Attribute']['picturepath'];
	text = text.replace(/<#picture>/, picture);
	var haspicture = "none";
	if (produkt['Attribute']['picture'])
		haspicture = "block";
	text = text.replace(/<#haspicture>/, haspicture);
	text = text.replace(/<#host>/, window.location.hostname);
	text = text.replace(/<#user_sessionid>/, system['user']['sessionid']);
	var str = "InfoBoxSchliessen();";
    produkt.Attribute.art = intval(produkt.Attribute.art);
    switch(produkt.Attribute.art) {
        case 1:
    		str += 'admin_MoneyHolen();';
            break;
        case 3:
    		str += 'admin_TicketHolen();';
            break;
        case 4: 
    		str += 'admin_VoucherHolen();';
            break;
        default:
    	   str += 'admin_DateienHolen();';
    }
	InfoBoxZeigen2(text, str, null, titel);
}
function admin_ProductPicSpeichern(form){
	if (form.elements['userfile'].value == "")	
		return form.elements['userfile'].click();
	var werkid = intval(form.elements['data[werkid]'].value);
	var produkt = system['werke'][werkid];
	if (!produkt)
		return false;
	// erst bild vom server löschen
	var url = system['apiurl'] + admin_getURLLogin();
	url += "a=20&data[werkid]="+encodeURIComponent(werkid);
	url += "&data[bildname]="+encodeURIComponent(produkt.Attribute.picturepath);
	apicall(url, function (h) {
		// setze action url ein 
		form.action = getBildServerUrl();
		// sende eingabemaske in das Iframe mit dem Bild
		form.submit(); 
		// blende eingabemaske aus
		document.getElementById("bildupload").style.display = "none";
		// zeige wartesymbol
		document.getElementById("bwarten").style.display = "block";
		// polle ob das Bild da ist
	    document.getElementById("buform").elements['aborted'].value = 0;
		admin_ProductPicPollExists(werkid);
	});
}
function admin_ProductPicUploadAbort(iframename) {
    document.getElementById(iframename).src = "bilder/leer.gif";
	document.getElementById("aborted").value = "1";
	document.getElementById("bwarten").style.display="none";
	document.getElementById("bildupload").style.display="block";
	document.getElementById("buform").elements['userfile'].value = ""; // vlt ist leeren erlaubt
}
function admin_ProductPicPollExists(werkid, produkt){
	if (!document.getElementById("bildupload") || document.getElementById("buform").elements['aborted'].value == "1")
		return;
	if (!produkt) {
		var produkt = system['werke'][intval(werkid)];
		if (!produkt)
			return false;
		DateienHolenById(""+produkt['Attribute']['id']+produkt['Attribute']['idcode'], admin_ProductPicPollExists, true, null);
	} else {
		// wenn ja
		if (produkt['Attribute']['picture']){
			// prüfe ob das elemen noch da ist (evtl fenster schon geschlossen)
			// schliesse wartesymbol
			document.getElementById("bwarten").style.display = "none";
			// zeige eingabemaske
			document.getElementById("bildupload").style.display = "block";
			document.getElementById("buform").elements['userfile'].value = ""; // vlt ist leeren erlaubt
			// zeige löschbutton
			document.getElementById("buloe").style.display = "block";
		} else {
			// wenn nein, nach wartezeit nochmal aufrufen
			window.setTimeout("admin_ProductPicPollExists('"+werkid+"')", 1000);
		}
	}
}
function admin_ProductPicLoeschen(werkid, frage) {
	if (!confirm(frage))
		return false;
	var produkt = system['werke'][werkid];
	if (!produkt)
		return false;
	var url = system['apiurl'] + admin_getURLLogin();
	url += "a=20&data[werkid]="+encodeURIComponent(werkid);
	url += "&data[bildname]="+encodeURIComponent(produkt.Attribute.picturepath);
	apicall(url, function (h) {
		InfoBoxSchliessen();
    	var produkt = system['werke'][intval(werkid)];
    	if (!produkt)
    	   return;
        produkt.Attribute.art = intval(produkt.Attribute.art);
        switch(produkt.Attribute.art) {
            case 1:
        		admin_MoneyHolen();
                break;
            case 3:
                admin_TicketHolen();
                break;
            case 4:
                admin_VoucherHolen(); 
                break;
            default:
        		admin_DateienHolen();
        }
//		admin_ProductPic(werkid);
	});
}
function admin_dateien_productbuttonWizard(werkid) {
	var produkt = system['werke'][intval(werkid)];
	if (!produkt)
		return false;
	var teile = ermittelTitelAusText(TemplateLaden("admin_productwizard"));
	var text = teile[1];
	var titel = teile[0];
	text = text.replace(/<#werkid>/g, werkid);
	text = text.replace(/<#DEEPLINK>/g, "http://"+basics_url()+"d/p/"+trenneZahl(produkt.Attribute.id, "/")+produkt.Attribute.idcode+"/");
    for (var key in produkt.Attribute) {
        var rg = new RegExp('<#'+key.toUpperCase()+'>', "g");
        text = text.replace(rg, produkt.Attribute[key]);
	}   	                           	
	JSLaden("sellingtools");
	InfoBoxZeigen2(text, null, null, titel);
	sellingtools_ShowProductWizardCode(document.getElementById("pwizardf"));	
}
/*
// noch benötigt?
function admin_UploadStarten(formular, art) {
// nicht mehr funktionsfähig , muss entfernt werden und alle referenzen, da noch altlast
	var dateifeld = document.getElementById("uf_datei"); 
	var dateiname = trim(dateifeld.value);
	if (dateiname == "")
		return false;
	// hole next uploadserver
    var url = getDatenUrl()+"d/us.js";
    apicall(url, function(h){
    	system['paymentsysteme'] = h.object;
    	dateien_pszeigen(werkid);
    }, function(){
    	alert(GlobalerText("nodata"));InfoBoxSchliessen();
	});
	
    // hole uploadcode  ; files upload request
    var url = system['apiurl'] + admin_getURLLogin() + "a=22";
    url += "&data[userfile]="+encodeURIComponent(dateiname);
    url += "&data[art]="+encodeURIComponent(art);
    url += "&data[werkid]="+encodeURIComponent(formular.elements['werkid'].value);
    apicall(url, function(h) {
            WarteSymbolSchliessen();
            if (!admin_checkResponseWithLogin(h.responseText))
                return false;
            var uploadcode = h.object.upload_code;
            // setze uploadcode
            formular.elements.uploadcode.value = trim(uploadcode);
            var actionurl = getUploadUrl();
            if (actionurl.match(/\?/))
                actionurl += admin_getURLLogin().replace(/\?/,"");
            else
                actionurl += admin_getURLLogin();
            formular.action = actionurl;
            // sende upload formular
			document.getElementById("upload_div2").style.display="block";
            formular.submit();
			document.getElementById("upload_div1").style.display="none";
        }, function () { alert(GlobalerText("nodata"));InfoBoxSchliessen(); });
	return false; 	
}
*/
/*
function admin_UploadProgress(uploadserver, rsuploadid, art) {
	var elem = document.getElementById("progressbar");
	if (!elem)
		return false;
	elem.style.display = "block";
	var url = "http://rs"+uploadserver+".rapidshare.com/cgi-bin/uploadprogress.cgi?uploadid="+rsuploadid;
	apicall(url, function (h) {
        if (!checkResponse(h.responseText))
            return false;
        var teile = h.responseText.split("#");
        if (teile[1] == 0 && teile[3] == 0) {
        	if (system['tmp'] == 0)
        		system['tmp'] = teile[2];
        	if (time() < system['tmp']+(1000*30))
        		window.setTimeout("admin_UploadProgress("+uploadserver+", "+rsuploadid+", "+art+")", 1000);
        	return;
        }
        if (teile[1] > 0) { 
        	if (teile[0] == 0 && teile[3] == 1) {
        		var objekt = {};
        		objekt.fileid = teile[5];
        		objekt.killcode = teile[7];
        		objekt.filename = teile[6];
        		objekt.filesize = teile[1];
				elem.style.width = "100%";
				elem.innerHTML = "100 %";
				switch (art) {
					case 1:
						admin_DateienNeuUploadFertig(objekt);
						break; 
					case 2:
						admin_FileUploadFertig(objekt);
						break; 
					case 3:
						admin_LinkUploadFertig(objekt);
						break; 
					default:
						alert("upload method not implemented");
				}        		
			} else {
				var rest = teile[1] - teile[0];
				var pause = 1000;
				if (rest > 1000000)
					pause = 5000;
				var prozent = intval(teile[0] / teile[1] * 100);
				if (prozent < 1)	
					prozent = 1;
				if (prozent > 100)
					prozent = 100;				
				elem.style.width = prozent+"%";
				elem.innerHTML = prozent+" %";
				window.setTimeout("admin_UploadProgress("+uploadserver+", "+rsuploadid+", "+art+")", pause);
			}
		}
		}, function () { admin_UploadProgress(uploadserver, rsuploadid, art); }
	);
}
*/
function admin_DateiQuickInfoZeigen(id) {
    var eintrag = system["werke"][id].Attribute;
    var text = admin_DateiQuickInfoAnzeigen(eintrag.id+eintrag.idcode, "", system['user']['payemail'], eintrag.titel, eintrag.preis, eintrag.minpreis);
    InfoBoxZeigen2(text);
}
function admin_DateiQuickInfoAnzeigen(id, filename, email, titel, preis, minpreis) {
	JSLaden("sellingtools");
    var text = TemplateLaden("DPLinkAnzeige");
	var pid = id.match(/\d*/)[0];
	var pidcode = id.match(/[a-z].*/gi)[0];
    text = text.replace(/<#filename>/g, filename);
    text = text.replace(/<#pid>/g, pid);
    text = text.replace(/<#email>/g, email);
    text = text.replace(/<#titel>/g, titel);
    text = text.replace(/<#preis>/g, number_format(preis.replace(",",".")));
    var url = basics_url();
	var code = '<a href="http://'+url+'?id='+id+'&sf_ref="><img src="http://'+url+'bilder/directpaylink_via_buynow.gif" border="0" width="130" height="40" alt="buy now '+encodeURIComponent(titel)+'"></a>';
    var dpl = 'http://'+basics_url()+"d/p/"+trenneZahl(pid, "/")+pidcode+"/";
    text = text.replace(/<#code>/, code);
    text = text.replace(/<#kaufbutton>/, code);
    var extrabutton = "";
	if (minpreis == 1) {
		var code = '<a href="http://'+url+'?id='+id+'&sf_ref="><img src="http://'+url+'bilder/directpaylink_via_supportme.gif" border="0" width="130" height="40" alt="support me and buy now '+encodeURIComponent(titel)+'"></a>';			
		extrabutton = '<tr><td><b>'+code+'</b></td><td><textarea id="codebox2_text" rows=7 style="width:100%" onclick="this.select()">'+code+'</textarea></td></tr>';
	}
	text = text.replace(/<#extrabutton>/g, extrabutton);
    text = text.replace(/<#url>/g, dpl);
	var produkt = {'Attribute':{'id':pid,'idcode':pidcode,'titel':titel,'preis':number_format(preis.replace(",",".")),'beschreibung':''}}; 
	var sharercode = sellingtools_holeSharerlinks(produkt);
	var sharertext = '<ul style="list-style-type:none;">';
	for(var a=0;a<sharercode.length;a++)
		sharertext += '<li>'+sharercode[a].code.replace("<#URL>",sharercode[a].url)+'</li>';
	sharertext += '</ul>';
	text = text.replace(/<#sharer>/, sharertext);
	return text;
}
function admin_LadeLaenderListe(elemname, landwert, selectname) {
	landwert = landwert.toLowerCase();
	ajaxen({
		url: "laenderliste.txt",
		method:'POST',
		str: "",
		onError: function () {},
		onSuccess: function(h) {
			var zeilen = h.responseText.split("\n");
			var atext = '';			
			var laender = new Array();	
			for (var a=0;a<zeilen.length;a++){
				var zeile = trim(zeilen[a]);
				if (zeile == "")
					continue;  
				zeile = zeile.replace(/\"/g, "");
				spalten = zeile.split(";");		
				var land = spalten[2];						
				laender.push({"land":land,"key":spalten[5]});
			}					
			laender.sort(function (a,b) {
				if (a.land > b.land)
					return 1;				
				else if (a.land < b.land) 
					return -1
				return 0;
				});
			if (!selectname)
				selectname = 'tpl_land';
			atext += '<select name="'+selectname+'">';
			for (var a=0;a<laender.length;a++) {
				atext += '<option value="'+laender[a].land+'"';
				if (landwert == laender[a].land.toLowerCase())
					atext += ' selected';
				atext += '>'+laender[a].land+'</option>';
			}			
			atext += '</select>';
			var elem = document.getElementById(elemname);
			if (elem)
				elem.innerHTML = atext;
		}
	});
} 
function admin_TicketNeuMaske() {
    var text = TemplateLaden("admin_ticketmaskeneu");
    text = text.replace(/<#TPL_START>/g, Date2Text(time()+(24*3600*1000), '%d.%m.%Y %H:%i'));
	var tteile = ermittelTitelAusText(text);	
	admin_setzeHaupt(text, "admin_haupt");  
    document.forms.dateieingabe.titel.focus();
    admin_LadeLaenderListe("tpl_land", system['user']['land']);
}
function admin_TicketNeuMachen(formular) {
    var werte = new Array("titel", "preis", "returnurlok", "returnurlcancel", "infotag", "maxanzahl", "beschreibung");
    var checkboxen = new Array("aktiv", "sichtbar", "minpreis", "sf_aktiv", "sf_email", "sf_name", "sf_surname", "sf_address", "sf_street", "sf_land", "sf_fon", "sf_fax", "sf_size", "sf_color", "sf_comment");
    var werkangaben = new Array("tpl_start", "tpl_land", "tpl_stadt", "tpl_location", "tpl_strasse");
    var pflicht = new Array("titel", "preis");
    var str = "";
    for (var a=0;a<werte.length;a++) {
        var key = werte[a];
        if (!formular.elements[key])
            continue;
        formular.elements[key].value = trim(formular.elements[key].value);        
        if (inArray(pflicht, key) && formular.elements[key].value == "") {
            formular.elements[key].focus();
            return false;
        }
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(formular.elements[key].value);
    }
    for (var a=0;a<checkboxen.length;a++) {
        var key = checkboxen[a];
        if (!formular.elements[key])
            continue;
        var value = 0;
        if (formular.elements[key].checked)
            value = 1;         
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(value);
    }
    // extra felder für die werkangabe zusammenfassen
    for (var a=0;a<werkangaben.length;a++) {
        var key = werkangaben[a];
        if (!formular.elements[key])
            continue;
    	var name = key.substr(4)
    	var wert = trim(formular.elements[key].value);
    	str += '&data[wa]['+encodeURIComponent(name)+']='+encodeURIComponent(wert);
    }
    admin_scrollto(1,1);
    WarteSymbolEinblenden();
    var url = system['apiurl'] + admin_getURLLogin();
    url += 'a=3&data[art]=3'+str;
    apicall(url, function(h) {
		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;
		var werkid = h.responseText.match(/\d*/)[0];                 
		alert(GlobalerText("gespeichert"));
        admin_TicketHolen();
        InfoBoxSchliessen();                
	});
}
function admin_VoucherNeuMaske() {
    var text = TemplateLaden("admin_vouchermaskeneu");
    text = text.replace(/<#TPL_START>/g, Date2Text());
    text = text.replace(/<#TPL_STOP>/g, Date2Text(time()+(365*24*3600*1000)));
	var tteile = ermittelTitelAusText(text);	
	admin_setzeHaupt(text, "admin_haupt");  
    document.forms.dateieingabe.titel.focus();
    admin_LadeLaenderListe("tpl_land", system['user']['land']);
}
function admin_VoucherNeuMachen(formular) {
    var werte = new Array("titel", "preis", "returnurlok", "returnurlcancel", "infotag", "maxanzahl", "beschreibung");
    var checkboxen = new Array("aktiv", "sichtbar", "minpreis", "sf_aktiv", "sf_email", "sf_name", "sf_surname", "sf_address", "sf_street", "sf_land", "sf_fon", "sf_fax", "sf_size", "sf_color", "sf_comment");
    var werkangaben = new Array("tpl_start", "tpl_stop", "tpl_buyernotice", "tpl_kondition", "tpl_wert", "tpl_land", "tpl_stadt", "tpl_location", "tpl_strasse");
    var pflicht = new Array("titel", "preis");
    var str = "";
    for (var a=0;a<werte.length;a++) {
        var key = werte[a];
        if (!formular.elements[key])
            continue;
        formular.elements[key].value = trim(formular.elements[key].value);        
        if (inArray(pflicht, key) && formular.elements[key].value == "") {
            formular.elements[key].focus();
            return false;
        }
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(formular.elements[key].value);
    }
    for (var a=0;a<checkboxen.length;a++) {
        var key = checkboxen[a];
        if (!formular.elements[key])
            continue;
        var value = 0;
        if (formular.elements[key].checked)
            value = 1;         
        str += "&"+encodeURIComponent("data["+key+"]")+"="+encodeURIComponent(value);
    }
    // extra felder für die werkangabe zusammenfassen
    for (var a=0;a<werkangaben.length;a++) {
        var key = werkangaben[a];
        if (!formular.elements[key])
            continue;
    	var name = key.substr(4)
    	var wert = trim(formular.elements[key].value);
    	str += '&data[wa]['+encodeURIComponent(name)+']='+encodeURIComponent(wert);
    }
    admin_scrollto(1,1);
    WarteSymbolEinblenden();
    var url = system['apiurl'] + admin_getURLLogin();
    url += 'a=3&data[art]=4'+str;
    apicall(url, function(h) {
		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;
		var werkid = h.responseText.match(/\d*/)[0];                 
		alert(GlobalerText("gespeichert"));
        admin_VoucherHolen();
        InfoBoxSchliessen();                
	});
}
function admin_epl_Zeigen() {
	if (!system['user'] || !system['user']['loggedin'])
		return admin_ProfilLaden(admin_epl_Zeigen);
	JSLaden('sellingtools');
	sellingtools_xpl_create(document.getElementById('form_xpl_anzeige'), 'xpl_anzeige', system['user']['id']+system['user']['idcode']);
}
function admin_VoucherCheckStatus(vouchercode, inelemname) {
 	if (!system['user'] || !system['user']['loggedin'])
		return admin_ProfilLaden(admin_VoucherCheckStatus);
   // ist ein vouchercode übermittelt?
    if (!vouchercode) {
        // prüfe ob eine Code in REQUEST enthalten ist
        if (system['REQUEST']['data_vouchercode']){
            vouchercode = trim(system['REQUEST']['data_vouchercode']);
        } 
    }
    // voucher leer return false;
    if (!vouchercode || vouchercode == "")
        return false;
    // apicall um vouchercode zu checken
    WarteSymbolEinblenden();
    var url = system['apiurl'] + admin_getURLLogin();
    var str = '&data[ticketcode]='+encodeURIComponent(vouchercode);
    url += 'a=24'+str;
    apicall(url, function(h) {
		WarteSymbolSchliessen();
        if (!checkResponse(h.responseText))
            return false;
        var voucher = h.object; // o.buchung o.werk
        // lade template
        var text = '';
        if (voucher.buchung['bezahltam'] > 0) {
            text += '<div class="bggreen brgreen brradius" style="margin-top:15px;float:left;text-align:center;color:white;font-weight:bold;width:20px;height:20px;">!</div>';
        } else {
            text += '<div class="status0 brradius" style="margin-top:15px;float:left;text-align:center;border:1px solid red;color:white;font-weight:bold;width:20px;height:20px;">!</div>';
        }
        text += '<h3 style="margin-left:10px;float:left;"><#TICKETCODE_COMPLETE></h3>';
        text += '<div style="clear:both;"></div>';
        text += '<ul class="bullets">';
        text += '<li>Bezahlt am: <b><#BUCHUNG_BEZAHLTAM_DATUM></b></li>';
        text += '<li>Preis bezahlt: <b><#BUCHUNG_SUMMEBEZAHLT> Euro</b></li>';
        // zeige voucherdaten an
        
        // zeige buchungsdaten
        //("id", "start", "bezahltam", "ip", "preis", "dplfee", "werkid", "abgerechnetam", "summebezahlt", "besitzerid", "abgerechnetsumme", "abgerechnetpsid", "auszahlungantrag", "kundenland")
        for (var akey in voucher.buchung){
        	var rg = new RegExp('<#BUCHUNG_'+akey.toUpperCase()+'>', "g");
			text = text.replace(rg, voucher.buchung[akey]);
        }
        // zeige eingegeben Kundendaten
        for (var akey in voucher.kundenfragen){
        	var rg = new RegExp('<#_KUNDENFRAGEN_'+akey.toUpperCase()+'>', "g");
			text = text.replace(rg, voucher.kundenfragen[akey]);
        }
        // baue template auf
        text = text.replace(/<#TICKETCODE_COMPLETE>/g, voucher.ticketcode_complete);
        for (var akey in voucher.kundenfragen){
            text += '<li>'+akey+": <b>"+voucher.kundenfragen[akey]+"</b></li>";
        }
        text += '</ul>';

        text = text.replace(/<#BUCHUNG_BEZAHLTAM_DATUM>/g, Date2Text(voucher.buchung['bezahltam']*1000));
        // button zeigen, um vouchercode zu entwerten oder wieder zu aktivieren (rücknahme)
        // zeige text 
        if (!inelemname)
            inelemname = "haupt";
        setInhalt(inelemname, text);
	});
}
function admin_scrollto(x,y){
	if (!x)
		x = 1;
	if (!y)
		y = 1;
	window.scrollTo(1,1);
}
