function swapImage(imageName, imageSrc) {
	if (document.images) {
		 if (imageSrc != "none") {
			document.images[imageName].src = imageSrc;
		 }
	}
}

function toggleMyExamList(id){
	var item = getItem(id);
	if (item.style.display == ''){
		item.style.display='none';
		getItem('pm_'+id).innerHTML = "+";
	} else {
		item.style.display='';
		getItem('pm_'+id).innerHTML = "-";
	}
}
function setupRotator()
{
	if($('.textItem').length > 1)
	{
		$('.textItem:first').addClass('current').fadeIn(1000);
		setInterval('textRotate()', 5700);
	}
}
function textRotate()
{
	var current = $('#quotes > .current');
	if(current.next().length == 0)
	{
		current.removeClass('current').fadeOut(1000);
		$('.textItem:first').addClass('current').fadeIn(1000);
	}
	else
	{
		current.removeClass('current').fadeOut(1000);
		current.next().addClass('current').fadeIn(1000);
	}
}
			
function popup(url,w,h,s,r){
	if(!w)w=700;if(!h)h=500;if(s==null)s="yes";if(r==null)r="yes";
	window.open(url,"Popup", "height="+h+",width="+w+",toolbar=no,location=no,status=no,menubar=no,scrollbars="+s+",resizable="+r);
}


function checkTestimonial(){
	var message = "";
	if (getItem('credential').value == "") message += "\nMissing: Credential";
	if (getItem('country').value == "") message += "\nMissing: Country";
	if (getItem('city').value == "") message += "\nMissing: City";
	if (getItem('level_of_training').value == "") message += "\nMissing: Level of Training";
	if (((getItem('level_of_training').value == "1") || (getItem('level_of_training').value == "2")) && (getItem('level_of_training_year').value == ""))  message += "\nMissing: Level of training years";
	if (getItem('specialty').value == "") message += "\nMissing: Your specialty";
	if ((getItem('specialty').value == "Other") && (getItem('specialty_other').value == ""))  message += "\nMissing: Specialty";
	if (getItem('qbank').value == "") message += "\nMissing: Which QBank did you use?";
	//if (getItem('months').value == "") message += "\nMissing: For how many months?";
	if (getItem('score_sheet').value == "") message += "\nMissing: Your Result and Score";
	if (getItem('name').value == "") message += "\nMissing: First name and last initial";
	if (getItem('testimonial').value == "") message += "\nMissing: Testimonial";
	
	if (message != "") {
		alert("Please fix the following: "+message);
		return false;
	} else {
		return true;
	}
}

function validateFriendForm(){
	var Name = getItem('FirstName');
	var FriendName = getItem('FriendName');
	var email = getItem('email_from');
	var email_friend = getItem('email_friend');
	var message = getItem('message');

	var message_missing = "";
	if (Name.value == "") message_missing += "\nName";
	if (FriendName.value == "") message_missing += "\nYour Friends Name";
	if (email.value == "") message_missing += "\nEmail";
	if (email_friend.value == "") message_missing += "\nFriends Email";
	if (message.value == "") message_missing += "\nYour Message";

	var message_email = "";
	if (!isValidEmail(email.value)) message_email = "\nYour Email address";
	if (!isValidEmail(email_friend.value)) message_email += "\nFriends Email address";


	var message = "";
	if (message_missing != "") message += "You are missing the following information:"+message_missing;
	if (message_email != "") message += "\n\nThe following field(s) are invalid:"+message_email;

	if (message != "") {
		alert(message);
		return false;
	} else {
		return true;
	}
}

function validateContactForm(){
	var Name = getItem('FirstName');
	var subject = getItem('subject');
	var email = getItem('email_from');
	var message = getItem('message');

	var message_missing = "";
	if (Name.value == "") message_missing += "\nName";
	if (subject.value == "") message_missing += "\nMessage Subject";
	if (email.value == "") message_missing += "\nEmail";
	if (message.value == "") message_missing += "\nYour Message";

	var message_email = "";
	if (!isValidEmail(email.value)) message_email = "\nEmail address";

	var message = "";
	if (message_missing != "") message += "You are missing the following information:"+message_missing;
	if (message_email != "") message += "\n\nThe following field(s) are invalid:"+message_email;

	if (message != "") {
		alert(message);
		return false;
	} else {
		return true;
	}
}


