var NTX_Util = {
	getUid : function(id){
		var parts = id.split("_");
		if(parts.length > 1 ){
			part = parts.pop();
			return part;
		}
	}
}

var NTX_Misc = {
	showStandortDetails : function(id){
		win = window.open('/popup.standort_details.01.php?ID_STANDORT=' + id, 'DETAIL', 'height=600,width=550,scrollbars=yes');
		win.moveTo(0,0);
		win.focus();
	}
}

var NTX_Nav = {
	switchInParent : function(id_nav, id_gruppe, is_parent){
		is_parent = (!is_parent) ? false : is_parent;
		if(is_parent === false){
			parent.nav.highlightNav(null, 'nav'+id_gruppe+'_'+id_nav);
			parent.nav.toggleFolder(null, 'nav'+id_gruppe);
		}else {

	}
	}
}


var NTX_Dyn = {
	timeout : null,
	showDialog : function(type, message, is_parent){
		parent.NTX_UserInterface.showDialog(type, message);
	}
}



var NTX_Help = {
	showSmallHelp : function(event) {

		try {
			var element = Event.element(event);
			var x = Event.pointerX(event)-250;
			var y = Event.pointerY(event)-10;
			var TOPIC = element.up().title;
			url = '../dispatcher/index.php?ORDER=GET_HELP&TYPE=small&TOPIC='+escape(TOPIC);
			var myAjax = new Ajax.Request(url, {
				method:"post",
				onComplete: function (response) {
					NTX_Help.WS_showSmallHelp(response,x,y)
					}
				});
		parent.NTX_UserInterface.showPanel("wait");
	}
	catch(err){
		alert(err);
	}
	return false;
},
prepareHelpLinks : function(){
	var links = $$('a.smallHelp');
	for(var i = 0; i < links.length;i++){
		links[i].observe('click',NTX_Help.showSmallHelp);
	}
},
WS_showSmallHelp : function(res,x,y){
	parent.NTX_UserInterface.hidePanel('wait');
	try {
		var values = res.responseText.evalJSON();
		parent.NTX_UserInterface.showPanel("help",{
			panelHeader:"Kurzhilfe: '"+values['CONTENT']['SUBJECT']+"'",
			panelBody:values['CONTENT']['BODY'],
			panelFooter:''
		});
	}
	catch(e){
		parent.NTX_UserInterface.showPanel("help",{
			panelHeader:"Fehler",
			panelBody:"Leider steht für dieses Thema kein Eintrag zur Verfügung."
		});
	}


}
}

var sDate = new Array();
var mName = new Array("Januar&nbsp;&nbsp;","Februar&nbsp;&nbsp;","März&nbsp;&nbsp;&nbsp;&nbsp;","April&nbsp;&nbsp;&nbsp;","Mai&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;","Juni&nbsp;&nbsp;&nbsp;&nbsp;","Juli&nbsp;&nbsp;&nbsp;&nbsp;","August&nbsp;&nbsp;&nbsp;","September","Oktober&nbsp;&nbsp;","November&nbsp;","Dezember&nbsp;")
var wName = new Array("So","Mo","Di","Mi","Do","Fr","Sa")
var cFontName = "Arial, Helvetica, sans-serif;"
var KW_color = new Array("#000000","#ffcccc","#cccccc","#ffffff","#ccffcc","#cccccc","#eeeeee","#dddddd")
var KW_cl=0;
var KW_od=1;
var KW_tmo=0;
var KW_cWidth=170;
var KW_fd=-1;
var KW_ss=0;
var KW_sw=0;
var descx=-1;
var descy=-1;
var bwNN=(document.captureEvents)?1:0;
function popmousemove(e){
	descx=(bwNN)?e.pageX:event.x;
	descy=(bwNN)?e.pageY:event.y
	}
