/*
 * @filename:	init.js
 * @auth:	richard willis
 */

function ch(id, txt) {
	if (txt != "") {
		var i;
		var s = txt.split("|");

		for(i=0; i<s.length; i++){
			s[i] = s[i].replace(/^\s+|\s+$/g, '') ;
		}

		s[s.length - 1] = s[s.length - 1].substr(0,s[s.length - 1].length - 1);

		var buff = s[0];

		for(i=1; i<s.length; i++){
			buff += "<span class=\"si\">" + " | " + s[i] + "</span>";
		}

		buff += "}";

		$("#" + id).html(buff);
		$("#" + id).attr("style", "color:#00AA00");
	}
}
function chAll(id) {
	$("#suggestmenu").css("display", "none");

	var pre = $("#" + id).attr('pre');

	var txt = $("#" + id).html();

	//alert(id  + "\n" + pre + "\n" + txt);

	$('.syn').each(function(){
		if ($(this).attr("pre") == pre) {
			//alert();
			$(this).html(txt);
			$(this).attr("style", "color:#00AA00");
		}
	});
}

(function($){
	$( "#dialog-message" ).dialog({
			modal: true,
			buttons: {
				Ok: function() {
					$( this ).dialog( "close" );
				}
			}
	});

	$(document).bind('click', function(e){
		(!$(e.target).hasClass('syn') && 
		!$(e.target).parents().filter('.suggestmenu').length) &&
		$("#suggestmenu").css("display", "none");
	});

	($.fn.selectmenu) && $('select').selectmenu({
		width: 100,
		menuWidth: 100,
		style: "dropdown"
	});

	// initiate the tabs
	($.fn.tabs) && $("#tabs").tabs();

	($.fn.tabs) && $("#nav").tabs();

	$('.si').live('click', function(e) {
		$(this).remove();
		$("#suggestmenu").css("display", "none");
		return false;
	});

	$('.syn').live('click', function(e) {
		var str = $(this).attr("pre");
		var id = $(this).attr("id");  	
		var s = str.split("#");
		var i, buffer = "<strong>Dictionary Syns</strong>";

		for(i=0; i<s.length; i++){
			if (s[i] == "{*}") {
				buffer = buffer + "<strong>User Syns</strong>"; 
			} else {
				buffer = buffer + "<a href=\"javascript:ch('" + id + "','" + s[i] + "')\">" + s[i] + "</a>"; 
			}
		}

		buffer = buffer + "<a href=\"javascript:chAll('" + id + "')\" class=\"spell_sep_top\">Apply All</a>";
		buffer = buffer + "<a href=\"javascript:ch('','')\" >Cancel</a>";

		$("#suggestmenu").html(buffer);

		var pos = $(this).position();

		$("#suggestmenu").css("left", e.pageX);
		$("#suggestmenu").css("top", e.pageY);
		$("#suggestmenu").css("display", "block");

	});

	$("#submit-gen-syns").click(function(){ 
              
		var content = $("textarea[name=raw-content]").val().substr(0,1000);
		var keywords = $("input[name=keywords]");
		var stopwords = $("input[name=stopwords]").attr('checked');
		var suggest = $("input[name=suggest]").attr('checked');
		var system = $("input[name=system-thesaurus]").attr('checked');
		var user = $("input[name=user-thesaurus]").attr('checked');
		//var my = $("input[name=my-thesaurus]").attr('checked');
		var data;
		var options = "";

		var recaptcha_challenge_field = $("input[name=recaptcha_challenge_field]").val();
		var recaptcha_response_field = $("input[name=recaptcha_response_field]").val();

		if (system == true) options = "&system=yes"; else "&system=no";
		if (user == true) options = options + "&user=yes"; else options = options + "&user=no";
		//if (my == true) options = options + "&my=yes"; else options = options + "&my=no";

		if (options == "") {
			alert("You have to choose at least one thesaurus!");
			return false;
		}

		if (stopwords == true) options = options + "&stopwords=yes"; else options = options + "&stopwords=no";
		if (suggest == true) options = options + "&suggest=yes"; else options = options + "&suggest=no";

		data = 'raw-content=' + encodeURIComponent(content) + '&keywords=' + encodeURIComponent(keywords.val()) + options;
		data += "&recaptcha_challenge_field=" + encodeURIComponent(recaptcha_challenge_field)
		data += "&recaptcha_response_field=" + encodeURIComponent(recaptcha_response_field)

		$("div[id=text-container]").empty().html("<br><p align=\"center\">We are processing your article</p><p align=\"center\">Please, wait and do NOT click to any button!</p><img src=\"./img/loading.gif\" style=\"display:block;margin:auto;\">");

		$("#tabs").tabs("select", 1);
			
		$.ajax({  
			url: "wsd.php",   
			type: "POST",  
			data: data,       
			cache: false,  
			success: function (str) {
				// $("div[id=text-container]").html(str);			


				if (str.substr(0,5) != "AQ235") { 
						$("div[id=text-container]").html(str);
				} else {
					str = str.substr(5);
					var ss = str.split("\n");
					var sbuff = "";
					syn_id = 0;
					//alert(ss.length);
					for(var ssi=0; ssi<ss.length; ssi++){
						//$("div[id=text-container]").empty().html(ss[ssi]);
						sbuff += create_syn(ss[ssi]) + "<br>";
					}
					// sbuff = sbuff.replace(/xBL./g,"<br>");
					$("div[id=text-container]").html(sbuff);
				}
			},
			error: function (request, status, error) {
				alert(request.responseText);
			}
		});
		return false; 

	}); 

	$("#submit-refresh").click(function(){ 
		var data = '';

		$("div[id=text-container]").empty().html("<br><p align=\"center\">We are processing your request.</p><p align=\"center\">Please, wait and do NOT click to any button!</p><img src=\"./img/loading.gif\" style=\"display:block;margin:auto;\">");

		//setTimeout(function() {
		//		$('img').each(function() {this.src = this.src + '?random=' + new Date().getTime()})
		//	}, 300);

		$.ajax({  
			url: "lwsd.php",   
			type: "POST",  
			data: data,       
			cache: false,  
			success: function (str) {
				$("div[id=text-container]").html(str);
			} 
		});  

		return false; 
	}); 

	$("#submit-edit-done").click(function(){ 
              
		// $("span[style*='display:none']").remove();

		var content = $("div[id=text-container]").html();
		
		content = content.replace(/<br>/g, "\n");
		content = content.replace(/<BR>/g, "\n\r");
			
		var matchTag = /<(?:.|\s)*?>/g;
		var s = content.replace(matchTag, "");
		s = s.replace(/^\s*/, "").replace(/\s*$/, "");

		$("textarea[name=spin-content]").val(s);

		$("#tabs").tabs("select", 2);
		return false; 
	}); 

	$("#submit-spin").click(function(){ 
              
		var content = $("textarea[name=spin-content]").val();
		var cnt = $("input[name=spin-count]").val();
		var org = $("input[name=spin-org]").attr('checked');
		
		if (cnt > 100) {cnt = 100;}
		if (cnt < 1) {cnt = 1;}

		var s = spin(content, org, cnt);

		$("textarea[name=spun-content]").val(s);

		$("#tabs").tabs("select", 3);
		return false; 
	}); 

	$("#submit-save").click(function(){ 
            
		var content = $("div[id=text-container]").html();
		var data;

		data = 'content=' + encodeURIComponent(content); 

		//data = 'content';

		//alert(data);

		//return false;

		$("input[id=submit-save]").attr('value','Saving ...');
			
		$.ajax({  
			url: "save.php",   
			type: "POST",  
			data: data,       
			cache: false,  
			success: function (str) {
				$("input[id=submit-save]").attr('value','Save');
			},
			error: function (request, status, error) {
					alert(request.responseText);
			}
		});
		return false; 

	});

})(jQuery);
