/* Note: sniffer must id older netscape */
var ie = 0; ns = 0; gecko = 0; opera = 0;
var agent = navigator.userAgent;
var browser = navigator.appName;
var version = parseInt(navigator.appVersion);
 agent = agent.toLowerCase();
 browser = browser.charAt(0);
if (agent.indexOf('gecko') != -1) {gecko = true;}
if (agent.indexOf('opera') != -1) {opera = true;}
if (browser=="N" && version < 5) {ns = true;} else {ie = true;}
ns6 = (navigator.vendor == ("Netscape6") || navigator.product == ("Gecko"));

function resfcalendar(sfid, clid, cid, form, field)
{
	var caltarget = form + ':' + field;
	var caldate = document.forms[form].elements[field].value;
	var calUrl = 'search.xf?_p=calendar%26date=' + caldate + '%26_sfid=' + sfid + '%26_clid=' + clid + '%26_cid=' + cid + '%26target=' + caltarget;
	calUrl = unescape(calUrl);
	resfcalpopup(calUrl, 'Kalender', 363, 153)
}

function resfcalpopup(url,text,breite,hoehe)
{
	if((navigator.appName == "Netscape") && ((parseInt(navigator.appVersion)) >= 3))
	{
		display_window = window.open(url,text,"screenx=700,screeny=350,width="+breite+",height="+hoehe+",dependent=yes,resizable=no,scrollbars=no");
		display_window.focus();
	}
	else
		display_window = window.open(url,text,'screenx=700,screeny=350,width='+breite+',height='+hoehe+',dependent=yes,resizable=no,scrollbars=no');
}

function resfcalChangeYear(form, field, yyyy, upordown)
{
	if(upordown == 'up')
	{
		var ddMM = '01.01.';
		yyyy = yyyy + 1;
		var ddMMyyyy = ddMM + yyyy;
	}
	if(upordown == 'down')
	{
		var ddMM = '01.11.';
		yyyy = yyyy - 1;
		var ddMMyyyy = ddMM + yyyy;
	}

	document.forms[form].elements[field].value = ddMMyyyy;
	document.forms[form].submit();
}

function resfcalChangeMonth(form, field, MM, yyyy, upordown)
{
	dd = '01'
	if(upordown == 'up')
	{
			MM = parseInt(MM);
			if(MM < 10) MM = '0' + MM
	}
	else if(upordown == 'down')
	{
		if (MM == 01)
		{
			MM = '12';
			yyyy += -1;
		}
		else
		{
			MM = parseInt(MM);
			MM +=  -1
			if(MM < 10) MM = '0' + MM
		}
	}
	else if(upordown == 'new')
	{
		MM = parseInt(MM);
		if(MM < 10) MM = '0' + MM;
		yyyy = yyyy;
	}
	var ddMMyyyy = dd + '.' + MM + '.' +yyyy
	document.forms[form].elements[field].value = ddMMyyyy
	document.forms[form].submit();
}

function resfreturnDate(dd, MM, yyyy)
{
		caldate = dd + '.' + MM + '.' + yyyy

		window.opener.document.forms[openerForm].elements[openerField].value = caldate;
		self.close();
/*		
	if(window.opener)
	{
	}
	else
	{
		window.parent.document.forms[openerForm].elements[openerFielddd].value = dd;
		window.parent.document.forms[openerForm].elements[openerFieldMM].value = MM;
		window.parent.document.forms[openerForm].elements[openerFieldyyyy].value = yyyy;
		window.parent.resfdateSelectToInput(openerForm, openerField);
	}
*/
}

function calcDate(form, inputFrom, inputTo, days) {
	if(days != '' && days != 0)	{
		var mainDate = new Date();
		mainDate = checkDate(document.forms[form].elements[inputFrom].value, mainDate);
		if(inputFrom == 'depdate' || inputFrom == inputTo)
			mainDate.setDate(mainDate.getDate() + parseInt(days));
		else
			mainDate.setDate(mainDate.getDate() - parseInt(days));
		printDate(form, inputTo, mainDate)
//		if (inputFrom == inputTo) clearDuration(form);
	}
}

function clearDuration(form)
{
	document.forms[form].elements['duration'].selectedIndex = 0;
}

function printDate(form, input, mainDate) {
	inputValue = '';
	if (mainDate.getDate() < 10)
		inputValue += '0';
	inputValue += mainDate.getDate() + '.';

	if (mainDate.getMonth() < 9)
		inputValue += '0';
	inputValue += (mainDate.getMonth() + 1) + '.';

	if(ns || ns6 || opera)
		inputValue += mainDate.getYear() + 1900;
	else
		inputValue += mainDate.getYear();
	document.forms[form].elements[input].value = inputValue;
}

function checkDate(date, mainDate) {

	ffmd = date.substring(0, date.indexOf('.'));
	ffmm = date.substring(date.indexOf('.') + 1, date.lastIndexOf('.'));
	ffmy = date.substring(date.lastIndexOf('.') + 1, date.length);

	if(ffmy.length < 2)
		ffmy = 200 + ffmy;
	if(ffmy.length < 3)
		ffmy = 20 + ffmy;
	if(ffmy.length < 4)
		ffmy = 20 + ffmy.substring(1, 3);

	if (!isNaN(ffmd) && !isNaN(ffmm) && !isNaN(ffmy) && (ffmd > 0) && (ffmd < 32) && (ffmm > 0) && (ffmm < 13) && (ffmy > 2000) && (ffmy < 2100)) {
		ffmm = ffmm - 1;
		mainDate.setYear(ffmy);
		mainDate.setMonth(ffmm);
		mainDate.setDate(ffmd);
	}
	return mainDate;
}