$(document).ready(function() {
	$('*[class^=tooltip]').wTooltip({className: 'wtooltip', delay: 100});
	$('#new_mail').blink();
	$('#textarea').elastic();
	$('#textarea_good').elastic();
	$('#textarea_bad').elastic();

	// $(window).bind('scroll', scrolling);

	$('#textarea').keyup(function() {
		$('#count_chars').text(number_format(this.value.length));
	});

	$('#textarea').keyup();
	$('.overtext').OverText();

	// Ta bort bilder som inte fungerar
	$('img').error(function() {
		$(this).remove();
	});

	$('#pass').keyup(function(e) {
		var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
		var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
		var enoughRegex = new RegExp("(?=.{6,}).*", "g");

		if(false == enoughRegex.test($(this).val())) {
			$('#pass_strength').html('...');
		} else if(strongRegex.test($(this).val())) {
			$('#pass_strength').addClass('pass_strength_strong');
			$('#pass_strength').html('Starkt');
		} else if(mediumRegex.test($(this).val())) {
			$('#pass_strength').addClass('pass_strength_medium');
			$('#pass_strength').html('Medium');
		} else {
			$('#pass_strength').addClass('pass_strength_weak');
			$('#pass_strength').html('Svagt');
		}

		return true;
	});

	// $('a[href*=#]').bind("click", jump);
	// return false;



	// jCryption
	$("#normal").jCryption();



	$('#edit-name').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'text'
	});

	$('#edit-cpu').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'text'
	});

	$('#edit-memory').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'text'
	});

	$('#edit-graphiccard').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'text'
	});

	$('#edit-harddrive').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'text'
	});

	$('#edit-operatingsystem').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'text'
	});

	$('#edit-connection').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'text'
	});

	$('#edit-website').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'text'
	});

	$('#edit-holding').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'text'
	});

	$('#edit-description').editable('http://edgren.myftp.org/edgren/save.php', { 
		type       : 'textarea',
		cancel     : 'Avbryt',
		submit     : 'Spara',
		indicator  : '<img src="img/indicator.gif">'
	});


	$('#textarea').keyup(function(e) {
		if(e.keyCode == 16) return;
		if(e.keyCode == 17) return;
		if(e.keyCode == 18) return;
		if(e.keyCode == 19) return;
		if(e.keyCode == 20) return;
		if(e.keyCode == 27) return;
		if(e.keyCode == 33) return;
		if(e.keyCode == 34) return;
		if(e.keyCode == 35) return;
		if(e.keyCode == 36) return;
		if(e.keyCode == 37) return;
		if(e.keyCode == 38) return;
		if(e.keyCode == 39) return;
		if(e.keyCode == 40) return;
		if(e.keyCode == 45) return;
		if(e.keyCode == 92) return;
		if(e.keyCode == 93) return;
		if(e.keyCode == 112) return;
		if(e.keyCode == 113) return;
		if(e.keyCode == 114) return;
		if(e.keyCode == 115) return;
		if(e.keyCode == 116) return;
		if(e.keyCode == 117) return;
		if(e.keyCode == 118) return;
		if(e.keyCode == 119) return;
		if(e.keyCode == 120) return;
		if(e.keyCode == 121) return;
		if(e.keyCode == 122) return;
		if(e.keyCode == 123) return;
		if(e.keyCode == 144) return;
		if(e.keyCode == 145) return;

		$('#status').text('Nej');
		$('#message').hide();
	});

	$('#textarea').keyup(function(e) {
		if(e.keyCode == 16) return;
		if(e.keyCode == 17) return;
		if(e.keyCode == 18) return;
		if(e.keyCode == 19) return;
		if(e.keyCode == 20) return;
		if(e.keyCode == 27) return;
		if(e.keyCode == 33) return;
		if(e.keyCode == 34) return;
		if(e.keyCode == 35) return;
		if(e.keyCode == 36) return;
		if(e.keyCode == 37) return;
		if(e.keyCode == 38) return;
		if(e.keyCode == 39) return;
		if(e.keyCode == 40) return;
		if(e.keyCode == 45) return;
		if(e.keyCode == 92) return;
		if(e.keyCode == 93) return;
		if(e.keyCode == 112) return;
		if(e.keyCode == 113) return;
		if(e.keyCode == 114) return;
		if(e.keyCode == 115) return;
		if(e.keyCode == 116) return;
		if(e.keyCode == 117) return;
		if(e.keyCode == 118) return;
		if(e.keyCode == 119) return;
		if(e.keyCode == 120) return;
		if(e.keyCode == 121) return;
		if(e.keyCode == 122) return;
		if(e.keyCode == 123) return;
		if(e.keyCode == 144) return;
		if(e.keyCode == 145) return;

		$('#message').hide();
	});


	/*
	$('#test').click(function() {
		$.ajax({
			type : 'POST',
			url : 'test.html',
			error: function(msg) {
				alert("Felet: " + msg.responseText);
			},
			success : function(msg) {
				alert('Data Saved');
			}
		});
	});
	*/


	$('img.captify').captify({
		speedOver: 'normal',
		speedOut: 'normal',
		hideDelay: 200,
		animation: 'slide',
		prefix: '',
		opacity: '0.4',
		className: 'caption-bottom',
		position: 'top',
		spanWidth: '100%'
	});

	// Visa/Dölj "anledning till bra betyg"-formuläret
	$('#toggle_goodreasonform').click(function() {
		$('#toggle_goodform').toggle();
		$('#toggle_badform').hide();
		$('#textarea_good').focus();
	});

	// Visa/Dölj "anledning till dåligt betyg"-formuläret
	$('#toggle_badreasonform').click(function() {
		$('#toggle_badform').toggle();
		$('#toggle_goodform').hide();
		$('#textarea_bad').focus();
	});

	// Visa/Dölj visningsbilderna
	$('#toggle_avatars').click(function() {
		$('#show_avatars').show();
		$('#hide_avatars').hide();
	});



	var options = {
		caps_lock_off: function() { $('#caps_lock_status').text(''); },
		caps_lock_on: function() { $('#caps_lock_status').html('<div style="background-image: url(http://erikedgren.nu/images/backgrounds/blue_20.png); font-family: Arial; padding: 2px 6px 2px 6px; width: 113px; -moz-border-radius: 1px;">Caps Lock är aktiverad</div>'); }
	};
	
	$().capslock(options);
});

