$.tablesorter.defaults.widgets = ['zebra'];

$(document).ready(function(){
	
	$('.markitup').wrap('<div class="mcecontainer"></div>');
	$('.markitup').each(function(){
		if(isAdmin){
			$(this).tinymce({
				// General options
				theme : "advanced",
				skin : "o2k7",
				width: "515",
				language : "nl",
				plugins : "phpimage,safari,style,table,advhr,advimage,inlinepopups,preview,print,contextmenu,paste,directionality,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
		
				// Theme options
				theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontsizeselect",
				theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,|,cleanup,code,preview,|,phpimage",
				theme_advanced_buttons3 : "tablecontrols,|,sub,sup,|,charmap,|,print",
				theme_advanced_toolbar_location : "top",
				theme_advanced_toolbar_align : "left",
				theme_advanced_statusbar_location : "bottom",
				theme_advanced_resizing : true,
				theme_advanced_resize_horizontal : false,
				file_browser_callback : "filebrowser",

				
				// Drop lists for link/image/media/template dialogs
				template_external_list_url : "lists/template_list.js",
				external_link_list_url : "lists/link_list.js"
		
			});
		}
		else{
			$(this).tinymce({
				// General options
				theme : "advanced",
				skin : "o2k7",
				width: "515",
				language : "nl",
				plugins : "safari,style,advhr,inlinepopups,preview,print,contextmenu,paste,directionality,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
		
				// Theme options
				theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,cut,copy,paste,pastetext,pasteword,|,bullist,numlist",
				theme_advanced_buttons2 : "",
				theme_advanced_buttons3 : "",
				theme_advanced_toolbar_location : "top",
				theme_advanced_toolbar_align : "left",
				theme_advanced_statusbar_location : "bottom",
				theme_advanced_resizing : true,
				theme_advanced_resize_horizontal : false,
				
				// Drop lists for link/image/media/template dialogs
				template_external_list_url : "lists/template_list.js",
				external_link_list_url : "lists/link_list.js"
		
			});
		}
	});
	
	$('.sortable').tablesorter();
	
	$('.flagNL').before('<img src="'+BDIR+'images/flags/nl.png" class="flag"> ');
	$('.flagENG').before('<img src="'+BDIR+'images/flags/en.png" class="flag"> ');
	$('.flagDE').before('<img src="'+BDIR+'images/flags/de.png" class="flag"> ');
	
	$('.m2').after(' m&sup2;')
	.numeric('9');
	$('.m3').after(' m&sup3;')
	.numeric('9');
	
	$('.valuta').before('')
	.blur(function(){
		$(this).formatCurrency();
	})
	.attr({size : 10});
	
	$('.n-valuta').before('')
	.blur(function(){
		$(this).formatCurrency();
	})
	.attr({size : 9});
	
	$('.gwl').each(function(){
		
		var gwl_name = $(this).attr('name');
		var waarde = $(this).attr('value');
		
		if(waarde == undefined){
			waarde = '//';
		}
		
		var waardeArr = Array();
			waardeArr[0] = '';
			waardeArr[1] = '';
			waardeArr[2] = '';
		
		waarde = waarde.split('/');
		for(var i in waarde){
			if(waarde[i] == 'g' || waarde[i] == 'G'){
				waardeArr[0] = 'G';
			}
			else if(waarde[i] == 'w' || waarde[i] == 'W'){
				waardeArr[1] = 'W';
			}
			else if(waarde[i] == 'l' || waarde[i] == 'L'){
				waardeArr[2] = 'L';
			}
		}
		
		$(this).before(
			'<img src="'+BDIR+'images/icons/gas.png"> <input type="text" name="g_'+gwl_name+'" size="1" maxlength="1" value="'+waardeArr[0]+'"><br>'
			+
			'<img src="'+BDIR+'images/icons/water.png"> <input type="text" name="w_'+gwl_name+'" size="1" maxlength="1" value="'+waardeArr[1]+'"><br>'
			+
			'<img src="'+BDIR+'images/icons/licht.png"> <input type="text" name="l_'+gwl_name+'" size="1" maxlength="1" value="'+waardeArr[2]+'"><br>'
		);
		$(this).css({display: 'none'});
		
	});
	
	$('.numeric').numeric('9');
	$('.numericFloat').numeric(',');
	
	$('.dateTimeInput').each(function(){
		
		var verp = '';
		if($(this).hasClass('verplicht')){
			verp = ' verplicht';
		}
		var waarde = $(this).attr('value');
		if(waarde != null){
			waarde = waarde.split('/-/');
		}
		else{
			var waarde = Array();
			waarde[0] = '';
			waarde[1] = '';
		}
		
		var naam = $(this).attr('name');
		$(this).replaceWith(
			'<input type="text" name="'+naam+'" class="dateInput'+verp+'" value="'+waarde[0]+'">'
			+
			'&nbsp;<input type="text" name="time_'+naam+'" class="tijdInput'+verp+'" value="'+waarde[1]+'">'
		);
		
	});
	
	$('.dateInput').mask('99-99-9999')
	.after(' <small>(dd-mm-jjjj)</small>')
	.blur(function(){
		
		var val = $(this).attr('value');
		var past = true;
		
	  $(this).removeClass('goedInput');
	  $(this).removeClass('foutInput');
		
		if(val != undefined && val != ''){
	    var date_array = val.split('-');
	    var day = date_array[0];
	
	    // Attention! Javascript consider months in the range 0 - 11
	    var month = date_array[1] - 1;
	    var year = date_array[2];
	
	    // This instruction will create a date object
	    source_date = new Date(year,month,day);
	
	    if(year != source_date.getFullYear())
	    {
	       past = false;
	    }
	
	    if(month != source_date.getMonth())
	    {
	       past = false;
	    }
	
	    if(day != source_date.getDate())
	    {
	       past = false;
	    }
	    
	    if(!past){
	    	$(this).removeClass('goedInput');
	    	$(this).addClass('foutInput');
	    }
	    else{
	    	$(this).removeClass('foutInput');
	    	$(this).addClass('goedInput');
	    }
    }
	});
	
	$('.tijdInput').mask('99:99')
	.after(' <small>(uu:mm)</small>')
	.blur(function(){
		
		var val = $(this).attr('value');
		var past = true;
		
	  $(this).removeClass('goedInput');
	  $(this).removeClass('foutInput');
	  
		if(val != undefined && val != ''){
	    var time_array = val.split(':');
	    var uur = parseInt(time_array[0]);
	
	    var minu = parseInt(time_array[1]);
		
	    if(uur > 23)
	    {
	       past = false;
	    }
	
	    if(minu > 59)
	    {
	       past = false;
	    }
	    
	    if(!past){
	    	$(this).removeClass('goedInput');
	    	$(this).addClass('foutInput');
	    }
	    else{
	    	$(this).removeClass('foutInput');
	    	$(this).addClass('goedInput');
	    }
    }
	});
				
	var au_naam = '';
	$('.autoId, .autoIdM').each(function(){
		au_naam = $(this).attr('name');
		var waarde = $(this).attr('value');
		if(waarde != null && waarde != '' && waarde != 0){
			waarde = waarde.split('/-/');
		}
		else{
			var waarde = Array();
			waarde[0] = '';
			waarde[1] = '0';
		}
		
		$(this).removeClass('autoId');
		var cl = $(this).attr('class');
		
		var url = $(this).attr('id');
		url = url.split('__');
		if(url[1] == undefined){
			url[0] += '?get=id';
		}
		else{
			url[0] += url[1] + '&get=id';
		}
		
		url = BDIR + url[0];
			
		$(this).replaceWith(
			'<input type="text" name="naam_'+au_naam+'" class="autoComplete '+cl+'" id="naam_'+au_naam+'" value="'+waarde[0]+'">'
			+
			'<input name="'+au_naam+'" type="text" class="idViewer '+cl+'" readonly="readonly" id="'+au_naam+'" tabindex="999" value="'+waarde[1]+'">'
		);
		
		$('#naam_'+au_naam).autocomplete(url, {
			minChars: 3,
			formatItem: function(v){
				return v[0].split('/-/')[0];
			},
			formatResult: function(data, v){
				return v.split('/-/')[0];
			},
			max: 50,
			slectFirst: true
		})
		.result(function(e, v, f){
			au_naam = $(this).attr('name');
			au_naam = au_naam.replace('naam_', '');
			
			if(f.indexOf('/-/newuser') > 0){
				$('#'+au_naam).attr({value: ''});
				$('#naam_'+au_naam).attr({value: ''});
				window.open(BDIR + 'relatie/newUser')
			}
			
			if(!v){
				$('#'+au_naam).attr({value: ''});
				$('#naam_'+au_naam).attr({value: ''});
			}
			else{
				$('#'+au_naam).attr({value: f.split('/-/')[1]});
			}
		})
		.change(function(){
			au_naam = $(this).attr('name');
			au_naam = au_naam.replace('naam_', '');
			if(this.value == ''){
				$('#'+au_naam).attr({value: ''});
			}
		});
	});
	
	$('.autoComplete').blur(function(){
		au_naam = $(this).attr('name');
			au_naam = au_naam.replace('naam_', '');
		var val = $('#'+au_naam).attr('value');
		if(val == undefined || val == 0){
			$('#'+au_naam).attr({'value':'0'});
			$('#naam_'+au_naam).attr({'value':''});
		}
	});
	
	$('.autoIdMContainer').each(function(){
		$(this).children('.autoIdM.idViewer').each(function(){
			var val = parseInt($(this).attr('value'));
			
			if(val > 0){
				$(this).show().prev().show();
			}
		});
	});
	
	$('.autoIdMContainer .addId').click(function(){
		$(this).parent().children('.autoIdM.autoComplete:hidden').first().show().next().show();
		if($(this).parent().children('.autoIdM.autoComplete:hidden').length < 1){
			$(this).attr('disabled', 'true');
		}
	}).click();
	
	
	
	$('img[class="externSelect"]').each(function(){
		var waarde = $(this).attr('id'); if(waarde == null){var waarde = ''};
		var naam = $(this).attr('name');
		var taal = $(this).attr('taal');
		var huidig = $(this);
				
		$.get(BDIR+'/ajax/externSelectAjax.php?naam='+naam+'&val='+waarde+'&lang='+taal, function(e){
			if(e == ''){
				$(huidig).replaceWith('Deze service is momenteel niet beschikbaar.');
			}
			else{
				$(huidig).replaceWith(e);
			}
		});
		
	});
	
	$('input[class="externSelect"]').each(function(){
		
		var waarde = $(this).attr('value'); if(waarde == null){var waarde = ''};
		var es_naam = $(this).attr('name');
		var es_class = ' class="'+$(this).attr('class')+'"'; if(es_class == null){var es_class = ''};
		var es_style = ' style="'+$(this).attr('style')+'"'; if(es_style == null){var es_style = ''};
		var es_id = ' id="'+$(this).attr('id')+'"'; if(es_id == null){var es_id = ''};
		var huidig = $(this);
		
		$.get(BDIR+'/ajax/externSelectAjax.php?naam='+es_naam, function(e){
			if(e == ''){
				$(huidig).replaceWith('Deze service is momenteel niet beschikbaar.');
			}
			else{
				var out = '<select name="'+es_naam+'"'+es_class+es_style+es_id+'">\n';
				var a = e.split('//');
				for(i=0;i<a.length;i++){
					if(a[i] != ''){
						var b = a[i].split('=');
						
						if(b[0] == waarde){
							var s = 'SELECTED';
						}else{
							var s = '';
						}
						
						var out = out+'<option value="'+b[0]+'" '+s+'>'+b[1]+'</option>\n';
					}
				}
				var out = out+'</select>\n';
				$(huidig).replaceWith(out);
			}
		});
		
	});
	
	jQuery().ajaxError(function(event, request, settings){
		$('#fout').modal();
	});
	
	$('.verwijdere, .verwijder').click(function(){
		
		var con = $(this).attr('id');
		var con = con.replace(/_o_/g, '(');
		var con = con.replace(/_s_/g, ')');
		var con = con.replace(/_/g, ' ');
		var doel = $(this).attr('href');
		var txt = 'Weet u zeker dat u '+con+' wilt verwijderen? Deze actie kan niet meer ongedaan gemaakt worden.';
		
		if($.browser.msie){
			var ans = confirm(txt);
			if(ans){
				return true;
			}
			else{
				return false;
			}
		}
		else{
			$.prompt(txt, {buttons: {Ja:true, Nee:false}, callback: function(v){
				if(v){
					window.location = doel;
				}
			}});
		}
		
		return false;
		
	});
	
	$('.vast').attr({'readonly' : 'readonly'});
	
	$('.postcode').mask('9999 aa').css({'width' : '55px'});
	
	$('.password').before('<span id="unhider" style="cursor:pointer;">[<u>Bekijk</u>]</span>');
	$('.password').hide();
	$('#unhider').click(function(){
		$('.password').toggle('fast');
		$('#unhider').toggle('fast');
	});
	
	$('.incl').after(' <small>(Incl. BTW)</small>');
	
	$('.mask').each(function(){
		var m = $(this).attr('id');
		$(this).mask(m);
	});
	
	$('.tablesorter').find('[title]').tipsy({fade: false, gravity: 'w'});
	$('.leftTitle').find('[title]').tipsy({fade: false, gravity: 'e', tclass: 'tipsyLeft'});
	$('.tickets').find('[title]').tipsy({fade: false, gravity: 'e'});
	$('.dragList').find('[title]').tipsy({fade: false, gravity: 'e'});
	$('.blokTitle').find('[title]').tipsy({fade: false, gravity: 'e'});
			
	$('.colorPicker').each(function(){
		$(this).colorPicker({
			defaultColor: $(this).val(),
			click: function(c, veld){
				$(veld).val(c);
			}
		});
	})
	
	$('.linkFirstHref').click(function(){
		var ref = $(this).children('a:first').attr('href');
		if(ref != '' && ref != undefined){
			window.location.href = ref;
		}
	})
	
	$('.highlight').hover(
		function(){ $(this).addClass('highlight_on'); },
		function(){ $(this).removeClass('highlight_on'); }
	);
	
});

function makeFloat(w)
{
	if(w != undefined){
		
		nw = w.split('.');
		if(nw[nw.length]+''.length > 2){
			w = w.replace('.', '');
			w = w.replace(',', '.');
		}
		else if(w.indexOf(',') > 0){
			w = w.replace('.', '');
			w = w.replace(',', '.');
		}
		
		//if(w.substr(-3, 1) != '.' && w.substr(-2, 1) != '.'){
		//	alert('true');
		//	w = w.replace('.', '');
		//	w = w.replace(',', '.');
		//}
	}
	w = parseFloat(w);
	//alert(w);
	return w;
}
