function PopUp(url,w,h,scroll,oben,links) {
	if (oben == '') {
		var oben = 0;
	} else {
		var oben = oben;
	}
	if (links == '') {
		var links = 0;
	}	else {
		var links = links;
	}
	if (scroll == 1) {
		var scroll = 1;
	} else {
		var scroll = 0;
	}
	var dim=eval("'width='+w+',height='+h+'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars='+scroll+',resizeable=1,top='+oben+',left='+links+''");
	url2 = url;
	Npop = window.open(url2,"pop",dim);
}

function SetFocus(TargetFormName) {
	var target = 0;
	if (TargetFormName != "")
	for (i=0; i<document.forms.length; i++) {
		if (document.forms[i].name == TargetFormName) {
			target=i;
			break;
		}
	}

	var TargetForm = document.forms[target];

	for (i=0; i<TargetForm.length; i++) {
		if ( (TargetForm.elements[i].type != "image") &&
		(TargetForm.elements[i].type != "hidden") &&
		(TargetForm.elements[i].type != "reset") &&
		(TargetForm.elements[i].type != "submit") ) {

			TargetForm.elements[i].focus();

			if ( (TargetForm.elements[i].type == "text") ||
			(TargetForm.elements[i].type == "password") )
			TargetForm.elements[i].select();

			break;
		}
	}
}

function SwapCaption (type, overwrite) {
	switch (type) {
		case 'packstation':
		document.getElementById("_company").firstChild.nodeValue = document.getElementById("post_text").value;
		document.getElementById("_street").firstChild.nodeValue = document.getElementById("packstation_text").value;
		document.getElementById("_company").className = 'bold';
		//if (overwrite == true) add_entry.street_address.value = 'PACKSTATION ';
		break;
		case 'address':
		document.getElementById("_company").firstChild.nodeValue = document.getElementById("company_text").value;
		document.getElementById("_street").firstChild.nodeValue = document.getElementById("street_text").value;
		document.getElementById("_company").className = 'normal';
		//if (overwrite == true) add_entry.street_address.value = '';
		break;
	}
}

function RemoveFormatString(TargetElement, FormatString) {
	if (TargetElement.value == FormatString)
	TargetElement.value = "";
	TargetElement.select();
}

function CheckDateRange(from, to) {
	if (Date.parse(from.value) <= Date.parse(to.value)) {
		return true;
	} else {
		return false;
	}
}

function IsValidDate(DateToCheck, FormatString) {
	var strDateToCheck;
	var strDateToCheckArray;
	var strFormatArray;
	var strFormatString;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var intDateSeparatorIdx = -1;
	var intFormatSeparatorIdx = -1;
	var strSeparatorArray = new Array("-"," ","/",".");
	var strMonthArray = new Array("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
	var intDaysArray = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

	strDateToCheck = DateToCheck.toLowerCase();
	strFormatString = FormatString.toLowerCase();

	if (strDateToCheck.length != strFormatString.length) {
		return false;
	}

	for (i = 0; i < strSeparatorArray.length; i++) {
		if (strFormatString.indexOf(strSeparatorArray[i]) != -1) {
			intFormatSeparatorIdx = i;
			break;
		}
	}

	for (i = 0; i < strSeparatorArray.length; i++) {
		if (strDateToCheck.indexOf(strSeparatorArray[i]) != -1) {
			intDateSeparatorIdx = i;
			break;
		}
	}

	if (intDateSeparatorIdx != intFormatSeparatorIdx)
	return false;

	if (intDateSeparatorIdx != -1) {
		strFormatArray = strFormatString.split(strSeparatorArray[intFormatSeparatorIdx]);
		if (strFormatArray.length != 3) {
			return false;
		}

		strDateToCheckArray = strDateToCheck.split(strSeparatorArray[intDateSeparatorIdx]);
		if (strDateToCheckArray.length != 3) {
			return false;
		}

		for (i = 0; i < strFormatArray.length; i++) {
			if (strFormatArray[i] == 'mm' || strFormatArray[i] == 'mmm')
			strMonth = strDateToCheckArray[i];
			if (strFormatArray[i] == 'dd')
			strDay = strDateToCheckArray[i];
			if (strFormatArray[i] == 'yyyy')
			strYear = strDateToCheckArray[i];
		}
	}	else {
		if (FormatString.length>7) {
			if (strFormatString.indexOf('mmm') == -1) {
				strMonth = strDateToCheck.substring( strFormatString.indexOf('mm'), 2 );
			}
			else {
				strMonth = strDateToCheck.substring( strFormatString.indexOf('mmm'), 3 );
				strDay = strDateToCheck.substring( strFormatString.indexOf('dd'), 2 );
				strYear = strDateToCheck.substring( strFormatString.indexOf('yyyy'), 2 );
			}
		}	else {
			return false;
		}
	}

	if (strYear.length != 4) {
		return false;
	}
	intday = parseInt(strDay, 10);
	if (isNaN(intday)) {
		return false;
	}
	if (intday < 1) {
		return false;
	}

	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth)) {
		for (i = 0;i < strMonthArray.length; i++) {
			if (strMonth == strMonthArray[i]) {
				intMonth = i+1;
				break;
			}
		}
		if (isNaN(intMonth)) {
			return false;
		}
	}
	if (intMonth>12 || intMonth<1) {
		return false;
	}

	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)) {
		return false;
	}
	if (IsLeapYear(intYear) == true) {
		intDaysArray[1] = 29;
	}

	if (intday > intDaysArray[intMonth - 1]) {
		return false;
	}

	return true;
}

function IsLeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0)
		return true;
	}
	else {
		if ((intYear % 4) == 0)
		return true;
	}

	return false;
}

function blurText(obj, text) {
	if (obj.value == '') {
		obj.value = text;
		obj.className = 'grey';
	}
}

function focusText(obj, text) {
	if (obj.value == text) {
		obj.value = '';
		obj.className = '';
	}
}

function blurPassword(obj, text) {
	if (obj.value == '') {
		obj.value = text;
		obj.className = 'grey';
		obj.type = 'text';
	}
}

function focusPassword(obj, text) {
	if (obj.value == text) {
		obj.value = '';
		obj.className = '';
		obj.type = 'password';
	}
}

//plugin
jQuery.fn.topLink = function(settings) {
	settings = jQuery.extend({
		min: 1,
		fadeSpeed: 200
	}, settings);
	return this.each(function() {
		//listen for scroll
		var el = $(this);
		el.hide(); //in case the user forgot
		$(window).scroll(function() {
			if($(window).scrollTop() >= settings.min && ($(window).scrollTop() + $(window).height()) <= ($('body').height() - settings.max))
			{
				el.fadeIn(settings.fadeSpeed);
				//alert($(window).scrollTop() + ':' + $('body').height());
			}
			else
			{
				el.fadeOut(settings.fadeSpeed);
			}
		});
	});
};