function f(o){o.value=o.value.toUpperCase().replace(/([^0-9A-Z])/g,"");}


var RecaptchaOptions = {
	theme : 'custom',
	custom_theme_widget: 'recaptcha_widget'
};




function clear_form_elements(ele) {
	$.fn.focus_first = function() {
		var elem = $('input:visible', this).get(0);
		var select = $('select:visible', this).get(0);

		if(select && elem) {
			if(select.offsetTop < elem.offsetTop) {
				elem = select;
			}
		}

		var textarea = $('textarea:visible', this).get(0);
		if(textarea && elem) {
			if(textarea.offsetTop < elem.offsetTop) {
				elem = textarea;
			}
		}

		if(elem) {
			elem.focus();
		}

		return this;
	}


	$(ele).find(':input').each(function() {
		switch(this.type) {
			case 'password':
			case 'select-multiple':
			case 'select-one':
			case 'text':
			case 'textarea':
				$(this).val('');
				break;
			case 'checkbox':
			case 'radio':
				this.checked = false;
		}

		$('form').focus_first();
	});
}





/*
function update_preview() {
	$('#preview_subject').text($('#subject').val());
	if($('#subject').val() != '') {
		$('#preview_subject').html(': <b>' + $('#subject').val() + '</b>');
	}

	if($('#textarea').val() == '') {
		$('#preview_message').html('<span class="color_grey">Det här är en förhandsgranskning av din nya tråd. Använd formuläret nedan för att börja.</span>');
	} else {
		$('#preview_message').text($('#textarea').val());
	}

	$('#preview_message').html($('#preview_message').html().replace(/\n/g, '<br>'));
}
*/









function ShowProgressDatabase() {
	var backupForm = document.getElementById('formBackup');
	backupForm.style.display = 'none';

	var backupProgress = document.getElementById('backupProgress');
	backupProgress.style.display = 'block';
}



function ShowProgressForum() {
	var Filename = document.formUpload.upload.value;
	if(Filename == '') return;

	var uploadForm = document.getElementById('formUpload');
	uploadForm.style.display = 'none';

	var uploadProgress = document.getElementById('uploadProgress');
	uploadProgress.style.display = 'block';
}



