;(function(){
	if(tfLoadPreviously) return;
	function loadScript(src,callback) {
		var head= document.getElementsByTagName('head')[0];
		var script= document.createElement('script');
		script.type= 'text/javascript';
		
		if(typeof(callback) == 'function') {
			script.onload = function() { 
				if ( ! script.onloadDone ) {
					script.onloadDone = true; 
					callback.apply(this);
				}
			};
			script.onreadystatechange = function() { 
				if ( ( "loaded" === script.readyState || "complete" === script.readyState ) && ! script.onloadDone ) {
					script.onloadDone = true; 
					callback.apply(this);
				}
			};
		}
		script.src= src;
		head.appendChild(script);
	}
	if(!window.jQuery) {
		loadScript('//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',init);
	} else {
		init();
	}
	function init() {
		var jQuery = $ || window.jQuery.noConflict();
		(function($){
			$('.total_feedback_window').each(function(){
				var fw = $(this);
				var id = fw.find("input[name='poll_id']").val();
				var settings = tfWindowSettings[id];
				var form = fw.find('form').submit(function(e){
					e.preventDefault();
					sendResponse(this);
				});
				fw.find('.total-feedback-window-button').click(function(){
					sendResponse(this);
				});
				fw.find("ul li").click(function(e){
					var radio = $(this).find("input[type='radio']");
					if(radio.length > 0) {
						fw.find('.explanation').hide();
						fw.find("input[type='radio']").not(e.target).attr('checked',false);
						if(radio.index(e.target) == -1) {
							radio.attr('checked','checked');
						}
						$(this).find('.explanation').slideDown(150);
					}
					var checkbox = $(this).find("input[type='checkbox']")
					if(checkbox.length > 0) {
						if(checkbox.index(e.target) == -1) {
							checkbox.attr('checked',!checkbox.attr('checked'));
						}
						$(this).find('.explanation').slideToggle(150);
					}
				}).find("input[type='text'],textarea").click(function(e){
					e.stopPropagation();
				});
				fw.find('.total-minimize').click(function(){
					var sign = $(this).html();
					$(this).html(sign == '-' ? '+' : '-');
					if(form.is(':visible')) {
						form.slideUp();
						createCookie('total-feedback-minimized',1,1);
					} else {
						form.slideDown();
						createCookie('total-feedback-minimized','',-1);
					}
				});
				var wait = 1;
				if(settings.timed == 1) {
					wait = settings.timing == 0 ? 1 : settings.timing * 1000;
				}
				var scroll = 0;
				if(settings.scroll_check == 1) {
					scroll = settings.scroll;
				}
				if(settings.close == 1) {
					$(document).mouseout(function(e){
						var from = e.relatedTarget || e.toElement;
					    if (!from || from.nodeName == "HTML") {
							show();
							$(document).unbind('mouseout');
						}
					});
				} else {
					window.setTimeout(function(){
						if(scroll == 0) {
							show();
						} else {
							$(window).scroll(function(e){
								checkScroll(scroll / 100);
							});
						}
					},wait);
				}
				function checkScroll(ratio) {
					var currentScroll = $(window).scrollTop();
					var scrollMax = $(document).height() - $(window).height();
					if(currentScroll / scrollMax >= ratio) {
						show();
						$(window).unbind('scroll');
					}
				}
				function show() {
					$.get(settings.markviewedUrl,{id:form.find("input[name='poll_id']").val()});
					if(fw.find('form').css('display') == 'block') {
						fw.slideDown(500);
					} else {
						fw.show();
					}
				}
			});
			function sendResponse(el) {
				var fw = $(el).parents('.total_feedback_window');
				var form = fw.find('form');
				var data = form.serialize();
				var page = window.location.href.split(window.location.hostname)[1];
				data += '&url=' + encodeURIComponent(page);
				var button = fw.find('.total-feedback-window-button');
				button.hide();
				var loader = fw.find('.loader').show();
				$.post(form.attr('action'),data,function(response){
					loader.hide();
					button.show();
					form.slideUp(300,function(){
						fw.find('.thanks-for-your-feedback').show();
						window.setTimeout(function(){
							fw.slideUp();
						},3000);
					});
				});
			};
		
			function createCookie(name,value,days) {
				if (days) {
					var date = new Date();
					date.setTime(date.getTime()+(days*24*60*60*1000));
					var expires = "; expires="+date.toGMTString();
				}
				else var expires = "";
				document.cookie = name+"="+value+expires+"; path=/";
			}
		})(jQuery);
	}
})();
var tfLoadPreviously = true;
