//Check for SVG support
var hasSVGSupport = false;
var useVBMethod = false;
if (navigator.mimeTypes != null && navigator.mimeTypes.length > 0) {
				if (navigator.mimeTypes["image/svg-xml"] != null)
								hasSVGSupport = true;
}else{
				useVBMethod = true;
}
/* vb for ie 
                        On Error Resume Next
                        If useVBMethod = true Then
                                hasSVGSupport = IsObject(CreateObject("Adobe.SVGCtl"))
                        End If
*/

//Fix SVG's for those poor IE users
$(function() { 
	if ( $.browser.msie == true || hasSVGSupport != true) { 
			$('object[type="image/svg+xml"]').each(function() {
	//		$('object').each(function() {
					//var img = $(this).find('img').html();
					var img = $(this).html(); 
					if ( $(img).attr('src') ) { 
						$(this).replaceWith(img);
					}
			}); 
	}
});



$(function() { 
	$('.inline-definition').cluetip({splitTitle:'|',arrows:true});
}); 





/**
 *	Runs a serverside script from ajaxcb.php
 *  ajaxcb.php?cbfunction=cbfunction&cbdata=meta.data
 *  @param matchcss string The jquery CSS selector to match elements by
 *	@param cbfunction string The callback function execute
 *	@returns mixed JSON Response
 *
*/
function pperAjaxCallback(matchcss, cbfunction) { 
	var meta = $(matchcss).metadata();
	if (meta.cbdata) { 
		
	}
}





var gltasks = new Object();

//Task context menu for users
//20090915: Removing this section - right click menus have been removed
/*
var user_task_menu = [
  {
	'Mark completed' : 
	function(menuItem,menu) 
	{ 
		var meta = $(this).metadata();
		var taskid = meta.taskid;
		var cellid="tr.taskid_"+taskid;
		
		if (!gltasks[taskid] || gltasks[taskid]['fin']==false) { 	//Mask task as completed
			gltasks[taskid]=new Array();
			gltasks[taskid]['fin']=true;
			$(cellid + " td").fadeTo(500,0.3);	
			$(cellid).addClass("taskCompleted");
		} else { 
			gltasks[taskid]=null;
			$(cellid + " > td").fadeTo(500,1);	
			$(cellid).removeClass("taskCompleted");
		}				
		
		//Restore the cell if clicked
		$(this).click(function() { 
			gltasks[taskid]['fin']=false;
			$(cellid + " td").fadeTo(500,1);	
			$(cellid).removeClass("taskCompleted");
		});
		
		
	} 
  },
  $.contextMenu.separator,
  {
	'Save Changes' : 
	function(menuItem,menu) 
	{ 
		$.getJSON("ajcb.php",{ 'data' : serialize(gltasks), cbfunc : 'markTaskComplete' },function(ret) {

		});
		$("tr.taskCompleted").fadeTo(200,0);
		$("tr.taskCompleted").slideUp(0);
	} 
  }
];
*/

$(document).ready(function() {
	$('.task_save_btn').click(function() {
		$.getJSON("ajcb.php",{ 'data' : serialize(gltasks), cbfunc : 'markTaskComplete' },function(ret) {

		});
		$(this).fadeOut();
		$("tr.taskCompleted").fadeTo(200,0);
		$("tr.taskCompleted").slideUp(0);

		window.setTimeout( function() { 
			update_task_history('#task_history');
		} , 800);

	});
	

//	$('tr.taskComplete').each(function() {
//		task_mark_complete( $(this).metadata().taskid ); 
//	}); 

	$('tr.taskComplete').each(function() { 
		$(this).click(function() { 
			if (! $(this).hasClass('taskCompleted') ) {		//taskCompleteD (with a D) - has been processed client side - click handler is below
				task_mark_uncomplete_by_object(this); 
			}
			$(this).unbind('click');
		});
	}); 



});


function task_mark_uncomplete_by_object(that) { 
	var meta = $(that).metadata(); 
	return task_mark_uncomplete( meta.taskid );
}


