function set_search_field(f, v) {
	if(f != '' && v != '') {
		if($('#search-'+f)) {
			$('#search-'+f).val(v);
			if(f != 'page') {
				set_search_field('page', 1);
			}
		}
	}
};

function assetIDSearch(contract) {
	s = escape($('#assetSearch').val());
	$.ajax({
		type:		'POST',
		url:		'/contracts/assetsuggest/'+contract,
		data:		's='+s,
		success:	function(r) {
			o = jQuery.parseJSON(r);
			s = $('#search_suggest')
			s.html('');
			for(i=0;i<o.length;i++) {
				var suggest = '<div onmouseover="suggestOver(this);" ';
				suggest += 'onmouseout="suggestOut(this);" ';
				suggest += 'onclick="setSearch(\''+o[i][0]+'\', \''+o[i][1]+'\');" ';
				suggest += 'class="suggest_link">' + o[i][1] + ' - '+ o[i][2] +' - '+ o[i][3] +'</div>';
				s.append(suggest);
			}
		}
	});
}

function setSearch(id, asset) {
	$('#assetSearch').val(asset);
	$('#assetID').val(id);
	$('#search_suggest').html('');
}

function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}

function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}

function search_submit() { $('#search-form').submit(); };

function contractLocations(contract) {
	$.getJSON('/assets/contract_locations/'+contract, function(data) {
		$('#locations').children().remove();
		opt = '<option value="" selected>Please Select One</option>';
		$.each(data, function(key, val) {
			opt += '<option value="'+val._id.toString()+'">'+val.name+'</option>';
		});
		$('#locations').html(opt);
	});
};

function assetform_submit() {
	currentTab = $('.tab:visible')
	form = currentTab.children('form');
	fields = form.children('input, select');
	data = '';
	$.each(fields, function(k, f) {
		data += f.name+'='+f.value+'&';
	});
	if(data != '') {
		$.ajax({
			type:		'POST',
			url:		form.attr('action'),
			data:		data,
			success:	function(r) {
				currentTab.html(r);
			}
		});
	}
};

function job_submit() {
	form = $('.assetform');
	data = '';
	$.each(form.children('.box'), function(k1, f1) {
		fields = $(f1).children('input, select');
		$.each(fields, function(k, f) {
			data += f.name+'='+f.value+'&';
		});
		fields = $(f1).children('.checkbox').children('input:checked');
		$.each(fields, function(k, f) {
			data += f.name+'='+f.value+'&';
		});
	});
	fields = form.children('.checkbox').children('input');
	$.each(fields, function(k, f) {
		if(f.type == 'radio' || f.type == 'checkbox') {
			if(f.checked == true) {
				data += f.name+'='+f.value+'&';
			}
		} else {
			data += f.name+'='+f.value+'&';
		}
	});
	if(data != '') {
		$.ajax({
			type:		'POST',
			url:		form.attr('action'),
			data:		data,
			success:	function(r) {
				//alert(r);
				o = jQuery.parseJSON(r);
				if(o.err.length > 0) {
					$('.error').html('');
					for(var i in o.err) {
						$('.error').append(o.err[i]+'<br />');
					}
					$('.error').fadeIn().delay(5000).fadeOut();
				}
				if(o.suc.length > 0) {
					$('.success').html('');
					for(var x in o.suc) {
						$('.success').append(o.suc[x]+'<br />');
					}
					$('.success').fadeIn().delay(5000).fadeOut();
				}
			}
		});
	}
};

function form_submit(cl) {
	form = $('.'+cl);
	fields = form.children('input, select');
	data = '';
	$.each(form.children('.box-nh'), function(k1, f1) {
		fields = $(f1).children('input, select');
		$.each(fields, function(k, f) {
			data += f.name+'='+f.value+'&';
		});
	});
	fields = form.children('.checkbox').children('input');
	$.each(fields, function(k, f) {
		if(f.type == 'radio' || f.type == 'checkbox') {
			if(f.checked == true) {
				data += f.name+'='+f.value+'&';
			}
		} else {
			data += f.name+'='+f.value+'&';
		}
	});
	if(data != '') {
		$.ajax({
			type:		'POST',
			url:		form.attr('action'),
			data:		data,
			success:	function(r) {
				//alert(r);
				o = jQuery.parseJSON(r);
				if(o.err.length > 0) {
					$('.error').html('');
					for(var i in o.err) {
						$('.error').append(o.err[i]+'<br />');
					}
					$('.error').fadeIn().delay(5000).fadeOut();
				}
				if(o.suc.length > 0) {
					$('.success').html('');
					for(var x in o.suc) {
						$('.success').append(o.suc[x]+'<br />');
					}
					$('.success').fadeIn().delay(5000).fadeOut();
				}
			}
		});
	}
};

