$.include("/lib/js/jquery/ui/ui.core.js");
$.include("/lib/js/jquery/ui/ui.tabs.js");
$.include("/lib/js/jquery/plugins/jquery.pager.js");
$.include("/lib/js/jquery/plugins/jquery.treeview.js");
$.include("/lib/js/jquery/plugins/jquery.cookie.js");
$.include("/lib/js/jquery/plugins/jquery.thickbox.js");
$.include("/lib/js/jquery/plugins/jquery.url.packed.js");
$.include("/lib/js/jquery/plugins/jquery.cycle.all.min.js");

tinyMCE.init({
	mode: "textareas",
	editor_selector: "mceSimple",
	width : "320",
	theme: "advanced",
	skin: "o2k7",
	skin_variant: "silver",
	language: "nl",
	theme_advanced_toolbar_location: "top",
	theme_advanced_toolbar_align: "left",
	theme_advanced_buttons1: "bold,italic,underline,|,charmap,|,link,unlink,|,removeformat,cleanup",
 	theme_advanced_buttons2: "",
	content_css: "/lib/css/tinymce.css"
});

tinyMCE.init({
	mode: "textareas",
	editor_selector: "mceSimpleDevelop",
	height: "200",
	width : "350",
	theme: "advanced",
	skin: "o2k7",
	skin_variant: "silver",
	language: "nl",
	theme_advanced_toolbar_location: "top",
	theme_advanced_toolbar_align: "left",
	theme_advanced_buttons1: "bold,italic,underline,|,charmap,|,link,unlink,|,removeformat,cleanup,|,code",
 	theme_advanced_buttons2: "",
	content_css: "/lib/css/tinymce.css"
});

tinyMCE.init({
	mode: "textareas",
	editor_selector: "mceAdvancedNoTable",
	width : "370",
	theme: "advanced",
	skin: "o2k7",
	skin_variant: "silver",
	plugins: "paste,emotions",
	language: "nl",
	theme_advanced_toolbar_location: "top",
	theme_advanced_toolbar_align: "left",
	theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,outdent,indent",
	theme_advanced_buttons2: "pastetext,removeformat,cleanup,|,charmap,|,link,unlink,image,|,forecolor,backcolor,|,emotions",
	theme_advanced_buttons3: "",
	content_css: "/lib/css/tinymce.css"
});

tinyMCE.init({
	mode: "textareas",
	editor_selector: "mceAdvanced",
	width : "600",
	theme: "advanced",
	skin: "o2k7",
	skin_variant: "silver",
	plugins: "paste,table",
	language: "nl",
	theme_advanced_toolbar_location: "top",
	theme_advanced_toolbar_align: "left",
	theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,outdent,indent",
	theme_advanced_buttons2: "pastetext,removeformat,cleanup,|,charmap,|,link,unlink,image,|,forecolor,backcolor",
	theme_advanced_buttons3: "tablecontrols",
	content_css: "/lib/css/tinymce.css"
});

tinyMCE.init({
	mode: "textareas",
	editor_selector: "mceWikiPage",
	width : "320",
	theme: "advanced",
	skin: "o2k7",
	skin_variant: "silver",
	plugins: "paste,table,emotions",
	language: "nl",
	theme_advanced_toolbar_location: "top",
	theme_advanced_toolbar_align: "left",
	theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,outdent,indent,|,pastetext,removeformat,cleanup,|,charmap,|,link,unlink",
	theme_advanced_buttons2: "image,|,forecolor,backcolor,|,tablecontrols,|,emotions",
	theme_advanced_buttons3: "",
	content_css: "/lib/css/tinymce.css"
});

$(function(){
	init();
});

function init()
{
	currentCont = $('.content').html();
	autoOpenWikiPage();	
	$('#menu a').each(function(){if($(this).attr('href') == $.url.attr('relative').substr(1)){ $('#homeMenu').removeClass('current'); $(this).addClass('current');}});
	$('#submenu a').each(function(){if($(this).attr('href') == "/"+$.url.attr('relative').substr(1)){ $(this).addClass('active');}});
	$('.data tr:even').addClass('even');
	$('#demo').cycle({fx:'scrollLeft',timeout:6000,delay:-2000});
	
	$("#browser").treeview({persist:"cookie",collapsed:true,animated:"fast"});

	$("#pagination").pager("li.page",{navClass:"nav",height:"auto"});

	$("#userprofile-tabs").tabs({cookie:{expires:30}});
	$("#chapterList").change(function(){changeWikiChapter($(this));});
	$("#pageList").change(function(){changeWikiPage($(this));});

	$("#singleswitch").click(function(){
		$(".image").hide();
		$(".desc").hide();
	});
	$("#compactswitch").click(function(){
		$(".image").hide();
		$(".desc").show();
	});
	$("#fullswitch").click(function(){
		$(".image").show();
		$(".desc").show();
	});	
	fullCont = $('.content').html();
	
	$(window).bind('load', thickboxResize );
	$(window).bind('resize', thickboxResize );
	
}

