/*
SCRIPTS FOR NANOO.TV
@AUTHOR: felix.wahner@neuwaerts.de
*/
var NANOO = NANOO || {};

NANOO.common = (function() {
	var $loginform = $('#loginform'),
		$user,
		action = "http://www.nanoo.tv/code/login.w22";
	
	var init = function() {
		NANOO.tools.enablePlaceholder();
		/*
		$loginform
			.on('submit',function(e){
				 e.preventDefault();
				var loginTest = $('<iframe src=' + action + '>').appendTo($('body'));
				console.log(loginTest.find('form'));
				$.ajax({
					url : action,
					crossDomain : true,
					data : $loginform.serialize(),
					dataType : 'html',
					success : function(data) {
						console.log(data);
					}
				});
			});
				*/
	};
	return {
		init : init
	}
})(NANOO,this);

NANOO.tools = (function() {

	var _detectPlaceholder = function() {
		var t = document.createElement('textarea'); // #=> <textarea></textarea>
		return (t.placeholder !== undefined); // #=> true || false
	};	

	var _enablePlaceholder = function() {
		// http://forr.st/posts/HTML5_Placeholder_feature_detection_and_fallback-1x6
		if(!_detectPlaceholder()) {
			
			$(document)
			.on("focus", "[placeholder]", function() {
				
				var input = $(this);
				if (input.val() == input.attr('placeholder')) {
					input.val('');
					input.removeClass('placeholder');
				}
			})
			.on("blur", "[placeholder]", function() {
				var input = $(this);
				if (input.val() == '' || input.val() == input.attr('placeholder')) {
					input.addClass('placeholder');
					input.val(input.attr('placeholder'));
				}
			})
			.on("submit", "form", function() {
				
				$(this).find('[placeholder]').each(function() {
					var input = $(this);
					if (input.val() == input.attr('placeholder')) {
						input.val('');
					}
				})
			});
			
			//init
			$("[placeholder]").blur();
		}
	};
	
	return {
		detectPlaceholder	: _detectPlaceholder,
		enablePlaceholder	: _enablePlaceholder
	};
})(NANOO,this);
NANOO.registration = (function(){
	var $registerForm = $('#registerForm'),
		ajaxProxyURL = '/fileadmin/templates/templavoila/assets/php/create_user_proxy.php';

	var init = function() {
		$registerForm
			.on('submit',function(e) {
					$registerForm
						.find('div.error')
						.remove();
					e.preventDefault();
					$.ajax({
						url : ajaxProxyURL,
						data : $registerForm.serialize(),
						type : 'POST',
						success : function(data) {
							if(data) {
								if(!data.is_error) {
									$registerForm
										.attr('action','http://www.nanoo.tv/code/login.w22')
										.unbind('submit')
										.submit();
								} else {
									handleError(data);
								}
							}
						}
					})
					
						
			});
	};
	var handleError = function(data) {
		var invalid_fields = data.invalid_fields
			fieldsLength = data.invalid_fields.length,
			currentField = false;
		for(var i=0;i<fieldsLength;i=i+1) {
			currentField = invalid_fields[i];
			var $errorDiv = $('<div class="error grid_6"><span>' + currentField.msg + '</span></div>');
			$('#'+currentField.name)
				.on('keyup',function(e){
					var $this = $(this);
					$this.unbind('keyup')
					.parent()
					.find('.error')
					.remove();
				})
				.parent()
				.append($errorDiv);

		}
	}
	;
	return {
		init : init
	}	

})(NANOO,this);
NANOO.product = (function(){
	var init = function() {
		$(".thumbnailList li").each(function() {
			var $this = $(this);
			$this.find("p").prepend('<span class="number">'+ ($this.index()+1) +'</span>');
		});
	};
	
	return {
		init : init
	}	

})(NANOO,this);
NANOO.init = (function() {
        (function() {
            if (typeof(window.console) == 'undefined' ) {
                var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
                window.console = {};
                for (var i = 0; i < names.length; ++i) {
                    window.console[names[i]] = function(){};
                }
            }
        })();
        var _fire = function(func){
            var namespace     = NANOO,  // obj literal namespace
                funcname     = 'init'; // name der init funktion
            
            
            if (func !== '' && namespace[func] && typeof namespace[func][funcname] == 'function'){
                console.log("NANOO: ++++++++ init: " + func);
                namespace[func][funcname]();
            }
	};
	var _loadEvents = (function() {
             var bodyId = document.body.id;
             _fire('common'); // common wird immer initialisiert
             // do all the classes too.
            _fire(bodyId);
             $.each(document.body.className.split(/\s+/),function(i,classnm){
                 _fire(classnm);
             });
         })();
})(NANOO,this);