function openrepair(cl) {
	form = $('.'+cl);
	fields = form.children('input, select');
	data = '';
	$.each(form.children('.box-nh'), function(k1, f1) {
		fields = $(f1).children('input, select');
		$.each(fields, function(k, f) {
			data += f.name+'='+f.value+'&';
		});
	});
	fields = form.children('.checkbox').children('input');
	$.each(fields, function(k, f) {
		if(f.type == 'radio' || f.type == 'checkbox') {
			if(f.checked == true) {
				data += f.name+'='+f.value+'&';
			}
		} else {
			data += f.name+'='+f.value+'&';
		}
	});
	if(data != '') {
		$.ajax({
			type:		'POST',
			url:		form.attr('action'),
			data:		data,
			success:	function(r) {
				//alert(r);
				$('#TB_ajaxContent').html(r);
			}
		});
	}
};

function parse_iframe(iframe) {
	o = jQuery.parseJSON(iframe.contentWindow.document.body.innerHTML);
	if(o) {
		if(o.err.length > 0) {
			$('.modal-body .error').html('');
			for(var i in o.err) {
				$('.modal-body .error').append(o.err[i]+'<br />');
			}
			$('.modal-body .error').fadeIn().delay(5000).fadeOut();
		}
		if(o.suc.length > 0) {
			$('.success').html('');
			for(var x in o.suc) {
				$('.modal-body .success').append(o.suc[x]+'<br />');
			}
			$('.modal-body .success').fadeIn().delay(5000).fadeOut();
		}
	}
}

function close_tb() {
	tb_remove();
	window.location.reload();
};

function accordian(box) {
	$('.box:visible').slideToggle();
	$('#'+box).slideToggle();
};

function modal_resize(d) {
	if(d == '') {
		width = $('#modal').width();
	} else {
		width = $(d).data('width');
	}
	if(window.innerWidth === undefined) {
		dwidth = document.documentElement.clientWidth;
		dheight = document.documentElement.clientHeight;
	} else if(document.all) {
		dwidth = window.innerWidth;
		dheight = window.innerHeight;
	} else {
		dwidth = window.innerWidth;
		dheight = window.innerHeight;
	}
	$('.modal-body').css('overflow', 'auto').css('maxHeight', dheight-200);
	$('#modal').css('position', 'fixed')
	.css('width', width)
	.css('top', (dheight-$('#modal').height())/2)
	.css('left', (dwidth-$('#modal').width())/2);
}

function modal_ajax(e) {
	e.preventDefault();
	var call = $(this);
	$('#modal .modal-header h3').html($(this).data('original-title'));
	if($(this).data('save-hide') == true) {
		$('#modal-save').css('display', 'none');
	} else {
		$('#modal-save').css('display', 'inline-block');
	}
	if($(this).data('save-button') != '' && $(this).data('save-button') != undefined) {
		$('#modal-save').html($(this).data('save-button'));
	} else {
		$('#modal-save').html('Save');
	}
	if($(this).data('close-click') != '' && $(this).data('close-click') != undefined) {
		$('#modal-close').attr('onclick', $(this).data('close-click'));
	} else {
		$('#modal-close').attr('onclick', '$(\'#modal\').modal(\'hide\');');
	}
	if($(this).data('save-click') != '' && $(this).data('save-click') != undefined) {
		$('#modal-save').attr('onclick', $(this).data('save-click'));
	} else {
		$('#modal-save').attr('onclick', 'modal_form_submit()');
	}
	$.get($(this).attr('href'), function(data) {
		$('#modal .modal-body').html(data);
		$('#modal .modal-body a.modal-opener').bind('click', internal_modal_ajax);
		modal_resize(call);		
		$('#modal').modal({
			keyboard: true,
			backdrop: 'static',
			show: true
		});
	});
}

function jobcard_close_check() {
	var confirm = window.confirm('Please make sure you have saved all changes. Click ok to accept.');
	if(confirm) {
		$('#modal').modal('hide');
		return;
	}
}

