function add_link()
{
   var num = document.getElementById('number_of_links');
   var the_div = document.getElementById('links');
   var num_next = (num.value - 1)+2;
   
	  num.value = num_next;
	  var divIdName = "link_"+num.value;
	  var newdiv = document.createElement('li');
	  newdiv.setAttribute("id",divIdName);
	  newdiv.innerHTML = '<input type="text" tabindex="'+(num_next+1)+'" id="link_input_'+num_next+'" name="links[]" size="90" /><img src="img/add.png" onclick="add_link();" alt="Add link" width="16" class="link_images" height="16" /><img src="img/delete.png" class="link_images" onclick="remove_link(\''+divIdName+'\')\" alt="Remove" width="16" height="16" />';
	  the_div.appendChild(newdiv);
	  document.getElementById('link_input_'+num_next).focus();
	  document.getElementById('submit').tabIndex = num_next+1;
}

function remove_link(divNum)
{

   var the_div = document.getElementById('links');
   var num = document.getElementById('number_of_links');
   var num_last = num.value - 1;
   num.value = num_last;
   var olddiv = document.getElementById(divNum);
   if(olddiv.innerHTML.match('<img src="img/delete.png"'))
   {
   	the_div.removeChild(olddiv);
   	document.getElementById('link_input_'+num_last).focus();
   	document.getElementById('submit').tabIndex = num_last+1;
   }
}

window.onload=function()
{
	var rounded_corners_settings = {
      tl: { radius: 20 },
      tr: { radius: 20 },
      bl: { radius: 20 },
      br: { radius: 20 },
      antiAlias: true,
      autoPad: false
    } 

    var divObj = document.getElementById("content_center"); 

    var cornersObj = new curvyCorners(rounded_corners_settings, divObj);
    cornersObj.applyCornersToAll();

}
$(document).ready(function () {
	//prevent form from submitting
	$('form#addlinks_form').bind('submit', function(){ return false;});

	//tabs
	$('#optional_settings_container > ul').tabs({ fx: { height: 'toggle', opacity: 'toggle' } });

	//hide some divs
	$('#instructions').hide();
	$('#pub_pass').hide();
	$('#alternatives').hide();
	$('#addlinks #links_error').hide();
	$('#add_more').hide();
	$('#result_title').hide();
	$('#result').hide();
	
	$('h2.nav').click(function()
	{
		selectNav($(this).find('a:first').attr('href').substr(1));
	});
	
	// handle nav selection
	function selectNav(id) {
		if(id != 'links')
		$('#'+id).slideToggle();
	}

	// go find the navigation link that has this target and select the nav
	function trigger(data) {
		selectNav(data.id);
	}

	if (window.location.hash) {
		selectNav( window.location.hash.substr(1) );
	}
	
	function validateLink(link)
	{
		if(link == "")
		{
			return false
		}
		else
		{
			var regexp = new RegExp('((http://|ftp://|https://|spotify://|www\.)(www\.)?)([a-zA-Z0-9\#_%\?&//=\+@\.:;-]{4,})');
			return regexp.test(link);
		}
	}
	
	function safeEmail(name, domain)
	{
		return 'mailto:'+name+'@'+domain;
	}
	
	$('.footer a#footer_mail').attr('href', safeEmail('waldemar.axdorph', 'gmail.com'));
	
	if ($('#number_of_links') != 'undefined'){
		$('#number_of_links').val(2);
		$('#addlinks_form #link_input_0').focus();
	}

	$('.link').click(function()
	{
		add_link();
	});
	
	$('#instructions').click(function()
	{
		$('div#help').slideToggle();
	});
	$('#alternatives').click(function()
	{
		$('#alt').slideToggle();
	});
	
	$('input[name="public"]').click(function()
	{
		if($(this).val() == 'no')
		{
			$('#pub_pass').slideDown('fast');
		}
		else
		{
			$('#pub_pass').slideUp('fast');
		}
	});
	
	$('form#addlinks_form').submit(function()
	{

		var links = $('ol#links li input');
		var links_validated = 0;
		for (var i = 0;i < links.length;i++)
		{
			if(validateLink(links[i].value))
			{
				links_validated += 1;
			}
			else
			{
				links_validated -= 1;
			}
		}
		if(links.length == links_validated)
		{
			//all links are valid
			links_validated = true;
		}
		else if(links_validated*-1 == links.length)
		{
			//no links are valid
			links_validated = false;
		}
		else if(links_validated < links.length)
		{
			//there is atleast one link that's valid
			links_validated = true;
		}

		
		if(links_validated)
		{
			$('#addlinks_form #links_error').slideUp('fast');
			
			$('#addlinks').slideUp(600, function () {
					$('#loading').fadeIn(400);
					$('#result_title').fadeOut(400, function()
					{
						$('#result_title').html('<h1>Loading...</h1>');
						$('#result_title').fadeIn(500);
					});
						

					$.ajax({
							url: $('#addlinks_form').attr('action')+'?ajax',
							data: $("#addlinks_form").serialize(),
							type: $('#addlinks_form').attr('method'),
							cache: false,
							complete: function (xhr) {
								$('#loading, #result_title').fadeOut(400, function(){
									$('#result_title').html('<h1>Thank you!</h1>')
								});
								
									$('#result_title').fadeIn(400, function (){
										
										$('#result').html(xhr.responseText);
			
										$('#result').slideDown(600, function () {
											$('#add_more').fadeIn(900);
											$('#result').fadeIn(600);
										});
									});
							}
					});
			});
		}
		else
		{
			$('#addlinks_form #links_error').text('One link is minimum');
			$('#addlinks_form #links_error').slideDown('fast');
		}
		
	});
	
	//show the form again
	$('#add_more').click(function () {
		$('#add_more').fadeOut(400);
		$('#result_title, #result').slideUp(400, function (){
			$('#result_title').text('');
			$('#result_title').fadeIn(400);
			//reset the form. $('#addlinks_form).reset() or $('#addlinks form').reset() don't work
			$('form')[1].reset();
			$('#addlinks').slideDown(400);
			$('ol#links li:first input').focus();
		});
			
	});

	
});