/**
 * global layout variables
 */
var innerLayout, outerLayout;
var headerSize = 106;


/**
 * Initialize
 */
$(document).ready(function() {

	//window.onbeforeunload = function () {
	//	return "Before unload.";
	//};
	
	if (jQuery.browser.msie && jQuery.browser.version < 7) {
		$('input[type=submit]').addClass('buttonIE6');
		$('input[type=button]').addClass('buttonIE6');
	}
	

	if ($("body").is(".spielwiese")) {
		headerSize = 131;
	}


	initLayout();

	$("#filter .folder li.search a").click(function() {
		// if ($.browser.msie) {
		// 	$("#searchForm").toggle();
		// } else {
		// 	$("#searchForm").slideToggle("normal");
		// }
		//outerLayout.allowOverflow('west');
	});
	
	$("#filter .folder li.extendedsearch").click(function() {
		// $("#searchForm").hide();
		$('#extendedsearch').modal();
	});
	
	// searchform
	$('div#searchForm input[type=text]').each(function() {
		if (this.title.length > 0) {
			var splitted = this.title.split(' – ');
			var title = splitted[0];
			if (this.value == '') {
				this.value = title;
				$(this).css('color', '#999');
			}
			$(this).focus(function() {
				if (this.value == title) {
					this.value = '';
					$(this).css('color', '#444');
				}
			});
			$(this).blur(function() {
				if (this.value == '') {
					this.value = title;
					$(this).css('color', '#999');
				}
			});
		}
	});
	$('div#searchForm form').submit(function() {
		$(this).children('input[type=text]').each(function() {
			var splitted = this.title.split(' – ');
			var title = splitted[0];
			if (this.value == title) {
				this.value = '';
			}
		});
	});
	if ($('input#searchcity').length > 0) {
		$('input#searchcity').autocomplete('zeus/object/suggestcity/', { minChars:2, maxItemsToShow:10, width:200 });
	}
	// end searchform
	
	

	//$(".deletebauprojekt").click(function() {
	//	$('#deleteDialog').modal();
	//	return false;
	//});

	$("#list #listBody").show();
	$("#detail #detailBody").show();
	$("#detailBody").show();

	$(window).keydown(function(e) {
		if (e.which == 27) {
			$.modal.close();
		}
	});
	
});


/**
 * init layout
 */
function initLayout() {
	
	if ($("#fullpage").length) {
		initFullPage();
	} else if ($("#list").length) {
		initFrameLayout();
	} else if ($("#filter").length && $("#detail").length) {
		initDetailLayout();
	}
	
}


/**
 * Initialize fullpage layout
 */
function initFullPage() {

	outerLayout = $("body").layout({
		defaults: {
			fxName:               "slide",
			fxSpeed:               "slow",
			spacing_closed:        14,
			initClosed:            false
		},
		north: {
			paneSelector:	"#header",
			spacing_open:	0,
			spacing_open:	0,
			size:           headerSize
		},
		center: {
			paneSelector:	"#fullpage",
			spacing_open:	0,
			spacing_open:	0,
			size:           headerSize
		}
	});

}


/**
 * Initialize frame layout: filter/list/detail
 */
function initFrameLayout() {

	outerLayout = $("body").layout({
		north: {
			paneSelector:	"#header",
			spacing_open:	0,
			spacing_open:	0,
			size:           headerSize
		},
		west: {
			paneSelector:	"#filter",
			resizable:      false,
			spacing_open:	0,
			spacing_open:	0,
			closable:       false,
			size:           175
		},
		center: {
			paneSelector:	".ui-layout-center",
			onresize:       "innerLayout.resizeAll"
		}
	});

	// read setting from cookie
    var cookieSettings = $.cookie("zeus_projectsframe_list");
	var northSize = 300;
    if (cookieSettings) {
        northSize = cookieSettings;
    }

	innerLayout = $('div.ui-layout-center').layout({
		north__paneSelector:	"#list",
		north__size:			northSize,
		center__paneSelector:	"#detail",
		spacing_open:			10,
		spacing_closed:			10
	});

	// save size in cookie
	$(window).unload(function() {
		$.cookie("zeus_projectsframe_list", innerLayout.state.north.size);
	});
	
	// set fixed header table
	/*$('#listBody').fixedHeaderTable({
		footer: false,
		cloneHeaderToFooter: false,
		autoResize: true,
		fixCol1: true
	});*/

}


/**
 * Initialize detail layout: filter/detail
 */
function initDetailLayout() {
	
	outerLayout = $("body").layout({
		north: {
			paneSelector:	"#header",
			spacing_open:	0,
			spacing_open:	0,
			size:           headerSize
		},
		west: {
			paneSelector:	"#filter",
			resizable:      false,
			spacing_open:	0,
			spacing_open:	0,
			closable:       false,
			size:           175
		},
		center: {
			paneSelector:	"#detail"
		}
	});
	
}


/**
 * check form
 *
 * check if form fields are empty. alert message for each missing field
 *
 * @param	array	fieldIdArray
 * @param	array	msgArray
 * @param	string	submit button
 * @param	string	"busy" label for submit button
 */
function checkForm(fieldIdArray, msgArray, submitButt, busyLabel) {
	//alert("checking fieldIdArray:\n" + fieldIdArray + "\n\nmsgArray:\n" + msgArray);

	var msg = "";

	for (var i = 0; i < fieldIdArray.length; i++) {
		var o = document.getElementById(fieldIdArray[i]);
		if (o != null) {
            if (o.value == "" || o.value == 0) {
                //  missing value
                msg += "- " + msgArray[i] + "\n";
            }
		}
	}

	if (msg != "") {
		//	missing values
		alert("Bitte folgende Eingaben prüfen:\n" + msg);
		return false;
	} else {
		//	ok, submit form
		var butt = document.getElementById(submitButt);
		butt.disabled = true;
		butt.value = busyLabel;

		return true;
	}
}


/**
 * used for xmlViewer
 */
function changeListVisibility(o, level, tag, img) {
	var quotes = o.getElementsByTagName(tag);
	// display img source
	if (img.attributes.src != undefined) {
		if (img.attributes.src.value.indexOf('images/icons/plus.gif') >= 0)  {
			img.attributes.src.value = 'images/icons/minus.gif';
		} else {
			img.attributes.src.value = 'images/icons/plus.gif';
		}
	}

	// set class
	o.className.indexOf("highlight") == -1 ? o.className += " highlight" : o.className = o.className.substr(0, String(o.className).length - String(" highlight").length);

	// set visibility
	for(i = 0; i < quotes.length; i++) 	if (quotes[i].attributes.lang.nodeValue == level) quotes[i].style.display != 'block' ? quotes[i].style.display = 'block' : quotes[i].style.display = 'none';

	return false;
}


/**
 * open window
 */
function openWindow(url, win_name, options) {
	window.open(url, win_name, options);
}


/**
 * show help
 */
function showHelp(key) {
	openWindow(ZF_BASEURL + '/index.php?cmd=contexthelp&key=' + key, 'contextHelp', 'width=325,height=300,resizable=yes,scrollbars=yes');
}


/**
 * show user Info
 */
function showUserInfo(userId) {
	openWindow(ZF_BASEURL + '/index.php?cmd=userinfo&id=' + userId, 'contextUser', 'width=325,height=300,resizable=yes,scrollbars=yes');
}


function refreshPage() {
	var url = document.location.href;
	if (url.lastIndexOf('#') > 0) 
		url = url.substring(0, url.lastIndexOf('#'));
		
	document.location.href = url;
	return false;
}