function KW_mouseInit(){
	if(bwNN)document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove=popmousemove;
}
function m_class(m,d,y) {
	this.month=(m<10)?"0"+m:m;
	if (d) this.day=(d<10)?"0"+d:d;else this.day="";
	this.year=y;
	this.output=this.year+"-"+this.month+"-"+this.day;
	var kd=new Date();
	this.special=checkDates(this.month,this.day,this.year)
	this.today=((kd.getMonth()+1)==this.month && kd.getDate()==this.day && kd.getFullYear()==this.year)
	var td=new Date(this.year, (this.month-1), Number(this.day)+KW_od);
	this.past=(KW_od==-1)?0:(kd>td)
	var tf=new Date(kd.getFullYear(),kd.getMonth(),kd.getDate()+KW_fd);
	var d1=new Date(this.year, (this.month-1), this.day);
	this.future=(KW_fd==-1)?0:(tf<d1);
	this.ss=(this.special && KW_ss);
	this.display=(this.past || this.future || this.ss);
}



function checkDates(m1,d1,y1) {
	var rStr=false;
	for(var i=0;i<sDate.length;i++) {
		var tDate=sDate[i].split(",");
		if (tDate[2]=="*" || tDate[2]==y1) {
			if (tDate[1]==d1 && tDate[0]==m1)    rStr=true;
		}
	}
	return rStr;
}

