$(document).ready(function(){
	/* get partial: ask question box
	 * call the action by implementing
	 * <div id="embedAskBox"></div> into your html code
	************************************************/
	$('#embedAskBox').each(function(e){
		var ajaxUrl = '/fragen/api/askbox';
		var div     = $(this);
		
		$.getJSON(ajaxUrl, { }, function(json){
			if(json) {
		    	if((json.length !== 0) && (json.success === true)) {
		    		div.hide().html(json.questionBox);
					askInit();
					div.slideDown(200);
		    	}
			}
		});
	});
	
	var askInit = function(){
		/* activate ask suggest plugin
		************************************************/
		
		$('#askQuestion').askSuggest();
		
		/* activate accessibility tabs
		************************************************/
		
		var askTabConfig = {
			wrapperClass: 'askTabContent', 
			currentClass: 'active', 
			tabhead: 'h4', 
			tabbody: '.askTabDescr', 
			fx:'slideDown', // Anzeigeeffekte:  'fadeIn', 'slideDown' oder 'show'
			fxspeed: 100,
			currentInfoText: 'current tab: ', 
			currentInfoPosition: 'prepend', 
			currentInfoClass: 'currentMeta',
			tabsListClass:'askTabList',
			syncheights: false,
			syncHeightMethodName:'syncHeight'
		};
		
		// init Tabs
		$('.askTab').accessibleTabs(askTabConfig);
		
		// special behavior for question and answer tabs to upload attachments
		$('#questionExp, #answerExp').each(function(e){
			$(this).find('div.askTabContent div.askTabDescr').hide();
			$(this).find('ul.askTabList').prepend('<li><span class="meta">Anhängen:</span></li>');
			$(this).find('ul.askTabList li').removeClass('active');
		});
		
		/* add screenshots, code and links to a holders ul-list
		************************************************/
		
		$('a.askAddAttachment').click(function(e){
			e.preventDefault();
			
			var linkRelation  = $(this).attr('rel');
			var ajaxUrl   	= $(this).attr('href');
			var ajaxUrlExt	= (ajaxUrl.search(/\?{1}/) != -1) ? '&': '?';
			var targetElement = $('#' + linkRelation);
			
			// count existing elements (live)
			if(targetElement.find('ul').length === 0) {
				countElements = 0;
			} else {
				countElements = targetElement.find('ul li').length;
				targetElement = targetElement.find('ul');
			}
			
			// get form element via ajax
			var responseHtml = $.ajax({
				type: 'GET',
				url: ajaxUrl + ajaxUrlExt + 'num=' + countElements,
				async: false
			}).responseText;
			
			$(targetElement).append(responseHtml);
		});
		};
});

