// JavaScript Document
var ajaxinit;
function jumpToEditMode() {
	document.location.href="index.php?login=start&menuid="+menuid;
}
var maybe=false;
var posID;
function getkey(keyStroke) {
	if (editmode) shortCuts(keyStroke);
	eventChooser = nn6?keyStroke.which:event.keyCode;
	if ((eventChooser==10 || eventChooser==20) && editmode=="") jumpToEditMode();
}

function tickInit() {
		document.onkeypress=getkey;
		if(ajaxinit)ajaxinit();
}


(function($) {
	$.extend($.fx.step,{
	    backgroundPosition: function(fx) {
            if (fx.state === 0 && typeof fx.end == 'string') {
                var start = $.curCSS(fx.elem,'backgroundPosition');
                start = toArray(start);
                fx.start = [start[0],start[2]];
                var end = toArray(fx.end);
                fx.end = [end[0],end[2]];
                fx.unit = [end[1],end[3]];
			}
            var nowPosX = [];
            nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
            nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
            fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

           function toArray(strg){
               strg = strg.replace(/left|top/g,'0px');
               strg = strg.replace(/right|bottom/g,'100%');
               strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
               var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
               return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
           }
        }
	});
})(jQuery);


function postForm(ac,target){
	// post de in de gelinkte content aanwezige velden.
	// todo: check inbouwen voor tickform.
	if(check_fields()){
		var myform=d('tickForm');
		if (!myform.elements){
			var myform=d('linked');
			newform=document.createElement('FORM');
			myform.parentNode.insertBefore(newform,myform);
			newform.appendChild(myform);
			oldform=myform;
			myform=newform;
		}
		editableDivs=getElementsByAttributeValue('contenteditable',true,myform);
	
		for (var i in editableDivs){
			var deDiv=editableDivs[i];
			var newInput=document.createElement('INPUT');
			newInput.name=deDiv.getAttribute('name');
			myform.appendChild(newInput);
			clearStyles(deDiv);
			newInput.value=deDiv.innerHTML;
		}
	
		myform.method='POST';
		myform.action='index.php?menuid='+menuid+'&ac='+ac;
		myform.target=target?target:'_self';
		myform.submit();
	}
}

function linkTo(ac,isprofile){
	document.location='index.php?menuid='+menuid+'&ac='+ac+((!isprofile)?location.hash:'');
	return false;
}

