
function check_unload(){
		if($(window).data('unsaved') == 1)
			return "You have unsaved data. If you leave this page, you will lose your data.";
}


function auto_clothing(clothinput,thetype){
	$(clothinput).unbind().autocomplete(
		"/data.php",
		{
			extraParams: { action: "getclothing", type: thetype },
			selectFirst: false,
			delay: 0
		}).result(function(event, data) {
			$(this).parents('.clothing-row').find('.type-select').val(data[1]);
			$(this).parents('.clothing-row').find('.clothing-id').val(data[2]);
			$(this).val(data[0].substring(data[0].indexOf(': ') + 2));
		});
	
	//initGreyText();
}

function auto_contacts(){
	$('input[name=contacts]').autocomplete(
		"/data.php?action=getcontacts",
		{
			selectFirst: false,
			delay: 0
		}).result(function(event, data) {
			add_contact($(this).parents('.event').find('.contacts'),data[0],data[1]);
			$(this).val('');
		});
}

function registerIframe(iframe){
	var theinput = $(iframe).contents().find('input[type=file]');
	
	theinput.change(function(){
		var uploadDiv = $(iframe).parents('.imageUploader');
		$(uploadDiv).find('.progressFrame').html('Uploading...');
		$(uploadDiv).find('.uploadFrame').hide();
		$(this).parents('form').submit();	
		$(iframe).load(function(){
			var uploadDiv = $(iframe).parents('.imageUploader');
			if($(iframe).contents().find('#EP_ID').length > 0){
				var id = $(iframe).contents().find('#EP_ID').html();
				$(uploadDiv).find('.progressFrame').html('<input type="hidden" name="EP_ID" value="' + id + '"/><img src="/outfit.php?id=' + id + '&size=200"/><br/><a href="#" class="remove-image">Remove Image</a>').show();
			} else if ($(iframe).contents().find('#upload_error').length > 0){
				var error = $(iframe).contents().find('#upload_error').html();
				$(iframe).contents().find('#upload_error').remove();
				$(uploadDiv).find('.uploadFrame').show();
				$(uploadDiv).find('.progressFrame').html('');
				alert(error);
			}
		});
	});
}

function greyThis(item,blurOrFocus,text){
	if(blurOrFocus == 'blur'){
		if($(item).val() == ''){
			$(item).css('color','#DADADA');
			$(item).val(text);
		}
	} else {
		if($(item).val() == text){
			$(item).css('color','#000');
			$(item).val('');
		}
	}
}

