function launchCourseStart(name,id,url) {
	var width=window.screen.availWidth;
	var height=window.screen.availHeight;

	var args ="scrollbars=1,resizable=1,top=10,left=10,width=" + (width-200)+",height=" + (height-60);
	//alert(args);
	var coursewindow= window.open("courseconnect.asp", "aps_courseserver_activecourse",args);
	
	document.location= "CourseMonitor.asp?name="+name+"&cid=" + id +"&url=../courses/" +url
}

if (typeof(SymRealWinOpen) !="undefined" )
	gnOpenWindow = SymRealWinOpen
else
	gnOpenWindow = window.open


function launchCourseFinish(courseURL) {


	orig_width=document.width
	orig_height=document.height;
	
	
	var coursewindow= gnOpenWindow( courseURL,"aps_courseserver_activecourse","scrollbars=1,resizable=1");
	
	//alert (window.open)
	
	window["courseserver_opencourse"] =coursewindow
	if (coursewindow) {
		//alert ("Changing location from:" + coursewindow.document.location + " to: " + courseURL);
		coursewindow.document.location = courseURL;
		
	}
	else
		alert("Error finding course window!");
	
	
	window.resizeTo(800,600);
	
	if (coursewindow)
		coursewindow.focus();

}


function returnToCourseListing() {
	var coursewindow = window["courseserver_opencourse"];
	
	if (coursewindow) {
		try {
			coursewindow.close()
		}
		catch(e) {
			//do nothing
		}
	}
	if (orig_width && orig_height)
		window.resizeTo(orig_width,orig_height);
	else {
		window.resizeTo(1024, 768)
	}
		
	document.location = "CourseClose.asp?sessionid=" + window.LMS_COURSE_SESSION

}	


function showCourseInfo(courseid) {
	window.open('CourseInfo.asp?courseid='+courseid,'','width=500,height=400,scrollbars=1');
}


function showCourseCertificate(courseid) {
	window.open('CourseCertificate.asp?courseid='+courseid,'','width=800,height=600,scrollbars=1');
}

function showCourseCertificateEmailForm (courseid) {
	window.open('CourseCertificate_Email.asp?courseid='+courseid,'','width=800,height=600,scrollbars=1');	
}


function populateForm(formname,dataObject) {
	var form =document.forms[formname];

	for (var i=0;i<form.elements.length;i++) {
		element =form.elements[i]
		
		name = form.elements[i].name
		value = dataObject[name]
		if (value) {
			//Text
			form.elements[i].value = value
			
			//select-one
			if (form.elements[i].type=="select-one") {
				for (var j=0; j<element.options.length;j++) {
					if (element.options[j].value ==value) {
						element.selectedIndex =j
					}
				}

			}
			
			// need for others (checkbox etc)
		}
					

			
	
	
	}
}

function checkForMatchedInput(item1,item2, errorMsg) {
	var label = document.getElementById(item2 +"Label")

	if (!label)
		alert ("Can't find label:" +item2)


	if (document.forms["registration"].elements[item1].value != document.forms["registration"].elements[item2].value) {
		errors+=errorMsg +".<br/>";
		markError(document.getElementById(item2 +"Label"));
	}
	else {
		markNormal(document.getElementById(item2 +"Label"));

	}

}


// Client Side Validation


var errors ="";

function markError(label) {
	if (label.className && (label.className.indexOf("error")<0)) {
		label.origClass = label.className;
		label.className = label.origClass +" error"
	}
	else {
	if(!label.className)
		label.className = "error"

	}


}

function markNormal(label) {
	if (label.origClass) {
		label.className = label.origClass
	}
	else if (label.className=="error") {
		label.className = "";
	}

}

function selectInputValue(formname, itemName) {
	var label = document.getElementById(itemName +"Label")
	var formElement = document.forms[formname].elements[itemName];

	if (!label)
		alert ("Can't find label:" +itemName)


	return(formElement.options[formElement.selectedIndex].value)
}


function checkForSomeInput(formname, itemName, errorMsg) {
	var label = document.getElementById(itemName +"Label")

	if (!label)
		alert ("Can't find label:" +itemName)

		if (document.forms[formname].elements[itemName].value == "") {
			errors+=errorMsg +".<br/>";
			markError(document.getElementById(itemName +"Label"));
		}
		else {
			markNormal(document.getElementById(itemName +"Label"));

		}
}




function checkForCheckboxInput(formname, itemName, errorMsg) {
	var label = document.getElementById(itemName +"Label")



	if (!label)
		alert ("Can't find label:" +itemName)

		if (!document.forms[formname].elements[itemName].checked) {
 
			errors+=errorMsg +".<br/>";
			markError(document.getElementById(itemName +"Label"));
		}
		else {
			markNormal(document.getElementById(itemName +"Label"));
			return (true);

		}
}



function checkForSpecialInput(formname, itemName,pattern, errorMsg) {
	var label = document.getElementById(itemName +"Label")

	var re = new RegExp(pattern,"i" )
	if (!label)
		alert ("Can't find label:" +itemName)

		if (!re.test(document.forms[formname].elements[itemName].value)) {
			errors+=errorMsg +".<br/>";
			markError(document.getElementById(itemName +"Label"));
		}
		else {
			markNormal(document.getElementById(itemName +"Label"));

		}
}

// This does not work
function checkForSelectInput(formname, itemName, errorMsg) {
	var label = document.getElementById(itemName +"Label")
	var formElement = document.forms[formname].elements[itemName];

	//alert (formElement.options[1][1]);
	if (!label)
		alert ("Can't find label:" +itemName)

		if (formElement.options[formElement.selectedIndex] == "") {
			errors+=errorMsg +".<br/>";
			markError(document.getElementById(itemName +"Label"));
		}
		else {
			markNormal(document.getElementById(itemName +"Label"));

		}
}

function checkForMatchedInput(formname,  item1,item2, errorMsg) {
	var label = document.getElementById(item2 +"Label")

	if (!label)
		alert ("Can't find label:" +item2)


		if (document.forms[formname].elements[item1].value != document.forms[formname].elements[item2].value) {
			errors+=errorMsg +".<br/>";
			markError(document.getElementById(item2 +"Label"));
		}
		else {
			markNormal(document.getElementById(item2 +"Label"));

		}
}