function task_mark_uncomplete(taskid) { 
	var cellid="tr.taskid_"+taskid;
	$(cellid).removeClass('taskCompleted')
	$(cellid+' td').fadeTo(500,1).show(); 
	gltasks[taskid]['fin'] = false;
	
	//Non numeric taskID's are only placeholders & need to be reset elsewhere
	if (!is_numeric(taskid))
		return false; 

	$.getJSON("ajcb.php",{ 'data' : taskid, q:0 , cbfunc : 'update_pending_task' },function(ret) {

	});
	
}

function task_mark_complete(taskid) { 
	var cellid="tr.taskid_"+taskid;

	if ( $(cellid).hasClass('taskCompleted') ) 
		return true;
	
	if (!gltasks[taskid] || gltasks[taskid]['fin']==false) { 	//Mask task as completed
		gltasks[taskid]=new Array();
		//$(cellid + " td").fadeTo(500,0.3);	
		$(cellid + " td").css('opacity','0.3');	
		
		$(cellid).addClass("taskCompleted");
		gltasks[taskid]['fin']=true;
		//$('.task_save_btn').fadeIn();
		$('.task_save_btn').show();
		
		//var chk_html = "<span class='ui-icon ui-icon-circle-check' onClick='task_mark_uncomplete(" + taskid + ");'></span>";
		//$('tr.taskid_'+taskid+' td div.task_actions_container').append(chk_html);

		window.setTimeout(function() { 
		//Restore the cell if clicked
			$(cellid).click(function() {
				//gltasks[taskid]['fin']=false;
				//$(cellid + " td").fadeTo(500,1);	
				//$(cellid).removeClass("taskCompleted");
				task_mark_uncomplete(taskid); 
				$(this).unbind('click'); 
			});
		} , 500);

		$.getJSON("ajcb.php",{ 'data' : taskid, q:1 , cbfunc : 'update_pending_task' },function(ret) {
		});
		

	} else { 			
		gltasks[taskid]=null;
		$(cellid + " > td").fadeTo(500,1);	
		$(cellid).removeClass("taskCompleted");
	}				


}




function task_mark_unfinished(taskid) { 
	var cellid="tr.taskid_"+taskid;
	var formid = 'task_unfinished_comment_' + taskid;
	var left = $(cellid).offset().left;
	var top = $(cellid).offset().top;
	var style = 'position:absolute;top:' + top + 'px;left:' + left + 'px;';
	//var html = get_new_comment_form(formid, top, left);
	
	var html = '<div class="exceptionComments" id="' + formid + '" style="'+style+'"><div class="title"><div style="text-align:left;float:left;width:80%;"><img src="images/global/btn_close_white.gif" class="btn_close" />&nbsp;&nbsp;Please describe why the task was not completed<'+'/div><input type="button" class="saveButton" value="Save" /><'+'/div><textarea><'+'/textarea><'+'/div>'
	
	$(cellid).parent().parent().after(html);
	$('#'+formid).slideDown();

	$("#"+formid+" img.btn_close").click(function() { $("#"+formid).slideUp(); } ); 

	//Submit processing
	$("#"+formid+" .saveButton").click(function() { 
		var notes = $('#'+formid+' textarea').val();
		if (!notes || notes=='' ) {
			window.alert('Task comment is required');
			return false;
		}
		$.getJSON('ajcb.php', { 'data' : taskid, 'q': notes , 'cbfunc' : 'task_mark_unfinished' }, function(ret) { 
			$('#'+formid).remove();
			update_task_history('#task_history');			
		});
		$('#'+formid).slideUp();
		gltasks[taskid] = null;
		$(cellid).remove(); 
		
			
	}); 
	
}


function task_status_import(tasks) {
	$(tasks).each(function() {
		console.log(tasks.taskid); 
	});

}


/**
*	Save the practical test changes (called from form PRACTICAL_INDEX)	
*/
function save_practical_test_changes(action) { 
	var vals =  $("table.practical-index input").serialize();
	
	if (!vals) { 
		window.alert('Please select an entry');
		return false;
	}
	
	$('table.practical-index input:checked').each(function() { 
		$(this).parent().parent().addClass('practical-complete').find('.practical-complete-cell').html('<span class="green">Yes</span>');
		$(this).attr('checked' , false);
	}); 
	
	
	
	
	
	$.getJSON("ajcb.php",{ 'data' : vals, q:action , cbfunc : 'save_practical_test_changes' },function(ret) {
	});

	
	
}



