var info_script = "/cgi-bin/info.pl";

jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
}

// don't remove preceeding ; (this is to fix a compression issue with jQuery)
;$.preloadImages("../images/loadingAnimation.gif");


function isdefined(variable)
{
//	return (typeof(eval(object)[variable]) != "undefined");
	return (typeof(window[variable]) != "undefined");
}


/* 
	Use this function instead of $.load
	This turns off caching of pages and politely waits until the page is loaded
*/
function load_into_div(div, url) {
	var content = load_val(url);
//	content = content.replace("<", "&lt;");
//	alert(content);
        $(div).html(content); // + "<br />" + url);
}

function load_val(url) { 
        var content = $.ajax({
                url: url, 
                cache: false,
                async: false
        }).responseText;
	return content;
}

function isInt(x) { 
   var y=parseInt(x); 
   if (isNaN(y)) return false; 
   return x==y && x.toString()==y.toString(); 
} 


function close_window() {
	$("#quizwindow").fadeOut(250);
	return false;
}

function start_quiz(id) {
	return require_auth_url(info_script+"?action=test&id="+encodeURIComponent(id), true);
//	window.open(info_script+"?action=test&id="+encodeURIComponent(id), "quizwindow");
/*
	load_into_div("#quizwindow-content", info_script+"?action=test&id="+encodeURIComponent(id));
	disableSelection(document.getElementById("quizwindow"))
	$("#quizwindow").fadeIn(500);
*/
	return false;
}

function start_survey(id) {
	return require_auth_url(info_script+"?action=course_survey&id="+encodeURIComponent(id), true);
//	window.open(info_script+"?action=course_survey&id="+encodeURIComponent(id), "surveywindow");
/*
	load_into_div("#quizwindow-content", info_script+"?action=course_survey&id="+encodeURIComponent(id));
	disableSelection(document.getElementById("quizwindow"))
	$("#quizwindow").fadeIn(500);
*/
	return false;
}



function submit_form() { 
	var form = document.quizform;
	form.submit();
/*
	alert(form);
	var els = form.elements;
	var url = info_script+"?"; //ction="+encodeURIComponent(action);
	for(var i=0; i<els.length; i++)
	{
		if (els[i].type == "checkbox" || els[i].type == "radio") {
			if (els[i].checked) { 
				url += "&"+encodeURIComponent(els[i].name)+"="+encodeURIComponent(els[i].value);
			}
		} else { 
			url += "&"+encodeURIComponent(els[i].name)+"="+encodeURIComponent(els[i].value);
		}
	}
	load_into_div("#quizwindow-content", url);
	document.getElementById("quizwindow-content").scrollTop = 0;
	window.open(url, "quizwindow");
*/
	return false;
}

function is_logged_in() {
	var url = info_script+"?action=is_logged_in";
	return load_val(url) == "1";	
}
function is_admin() {
	var url = info_script+"?action=is_admin";
	return load_val(url) == "1";	
}

function require_auth_url(url, newwindow) {
	if (is_logged_in() || is_admin()) {
		if (newwindow) { 
			var window_name = "w"+Math.floor(Math.random()*10000000);
			window.open(url, window_name, "height=800,width=700,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no,resizable=yes");
		} else { 
			window.location = url;
		}
	} else {
		alert('Please login using the module to the top left of the page,\nor click the "Create Account" link if you don\'t have an account yet.');
	}
	return false;
}


function load_page_elements() {
	if ($("#login_form").length > 0) { 
		load_into_div("#login_form", "/login_form.php");
	}
}



function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}






$(document).ready( function() {  
    // Capture right click  
    $("#quizwindow").rightClick( function(e) {  
        // Do something  
    });  
   
    // Capture right mouse down  
    $("#quizwindow").rightMouseDown( function(e) {  
        // Do something  
    });  

    // Capture right mouseup  
    $("#quizwindow").rightMouseUp( function(e) {  
        // Do something  
    });  

    // Disable context menu on an element  
    $("#quizwindow").noContext();  
}); 


$.ctrl = function(key, callback, args) {
    var isCtrl = false;
    $(document).keydown(function(e) {
        if(!args) args=[]; // IE barks when args is null

        if(e.ctrlKey) isCtrl = true;
	var kc = parseInt(key);
        if((!isNaN(kc) && kc > 0 && e.keyCode == key || isNaN(kc) && e.keyCode == key.charCodeAt(0)) && isCtrl) {
            callback.apply(this, args);
            return false;
        }
    }).keyup(function(e) {
        if(e.ctrlKey) isCtrl = false;
    });
};


$.ctrl('A', function() { return false; });
$.ctrl('C', function() { return false; });
$.ctrl(45, function() { return false; });