function upload(elmt){
		parentelmt=elmt.parentNode;
		uploader=document.createElement('FORM');
		msg=document.createElement('DIV');
		msg.innerHTML='uploading..';
		msg.className='value';
		parentelmt.appendChild(msg)
		if (uploader.outerHTML)uploader=document.createElement('<FORM enctype="multipart/form-data" target="uploadframe"></FORM>');
		else {
			uploader.setAttribute('enctype',"multipart/form-data");
			uploader.target='uploadframe';
		}
		//uploader.target='uploadframe';
		blockelement=document.createElement('DIV');
		elmt.name='newfile';
		blockelement.appendChild(elmt);
		uploader.appendChild(blockelement);
		uploader.className='hidden';
		uploader.action='index.php?window=upload_ajax&ac=upload_file';
		uploader.method='POST';
		document.body.appendChild(uploader);
		uploader.submit();
		document.body.removeChild(uploader);
	}

	function deleteFile(){
		d('avatar').value='delete_file';
		d('image').className='hidden';
		d('editfile').className='hidden';
		d('editfilebutton').className='formrow hidden';
		d('deletefilebutton').className='formrow hidden';
		d('editfileinput').className='formrow';
	}

	function setFile(kees){
		msg.innerHTML=kees;
	}

	function changeFile(){
		d('editfile').className='hidden';
		d('editfilebutton').className='formrow hidden';
		d('editfileinput').className='formrow';
	}

	function loadFans(){
			url='index.php?window=profile_search';
			vars={'type':'user',
			'query':$('#input_fans_query').val() ,
			'view':'input',
			'rand':Math.random()};
			$.get(url,vars,function(data){
				$('#popup_fans_content').html(data).prepend('<div class="listlabel">kies een fan:</div>').append('<div class="message">niet gevonden? <a onclick="openDialog(\'popup_uitnodiging\',dlgId)">verstuur een uitnodiging</a></div>');
				$('#popup_fans_admin_content').show();
				$('#popup_fans_admin_content').empty();
				$('#popup_fans_content .listitem').click(function (){selectFan(this);});
			});

	}
	function loadMembers(){
		url='index.php?window=profile_search';
			vars={'type':'user',
			'query':$('#input_deelnemer_query').val() ,
			'view':'input',
			'rand':Math.random()};
			$.get(url,vars,function(data){
				$('#popup_deelnemers_content').html(data).prepend('<div class="listlabel">kies een gebruiker:</div>').append('<div class="message">niet gevonden? <a onclick="openDialog(\'popup_uitnodiging\',dlgId)">verstuur een uitnodiging</a></div>');
				$('#popup_admin_content').show();
				$('#popup_admin_content').empty();
				$('#popup_deelnemers_content .listitem').click(function (){selectUser(this);});
			});

	}

	function loadAdminMembers(target,query){
		url='index.php?window=profile_search';
			vars={'type':'user',
			'query':$(query).val() ,
			'view':'admin',
			'rand':Math.random()};
			$.get(url,vars,function(data){
				$(target).html(data).prepend('<div class="listlabel">kies een gebruiker:</div>');
				$('#popup_admin_content .listitem').click(function (){selectUser(this);});
				$('#popup_fans_admin_content .listitem').click(function (){selectFan(this);});
			});
	}

	function selectUser(sender){
		$('#popup_deelnemers_content').add('#popup_admin_content').hide();
		$('#searchfield').hide();
		$('#popup_deelnemers #roleselect').show();
		$('#additems').empty();
		$('#additems').append(sender);
		$('#add_member').click(function(){sendDialog('add_member');});
	}

	function selectFan(sender){
		$('#popup_fans_content').add('#popup_fans_admin_content').hide();
		$('#popup_fans #searchfield').hide();
		$('#addfans').empty();
		$('#addfans').append(sender);
		$('#add_fan').click(function(){sendDialog('add_fan');});
	}


	var dlgAction;
	function openDialog(type,id){
		switch (type){
			case 'popup_uitnodiging':
				dlgAction='send_invite';
				dlgId=id;
				$('#popup_deelnemers').hide();
				showDialog('popup_uitnodiging');
				$('#send_invite:not(.ready)').addClass('ready').click(function(){sendDialog('popup_uitnodiging');});
			break;
			case 'join_member':
				dlgAction='join_member&profile_id='+id;
				showDialog('popup_lidmaatschap');
			break;
			case 'join_participant':
				dlgAction='join_participant&profile_id='+id;
				showDialog('popup_deelnemerschap');
			break;
			case 'add_fans':
				dlgAction='add_fans&profile_id='+id;
				dlgId=id;
				$('#popup_fans_content').show();
				$('#popup_fans_content').empty();
				$('#popup_fans_admin_content').show();
				$('#popup_fans_admin_content').empty();

				$('#popup_fans #searchfield').show();
				$('#popup_fans #additems').empty();
				$('#input_fans_query:not(.ready)').addClass('ready').keypress(function (e) {
					if (e.which == 13)loadFans();
				})
				showDialog('popup_fans');
				loadAdminMembers('#popup_fans_admin_content','#input_fan_query');
			break;
			case 'add_members':
			case 'add_participants':
				dlgAction='add_members&profile_id='+id;
				dlgId=id;
				$('#popup_deelnemers_content').show();
				$('#popup_deelnemers_content').empty();
				$('#popup_admin_content').show();
				$('#popup_admin_content').empty();

				$('#popup_deelnemers #searchfield').show();
				$('#popup_deelnemers #additems').empty();
				$('#input_deelnemer_query:not(.ready)').addClass('ready').keypress(function (e) {
					if (e.which == 13)loadMembers();
				})
				$('#input_deelnemer_button:not(.ready)').addClass('ready').click(function () {
					loadMembers();
				})

				showDialog('popup_deelnemers');
				loadAdminMembers('#popup_admin_content','#input_deelnemer_query');
				$('#popup_deelnemers #roleselect').hide();
			break;
			default: alert('dialog not found: '+type);
		}
	}

	function sendDialog(type){
		switch (type){
			case 'popup_uitnodiging':
				url='index.php?window=send_invite';
				vars={
				'email':$('#popup_uitnodiging #address').val(),
				'text':$('#popup_uitnodiging #message').html(),
				'profile_id':dlgId,
				'rand':Math.random()};
				$.post(url,vars,function(data){
					$('#popup_uitnodiging #address').val('');
					hideDialog('popup_uitnodiging');
				});

			break;
			case 'join_member':
				role_select=document.getElementById('select_role_group');
				dlgAction+='&role='+role_select.options[role_select.selectedIndex].text;
				linkTo(dlgAction);
			break;
			case 'join_participant':
				role_select=document.getElementById('memberrole');
				dlgAction+='&role='+role_select.options[role_select.selectedIndex].text;
				linkTo(dlgAction);
			break;
			case 'add_member':
				dlgAction+='&new_member='+$('#additems #profileid').val();
				dlgAction+='&role='+$('#popup_deelnemers #memberrole option:selected').val();
				linkTo(dlgAction);
			break;
			case 'add_fan':
				dlgAction+='&new_fan='+$('#addfans #profileid').val();
				linkTo(dlgAction);
			break;
		}

	}

	function showDialog(id){
		$('#misty').show();
		$('#'+id).show();
		$('#srolldiv').css('overflow-y', 'hidden');
		// $('#'+id).css('left',($(document.body).width()-$('#'+id).width())/2+'px').css('top',($(document.body).height()-$('#'+id).height())/2+'px')
	}

	function hideDialog(id){
		$('#misty').fadeOut("fast");
		$('#srolldiv').css('overflow-y', 'scroll');
		$('#'+id).fadeOut("fast");
	}