function thickboxResize(){
	var boundHeight = 530; // min height
	var boundWidth = 400; // min width
	var viewportWidth = (self.innerWidth || (document.documentElement.clientWidth || (document.body.clientWidth || 0)))
	var viewportHeight =(self.innerHeight || (document.documentElement.clientHeight || (document.body.clientHeight || 0)))
	$('a.autoresize').each(function(){
		var text = $(this).attr("href");
		text = text.replace(/height=[0-9]*/,'height=' + Math.round(viewportHeight * .9));
		text = text.replace(/width=[0-9]*/,'width=' + Math.round(viewportWidth * .9));
		if ( viewportHeight < boundHeight)
		{
			text = text.replace(/height=[0-9]*/,'height=' + boundHeight);
		}
		if ( viewportWidth < boundWidth)
		{
			text = text.replace(/width=[0-9]*/,'width=' + boundWidth);
		}
		$(this).attr("href", text);
	});
}

function collapse(id){
	$('#'+id).attr('href','javascript:expand('+id+');');
	$('#'+id).next('ul').hide();
}
function expand(id){
	$('#'+id).attr('href','javascript:collapse('+id+');');
	$('#'+id).next('ul').show();
}

function showLoader(e){
	$(e).hide();
	$("#loader").show();
}

function setFontSize(size){
	$(".page").css("font-size",size);
}

function doSearch(keyword){
	var url;
	keyword = keyword.toLowerCase();
	keyword = keyword.replace(/ /gi,"\+");
	url = "/zoeken/"+keyword;
	document.location.href = url;
}

function goTo(url) {document.location.href = url;}

/* blog item */
function confirmDeleteBlogItem(id) {
	var r = confirm("Weet u het zeker?");
	if (r == true){
		deleteBlogItem(id);
	}
}
function deleteBlogItem(id) {
	document.location.href = "/?event=user.blog.delete&id="+id;
}

/* news item */
function confirmDeleteNewsItem(newsId, teamId) {
	var r = confirm("Weet u het zeker?");
	if (r == true){
		deleteNewsItem(newsId, teamId);
	}
}
function deleteNewsItem(nId, tId) {	
	document.location.href = "/?event=news.item.delete&nId="+nId+"&id="+tId;
}
function confirmDeleteNewsComment(commentId, newsId) {
	var r = confirm("Weet u het zeker?");
	if (r == true){
		deleteNewsComment(commentId, newsId);
	}
}
function deleteNewsComment(cId, nId) {	
	document.location.href = "/?event=news.comment.remove&commentId="+cId+"&id="+nId;
}
function confirmDeleteTeamAgenda(teamId, eventId) {
	var r = confirm("Weet u het zeker?");
	if (r == true){
		deleteTeamAgenda(teamId, eventId);
	}
}
function deleteTeamAgenda(tId, eId) {	
	document.location.href = "/?event=team.agenda.delete&id="+tId+"&eId="+eId;
}
function confirmDeleteTeamMember(teamId, userId) {
	var r = confirm("Weet u het zeker?");
	if (r == true){
		deleteTeamMember(teamId, userId);
	}
}
function deleteTeamMember(tId, uId) {	
	document.location.href = "/?event=team.member.delete&id="+tId+"&uId="+uId;
}

/* wiki */
var dataCount = 0;
var dataCalls = 1;

