/***********************************/
/*** written by Korbinian Schmid ***/
/***        www.omsn.de          ***/
/***    last update: Oct 2008    ***/
/***********************************/

/* 

Framework: 	jQuery 1.2.6 (http://www.jquery.com) - thanks to John Resig (www.ejohn.org) and team
Plugins: 	Fancybox 1.0.0 for nice galleries (http://fancy.klade.lv) 
			pngFix - transparency for IE6 (http://plugins.jquery.com/project/pngFix)
thanks to all jQuery-coders out there - I really appreciate your work

*/

/* Syntax Highlighter by Alex Gorbatchev (http://alexgorbatchev.com/wiki/SyntaxHighlighter) */
SyntaxHighlighter.all();

$(document).ready(function(){

	/* fancybox plugin */	
	$('.gallery a').fancybox();
	
	
	/* navigation mouseover */	
	$('#nav ul li a img').hover(
		function() {
			var name = $(this).attr('alt');
			$(this).attr('src', 'gfx/nav_' + name + '-hover.png');
		},
		function() {
			var name = $(this).attr('alt');
			$(this).attr('src', 'gfx/nav_' + name + '.png');
		}
	);
	
	/* clickable divs */	
	$('#sidebar .item').click(
		function() {
			var target = $(this).children('a').attr('href');
			if(target.substring(0, 7) === 'http://') 
			{
				window.location.href = target;	
			}
			else
			{
				var base = document.getElementsByTagName('base').item(0).href;		
				window.location.href = base + target;
			}
		}
	);

	/* form focus */
	$('input, textarea').focus( 
		function() {
			$(this).css('border', '1px solid #888');
		}
	);
	$('input, textarea').blur( 
		function() {
			$(this).css('border', '1px solid #444');
		}
	);
	
	$('#captcha').tooltip({ showURL: false, delay: 250 });
	$('input[name="captcha"]').tooltip({ delay: 250 });
	
	/* captcha reload */
	$('#captcha').click(
		function() {
			$('#captcha').attr('src', 'async/captcha.php?' + Math.random());
		}
	);
	
	/* comment form submit */
	$('form#comment').submit( 
		function() {
			
			var url = 'async/comment.php';
			
			var newsid = $('input[name="newsid"]').val();
			var name = $('input[name="name"]').val();
			var email = $('input[name="email"]').val();
			var website = $('input[name="website"]').val();
			var captcha = $('input[name="captcha"]').val();
			var txt = $('textarea').val();
			if(name.length > 0 && email.length > 0 && captcha.length > 0 && txt.length > 0)
			{
				$('button').attr('disabled', 'disabled').text('Please wait...');
				
				var data = { newsid:newsid, name:name, email:email, website:website, captcha:captcha, txt:txt };
				$.post(url, data, 
					function( reply ) {
						switch( reply )
						{
							case 'false' : break;
							case 'fail' : 
								$('.fail').text('You FAILED At Reading The Code. Try Again.').slideDown('slow');
								break;
							case 'max' : 
							 	$('.fail').text('You Posted Already Three Times. Please Try Again Later.').slideDown('slow');
								break;
							case 'email' : 
								$('.fail').text('Please Enter A Valid E-Mail-Adress.').slideDown('slow');
								break;
							case 'website' :
								$('.fail').text('Please Enter A Valid Website-URL').slideDown('slow');
								break;
							case 'dberror' :
								$('.fail').text('AAAaaaargh !! Database Down. Sorry - Please Try Again Later.').slideDown('slow');
								break;
							default : 
								/* post successfull */
								var responses = parseInt( $('#responses').text() );
								var cls = responses % 2 === 0 ? 'comment' : 'alternating';
								var cmt = document.createElement('div');
								$(cmt).addClass(cls).appendTo('#cmtplaceholder');
								$(cmt).html( reply ).hide().fadeIn('slow');								
								$('#responses').text( ++responses );
								/* clear fields */
								$('input[name="name"], input[name="email"], textarea').val('');
								$('input[name="website"]').val('http://');
								$('.fail').hide();
								break;
						}
						/* captcha reload */
						$('input[name="captcha"]').val('');
						$('#captcha').attr('src', 'async/captcha.php?' + Math.random());
						$('button').removeAttr('disabled').text('Post');
					}
				);
			}
			else
			{
				$('.fail').text('Please Fill The Required Fields.').slideDown('slow');
			}
			return false;
		}
	);
	
	/* delete comment */
	$('.delete').click(
		function() {
			var url = 'async/delete.php';
			var id = $(this).attr('name');
			var cmt = $(this).parent().parent();
			$.post(url, {id:id}, 
				function(reply) {
					if(reply == 'ok')
					{
						$(cmt).fadeOut('slow');
						// fuck it
					}
				}
			);
		}
	);
	
	/* about language effect */
	$('#en').hide(); // init

	$('#enflag').click(
		function() {
			$('#de').hide();
			$('#en').show();
		}
	);
	

	$('#deflag').click(
		function() {
			$('#en').hide();
			$('#de').show();
		}
	);

	/* twitter update */
	$('#twitter').load('async/twitter.php');
	
	var date = new Date();
	var d = date.getDate(), m = date.getMonth(), y = date.getFullYear();
	var folder = (d < 10 ? '0' + d : '' + d) + (m < 10 ? '0' + m : '' + m) + (('' + y).substring(2));
	
	/* uploadify */
	$('#fileUpload').uploadify({
		'uploader' : 'gfx/uploadify.swf',
		'script' : '/async/uploadify.php',
		'folder' : '/upload/' + folder,
		'cancelImg' : 'gfx/cancel.png',
		'fileExt' : '*.jpg;*.jpeg;*.JPG;*.JPEG;',
		'multi' : true,
		'onComplete' : function(event, queueID, fileObj, response, data) {
			var group = 'g' + new Date().getTime(); // suggestion by Dr. Octaganopus
			var fn = fileObj.filePath.substring(0, fileObj.filePath.length - fileObj.type.length);
			var html = '<a href="' + fileObj.filePath + '" rel="' + group + '">';
			html += '<img src="' + fn + '-thumb' + fileObj.type + '" alt="" />';
			html += '</a>\n';
			$('textarea').val( $('textarea').val() + html );
		},
		'onError' : function(event, queueID, fileObj, errorObj) {
			alert('ERROR type: ' + errorObj.type + ' info: ' + errorObj.info);	
		}
	});
	
	$('#startUpload').click(function(e) { 
		e.preventDefault();
		$('#fileUpload').uploadifyUpload();
	});
	
	/* your browser is too old */
	// warn if IE6 user
	if( /MSIE (\d+\.\d+);/.test(navigator.userAgent) )
	{ 
		var version = new Number(RegExp.$1) ;
		if(version < 7)
		{
			window.location = "http://omsn.de/ie6.html";
		}
	}

	
});