function ShowProgress() {
	var Filename = document.formUploadAvatar.upload.value;
	if(Filename == '') return;

	var uploadForm = document.getElementById('formUploadAvatar');
	uploadForm.style.display = 'none';

	var uploadProgress = document.getElementById('uploadProgress');
	uploadProgress.style.display = 'block';

	// var uploadFile = document.getElementById('UploadFilename');
	// uploadFile.innerHTML = Filename;
}

function getfileextension(filename) {
	if(filename.length == 0) return '';
	var dot = filename.lastIndexOf('.');
	if(dot == -1) return '';
	var extension = filename.substr(dot, filename.length);
	return extension;
}

function checkfileType(inputId, allowedExt) {
	var ext = getfileextension(inputId);

	if(ext == allowedExt) {
		return true;
	} else {
		return false;
	}
}



$(document).ready(function(){
	setInterval(function() {
		if($('#dummy_path').val() == $('#browser').val())
			return;

			/*
			if(!checkfileType($('#dummy_path').val().toLowerCase(), '.jpg')) {
				document.getElementById('upload_button').disabled = false;
				document.getElementById('upload_button').setAttribute("class", "button");
			} else {
				document.getElementById('upload_button').disabled = true;
				document.getElementById('upload_button').setAttribute("class", "button_disabled");
			}
			*/

		$('#dummy_path').val($('#browser').val());
	}, 250);
});





var t = 0;
var IE = navigator.appName;
var OP = navigator.userAgent.indexOf('Opera');
var tmp = '';

function operaFix() {
	if(OP != -1) {
		document.getElementById('browser').style.left = -120 + 'px';
	}
}


function startBrowse() {
	tmp = document.getElementById('dummy_path').value;
	getFile();
}

function getFile() {
	if(OP != -1) {
		displayPath();

		if(tmp != document.getElementById('dummy_path').value && document.getElementById('dummy_path').value != '') {
			clearTimeout(0);
			return;
		}

		setTimeout("getFile()", 20);


	} else if(IE == "Microsoft Internet Explorer") {
		if(t == 3) {
			displayPath();
			clearTimeout(0);
			t = 0;
			return;
		}

		t++;
		setTimeout("getFile()", 20);


	} else {
		displayPath();
	}
}


function displayPath() {
	document.getElementById('dummy_path').value = document.getElementById('browser').value;
}










function choose_avatar(num) {
	if(num == 1) {
		document.getElementById('1').setAttribute("class", "image_7");
	} else {
		document.getElementById('1').setAttribute("class", "image_border");
	}

	if(num == 2) {
		document.getElementById('2').setAttribute("class", "image_7");
	} else {
		document.getElementById('2').setAttribute("class", "image_border");
	}

	if(num == 3) {
		document.getElementById('3').setAttribute("class", "image_7");
	} else {
		document.getElementById('3').setAttribute("class", "image_border");
	}

	if(num == 4) {
		document.getElementById('4').setAttribute("class", "image_7");
	} else {
		document.getElementById('4').setAttribute("class", "image_border");
	}

	if(num == 5) {
		document.getElementById('5').setAttribute("class", "image_7");
	} else {
		document.getElementById('5').setAttribute("class", "image_border");
	}

	if(num == 6) {
		document.getElementById('6').setAttribute("class", "image_7");
	} else {
		document.getElementById('6').setAttribute("class", "image_border");
	}

	if(num == 7) {
		document.getElementById('7').setAttribute("class", "image_7");
	} else {
		document.getElementById('7').setAttribute("class", "image_border");
	}

	if(num == 8) {
		document.getElementById('8').setAttribute("class", "image_7");
	} else {
		document.getElementById('8').setAttribute("class", "image_border");
	}

	if(num == 9) {
		document.getElementById('9').setAttribute("class", "image_7");
	} else {
		document.getElementById('9').setAttribute("class", "image_border");
	}

	if(num == 10) {
		document.getElementById('10').setAttribute("class", "image_7");
	} else {
		document.getElementById('10').setAttribute("class", "image_border");
	}


	document.getElementById('hiddeninput').value = num;
}







/*
function realtime_date() {
	var date = new Date();
	var year = date.getFullYear();
	var month = date.getMonth();
	var day = date.getDate();
	var hours = date.getHours();
	var minutes = date.getMinutes();
	var seconds = date.getSeconds();

	alert(day + '-' + month + '-' + day + ', kl. ' + hours + ':' + minutes + ':' + seconds);
}
*/







function highlight(field) {
	field.focus();
	field.select();
}