function changeWikiChapter(obj){
	document.location.href = "/?event=wiki.chapter.view&id="+obj.val();
}
function changeWikiPage(obj){
	document.location.href = "/?event=wiki.page.view&id="+obj.val();
}
function autoOpenWikiPage() {
	var url = document.location.href;
	var url = url.split("pageId=");
	if (url.length>1) {
		tb_show("test","/index.cfm?event=wiki.page.view&id="+url[1]+"&KeepThis=true&TB_iframe=true&width=850&height=500",false);
	}
}
function getWikiChildren(boekId,treeId){
	$.post('?event=get.wiki.children.list.ajax',{'id':boekId,'treeId':treeId},function(data){
		if(treeId) handleWikiChildren(data,treeId);
		else handleWikiChildren(data,boekId);
	},'json');
}
function getWikiContent(contentId){
/*	$.post('/?event=wiki.page.view.ajax',{'id':contentId},function(data){
		handleWikiContent(data);
	});*/
	location.href = "/?event=wiki.page.view&id="+contentId;
}
function handleWikiChildren(data,treeId){
	var number = ++dataCount;
	var list = '<ul>';
	for(i=0; i<data.ROWCOUNT; i++){
		list += '<li';
		if((i+1) == data.ROWCOUNT) list += ' class="last"';
		if(i == 0)
		{
			list += ' class="first"'
		}
		list += '><a id="'+data.DATA.ID[i]+'" ';
		if(!data.DATA.TYPEID[i] || data.DATA.HASSUBACTIVITIES[i]){
			if(currentWiki == 0)
			{
				list += 'href="javascript:getWikiChildren('+data.DATA.WIKIID[i]+','+data.DATA.ID[i]+');"><img src="/lib/images/icons/folder.png" alt="" /> ';
			}
			else
			{
				getWikiChildren(data.DATA.WIKIID[i],data.DATA.ID[i]);
				dataCalls++;
				list += 'href="javascript:collapse('+data.DATA.ID[i]+');"><img src="/lib/images/icons/folder.png" alt="" /> ';
				wikiParent.push(new Array(data.DATA.ID[i],data.DATA.PARENTID[i], 1)); 
			}
		}
		else{
			wikiParent.push(new Array(data.DATA.ID[i],data.DATA.PARENTID[i], 0));
			list += 'href="javascript:getWikiContent('+data.DATA.ID[i]+');"';
			if(getURLParam('id') == data.DATA.ID[i]) list += ' class="active"';
			list += '><img src="/lib/images/icons/document.png" alt="" /> ';
		}
		list += data.DATA.TITLE[i];
		list += '</a></li>';
	}
	list += '</ul>';
	$('#'+treeId).attr('href','javascript:collapse('+treeId+');');
	$('#'+treeId).parent('li').append(list);
	if(number >= dataCalls && currentWiki != 0)
	{
		for(var i = 0; i < wikiParent.length; i++)
		{
			if(wikiParent[i][2])
			{
				collapse(wikiParent[i][0]);
			}
		}
		var count = 0;
		var openParent = currentWiki;
		if(wikiParent.length && currentWiki != 0)
		{
			while(true)
			{
				if(wikiParent[count][0] == openParent)
				{
					expand(wikiParent[count][1]);
					openParent = wikiParent[count][1];
					wikiParent.splice(count, 1);
					count = 0;
					if(wikiParent.length == 0)
					{
						break;
					}
				}
				++count;
				if(count == wikiParent.length)
				{
					break;
				}
			}
		}
	}
}
function handleWikiContent(data){
	$('#wikiContent').html(data);
}

