// JavaScript Document
function deleteConsultant(name) {
	if(confirm("Weet je zeker dat je "+name+" wil verwijderen?")) {
		document.location="?action=beheer&goto=consultantsEdit&delete="+name;
	}
}
function minusDay(inputId) {
	var dateObject = document.getElementById(inputId);
	var date = new Date(dateObject.value);
	var iDate = date.getDate();
	--iDate;
	if(iDate == 0) {
		minusMonth(inputId);
		date = new Date(dateObject.value); // refresh date object
		iDate = GetMonDays(date);
	}
	date.setDate(iDate);
	dateObject.value = date.getFullYear ()+'-'+str_pad(date.getMonth()+1,2,'0','STR_PAD_LEFT')+'-'+str_pad(date.getDate(),2,'0','STR_PAD_LEFT');
}
function minusMonth(inputId) {
	var dateObject = document.getElementById(inputId);
	var date = new Date(dateObject.value);
	var iMonth = date.getMonth();
	iMonth--;

	date.setMonth(iMonth);
	dateObject.value = date.getFullYear ()+'-'+str_pad(date.getMonth()+1,2,'0','STR_PAD_LEFT')+'-'+str_pad(date.getDate(),2,'0','STR_PAD_LEFT');
}
function plusDay(inputId) {
	var dateObject = document.getElementById(inputId);
	var date = new Date(dateObject.value);
	var iDate = date.getDate();
	iDate++;
	if(iDate > GetMonDays(date)) {
		plusMonth(inputId);
		date = new Date(dateObject.value); // refresh date object
		iDate = 1;
	}
	date.setDate(iDate);
	dateObject.value = date.getFullYear ()+'-'+str_pad(date.getMonth()+1,2,'0','STR_PAD_LEFT')+'-'+str_pad(date.getDate(),2,'0','STR_PAD_LEFT');
}
function plusMonth(inputId) {
	var dateObject = document.getElementById(inputId);
	var date = new Date(dateObject.value);
	var iMonth = date.getMonth();
	iMonth++;

	date.setMonth(iMonth);
	dateObject.value = date.getFullYear ()+'-'+str_pad(date.getMonth()+1,2,'0','STR_PAD_LEFT')+'-'+str_pad(date.getDate(),2,'0','STR_PAD_LEFT');
}
var rWindowHandle;
function updatePreview(id) {
	sContent = document.getElementById('newContent').value;
	rWindowHandle = window.open('./preview.php?content='+utf8_encode(sContent),'previewWindow');
}
	


function str_pad (input, pad_length, pad_string, pad_type) {
	// Returns input string padded on the left or right to specified length with pad_string  
	// 
	// version: 1004.2314
	// discuss at: http://phpjs.org/functions/str_pad	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// + namespaced by: Michael White (http://getsprink.com)
	// +	  input by: Marco van Oort
	// +   bugfixed by: Brett Zamir (http://brett-zamir.me)
	// *	 example 1: str_pad('Kevin van Zonneveld', 30, '-=', 'STR_PAD_LEFT');	// *	 returns 1: '-=-=-=-=-=-Kevin van Zonneveld'
	// *	 example 2: str_pad('Kevin van Zonneveld', 30, '-', 'STR_PAD_BOTH');
	// *	 returns 2: '------Kevin van Zonneveld-----'
	var half = '', pad_to_go;
	 var str_pad_repeater = function (s, len) {
		var collect = '', i;
 
		while (collect.length < len) {collect += s;}
		collect = collect.substr(0,len); 
		return collect;
	};
 
	input += '';	pad_string = pad_string !== undefined ? pad_string : ' ';
	
	if (pad_type != 'STR_PAD_LEFT' && pad_type != 'STR_PAD_RIGHT' && pad_type != 'STR_PAD_BOTH') { pad_type = 'STR_PAD_RIGHT'; }
	if ((pad_to_go = pad_length - input.length) > 0) {
		if (pad_type == 'STR_PAD_LEFT') { input = str_pad_repeater(pad_string, pad_to_go) + input; }		else if (pad_type == 'STR_PAD_RIGHT') { input = input + str_pad_repeater(pad_string, pad_to_go); }
		else if (pad_type == 'STR_PAD_BOTH') {
			half = str_pad_repeater(pad_string, Math.ceil(pad_to_go/2));
			input = half + input + half;
			input = input.substr(0, pad_length);		}
	}
 
	return input;
}

function GetMonDays(date)//Get number of days in a month
{
	var DaysInMonth=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	if (IsLeapYear(date))
	{
		DaysInMonth[1]=29;
	}   
	return DaysInMonth[date.getMonth()];   
}
function IsLeapYear(date)
	{
	if ((date.getFullYear()%4)==0)
	{
		if ((date.getFullYear()%100==0) && (date.getFullYear()%400)!=0)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		return false;
	}
}
function base64_encode (data) {
    // Encodes string using MIME base64 algorithm  
    // 
    // version: 1006.1915
    // discuss at: http://phpjs.org/functions/base64_encode    // +   original by: Tyler Akins (http://rumkin.com)
    // +   improved by: Bayron Guevara
    // +   improved by: Thunder.m
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Pellentesque Malesuada    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // -    depends on: utf8_encode
    // *     example 1: base64_encode('Kevin van Zonneveld');
    // *     returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
    // mozilla has this native    // - but breaks in 2.0.0.12!
    //if (typeof this.window['atob'] == 'function') {
    //    return atob(data);
    //}
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = [];
 
    if (!data) {
        return data;    }
 
    data = utf8_encode(data+'');
    
    do { // pack three octets into four hexets        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);
 
        bits = o1<<16 | o2<<8 | o3; 
        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f; 
        // use hexets to index into b64, and append result to encoded string
        tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);
        enc = tmp_arr.join('');
    
    switch (data.length % 3) {
        case 1:
            enc = enc.slice(0, -2) + '==';        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    } 
    return enc;
}
function utf8_encode ( argString ) {
    // Encodes an ISO-8859-1 string to UTF-8  
    // 
    // version: 1006.1915
    // discuss at: http://phpjs.org/functions/utf8_encode    
	// +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: sowberry
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman    
	// +   improved by: Yves Sucaet
    // +   bugfixed by: Onno Marsman
    // +   bugfixed by: Ulrich
    // *     example 1: utf8_encode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'    
	var string = (argString+''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");
 
    var utftext = "";
    var start, end;
    var stringl = 0; 
    start = end = 0;
    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);        var enc = null;
 
        if (c1 < 128) {
            end++;
        } else if (c1 > 127 && c1 < 2048) {            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {
            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc !== null) {            if (end > start) {
                utftext += string.substring(start, end);
            }
            utftext += enc;
            start = end = n+1;        }
    }
 
    if (end > start) {
        utftext += string.substring(start, string.length);    }
 
    return utftext;
}
