function insertAtCursor(myField, myValue) {
//IE support
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
}
}



$(document).ready(function() {
	function insert_link(){
		$('.insert_link').unbind('click');
		$('.insert_link').bind('click', function(event) {
			var variable = $(this).parent().parent().find("input").eq(1).attr("value");
			insertAtCursor(document.generator.text_input, variable);
		});
	} insert_link();
	
	function add_synonyms(){
		$('.add_synonyms').unbind('click');
		$('.add_synonyms').bind('click', function(event) {
	
			var link = $(this);//get current variable
			
			$(this).html("Loading...");
			
			$.get("/generator/synonyms/" + link.parent().find('input:eq(0)').val(), function(data){
				link.parent().find('textarea').val(link.parent().find('input:eq(0)').val() + "\n" + data);//make sure the desc is in variable as well
				link.html("Get Synonyms");
			});
		});
	} add_synonyms();
	
	function hide_link(){
		$('.hide_link').unbind('click');
		$('.hide_link').bind('click', function(event) {
			//alert($(this).find(".hidden").html());
			if ($(this).parent().parent().find(".hidden").html() == null) {
				var variable = $(this).parent().parent();
				var name = variable.find("input:eq(0)").attr('value');
				if(name == ''){name = "N/A"};
				variable.prepend('<div class="hidden">'+name+' - <a href="javascript:;" class="show_link">Show</a> - <a href="javascript: ;" class="insert_link">Insert</a></div>');
				variable.find("p,label,textarea,input,.add_synonyms").hide();//hide everything else
				insert_link();
				variable.find(".show_link").bind('click', function(event) {
					variable.find(".hidden").remove();
					variable.find("p,label,textarea,input,.add_synonyms").show();
				});
			};
		});
	} hide_link();
	
	var hide_show = "hide";
	function hide_show_link(){
		$('.hide_show_link').bind('click', function(event) {
			if (hide_show == "hide") {
				$('.variable').each(function(index) {
					$(this).find('.hide_link').click();
					$('.hide_show_link').html("Show All");	
					hide_show = "show";
				});
			} else {
				$('.variable').each(function(index) {
					$(this).find('.show_link').click();
					$('.hide_show_link').html("Hide All");	
					hide_show = "hide";
				});
			}
		}); 
	} hide_show_link();
	
	function delete_link(){
		$('.delete_link').unbind("click");
		$('.delete_link').bind('click', function(event) {
			var variable = $(this).parent().parent();
			var txt = $('.text_input textarea').val();
			var id = txt.indexOf(variable.find("input:eq(1)").attr('value'))
			if(id > -1){
				q = confirm("You are still calling this variable in your content.  By continuing you will delete this variable out of the content as well as the side bar!  Do you wish to complete this action?");
				if(q == true){
					variable.remove();
					var re = new RegExp(variable.find("input:eq(1)").attr('value'),"g");
					$('.text_input textarea').val(txt.replace(re,""));
				}
			} else {
				variable.remove();
			}
		});
	} delete_link();
	
	$('.add_var_link').bind('click', function(event) {//create a new variable
		if($('.variables .variable input:eq(0)').attr('name') == "var_desc[]"){//if there are variables
			var count = parseFloat($('.variable').eq(0).find("input:eq(1)").attr("value").replace(/[{}#]/g,"")) + 1;
			$('.variables').prepend('<div class="variable"><label>Description - {#'+count+'}</label><input type="text" name="var_desc[]" value=""><a href="javascript: ;" class="add_synonyms">Get Synonyms</a><input type="hidden" name="var_id[]" value="{#'+count+'}"><label>Content</label><textarea name="var_content[]" rows="6" cols="30"></textarea><p><a href="javascript: ;" class="insert_link">Insert</a> - <a href="javascript: ;" class="hide_link">Hide</a> - <a href="javascript: ;" class="delete_link">Delete</a></p></div>');
		} else {//if there aren't variables
			var count = 1;
			$('.variables').html('<div class="variable"><label>Description - {#'+count+'}</label><input type="text" name="var_desc[]" value=""><a href="javascript: ;" class="add_synonyms">Get Synonyms</a><input type="hidden" name="var_id[]" value="{#'+count+'}"><label>Content</label><textarea name="var_content[]" rows="6" cols="30"></textarea><p><a href="javascript: ;" class="insert_link">Insert</a> - <a href="javascript: ;" class="hide_link">Hide</a> - <a href="javascript: ;" class="delete_link">Delete</a></p></div>');
		}
		$('.variable').eq(0).find("input:eq(0)").focus();
		//make sure action links work
		insert_link();
		hide_link();
		delete_link();
		add_synonyms();
	});
	
	$('.save').bind('click', function(event) {
		var save_txt = "";
		save_txt += "<div class='variables'>";
		$('.variable').each(function(index) {
			save_txt += "<div class='variable'>";
			save_txt += "<div class='hidden'>";
			save_txt += $(this).find(".hidden").html();
			save_txt += "</div>";
			
			save_txt += "<div class='var_desc'>";
			save_txt += $(this).find("input:eq(0)").val();
			save_txt += "</div>";
			
			save_txt += "<div class='var_id'>";
			save_txt += $(this).find("input:eq(1)").val();
			save_txt += "</div>";
			
			save_txt += "<div class='var_content'>";
			save_txt += $(this).find("textarea").val();
			save_txt += "</div>";
			save_txt += "</div>";
		});
		save_txt += "</div><div class='input_content'>";
		save_txt += $('.text_input textarea').val();
		save_txt += "</div>";
		new Boxy('<textarea rows="15" cols="70" readonly="readonly">'+save_txt+"</textarea>", {title: 'To save, copy the text below and save it to your computer in a .txt document.<br />  By copying the content from this .txt document into our insert content box<br /> you will return all your current settings.'});
	});
	
	$('.insert_content_bt').bind('click', function(event) {
		
		$('#left_col').append("<div class='save_content'>" + $('.insert_content').val() + "</div>");
		$('.text_input textarea').val($('.save_content .input_content').html());
		
		var variables = "";
		$('.save_content .variable').each(function(index) {
			var hidden = $(this).find('.hidden').html();
			var var_desc = $(this).find('.var_desc').html();
			var var_id = $(this).find('.var_id').html();
			var var_content = $(this).find('.var_content').html();
			
			if (hidden != "null") {//hidden
				variables += '<div class="variable"><div class="hidden">'+ var_desc +' - <a href="javascript:;" class="show_link">Show</a> - <a href="javascript: ;" class="insert_link">Insert</a></div><label style="display: none;">Description - ' + var_id + '</label><input type="text" name="var_desc[]" style="display: none;" value="' + var_desc + '"><a href="javascript: ;" style="display: none;" class="add_synonyms">Get Synonyms</a><input type="hidden" name="var_id[]" value="' + var_id + '"><label style="display: none;">Content</label><textarea style="display: none;" wrap="hard" name="var_content[]" rows="6" cols="30">' + var_content + '</textarea><p style="display: none;"><a href="javascript: ;" class="insert_link">Insert</a> - <a href="javascript: ;" class="hide_link">Hide</a> - <a href="javascript: ;" class="delete_link">Delete</a></p></div>';
			} else { //not hidden
				variables += '<div class="variable"><label>Description - ' + var_id + '</label><input type="text" name="var_desc[]" value="' + var_desc + '"><a href="javascript: ;" style="display: none;" class="add_synonyms">Get Synonyms</a><input type="hidden" wrap="hard" name="var_id[]" value="' + var_id + '"><label>Content</label><textarea name="var_content[]" rows="6" cols="30">' + var_content + '</textarea><p><a href="javascript: ;" class="insert_link">Insert</a> - <a href="javascript: ;" class="hide_link">Hide</a> - <a href="javascript: ;" class="delete_link">Delete</a></p></div>';
			}
		});
		
		$('#left_col .variables:eq(0)').html(variables);
		$('.save_content').remove();
		
		insert_link();
		hide_link();
		delete_link();
		$(".show_link").bind('click', function(event) {
			var variable = $(this).parent().parent();
			variable.find(".hidden").remove();
			variable.find("p,label,textarea,input,.add_synonyms").show();
		});
		add_synonyms();
	});
	
	$('.demo_link').bind('click', function(event) {
		$.get("/workspace/example.php", function(data){
			$('.insert_content').val(data);
			$('.insert_content_bt').click();
			$('form input[type=submit]').click();
		});
	});
	
});
<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->

