$(document).ready(function(){
	unfoldRows();
});

function unfoldRows() {
	
	$('table:has(.unfoldMe)').each(function(){
		var table = $(this);
		$.post('/gotroot/sessiondata.cfm', { s: $(table).attr('id')+'_foldedRows' }, function(data){
			$(table).find('.unfoldMe').each(function(){
				var unfoldMe = $(this).find('div');
				var unfolder = $(this).prev().find('.unfolder');
				var tableId = $(this).parents('table').attr('id');
				var rowId = $(unfoldMe).parent().parent().attr('id').substring(7);
				
				$(unfolder).toggle(
					function(){
						$(this).addClass('unfolded');
						$(unfoldMe).slideDown(0);
					},
					function(){
						$(this).removeClass('unfolded');
						$(unfoldMe).slideUp(0);
					}
				);
				if (data != null) {
					if (data['row_'+rowId]) {
						$(unfolder).click();
					}
				}
			});
		});
	})	

	$('.unfolder a').bind(function(){
		$(this).parent().click();
	});

	$('.unfoldAllRows').click(function(){
		$('.unfolder').not('.unfolded').click();
		return false;
	});
}

function showHideNoticeDiv(id)
{
	$('#'+id).css('opacity', 0).hide().slideDown(400, function(){ $(this).animate({'opacity':1}, 2000, function(){$(this).slideUp(1500)}) });
}

function loadflash(movie,w,h) {
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + w + '" height="' + h + '" id="flmov" align="middle">\n')
	document.write('<param name="allowScriptAccess" value="sameDomain" />\n')
	document.write('<param name="movie" value="' + movie + '" />\n')
	document.write('<param name="quality" value="high" />\n')
	document.write('<param name="bgcolor" />\n')
	document.write('<param name="wmode" value="transparent">\n')
	document.write('<embed src="' + movie + '" wmode="transparent" quality="high" width="' + w + '" height="' + h + '" name="flmov" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n')
	document.write('</object>\n')
}

function required(listname) {
	var frm = document.forms['edit'];
	if (!frm) return;
	
	for (var i = 0 ; i < listname.length ; i++) {
		if(frm.elements[listname[i]])
		{
			/* Is het een tekstveld/textarea of een dropdown/select ?? */
			if(frm.elements[listname[i]].options)
			{/* dropdown */
				if (frm.elements[listname[i]].value=='')	{
					alert ('Het volgende veld is verplicht: ' + showlabel(listname[i]));
					frm.elements[listname[i]].focus();
					setclass(frm.elements[listname[i]], 'fieldwarning')
					return false;
				}
			}
			else
			{/* geen dropdown */
				if (frm.elements[listname[i]].value == '')
				{
					alert ('Het volgende veld is verplicht: ' + showlabel(listname[i]));
					frm.elements[listname[i]].focus();
					setclass(frm.elements[listname[i]], 'fieldwarning')
					return false;
				}
			}
		}
	}
	return true;
}

function initCap(str) {
	/* First letter as uppercase, rest as they were */
	var str = str.substring(0,1).toUpperCase() + str.substring(1,str.length);

	return str;
}

function isEmail(str)
{
	return !!( /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(str) );
}

function isDate($field)
{
	var nrs = $field.val().split('/');
	if (nrs.length<3)
		return false;
	var year = nrs[2], month = nrs[1], day = nrs[0];
	var today = new Date();
	year = ((!year) ? y2k(today.getYear()):year);
	month = ((!month) ? today.getMonth():month-1);
	if (!day) return false;
	var test = new Date(year,month,day);
	if ( (y2k(test.getYear()) == year) &&
		 (month == test.getMonth()) &&
		 (day == test.getDate()) )
	   {return true;}
	else
	   {return false;}
}
function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function showlabel(id) {
	var labelid = id + '_lbl';
	if (document.getElementById(labelid))
	{
		var labelhtml = document.getElementById(labelid).innerHTML;
		labeltxt = labelhtml.split('<')[0];
		if (labeltxt == '')
			labeltxt = labelhtml.replace(/(<.*?>| ?\*)/g, '');
	} else
	{
		var labeltxt = id;
	}
	return initCap(labeltxt);
}


function setclass(obj,cssname) {
	if (obj.className!='selectedrow' && !obj.className.match(new RegExp(cssname, "i")))
	{
		obj.className = trim(obj.className + " " + cssname);
	}
}

function trim(str)
{
	return str.replace(/(^ +| +$)/g, "");	
}