function validateRegistration(){
	var firstname = getItem('firstname');
	var lastname = getItem('lastname');
	var country = getItem('country');
	var email = getItem('email');
	var confirm_email = getItem('confirm_email');
	var password = getItem('password');
	var confirm_password = getItem('confirm_password');
	var referredby = getItem('referredby');

	var message_missing = "";
	if (firstname.value == "") message_missing += "\nFirst Name";
	if (lastname.value == "") message_missing += "\nLast Name";
	if (country.value == "") message_missing += "\nCountry";
	if (email.value == "") message_missing += "\nEmail";
	if (confirm_email.value == "") message_missing += "\nConfirm Email";
	if (password.value == "") message_missing += "\nPassword";
	if (confirm_password.value == "") message_missing += "\nConfirm Password";
	if (referredby.value == "") message_missing += "\nHow did your hear about us?";

	var message_mismatch = "";
	if (email.value != confirm_email.value) message_mismatch += "\nEmail & Confirm Email";
	if (password.value != confirm_password.value) message_mismatch += "\nPassword & Confirm Password";

	var message_email = "";
	if (!isValidEmail(email.value)) message_email = "\nEmail address";

	var message = "";
	if (message_missing != "") message += "You are missing the following information:"+message_missing;
	if (message_mismatch != "") message += "\n\nThe following field(s) don't match:"+message_mismatch;
	if (message_email != "") message += "\n\nThe following field(s) are invalid:"+message_email;

	if (message != "") {
		alert(message);
		return false;
	} else {
		return true;
	}
}

function validateUpdateProfileProfile(){
	
	var firstname = getItem('firstname');
	var lastname = getItem('lastname');
	
	var message_missing = "";
	if (firstname.value == "") message_missing += "\nFirst Name";
	if (lastname.value == "") message_missing += "\nLast Name";
	
	var message = "";
	if (message_missing != "") message += "You are missing the following information:"+message_missing;
	
	if (message != "") {
		alert(message);
		return false;
	} else {
		return true;
	}
}
function validateUpdateProfilePassword(){
	var password = getItem('password');
	var confirm_password = getItem('confirm_password');
	
	var message_missing = "";
	if (password.value == "") message_missing += "\nPassword";
	if (confirm_password.value == "") message_missing += "\nConfirm Password";

	var message_mismatch = "";
	if (password.value != confirm_password.value) message_mismatch += "\nPassword & Confirm Password";

	var message = "";
	if (message_missing != "") message += "You are missing the following information:"+message_missing;
	if (message_mismatch != "") message += "\n\nThe following field(s) don't match:"+message_mismatch;

	if (message != "") {
		alert(message);
		return false;
	} else {
		return true;
	}
}
function validateLogin(){
	var email = getItem('email');
	var password = getItem('password');

	var message_missing = "";
	if (email.value == "") message_missing += "\nEmail";
	if (password.value == "") message_missing += "\nPassword";

	var message = "";
	if (message_missing != "") message += "Please enter your:"+message_missing;

	if (message != "") {
		alert(message);
		return false;
	} else {
		return true;
	}
}

function purchaseExamID(exam_id){
	if (getItem('exam_duration_'+exam_id).value != ""){
		getItem('exam_id').value = exam_id;
		getItem('exam_name').value = getItem('exam_name_'+exam_id).value;
		getItem('duration').value = getItem('exam_duration_'+exam_id).value;
		document.main.submit();
	} else {
		alert('Please select a plan from the drop down.');
	}
}

function purchaseExam(exam_id, exam_name, duration){
	var eid = getItem('exam_id');
	var ename = getItem('exam_name');
	var dur = getItem('duration');
	eid.value = exam_id;
	ename.value = exam_name;
	dur.value=duration;
	document.main.submit();
}