$(document).ready(function () {    
	
	window.onbeforeunload = check_unload;
	
	var hash = document.location.hash.replace('#','');
	if(hash){
		$('#' + hash).click();
	}   
	
	$("a.thickcal").live('click',function(){
		var t = this.title || this.innerHTML || this.href;
		tb_show(t,this.href);
		this.blur();
		return false;
	});
	
	$('.calendar td').hover(function(){
		$(this).find('.title .left a').show();
	},function(){
		$(this).find('.title .left a').hide();
	});
	
	$('a.search').click(function(){
		$(this).parents('form').submit();
		return false;
	});
	
	$('a.go').click(function(){
		$('#goform').submit();
		return false;
	});
	
	$('a.remove-image').live('click',function(){
		var event = $(this).parents('.event');
		$(event).find('.progressFrame').hide();
		$(event).find('.progressFrame').html('<input type="hidden" name="EP_ID" value="-1"/>');
		$(event).find('.uploadFrame iframe').load(registerIframe);
		$(event).find('.uploadFrame iframe').attr('src','/data.php?action=uploadframe&cb=');
		$(event).find('.uploadFrame').show();
	});
	
	$('.dash-day .add').click(function(){
		$(window).data('unsaved',1);
		$('.dash-day .add:visible').hide();
		var day = $(this).parents('.dash-day');
		var events = $(day).find('.events');
		var event = $('<div></div>').addClass('event').html($('#example_event').html()).appendTo($(events));
		
		auto_contacts();
			
		var clothing = $(event).find('.clothing-holder');
		clothing.append(add_clothing());
		
		auto_clothing($(clothing).find('.clothing-box'),'');
	});
		
	$('.clothing-box').live("keydown",function(event){
		var thisbox = $(this);
		if($(this).val() != '' && $(this).data('created') != 1){
			$(this).data('created',1);
			$(this).parents('.clothing-holder').append(add_clothing());
			
			var lastrow = $('.clothing-row:last-child');
			
			if($(this) != $(lastrow).find('.clothing-box'))
				auto_clothing($(lastrow).find('.clothing-box'), $(lastrow).find('.type-select').val());	
			
			//initGreyText();
		}
	});
	
	$('input[name=contacts]').live("keydown",function(event){
		if(event.keyCode == 13 || event.keyCode == 10 || event.keyCode == 188){
			var contactname = $(this).val();
			if(contactname != ''){
				add_contact($(this).parents('.event').find('.contacts'),contactname,'');
				$(this).val('');
			}
			return false;
		}
	});
	
	$('.event a.delete').live("click",function(){
		var event = $(this).parents('.event');
		var id = $(event).attr('id').replace('event','');
		if(id){
			if(confirm('Are you sure you want to remove this event?')){
				$.get("/data.php?action=deleteevent&id=" + id, function(data){
					$(event).remove();
				});
			}
		} else {
			$(event).remove();
		}
		
		if($('.daybody').length > 0){
			document.location.reload();
		}
		return false;
	});
	
	$('.event a.cancel').live("click",function(){
		var event = $(this).parents('.event');
		var id = $(event).attr('id').replace('event','');
		if(id){
			$.get("/data.php?action=showevent&id=" + id, function(data){
			    $(event).html(data);
			});
		} else {
			$(event).remove();
		}		
		
		$('.dash-day .add:hidden').show();
		$(window).data('unsaved',0);
		
		if($('.daybody').length > 0){
			tb_remove();
		} else {
			document.location.reload();
		}
		
		return false;
	});	
	
	$('.event a.edit').live("click",function(){
		$(window).data('unsaved',1);
		$('.dash-day .add:visible').hide();
		var id = $(this).parents('.event').attr('id').replace('event','');
		var event = $(this).parents('.event');
		$.getJSON("/data.php?action=jsonevent&id=" + id, function(json) {
			$(event).html($('#example_event').html());
			$(event).find('input[name=desc]').val(json.E_Desc).css('color','#000');;
			
			
			if(json.event_photo_id){
				$(event).find('.uploadFrame').hide();
				$(event).find('.progressFrame').html('<input type="hidden" name="EP_ID" value="' + json.event_photo_id + '"/><img src="/outfit.php?id=' + json.event_photo_id + '&size=200"/><br/><a href="#" class="remove-image">Remove Image</a>');
			}
			
			if(json.contacts){
				for(i=0;i<json.contacts.length;i++){
					var name = '';
					if(json.contacts[i].C_FirstName || json.contacts[i].C_LastName){
						add_contact($(event).find('.contacts'),json.contacts[i].C_FirstName + ' ' + json.contacts[i].C_LastName,json.contacts[i].C_ID);
					} else {
						add_contact($(event).find('.contacts'),json.contacts[i].C_Name,json.contacts[i].C_ID);	
					}
				}
			}
		
			auto_contacts();
				
			var clothing = $(event).find('.clothing-holder');
			if(json.clothing){
				for(j=0;j<json.clothing.length;j++){
					clothing.append(add_clothing());
				}
			
				var types = $(clothing).find('.type-select');
				var names = $(clothing).find('.clothing-box');
				
				for(j=0;j<json.clothing.length;j++){
					if(json.clothing[j]){
						$(types).eq(j).val(json.clothing[j].CT_Name);
						$(names).eq(j).val(json.clothing[j].C_Name).css('color','#000');
					}
				}
			}
			
			clothing.append(add_clothing());
		
			$('.clothing-box').each(function(){
				auto_clothing($(this),$(this).parents('.clothing-row').find('.type-select').val());
			});
			
			//initGreyText();
		});
		
		return false;
	});
	
	$('.event a.save').live("click",function(){
		var event = $(this).parents('.event');
		var eventid = $(event).attr('id').replace('event','');
		var day = $(event).parents('.dash-day').attr('id');
		var d = new Date();
		if(eventid > 0){
			var text = '?action=saveevent&id=' + eventid;
		} else {
			var text = '?action=saveevent';
		}		
		
		
		//Validate
		if($(event).find('input[name=desc]').val() == '' || $(event).find('input[name=desc]').val() == descText){
			alert('Description is required.');
			$(event).find('input[name=desc]').focus();
			return false;
		}
		
		text += '&epid=' + $(event).find('input[name=EP_ID]').val();
		text += '&cb=' + d.getMilliseconds() + '&date=' + day;
		text += '&desc=' + escape($(event).find('input[name=desc]').val())+ '&';
		
		$(event).find('.contact-name').each(function(){
			var id = $(this).find('.hidden').html();
			if(id != ''){
				text += 'contactids[]=' + id + '&';
			} else {
				var name = $(this).find('.name').html();
				text += 'newcontacts[]=' + escape(name) + '&';
			}
		});
		
		var contactbox = $(event).find('input[name=contacts]').val();
		if(contactbox != '' && contactbox != contactText){
			var tempcontacts = $('input[name=contacts]').val().split(',');
			if (tempcontacts.length > 0) {
				for (j = 0; j < tempcontacts.length; j++) {
					text += 'newcontacts[]=' + escape(tempcontacts[j]) + '&';
				}
			}
			$('input[name=contacts]').val('');
		}
		
		$(event).find('.clothing-row').each(function(){
			if($(this).find('.type-select').val()){
				text += 'types[]=' + $(this).find('.type-select').val() + '&';
			} else if ($(this).find('.type-text').val()) {
				text += 'types[]=' + escape($(this).find('.type-text').val()) + '&';
			}
			if($(this).find('.clothing-box').val() != clothingText){
				text += 'clothing[]=' + escape($(this).find('.clothing-box').val()) + '&';
			} else {
				text += 'clothing[]=&';
			}
			text += 'clothingids[]=' + $(this).find('.clothing-id').val() + '&';
		});
		
		//$('#debug').html('<a href="/data.php' + text + '">/data.php' + text + '</a>');
		
		$.get("/data.php" + text, function(data){
		    $(event).html(data);
		    var id = $(event).find('input[name=E_ID]').val();
		    $(event).attr('id','event' + id);
		});

		$(window).data('unsaved',0);
		$('.dash-day .add:hidden').show();
		
		//if($('.daybody').length > 0){
			document.location.reload();
		//}
		return false;
	});
	
	$('.contact-name sup').live("click",function(){
		$(this).parents('.contact-name').remove();		
	});
	
});