function internal_modal_ajax(e) {
	e.preventDefault();
	var call = $(this);
	$('#modal .modal-header h3').html($(this).data('original-title'));
	if($(this).data('save-hide') == true) {
		$('#modal-save').css('display', 'none');
	} else {
		$('#modal-save').css('display', 'inline-block');
	}
	if($(this).data('save-button') != '' && $(this).data('save-button') != undefined) {
		$('#modal-save').html($(this).data('save-button'));
	} else {
		$('#modal-save').html('Save');
	}
	if($(this).data('close-click') != '' && $(this).data('close-click') != undefined) {
		$('#modal-close').attr('onclick', $(this).data('close-click'));
	} else {
		$('#modal-close').attr('onclick', '$(\'#modal\').modal(\'hide\');');
	}
	if($(this).data('save-click') != '' && $(this).data('save-click') != undefined) {
		$('#modal-save').attr('onclick', $(this).data('save-click'));
	} else {
		$('#modal-save').attr('onclick', 'modal_form_submit()');
	}
	$.get($(this).attr('href'), function(data) {
		//alert(data);
		$('#modal .modal-body').html(data);
		$('#modal .modal-body a.modal-opener').bind('click', internal_modal_ajax);
		modal_resize(call);
	});
}

function modal_form_submit() {
	if($('#ajax-form').attr('target') != '' && $('#ajax-form').attr('target') != undefined) {
		$('#ajax-form').submit();
		return;
	} else if($('#ajax-form').attr('onsubmit') != undefined) {
		$('#ajax-form').bind('modalUpdated', eval($('#ajax-form').attr('onsubmit')));
	}
	data = $('#ajax-form').serializeArray();	
	$.post($('#ajax-form').attr('action'), data, function(ret) {
		alert(ret);
		if(ret) {
			ret = jQuery.parseJSON(ret);
			if(ret.err.length > 0) {
				$('.modal-body .error').html('').hide();
				for(i=0;i<ret.err.length;i++) {
					$('.modal-body .error').append(ret.err[i]+'<br />');
				}
				$('.modal-body .error').alert().show();
				setTimeout("$('.modal-body .error').hide().html('')", 10000);
			} else if(ret.suc.length > 0) {
				$('.modal-body .success').html('').hide();
				for(i=0;i<ret.suc.length;i++) {
					$('.modal-body .success').append(ret.suc[i]+'<br />');
				}
				$('.modal-body .success').alert().show();
				setTimeout("$('.modal-body .success').hide().html('')", 10000);
				$('#ajax-form').triggerHandler('modalUpdated', ret.data);
			}
			if(ret.fields) {
				for(i=0;i<ret.fields.length;i++) {
					$('#ajax-form [name='+ret.fields[i]+']').addClass('error');
				}
			}
		}
	});
}

function history_update(e, data) {
	if(data.length > 0) {
		$('#historyContent').val(data);
	}
}

function display_jobcard(e, data) {
	//alert(data);
	if(data.id) {
		if($('.modal-body .success').attr('updated') != 'yes') {
			if(data.contract) {
				$('.modal-body .success').append('Click <a href="/contracts/job/'+data.id+'" onclick="modal_opener(this);" class="modal-opener" data-width="800" data-content="Click to view current open repair for this contract" data-original-title="Current Repair">here</a> to view the job card.')
				$('#modal .modal-body a.modal-opener').bind('click', internal_modal_ajax);
				$('.modal-body .success').attr('updated', 'yes');
			} else {
				$('.modal-body .success').append('Click <a href="/assets/view/'+data.id+'/job" onclick="modal_opener(this);" class="modal-opener" data-width="800" data-content="Click to view current open repair for this asset" data-original-title="Current Repair">here</a> to view the job card.')
				$('#modal .modal-body a.modal-opener').bind('click', internal_modal_ajax);
				$('.modal-body .success').attr('updated', 'yes');
			}
		}
	}
}

function bulk_submit(e) {
	if(e.value != '' && e.value != undefined) {
		if($('.bulk:checked').length > 0) {
			$('#bulkassets').submit();
		} else {
			alert('No assets have been selected');
		}
	}
}

$(function() {
	$('#modal').bind('hidden', function() {
		location.reload(true);
	});
	$('a.modal-opener').bind('click', modal_ajax);
	$(window).resize(modal_resize);
})

$(function() {
	$('.clickable').twipsy({
		placement: 'below',
		fallback: 'Click to filter'
	});
	$('.clickableor').twipsy({
		placement: 'below',
		fallback: 'Click to order'
	});
})

$(function() {
    $("a[rel=popover]")
      .popover({
        offset: 2,
        placement: 'left',
        trigger: 'hover'
     })
      .click(function(e) {
        e.preventDefault()
     });
});

$(function() {
	$('#masterbulk').click(function() {
		if(this.checked == true) {
			$('.bulk').attr('checked', true);
		} else if(this.checked == false) {
			$('.bulk').attr('checked', false);
		}
	});
});

//$(function() { $("table.sortTable").tablesorter({ sortList: [[1,0]] }); });