function save_employee_sig(name) { 
	name = $('input[name="'+name+'"]');
	var val = $(name).val(); 
	if ( val.length < 3 ) { 
		alert('Enter your name'); 
		return false; 
	}
	var year = $(name).siblings('input[name="emp_year_sig"]').val();
	$.getJSON('ajcb.php', { cbfunc: 'save_employee_sig', data: $(name).siblings('input[name="emp_year_sig"]').val() }, function(ret) { 
		var meta = $(name).parents('tr.taskItem').metadata(); 
		$(name).parents('tr.taskItem').parent().find('tr.taskid_' + meta.taskid).remove(); 
	}); 
	
}




/* Replace the alert function */
function alert(msg, title, icon) { 
	if ( msg == undefined )
		return false;
	title = ( title==undefined ) ? 'Alert' : title;
	icon = ( icon == undefined ) ? '<span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 15px 0;" />' : icon;


	$('<p/>').attr('title', title).html(msg).prepend(icon).dialog({
//	$('<p title="'+title+'"><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 15px 0;"><'+'/span>' + msg + '<'+'/p>').dialog({
		modal: true, 
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	}); 
}










/*
$(function() { 
	var cprefix = 'tablesorter-sort-column-'; 
	var copts = { expires: 10 }; 

	$('table.tablesorter thead tr th').click(function() { 
		var i = $(this).parent().children().index(this);
		//var hash = md5(document.location + $(this).parent().html());
		var hash = $(this).parent().attr('hash');
		$.cookie(cprefix + hash , i , copts);
		
		$(this).trigger( 'sorton' , i);
	});
	
	$('table.tablesorter thead tr').each(function() { 
		var hash = md5(document.location + $(this).html());
		var col = $.cookie(cprefix + hash);
		$(this).attr('hash' , hash);
		
		
	}); 
});
*/