function purchaseExam2(exam_id, exam_name, duration, amount){
	var eid = getItem('exam_id');
	var ename = getItem('exam_name');
	var dur = getItem('duration');
	var am = getItem('amount');
	eid.value = exam_id;
	ename.value = exam_name;
	dur.value=duration;
	am.value=amount;
	document.main.submit();
}

function validateGenerateExam(exam_size){
	getItem('generate').disabled=true;
	var category = getItem('number_of_category');
	var catSelected = false;
	for (var i=0; i<category.value; i++){
		var cat = getItem('category_'+i);
		if (cat.checked == true) catSelected = true;
	}
	if (!catSelected){
		alert("Please select a 'Category'");
		getItem('generate').disabled=false;
		return false;
	}

	var question = getItem('number_of_question');
	if (question.value == ""){
		alert("Please enter number of questions to take.");
		getItem('generate').disabled=false;
		return false;
	}

	if (question.value > exam_size){
		alert("You can only take upto "+exam_size+" questions per test.");
		getItem('generate').disabled=false;
		return false;
	}

	return true;
}

function validateGenerateExamCase(MaxCase){
	getItem('generate').disabled=true;
	var category = getItem('number_of_category');
	var catSelected = false;
	for (var i=0; i<category.value; i++){
		var cat = getItem('category_'+i);
		if (cat.checked == true) catSelected = true;
	}
	if (!catSelected){
		alert("Please select a 'Category'");
		getItem('generate').disabled=false;
		return false;
	}

	var question = getItem('number_of_question');
	if (question.value == ""){
		alert("Please enter number of questions to take.");
		getItem('generate').disabled=false;
		return false;
	}

	if (question.value > MaxCase){
		alert("You can only take upto "+MaxCase+" cases per test.");
		getItem('generate').disabled=false;
		return false;
	}

	return true;
}

function rateQuestion(case_id, question_id, old_rating, new_rating){
	//alert("que: "+case_id+"-"+question_id+"-"+old_rating+"-"+new_rating);
	if (old_rating != new_rating) {
		if (case_id != "") getItem('case_id').value=case_id;
		getItem('question_id').value=question_id;
		getItem('question_rating').value=old_rating;
		getItem('new_question_rating').value=new_rating;
		document.main.submit();
	}
}
function rateExplanation(case_id, question_id, old_rating, new_rating){
	//alert("exp: "+case_id+"-"+question_id+"-"+old_rating+"-"+new_rating);
	if (old_rating != new_rating) {
		if (case_id != "") getItem('case_id').value=case_id;
		if (question_id != "") getItem('question_id').value=question_id;
		getItem('explanation_rating').value=old_rating;
		getItem('new_explanation_rating').value=new_rating;
		document.main.submit();
	}
}

function setQID(num){
	var qid = getItem('qid');
	qid.value = num;
	document.main.submit();
}

function changeFontSize(val){
	getItem('change_font_size').value=val;
	document.main.submit();
}

function setCaseNum(c, q){
	getItem('casenum').value=c;
	document.main.submit();
}
function flipFlag(){
	var flag = getItem('flag');
	if (flag.value == 0) flag.value=1;
	else flag.value=0;
	document.main.submit();
}

function endExam(){
	/*
	var completed = getItem('completed');
	completed.value=1;
	document.main.submit();
	*/
	var answer = confirm("End Test?")
	if (answer){
		var completed = getItem('completed');
		completed.value=1;
		document.main.submit();
	}
}

function suspendExam(val){
	var suspend = getItem('suspend');
	suspend.value=val;
	document.main.submit();
}



function startTimer(sec, suspended){
	var minutesLeft=(sec - (sec%60))/60
	var secondsLeft=sec%60
 	if (minutesLeft < 10) minutesLeft = "0" + minutesLeft
 	if (secondsLeft < 10) secondsLeft = "0" + secondsLeft
	getItem('timer').innerHTML="( "+minutesLeft+":"+secondsLeft+" )"
	if (suspended == "0") display(0, sec)
}