function check_type(selectbox){
	var clothingrow = $(selectbox).parents('div.clothing-row');
	if($(selectbox).val() == 'Add New'){
		$(selectbox).remove();
		$(clothingrow).html('<input type="text" name="types[]" class="type-text" value="New Type"/><input type="text" name="clothing[]" class="clothing-box"/>');
		$(clothingrow).find('input.type-text').focus().select();
	} else {
		auto_clothing($(clothingrow).find('.clothing-box'),$(selectbox).val());
	}
}

function select_type(){
	if ($(this).val() != '') {
		$(this).parent().append(add_clothing());
		//initGreyText();
	}
}
	
function add_contact(contacts,name,id){
	var contact = '<span class="contact-name"><span class="hidden">' + id + '</span><span class="name">' + name + '</span><sup>x</sup></span>';
	$(contacts).append(contact);
}

function add_clothing(){
	var returnVal  = '<div class="clothing-row"><select name="types[]" class="type-select" onchange="check_type(this)">';
	for(i=0;i<clothing_types.length;i++){
		returnVal += '<option value="' + clothing_types[i] + '">' + clothing_types[i] + '</option>';
	}
	returnVal += '</select>';
	returnVal += '<input type="text" name="clothing[]" class="clothing-box" value="' + clothingText + '" onfocus="greyThis(this,\'focus\',\'' + clothingText + '\');" onblur="greyThis(this,\'blur\',\'' + clothingText + '\');" style="color: #DADADA;"/>';
	returnVal += '<input type="hidden" name="clothingids[]" class="clothing-id"/>';
	returnVal += '</div>';
	
	return returnVal;
}

function selectAllText(textbox) {
    textbox.focus();
    textbox.select();
}