function websiteInputKeyUp() {
    if (this.value != '' && $(this).attr('fresh') == '1') {
        addWebsiteInput('', '1', true);
        $(this).attr('fresh', '0');
    }
    
    if (this.value == '' && $(this).attr('fresh') == '0') {
        if($(this).hasClass('newAdded') != false) {
            if($(this).attr('class') == 'websiteInput') {
                $('#websiteDescription').hide("slow");
            }
            $(this).hide("slow", function() {$(this).remove(); arangeWebsiteInputs();});
//            $(this).remove();
//            arangeWebsiteInputs();
        }
    }
}

function addWebsiteInput(value, fresh, added) {
    var newInput = $('.websiteInput:first').clone();
    newInput.hide();
    newInput.attr('fresh', fresh);
    if (typeof(value[1]) != "undefined") {
        newInput.attr('id', value[1]);
        
        newInput.val(value[0]);
    } else {
        newInput.attr('id', '');
        newInput.val(value);
        added = true;
    }
    newInput.keyup(websiteInputKeyUp);
    
    var added_str = '';
    
    if (added == true) {
        added_str = 'newAdded';
    }
    
    if ($('.websiteInput').length == 1) {
        newInput.attr('class', 'websiteInput addedField  '+added_str);
        $('#websiteDescription').after(newInput);
    } else {
        newInput.attr('class', 'websiteInput addedField '+added_str);
        var after = null;
        $('.websiteInput').each(function() {
            if (!after || $(this).offset().top > $(after).offset().top) {
                    after = this;
            }
        });
        $(after).after(newInput);
    }
    newInput.show("slow");
}
function invalid_url_check(url) {
	var val = false;
	$('.invalidUrls').each(function() {
	    if ($(this).val()== url) 
        	val =  true; 
    });
    return val;
}
function arangeWebsiteInputs(input) {
    var first = null;
    $('.websiteInput').each(function() {
        if (!first || $(this).offset().top < $(first).offset().top) {
                first = this;
        }
    });
    
    $(first).after($('#websiteDescription'));
    $(first).attr('class', 'websiteInput');
    $('#websiteDescription').show()
}


$(function () {
    $('#reset_captcha').click(function () {
        var image = $('#captcha_img'); 
        var src = image.attr('src');
        src += Math.ceil(Math.random() * 10);
        image.attr('src', src);
        return false;
    });
    
    $('#check_username').click(function () {
        $('#loader').fadeIn();
        var ua = $('#user_available');
        var una = $('#user_not_available');
        var se = $('#signup_exception');
        $('#js_usererrors').remove();
        ua.hide(); una.hide(); se.hide();

        $.getJSON(
            $('#check_url').val(), //url
            { 'username': $('#username').val() },
            function (response) {
                $('#loader').hide();
                if (response.available) {
                    ua.fadeIn();
                    setTimeout(function() { ua.fadeOut(); }, 5000);
                } else {
                    if(response.exception) {
                        se.fadeIn();
		                setTimeout(function() { se.fadeOut(); }, 5000);
                    }else if (response.messages.length) {
	                    var errors = $('<ul class="errors" id="js_usererrors"&gt;&lt;/ul>');
	                    $.each(response.messages, function () {
                            errors.append('<li>' + this + '</li>')
	                    } );
                        $('#username').parent('p').after(errors);
                        if (typeof(stInitInlineEditing) != 'undefined') {
                        	stInitInlineEditing();
                        }
                    } else {
                        una.fadeIn();
		                setTimeout(function() { una.fadeOut(); }, 5000);
                    }
                }
            }
        );
        
        return false;
    });
    
    $('#country').change(function () {
        var val = $(this).val();
        var usStates = $('p.us_states');
        var caStates = $('p.canadian_states');
        
        if (val == 'US') {
            usStates.slideDown('fast');
            caStates.slideUp('fast');
        } else if (val == 'CA') {
            usStates.slideUp('fast');
            caStates.slideDown('fast');
        } else {
            usStates.slideUp('fast');
            caStates.slideUp('fast');
        }
    }).trigger('change');
    
    
    (function () {
        if ($("#websiteslist").val()) {
            var websites = $("#websiteslist").val().split('&lt;&gt;');
        } else {
            var websites = new Array();
        }

        if (websites.length == 0) {
            $('.websiteInput').attr('fresh', '1');
        } else {
            var website = websites[0].split('&gt;&lt;');
            
            if(typeof(website[1]) != "undefined") {
                $('.websiteInput')[0].id = website[1];
                $('.websiteInput')[0].value = website[0];
            } else {
                $('.websiteInput')[0].value = website;
            }
            
            for (i = 1; i < websites.length; i++) {
                addWebsiteInput(websites[i].split('&gt;&lt;'), 0, false);
            }
            addWebsiteInput('', '1', true);
            
        $('.websiteInput').each(function () {
	        if(invalid_url_check(this.value)){
		    	$(this).addClass('redBorder');
		    } else {
		    	$(this).removeClass('redBorder');
		    }
	    });
        }
        
    })();
    
    $('.websiteInput').keyup(websiteInputKeyUp)
    
    $('#signUp').submit(function() {
        var websites = new Array();
        $(".websiteInput").each(function() {
            if($(this).attr('id') != '') {
                website = $(this).val() + '&gt;&lt;' + $(this).attr('id');
            } else {
                website = $(this).val();
            }
            if ($(this).val() != '') websites[websites.length] = website;
        });
        var websiteslist = websites.join('&lt;&gt;');
        $("#websiteslist").val(websiteslist)
        
        return true;
    })
});
