// function to hide text in input fields on focus 
// used in search
	(function($)
		{
			$.fn.inputReplacer = function()
			{
				var elementsArr = new Array();
				var elementsValue = new Array();
				this.each(function(index, elem)
				{
					if($(elem).value != '')
					{
						elementsValue.push($(elem).val());
						elementsArr.push($(elem));
					}
					else if(elem.innerHTML != '')
					{
						elementsValue.push($(elem).html());
						elementsArr.push($(elem));
					}
					$(elem).focus(function()
					{
						if($(this).val() == elementsValue[index])
							this.value = '';
					});
					$(elem).blur(function()
					{
						if($(this).val() == '')
							this.value = elementsValue[index];
					});
				});
			}
		})(jQuery);

// Cookies
function setCookie(name, value, expires) {
	document.cookie = name + "=" + escape(value) + "; path=/" + ((expires == null) ? "" : "; expires=" + expires.toGMTString());
}
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000*365)); // 1 year

// jQuery
$(document).ready(function(){
	/**
	 * Hide text on focus at search bar
	 */
	 $('#search-bar').inputReplacer();
	/**
	 * Loading spinner, starts when a ajax call is made, and stops when the call is stopped
	 */
	$("#loading").ajaxStart(function(){
		$(this).show();
	});
	
	$("#loading").ajaxStop(function(){
		$(this).hide();
	});
	
	/**
	 * UPLOADIFY
	 */
	var modelName = $("#MODEL_NAME").attr("value");
	var uploadLimit = $("#MAX_FILE_SIZE").attr("value");
	var allUploadedFiles;
	$('#upload-textures').fileUpload ({
		
		'uploader'			: '../main/scripts/uploadify/uploader.swf',
		'script'  			: '../main/lib/_ajax.funcs.php',
		'cancelImg'			: '../main/scripts/uploadify/cancel.png',
		'multi'				: true,
		'auto' 				: true,
		'fileDesc'			: 'JPG image files (*.jpg), GIF image files (*.gif), PNG image files (*.png)',
		'fileExt'			: '*.jpg;*.gif;*.png;',
		'sizeLimit'			: uploadLimit,
		'simUploadLimit'	: 3,
		'folder'			: '',
		'scriptData'		: {'action': 'temp_upload', 'modelname': modelName},
		onComplete: function(event, queueID, fileObj, response, data) {
			if (response !== '1')
				$.prompt(response);
			$('#filesUploaded').show();
			$('#filesUploaded ol').append('<li>'+fileObj.name+'</li>');
		}
	});

	/**
	 * Close the welcome message, and set a cookie which expires in a year. 
	 */
	$("#close-welc-box").click(function () {
		setCookie(setCookie('HasVisited', 'Yes', expdate));
		$("#welcome-box").fadeTo(1000, 0.1, function() {
            $("#welcome-box").slideUp(500);
        });
	});
	
	/**
	 * View terms of use
	 */
	
	$("a.terms-pop-up").attr("href", "#"); // remove link 
	
	$("a.terms-pop-up").click(function() {
		var txt;
		$.post("../main/lib/_ajax.funcs.php", {action: "terms"},
				function(data){
					$.prompt(data);
		});
	});
	
	/**
	 * Delete item
	 */
	
	$(".view_items .delete_item").attr("href", "#");
	
	$(".view_items .delete_item").click(function() {
		var item = $(this).parents("tr:first");
		var item_id = $(item).attr("id").substring(7);
		var txt = 'Er du sikker på at du vil slette denne modellen?';
		
		$.prompt(txt,{ 
			buttons:{Slett:true, Avbryt:false},
			callback: function(v,m,f){
				if(v){
					$.post("../main/lib/_ajax.funcs.php", {action: "del", id: item_id},
						function(data){
							if (data == "true"){
								$(item).fadeOut('slow', function(){ $(item).remove(); });
							} else {
								$.prompt(data);
							}
					}); 
				} else {}
			}
		});
	});

	$("#choose-contacts-list, #password-model-edit, .another-credit").hide();
	$("#all-view, #nobody-else, #all-contacts").click(function () {
		$("#choose-contacts-list").slideUp("slow");
		$("#password-model-edit").slideUp("slow");
	});
	$("#choose-contacts").click(function () {
		$("#choose-contacts-list").slideDown("slow");
		$("#password-model-edit").slideUp("slow");
	});
	$("#password-model").click(function () {
		$("#choose-contacts-list").slideUp("slow");
		$("#password-model-edit").slideDown("slow");
	});
	/* TODO: BUGGER I IE */
	$("#credits-other, #credits-myself").change(function () {
		if ($("#credits-other").is(":checked")){
        	$(".another-credit").slideDown("slow");
        }
        else {     
        	$(".another-credit").slideUp("slow");
        }
	});

	var info_boxes_visibility = [ "info-all-view", "info-nobody-else", "info-all-contacts", "info-choose-contacts", "info-password-model" ];
	var selected_box;
	/*
	 * closes all info boxes under "Visibility" on the upload page,
	 * except the one which is checked
	 */
	jQuery.each(info_boxes_visibility, function(){
		var parent = this.substr(5);
		if(!$("#" + parent).is(":checked")){
			$("#" + this).hide();
		} else {
			selected_box = this;
		}
	});
	
	$.each(info_boxes_visibility, function(){
		var parent = this.substr(5);
		var active_box = this;
		$("#" + parent).click(function() {		
			$("#" + selected_box).hide();
			selected_box = active_box;
			$("#" + selected_box).slideDown("slow");
		});
	});
});

