// AJAX stuff
// copyright 2008 by NETGENERATOR modulare_dynamik
// http://www.netgenerator.de
// 
// using CGI::AJAX

var ajax = [];function pjx(args,fname,method) { this.target=args[1]; this.args=args[0]; method=(method)?method:'GET'; if(method=='post'){method='POST';} this.method = method; this.r=ghr(); this.url = this.getURL(fname);}function formDump(){ var all = []; var fL = document.forms.length; for(var f = 0;f<fL;f++){ var els = document.forms[f].elements; for(var e in els){ var tmp = (els[e].id != undefined)? els[e].id : els[e].name; if(typeof tmp != 'string'){continue;} if(tmp){ all[all.length]=tmp} } } return all;}function getVal(id) { if (id.constructor == Function ) { return id(); } if (typeof(id)!= 'string') { return id; } var element = document.getElementById(id); if( !element ) { for( var i=0; i<document.forms.length; i++ ){ element = document.forms[i].elements[id]; if( element ) break; } if( element && !element.type ) element = element[0]; } if(!element){ alert('ERROR: Cant find HTML element with id or name: ' + id+'. Check that an element with name or id='+id+' exists'); return 0; } if(element.type == 'select-one') { if(element.selectedIndex == -1) return; var item = element[element.selectedIndex]; return item.value || item.text; } if(element.type == 'select-multiple') { var ans = []; var k =0; for (var i=0;i<element.length;i++) { if (element[i].selected || element[i].checked ) { ans[k++]= element[i].value || element[i].text; } } return ans; } if(element.type == 'radio' || element.type == 'checkbox'){ var ans =[]; var elms = document.getElementsByTagName('input'); var endk = elms.length ; var i =0; for(var k=0;k<endk;k++){ if(elms[k].type== element.type && elms[k].checked && (elms[k].id==id||elms[k].name==id)){ ans[i++]=elms[k].value; } } return ans; } if( element.value == undefined ){ return element.innerHTML; }else{ return element.value; }}function fnsplit(arg) { var url=""; if(arg=='NO_CACHE'){return '&pjxrand='+Math.random()} if((typeof(arg)).toLowerCase() == 'object'){ for(var k in arg){ url += '&' + k + '=' + arg[k]; } }else if (arg.indexOf('__') != -1) { arga = arg.split(/__/); url += '&' + arga[0] +'='+ escape(arga[1]); } else { var res = getVal(arg) || ''; if(res.constructor != Array){ res = [res] } for(var i=0;i<res.length;i++) { url += '&args=' + escape(res[i]) + '&' + arg + '=' + escape(res[i]); } } return url;}pjx.prototype = { send2perl : function(){ var r = this.r; var dt = this.target; this.pjxInitialized(dt); var url=this.url; var postdata; if(this.method=="POST"){ var idx=url.indexOf('?'); postdata = url.substr(idx+1); url = url.substr(0,idx); } r.open(this.method,url,true); ; if(this.method=="POST"){ r.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); r.send(postdata); } if(this.method=="GET"){ r.send(null); } r.onreadystatechange = handleReturn; }, pjxInitialized : function(){}, pjxCompleted : function(){}, readyState4 : function(){ var rsp = unescape(this.r.responseText); /* the response from perl */ var splitval = '__pjx__'; /* to split text */ /* fix IE problems with undef values in an Array getting squashed*/ rsp = rsp.replace(splitval+splitval+'g',splitval+" "+splitval); var data = rsp.split(splitval); dt = this.target; if (dt.constructor != Array) { dt=[dt]; } if (data.constructor != Array) { data=[data]; } if (typeof(dt[0])!='function') { for ( var i=0; i<dt.length; i++ ) { var div = document.getElementById(dt[i]); if (div.type =='text' || div.type=='textarea' || div.type=='hidden' ) { div.value=data[i]; } else{ div.innerHTML = data[i]; } } } else if (typeof(dt[0])=='function') { dt[0].apply(this,data); } this.pjxCompleted(dt); }, getURL : function(fname) { var args = this.args; var url= 'fname=' + fname; for (var i=0;i<args.length;i++) { url=url + args[i]; } return url; }};handleReturn = function() { for( var k=0; k<ajax.length; k++ ) { if (ajax[k].r==null) { ajax.splice(k--,1); continue; } if ( ajax[k].r.readyState== 4) { ajax[k].readyState4(); ajax.splice(k--,1); continue; } }};var ghr=getghr();function getghr(){ if(typeof XMLHttpRequest != "undefined") { return function(){return new XMLHttpRequest();} } var msv= ["Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]; for(var j=0;j<=msv.length;j++){ try { A = new ActiveXObject(msv[j]); if(A){ return function(){return new ActiveXObject(msv[j]);} } } catch(e) { } } return false;}function jsdebug(){ var tmp = document.getElementById('pjxdebugrequest').innerHTML = "<br><pre>"; for( var i=0; i < ajax.length; i++ ) { tmp += '<a href= '+ ajax[i].url +' target=_blank>' + decodeURI(ajax[i].url) + ' </a><br>'; } document.getElementById('pjxdebugrequest').innerHTML = tmp + "</pre>";}


/* //ist schon in html eingebunden
function selectKategorie(kat,ebene) {
	var zieldiv = "kat"+ebene;
	selectKat(['action__anbieten_kategorien_showliste','lang__'+lang,'sid__'+sid,'user__'+user,'password__'+password,'kategorie__'+kat,'ebene__'+ebene,'NO_CACHE'],[zieldiv]);
}
*/

var activeClass1 = "";
var activeClass2 = "";
var activeClass3 = "";
var activeClass4 = "";
function setActiveClass (divid,ebene) {
	if(eval('activeClass'+ebene) != divid) {
		//aktive id != neue id
		if(eval('activeClass'+ebene)) {
			//wenn ueberhaupt schon was aktiviert
			setClass(eval('activeClass'+ebene),"");
		}
		//alert(eval('activeClass'+ebene+'="'+divid+'"'));
		window['activeClass' + ebene] = divid;
		//alert(window['activeClass' + ebene]);
		setClass(divid,"active");
		/*
		for(var i=1;i<5;i++) {
			alert('activeClass' + i + '='+ window['activeClass' + i]);
		}
		*/
	}
}
function setClass(klassendiv,klasse) {
	document.getElementById(klassendiv).className = klasse;
	//alert(document.getElementById(klassendiv).className);
}

function netGenAJAX_selectKat () {
	freundeEinladen(
		[	'action__suchen_kategorien_showliste',
			'lang__'+lang,
			'user__'+user, 
			'password__'+password, 
			'sid__'+sid,
			'NO_CACHE'	], 
		[netGenAJAX_freundeEinladen_Content]
	);
}


function netGenAJAX_deletePic (id,pic) {
	netGenAJAX_Send(
		[	'action__controlcenter_anzeigen_pic_delete',
			'lang__'+lang,
			'user__'+user, 
			'password__'+password, 
			'sid__'+sid,
			'pic__'+pic,
			'id__'+id,
			'NO_CACHE'	], 
		["anzeigen_edit_fotos"]
	);
}

///////////////////////////////////////////////////////////////////////
function netGenAJAX_Send() { 
	var args = netGenAJAX_Send.arguments; 
	for( var i=0; i<args[0].length;i++ ) { 
		args[0][i] = fnsplit(args[0][i]); 
	} 
	var l = ajax.length; 
	ajax[l]= new pjx(args,"netGenAJAX_Send",args[2]); 
	ajax[l].url = basedir + '/netGen/netGen.pl?' + ajax[l].url; 
	ajax[l].send2perl(); ;
}