function display(mil, sec){
	var milisec=mil
	var seconds=sec
	var minutesLeft=(seconds - (seconds%60))/60
	var secondsLeft=seconds%60

 if (milisec<=0){
    milisec=9
    seconds-=1
	minutesLeft=(seconds - (seconds%60))/60
 	secondsLeft=seconds%60
 	if (minutesLeft < 10) minutesLeft = "0" + minutesLeft
 	if (secondsLeft < 10) secondsLeft = "0" + secondsLeft
    getItem('timer').innerHTML="( "+minutesLeft+":"+secondsLeft+" )"
 }
 if (seconds<=0){
    milisec=0
    seconds+=1
    document.main.submit();
 }
 else
 {
    milisec-=1
    setTimeout("display("+milisec+","+seconds+")",100)
 }
}

function showAnswer(id){
    getItem(id).style.display='';
}

function checkReportError1(){
	var message = "";
	if (getItem('user_name').value == "") message += "\nName - required";
	if (getItem('user_email').value == "") message += "\nEmail - required";
	else if (!isValidEmail(getItem('user_email').value)) message = "\nEmail - invalid";
	if (getItem('subject').value == "") message += "\nSubject - required";
	if (getItem('details').value == "") message += "\nMessage - required";
	
	if (message != "") {
		alert("Please fix the following:"+message);
		return false;
	} else {
		document.error_reporting.submit();
	}
	
}


function checkReportError(){
	
	var missing = "";
	if (getItem('details').value == "") missing += "\nStep 2 - Additional Comments";
	
	var message = "";
	if (missing != "") message += "You are missing the following information:"+missing;
	
	if (message != "") {
		alert(message);
		return false;
	} else {
		document.error_reporting.submit();
	}
	
}


function toggleCrossOut(id){
	if (getItem(id+'_crossed').checked){
		getItem(id+'_answer').style.textDecoration='line-through';
	} else {
		getItem(id+'_answer').style.textDecoration='';
	}
	
}

function getItem(id){
    var itm = false;
    if(document.getElementById)itm = document.getElementById(id);
    else if(document.all)itm = document.all[id];
    else if(document.layers)itm = document.layers[id];
    return itm;
}


function isValidEmail(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)

		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }

		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true
	}



function obfuscate(divName)
{
	var a, b, c, i, inHead=false, inTitle=false, inAlt, inEsc=false;
	statSave = window.status;

	var myContent = getItem('content')

	a = myContent.innerHTML;
	b = '';


	for (i=0; i<a.length; i++) {
		c = a.charAt(i);
		if (c == '<') {
			if (a.indexOf('HEAD',i)==i+1    || a.indexOf('head',i)==i+1) inHead=true;
			if (a.indexOf('SCRIPT',i)==i+1  || a.indexOf('script',i)==i+1) {
				b += c;
				do {
					c = a.charAt(++i);
					b += c;
				} while (i<a.length && b.lastIndexOf('\<\/SCRIPT') != b.length-8 && b.lastIndexOf('\<\/script') != b.length-8);
				c = a.charAt(++i);
			}
			if (a.indexOf('STYLE',i)==i+1   || a.indexOf('style',i)==i+1) {
				b += c;
				do {
					c = a.charAt(++i);
					b += c;
				} while (i<a.length && b.lastIndexOf('\<\/STYLE') != b.length-7 && b.lastIndexOf('\<\/style') != b.length-7);
				c = a.charAt(++i);
			}
			if ((a.indexOf('IMG',i)==i+1)    || (a.indexOf('img',i)==i+1)) {
				/*b += c;
				inAlt=false;
				do {
					c = a.charAt(++i);
					b += c;
					if ( (b.lastIndexOf('alt=') == b.length-5) || (b.lastIndexOf('ALT=') == b.length-5) ) inAlt=true;
				} while ( !inAlt && c != '>' );*/
			}

			if (a.indexOf('TITLE',i)==i+1   || a.indexOf('title',i)==i+1) { inTitle=true; inHead=true; }

			if (a.indexOf('/HEAD',i)==i+1   || a.indexOf('/head',i)==i+1) inHead=false;
			if (a.indexOf('BODY',i)==i+1    || a.indexOf('body',i)==i+1) inHead=false;
			if (a.indexOf('/TITLE',i)==i+1  || a.indexOf('/title',i)==i+1) { inTitle=false; inHead=true; }
			b += c;
			while (!inAlt && i<a.length && c != '>') {
				c = a.charAt(++i);
				b += c;
				if (a.charAt(i-1) == '\\') c = '';
			}
		}
		else if ( (c == '&') && ((a.indexOf(' ',i) == -1) || (a.indexOf(';',i) < a.indexOf(' ',i))) ) {
			b += c;
			do {
				c = a.charAt(++i);
				b += c;
			} while ((c != ';') && (i < a.length))
		}
		else if ( (!inHead || (inHead && inTitle)) || inAlt ) {
			if (Math.random() > 0.5 || a.charCodeAt(i) < 35) {
				b += a.charAt(i);
			}
			else {
				b += '&#'+a.charCodeAt(i)+';';
			}
			if (inAlt && a.charAt(i)=='"') {
				inAlt=false;
				while (i<a.length && c != '>') {
					c = a.charAt(++i);
					b += c;
				}
			}
		}
		else b += a.charAt(i);

	}
	myContent.innerHTML = b;

}