/* utahmc navigation follows ... */
/*
var page;
var identity = new Object;

nav1 = new Image();
nav2 = new Image();
nav3 = new Image();
nav4 = new Image();
nav5 = new Image();
nav6 = new Image();
nav7 = new Image();
nav8 = new Image();
nav9 = new Image();
nav10 = new Image();
nav11 = new Image();
nav12 = new Image();
nav13 = new Image();
nav14 = new Image();
nav15 = new Image();
nav16 = new Image();
nav17 = new Image();
nav18 = new Image();
nav19 = new Image();
nav20 = new Image();
nav21 = new Image();
nav22 = new Image();

nav1.src = "images/nav/1.gif";
nav2.src = "images/nav/2.gif";
nav3.src = "images/nav/3.gif";
nav4.src = "images/nav/4.gif";
nav5.src = "images/nav/5.gif";
nav6.src = "images/nav/6.gif";
nav7.src = "images/nav/1BB.gif";
nav8.src = "images/nav/1BY.gif";
nav9.src = "images/nav/1YB.gif";
nav10.src = "images/nav/2BB.gif";
nav11.src = "images/nav/2BY.gif";
nav12.src = "images/nav/2YB.gif";
nav13.src = "images/nav/3BB.gif";
nav14.src = "images/nav/3BY.gif";
nav15.src = "images/nav/3YB.gif";
nav16.src = "images/nav/4BB.gif";
nav17.src = "images/nav/4BY.gif";
nav18.src = "images/nav/4YB.gif";
nav19.src = "images/nav/5BB.gif";
nav20.src = "images/nav/5YB.gif";
nav21.src = "images/nav/Y.gif";
nav22.src = "images/nav/YY.gif";


function change(objectID, disp)
{
	var marray=objectID.split('_');
	var parray=page.split('_');
	var temp = parseInt(marray[1]) - 1;
	var temp2 = parseInt(marray[1]) + 1;
	var btext = objectID + '_link';
	if (objectID != page) 
	{
		if (parray[1] == 0)
		{
			if (marray[1] == 1)
			{
				if (disp == "on")
				{
					var spacerb='spacer_' + marray[1];
					var nameb='YB' + marray[1];
					identity=document.getElementById(objectID);
					identity.className='Y';
					identity=document.getElementById(spacerb);
					identity.className=nameb;
					identity=document.getElementById(btext);
					identity.className='nav_highlight';
				}
				else if (disp == "off")
				{
					var spacerb='spacer_' + marray[1];
					var nameb='BB' + marray[1];
					var off='B' + marray[1];
					identity=document.getElementById(objectID);
					identity.className=off;
					identity=document.getElementById(spacerb);
					identity.className=nameb;
					identity=document.getElementById(btext);
					identity.className='nav';
				}
			}
			else
			{
				if (disp == "on")
				{
					var spacera='spacer_' + temp;
					var namea='BY'+ temp;
					var spacerb='spacer_' + marray[1];
					var nameb='YB' + marray[1];
					identity=document.getElementById(objectID);
					identity.className='Y';
					identity=document.getElementById(spacera);
					identity.className=namea;
					identity=document.getElementById(spacerb);
					identity.className=nameb;
					identity=document.getElementById(btext);
					identity.className='nav_highlight';
				}
				else if (disp == "off")
				{
					var spacera='spacer_' + temp;
					var namea='BB' + temp;
					var spacerb='spacer_' + marray[1];
					var nameb='BB' + marray[1];
					var off='B' + marray[1];
					identity=document.getElementById(objectID);
					identity.className=off;
					identity=document.getElementById(spacera);
					identity.className=namea;
					identity=document.getElementById(spacerb);
					identity.className=nameb;
					identity=document.getElementById(btext);
					identity.className='nav';
				}
			}
		}
		else if (parray[1] == temp)
		{
			if (disp == "on")
			{
				var spacera='spacer_' + temp;
				var namea='YY';
				var spacerb='spacer_' + marray[1];
				var nameb='YB' + marray[1];
				identity=document.getElementById(objectID);
				identity.className='Y';
				identity=document.getElementById(spacera);
				identity.className=namea;
				identity=document.getElementById(spacerb);
				identity.className=nameb;
				identity=document.getElementById(btext);
				identity.className='nav_highlight';
			}
			else if (disp == "off")
			{
				var spacera='spacer_' + temp;
				var namea='YB' + temp;
				var spacerb='spacer_' + marray[1];
				var nameb='BB' + marray[1];
				var off='B' + marray[1];
				identity=document.getElementById(objectID);
				identity.className=off;
				identity=document.getElementById(spacera);
				identity.className=namea;
				identity=document.getElementById(spacerb);
				identity.className=nameb;
				identity=document.getElementById(btext);
				identity.className='nav';
			}
		}
		else if (parray[1] == temp2)
		{
			if (marray[1] == 1)
			{
				if (disp == "on")
				{
					var spacera='spacer_' + (temp2 - 1);
					var namea='YY';
					identity=document.getElementById(objectID);
					identity.className='Y';
					identity=document.getElementById(spacera);
					identity.className=namea;
					identity=document.getElementById(btext);
					identity.className='nav_highlight';
				}
				else if (disp == "off")
				{
					var spacera='spacer_' + (temp2 - 1);
					var namea='BY' + (temp2 - 1);
					var off='B' + marray[1];
					identity=document.getElementById(objectID);
					identity.className=off;
					identity=document.getElementById(spacera);
					identity.className=namea;
					identity=document.getElementById(btext);
					identity.className='nav';
				}
			}
			else
			{
				if (disp == "on")
				{
					var spacera='spacer_' + (temp2 - 1);
					var namea='YY';
					var spacerb='spacer_' + (marray[1] - 1);
					var nameb='BY' + (marray[1] - 1);
					identity=document.getElementById(objectID);
					identity.className='Y';
					identity=document.getElementById(spacera);
					identity.className=namea;
					identity=document.getElementById(spacerb);
					identity.className=nameb;
					identity=document.getElementById(btext);
					identity.className='nav_highlight';
				}
				else if (disp == "off")
				{
					var spacera='spacer_' + (temp2 - 1);
					var namea='BY' + (temp2 - 1);
					var spacerb='spacer_' + (marray[1] - 1);
					var nameb='BB' + (marray[1] - 1);
					var off='B' + marray[1];
					identity=document.getElementById(objectID);
					identity.className=off;
					identity=document.getElementById(spacera);
					identity.className=namea;
					identity=document.getElementById(spacerb);
					identity.className=nameb;
				identity=document.getElementById(btext);
				identity.className='nav';
				}
			}
		}
		else
		{
			if (marray[1] == 1)
			{
				if (disp == "on")
				{
					var spacerb='spacer_' + marray[1];
					var nameb='YB' + marray[1];
					identity=document.getElementById(objectID);
					identity.className='Y';
					identity=document.getElementById(spacerb);
					identity.className=nameb;
					identity=document.getElementById(btext);
					identity.className='nav_highlight';
				}
				else if (disp == "off")
				{
					var spacerb='spacer_' + marray[1];
					var nameb='BB' + marray[1];
					var off='B' + marray[1];
					identity=document.getElementById(objectID);
					identity.className=off;
					identity=document.getElementById(spacerb);
					identity.className=nameb;
					identity=document.getElementById(btext);
					identity.className='nav';
				}
			}
			else
			{
				if (disp == "on")
				{
					var spacera='spacer_' + temp;
					var namea='BY'+ temp;
					var spacerb='spacer_' + marray[1];
					var nameb='YB' + marray[1];
					identity=document.getElementById(objectID);
					identity.className='Y';
					identity=document.getElementById(spacera);
					identity.className=namea;
					identity=document.getElementById(spacerb);
					identity.className=nameb;
					identity=document.getElementById(btext);
					identity.className='nav_highlight';
				}
				else if (disp == "off")
				{
					var spacera='spacer_' + temp;
					var namea='BB' + temp;
					var spacerb='spacer_' + marray[1];
					var nameb='BB' + marray[1];
					var off='B' + marray[1];
					identity=document.getElementById(objectID);
					identity.className=off;
					identity=document.getElementById(spacera);
					identity.className=namea;
					identity=document.getElementById(spacerb);
					identity.className=nameb;
					identity=document.getElementById(btext);
					identity.className='nav';
				}
			}
		}
	}
}

function navset(a)
{
	var spacera;
	var spacerb;
	var namea;
	var nameb;
	page='button_' + a;
	var btext = page + '_link';
	var subnav ='sub_' + a;
	
	if(a != 0)
	{
		if( a > 1)
		{
			var b;
			b = a - 1;
			spacera='spacer_' + a;
			namea='YB' + a;
			spacerb='spacer_' + b;
			nameb='BY' + b;
			identity=document.getElementById(page);
			identity.className='Y';
			identity=document.getElementById(spacera);
			identity.className=namea;
			identity=document.getElementById(spacerb);
			identity.className=nameb;
			identity=document.getElementById(btext);
			identity.className='nav_highlight';
		}
		else
		{
			spacera='spacer_' + a;
			namea='YB' + a;
			identity=document.getElementById(page);
			identity.className='Y';
			identity=document.getElementById(spacera);
			identity.className=namea;
			identity=document.getElementById(btext);
			identity.className='nav_highlight';
		}
		if (subnav != 'sub_1' && subnav != 'sub_4' && subnav != 'sub_5')
		{
			roll('none', subnav);
		}
	}
}

function roll(chosen, objectID) 
{
	if(chosen == "none")
	{
		//document.getElementById(objectID).style.display="block";
		if (document.getElementById(objectID)) document.getElementById(objectID).style.display="block";
	}
	else
	{
		document.getElementById(objectID).style.display="none";
	}
}

function toggle(obj) 
{
	var el = document.getElementById(obj);
	if ( el.style.display != 'none' ) 
	{
		el.style.display = 'none';
	}
	else 
	{
		el.style.display = 'block';
	}
}

*/

function openWin(url,w,h) { 
	window.open(url,"_blank","width="+w+",height="+h+",scrollbars=no,toolbar=no,statusbar=no");
	return false;
}