$(document).ready(function (){
	$('html').addClass('js-enabled');
	//$("#userdiv_shadow").ifixpng();

	$('#coltable').height(document.body.scrollHeight);
	var html = '';
	var list_id=0;
	$('.lists .grouplist .listlabel').each(function(){

		list_id++;
		html+='<a name="tab_'+list_id+'" list_id="'+list_id+'" href="#tab_'+list_id+'" class="tab_link">'+$(this).html()+'</a>';
		$(this).parent().attr('list_id',list_id).hide();
		$(this).hide();
	});

	$('.lists').prepend('<div class="list_tab_row">'+html+'</div>');
	$('.list_tab_row a').click(function(){
		$('.list_tab_row a').removeClass('active');
		$('.list_tab_row a[@list_id="'+$(this).attr('list_id')+'"]').addClass('active');
		$('.lists .grouplist').hide();
		$('.grouplist[@list_id="'+$(this).attr('list_id')+'"]').show();
		return false;
	});


	if (location.hash && location.hash.substring(1, 5) == 'tab_') {

  		$('.list_tab_row a[@list_id="'+location.hash.substring(5)+'"]').click();
 	}
 	else {
 		$('.list_tab_row a[@list_id="1"]').click();
 	}
	$('input.date').datepicker({
		dateFormat: 'dd-mm-yy',
		yearRange: '1911:2010',
		dayNames: ['zondag','maandag', 'dinsdag', 'woensdag','donderdag', 'vrijdag', 'zaterdag'],
		dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don','vri','zat'],
		monthNames: ['januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december'],
		monthNamesShort: ['jan','feb','mar','apr','mei','jun','jul','aug','sep','okt','nov','dec']
	});


	function setFilter(scope){
		$('#clearfilter',scope).click(function(){
			url='index.php?window=agenda';
			vars={'ac':'filter_agenda',
			'rand':Math.random()};
			$.get(url,vars,function(data){
				$('#agenda').html(data)
				setFilter($('#agenda'));
			});
		})
		$('#agenda select',scope).change(function (){

			url='index.php?window=agenda';
			vars={'ac':'filter_agenda',
			'select_netwerk':$('#select_netwerk option:selected').val(),
			'select_activity_type':$('#select_activity_type option:selected').val(),
			'select_user':$('#select_user option:selected').val(),
			'select_group':$('#select_group option:selected').val(),
			'select_production':+$('#select_production option:selected').val(),
			'select_location':+$('#select_location option:selected').val(),
			'rand':Math.random()};
			$.get(url,vars,function(data){
				$('#agenda').html(data)
				setFilter(document);
				agendaTyper();
			});
		})
	}

	$('#linked').dblclick(function(){return false;});
	setFilter(document);



	showRandomAgenda();

	$('#listquery_search').click(function(){
		document.location.href = '?menuid='+menuid+'&listquery='+$('#list_query_input').val();
	});
	$('#list_query_input').keyup(function(e) {if(e.keyCode == 13){document.location.href = '?menuid='+menuid+'&listquery='+$('#list_query_input').val();}});

	function agendaTyper() {
		$('#agenda h1 span').click(function(){
		}).hover(function(){
			$('#kijkdoe').show();
		},function(){

		});

	}
	agendaTyper();

});

// binnenkort caroussel //
var currentAgenda;
function showRandomAgenda() {
	var newagenda = Math.floor(Math.random()*$('#binnenkort a').size());
	if (currentAgenda) $(currentAgenda).fadeOut();
	currentAgenda = $('#binnenkort a:eq('+newagenda+')');
	$(currentAgenda).fadeIn();

}
var agendatimer = setInterval("showRandomAgenda()",10000);

function clearStyles(obj) {
	var childs;
	if (obj.tagName!="img" && obj.tagName!="IMG" && obj.tagName!="undefined") {
		if(obj.style)obj.style.cssText="";
	}
	if (obj.childNodes) childs=obj.childNodes.length;
	else childs=0;
	if (childs>0) {
		for(var t=0; t<childs; t++) clearStyles(obj.childNodes[t]);
	}
}