function KW_doCalendar(obj,E,m,y) {
	var d=new Date();
	f=0;
	d.setDate(1);
	if (!m && m!=0) {
		m=d.getMonth();
		f=KW_cl
		}
	if (f==1 && MM_findObj('KW_selectedMonth').value!=-1)
		m=MM_findObj('KW_selectedMonth').value-1;
	d.setMonth(m);
	if (!y) y=d.getFullYear();
	if (f==1 && MM_findObj('KW_selectedYear').value!=-1)
		y=MM_findObj('KW_selectedYear').value;
	d.setFullYear(y);
	dy=d.getDay();
	if (!E) E=0;
	if(E==1)dy=(dy==0)?6:dy-1;
	dP=new Date();
	dP.setDate(1);
	dP.setMonth(m);
	dP.setDate(0);
	pStart=dP.getDate()-dy+1;
	dStr=new Array();
	for (i=pStart;i<dP.getDate()+1;i++) {
		tmo=(KW_tmo)?"":i;
		tMonth=(m==0)?"12":m;
		tYear=(m==0)?y-1:y;
		dStr[dStr.length]=new m_class(tMonth,tmo,tYear);
	}
	EOM=false;
	for (i=1;!EOM;i++){
		d.setDate(i);
		if (m!=d.getMonth()) EOM=true;
		else {
			dStr[dStr.length]=new m_class((Number(m)+1),i,y);
		}
	}
	cnt=1;
si=0;
if(E==1)si=(d.getDay()==0)?6:d.getDay()-1;else si=d.getDay();
for (i=si;i<7;i++) {
	tMonth=(m==11)?"1":Number(m)+2;
	tYear=(m==11)?Number(y)+1:y;
	tmo=(KW_tmo)?"":cnt;
	dStr[dStr.length]=new m_class(tMonth,tmo,tYear);
	cnt++;
}
pM=(m==0)?11:m-1;
pY=(m==0)?y-1:y;
nM=(m==11)?0:Number(m)+1;
nY=(m==11)?Number(y)+1:y;
wStr="<ht"+""+"ml><he"+""+"ad><st"+""+"yle type=\"text/css\"><!--  body { background-color: "+KW_color[6]+"}\ntd {  font-family: "+cFontName+" font-size: 12px; }\n.tblHdr { font-weight: bold; color: "+KW_color[0]+"; background-color: "+KW_color[6]+" }\n.subTbl{ color: "+KW_color[0]+"; background-color: "+KW_color[7]+";  text-align: center}-->\n</st"+""+"yle>\n<ti"+""+"tle>"+mName[m]+", "+y+"</ti"+""+"tle>\n</he"+""+"ad>\n<bo"+""+"dy  topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\" leftmargin=\"0\" onLoad=\"window.focus()\">\n<table width=\"100%\" border=\"0\" cellspacing=\"0\">\n<tr>\n<td bgcolor=\""+KW_color[6]+"\">\n<table width=\"100%\" border=0>\n"
wStr+="<tr>\n<td align=center bgcolor=\""+KW_color[6]+"\" class=\"tblHdr\" colspan=\"4\"><a href=\"javascript:window.opener.KW_doCalendar('"+obj+"',"+E+",'"+pM+"','"+pY+"');\" class=\"tblHdr\">&laquo</a>&nbsp;&nbsp;"+mName[m]+"&nbsp;&nbsp;<a href=\"javascript:window.opener.KW_doCalendar('"+obj+"',"+E+",'"+nM+"','"+nY+"');\"  class=\"tblHdr\">&raquo</a></td>\n<td colspan=3 align=center class=\"tblHdr\"><a href=\"javascript:window.opener.KW_doCalendar('"+obj+"',"+E+",'"+m+"','"+(y-1)+"');\" class=\"tblHdr\">&laquo</a>&nbsp;&nbsp;"+y+"&nbsp;&nbsp;<a href=\"javascript:window.opener.KW_doCalendar('"+obj+"',"+E+",'"+m+"','"+(Number(y)+1)+"');\"  class=\"tblHdr\">&raquo</a></td>\n</tr>\n"
wStr+="<tr>\n";
for(wdn=0;wdn<7;wdn++)wStr+="<td class=\"subTbl\">"+wName[wdn]+"</td>\n";
wStr+="</tr>\n"
for (x=0;x<parseInt(dStr.length/7);x++) {
	wStr+="<tr>\n";
	for (y=0;y<7;y++) {
		yT=(E==1)?5:0;
		bC=(y==yT||y==6)?KW_color[2]:KW_color[3];
		if ((y==yT||y==6) && KW_sw && !dStr[x*7+y].display) dStr[x*7+y].display=true;
		if ((Number(m)+1)!=dStr[x*7+y].month) bC=KW_color[5];
		if (dStr[x*7+y].special)
			bC=KW_color[4];
		if (dStr[x*7+y].today) bC=KW_color[1];
		a0=(KW_cl!=1)?"":"window.opener.MM_findObj('KW_selectedMonth',window.opener.document).value='"+dStr[x*7+y].month+"';window.opener.MM_findObj('KW_selectedYear',window.opener.document).value='"+dStr[x*7+y].year+"'; "
		a1=(dStr[x*7+y].display)?"":"<a href=\"javascript:window.opener.MM_findObj('"+obj+"',window.opener.document).value='"+dStr[x*7+y].output+"';"+a0+" window.close();\" >";
		a2=(dStr[x*7+y].display)?"":"</a>";
		wStr+="<td align=\"center\" bgcolor="+bC+">"+a1+dStr[x*7+y].day+a2+"</td>\n";
	}
	wStr+="</tr>\n";
}
wStr+="<tr><td colspan=7></td></tr></table></td></tr></table></bo"+""+"dy></ht"+""+"ml>";
var screenX=(self.screenX)?self.screenX+20:window.screenLeft
var screenY=(self.screenY)?self.screenY+70:window.screenTop
var w =(descx==-1)?parseInt(screen.width/2-75):descx+screenX;
var h=(descy==-1)?parseInt(screen.height/2-75):descy+screenY;
if (isNaN(w)) w=descx+20
if (isNaN(h)) h=descy+70
var look='width='+KW_cWidth+',height=155,left='+w+',top='+h;
popwin=window.open('','calendar',look);
popwin.document.open();
popwin.document.write(wStr);
popwin.document.close();
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;
	if(!d) d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n);
	return x;
}

function MM_validateForm() { //v4.0
	var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
	for (i=0; i<(args.length-2); i+=3) {
		test=args[i+2];
		val=MM_findObj(args[i]);
		if (val) {
			nm=val.name;
			if ((val=val.value)!="") {
				if (test.indexOf('isEmail')!=-1) {
					p=val.indexOf('@');
					if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
				} else if (test!='R') {
					num = parseFloat(val);
					if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
					if (test.indexOf('inRange') != -1) {
						p=test.indexOf(':');
						min=test.substring(8,p);
						max=test.substring(p+1);
						if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
					}
				}
		} else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n';
	}
}
if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

// add event listener to body
document.observe("dom:loaded",function(){
	NTX_Help.prepareHelpLinks();
	if(typeof local_init == 'function'){
		local_init();
	}
	try {
		if(parent.NTX_UserInterface){
			if(typeof parent.NTX_UserInterface.showPanel == 'function'){
				parent.NTX_UserInterface.hidePanel('page_loading');
			}
		}
	}catch(e){}
});