function getURLParam(strParamName){
  var strReturn = '';
  var strHref = window.location.href;
  if(strHref.indexOf('?') > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf('?')).toLowerCase();
    var aQueryString = strQueryString.split('&');
    for(var iParam = 0; iParam < aQueryString.length; iParam++){
      if(aQueryString[iParam].indexOf(strParamName.toLowerCase() + '=') > -1 ){
        var aParam = aQueryString[iParam].split('=');
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
}

function confirmDeleteWiki(teamId, title, id) {
	var message = "Weet u het zeker wiki " + title + "?";
	message += "\nWaarschuwing: alle inhoud en mappen in de map worden verwijderd";
	
	var r = confirm(message);
	if (r == true)
	{
		document.location.href = "/?event=wiki.delete&id="+teamId+"&wikiId="+id;
	}
}

function confirmDeleteWikiItem(title, isFolder, pageId, id, treeId) {
	var message = "Weet u het zeker " + title + "?";
	if (isFolder) {
		message += "\nWaarschuwing: alle inhoud en mappen in de map worden verwijderd";
	}
	var r = confirm(message);
	if (r == true)
	{
		deleteWikiItem(pageId, id, treeId);
	}
}

function deleteWikiItem(pageId, id, treeId) {	
	document.location.href = "/?event=wiki.item.delete&pageId="+pageId+"&id="+id+"&treeId="+treeId;
}

function confirmDeleteWikiComment(commentId, wikiId) {
	var r = confirm("Weet u het zeker?");
	if (r == true){
		deleteWikiComment(commentId, wikiId);
	}
}
function deleteWikiComment(cId, wId) {	
	document.location.href = "/?event=wiki.item.comment.remove&commentId="+cId+"&id="+wId;
}

/* To change order of a Wiki Item */
function changeItemOrder(pageId, bookId, treeId, factor) {
		
	var dataTable = document.getElementById("dataTable");		
	var sourceRow = document.getElementById(pageId);		
	/* get Previous or Next Row's id depending upon factor */
	var pageId2 = dataTable.rows[sourceRow.rowIndex+factor].id;
		
	var actionURL = "/?event=wiki.item.changeOrder&pageId1=" + pageId +	"&pageId2=" + pageId2 + "&id=" + bookId +	"&treeId=" + treeId;		
	document.location.href = actionURL;
}

/* form validation */
var error = false;
var alerttext = "";
function validate_required(field,alerttxt){
	with(field){
		if(value==null || value==""){alerttext += alerttxt+"\n"; error=true;}
	}
}
function validate_radio(field,alerttxt){
	var cnt = -1;
	for(var i=field.length-1; i>-1; i--){
		if(field[i].checked){cnt=i; i=-1;}
	}
	if(cnt < 0){alerttext += alerttxt+"\n"; error=true;}
}
function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}
function validate_email(field,alerttxt){
	with(field){
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		if(apos< 1|| dotpos-apos<2){alerttext += alerttxt+"\n"; error=true;}
	}
}
function validate_form(thisform){
	with(thisform){
		validate_email(email,"U heeft geen (geldig) emailadres ingevuld.");
		validate_required(bericht,"U heeft geen bericht ingevuld.");
	}
	if(error){alert(alerttext); alerttext=""; error=false; return false;}
	else{return true;}
}
function validate_comparison(field1,field2,alerttxt){
	with(field1){
		if(value != field2.value){alerttext += alerttxt+"\n"; error=true;}
	}
}

function validateDate(dateField) {	
	if (!isDateValid(dateField.value)) {
		alert("Ongeldige Datumnotatie: " + dateField.value);
    	dateField.focus();
	}	
}

function isDateValid(date) {	
	// regular expression to match required date format
    re = /^\d{1,2}\-\d{1,2}\-\d{4}$/;
    if(date != '' && !date.match(re))     
     	return false;
    else
		return true;
}

/* register checks */
function exsist(user)
{
	$.post('/?event=user.exists',{'user':user},function(data){
			handelExsistData(data);
	},'json');
}

function handelExsistData(data)
{
		if(data == 'free')
		{
			document.getElementById('emailaddress').style.borderColor = "#0F0";
		}
		else
		{
			document.getElementById('emailaddress').style.borderColor = "#F00";
		}
}

function trim(value) {
  value = value.replace(/^\s+/,'');
  value = value.replace(/\s+$/,'');
  return value;
}

/* search suggetions*/

var searchForm;
var formLink = 0;

function searchHelp(form)
{
	formLink = form;
	if(trim(form.keyword.value).length > 3)
	{
		searchForm = form;
		$.post('/?event=search.suggestion', {'keyword':form.keyword.value, 'type':form.type.value}, function(data){
			handleSearchHelp(data);
		},'json');
	}
	else if(fullCont != $('.content').html())
	{
		$('.content').html(currentCont);
		init();
		tb_init('a.thickbox,area.thickbox,input.thickbox');//pass where to apply thickbox
		imgLoader = new Image();// preload image
		imgLoader.src = tb_pathToImage+"loading_bar.gif";
	}
}

function handleSearchHelp(data)
{
	if(formLink != 0 && trim(formLink.keyword.value).length > 3)
	{
		$('.content').html(data);
	}
}

function Seach(keyword)
{
	searchForm.keyword.value = keyword;
	searchForm.submit();
}

function scrollWin(){$('html, body').animate({scrollTop: $(".header").offset().top}, 700);}

function teamPagesToggle(id)
{
	el = document.getElementById("child_"+id);
	imgel = document.getElementById("img_"+id);
	if(el.style.display=='block')
	{
		el.style.display='none'
		imgel.src='/lib/images/icons/site_collapesed.png';
	}
	else if(el.style.display=='none' || el.style.display=='')
	{
		el.style.display='block'
		imgel.src='/lib/images/icons/site_expanded.png';
	}
}