//function chagneExamSize(id, size){
//	var itm = getItem(id);
//	if (itm.checked){
//		var num = parseInt(getItem('examQuestions').innerHTML);
//		myInt = 0 + parseInt(num) + parseInt(size);
//		getItem('examQuestions').innerHTML = myInt;
//	} else {
//		var num = parseInt(getItem('examQuestions').innerHTML);
//		myInt = 0 + parseInt(num) - parseInt(size);
//		getItem('examQuestions').innerHTML = myInt;
//	}
//
//}

function chagneExamSize(size){
	var style = "";
	len = document.main.test_sytle.length;
	for (i = 0; i <len; i++) {
		if (document.main.test_sytle[i].checked) {
			style = document.main.test_sytle[i].value
		}
	}
	
	var mode = "all";
	len = document.main.reuse_mode.length;
	for (i = 0; i <len; i++) {
		if (document.main.reuse_mode[i].checked) {
			mode = document.main.reuse_mode[i].value
		}
	}

	var count = 0;
	if (mode == "unused"){
		for (var i=0; i<size; i++){
			var cat = getItem('category_'+i);
			if (cat.checked){
				var itm = getItem(style+'_not_taken_category_'+i);
				count += parseInt(itm.value);
			}
		}
	} else if (mode == "incorrect"){
		for (var i=0; i<size; i++){
			var cat = getItem('category_'+i);
			if (cat.checked){
				var itm = getItem(style+'_incorrect_category_'+i);
				count += parseInt(itm.value);
			}
		}
	} else if (mode == "incomplete"){
		for (var i=0; i<size; i++){
			var cat = getItem('category_'+i);
			if (cat.checked){
				var itm = getItem(style+'_incomplete_category_'+i);
				count += parseInt(itm.value);
			}
		}
	} else if (mode == "unusedandincorrectandincomplete"){
		for (var i=0; i<size; i++){
			var cat = getItem('category_'+i);
			if (cat.checked){
				var itm1 = getItem(style+'_not_taken_category_'+i);
				var itm2 = getItem(style+'_incorrect_category_'+i);
				var itm3 = getItem(style+'_incomplete_category_'+i);
				count += parseInt(itm1.value) + parseInt(itm2.value) + parseInt(itm3.value);
			}
		}
	} else if (mode == "all"){
		for (var i=0; i<size; i++){
			var cat = getItem('category_'+i);
			if (cat.checked){
				var itm = getItem(style+'_all_category_'+i);
				count += parseInt(itm.value);
			}
		}
	}

	getItem('examQuestions').innerHTML = count;
}

