/**
 * © All rights reserved
 * 
 * Graduate Test Prep
 * 
 */
function ChangeContent(id,content){
	document.getElementById(id).innerHTML = content;
}
function OpenGRE(url, name){
	if(gre_window != null && gre_window.closed == false)
		gre_window.close();
	var w = 800;//screen.availWidth-10;
	var h = 600;//screen.availHeight;
	var width = w;
	var height = h;

 	var str = "height=" + height + ",width=" + width;
	if(window.screen){
    	var ah = screen.height - 30;
    	var aw = screen.width - 10;

    	var xc = (aw - width) / 2;
    	var yc = (ah - height) / 2;

    	str += ",left=" + xc + ",top=" + yc;
  	}
  	gre_window = window.open(url, name, str + ",scrollbars=no,resizable=no");
  	return true;
}
function Open(url, name){
	var w = 980;//screen.availWidth-10;
	var h = 700;//screen.availHeight;
	var width = w;
	var height = h;

 	var str = "height=" + height + ",width=" + width;
	if(window.screen){
    	var ah = screen.height - 30;
    	var aw = screen.width - 10;

    	var xc = (aw - width) / 2;
    	var yc = (ah - height) / 2;

    	str += ",left=" + xc + ",top=" + yc;
  	}
  	window.open(url, name, str + ",scrollbars=yes,resizable=yes");
  	return true;
}
function RestartService(data,type,service_id){
	r = confirm(data);
	if(r)
		OpenGRE("/feature_restart/"+type+"/"+service_id, "FeatureRestart");
}
function HideSelectFix(){
	document.getElementById("birthyear").style.visibility = "hidden";
	document.getElementById("country").style.visibility = "hidden";
	document.getElementById("state").style.visibility = "hidden";
}
function ShowSelectFix(){
	document.getElementById("birthyear").style.visibility = "visible";
	document.getElementById("country").style.visibility = "visible";
	document.getElementById("state").style.visibility = "visible";
}
function DisplayHelp(url){
	if(window.opener != null)
		window.opener.location.href = url;
	else
		window.open(url,"GRE","width=800,height=600,top=0,left=0,scrollbars=yes,resizable=yes");
}
function DisplayConfirm(data,url){
	r = confirm(data);
	if(r){
		SetCanExit();
		if(url.length)
			location.href = url;
		else
			this.close();
	}
}
function InThisArray(value,arr){
	for(var i=0; i<arr.length; i++){
		if(value == arr[i])
			return true;
		if(arr[i]==null)
			return false;
	}
	return false;
}
function InitCardsID(){
	var random = 0;
	var i;
	MyCardsID = new Array(MyCardsSize);
	for(i=0; i<MyCardsSize; i++){
		do{
			random = Math.floor(Math.random()*MyCardsSize);
		}while(InThisArray(random,MyCardsID));
		MyCardsID[i] = random;
	}
}
function CardsGetCurrentWord(){
	var last_id = CardsGetID();
	return MyCardsArr[MyCardsID[last_id]][0];
}
function CardsGetID(){
	for(var i=0; i<MyCardsID.length; i++){
		if(MyCardsID[i] != null)
			return i;
	}
	InitCardsID();
	return 0;
}
function CardsGetCurrentWordDefinition(){
	var last_id = CardsGetID();
	var temp = new Array(MyCardsArr[MyCardsID[last_id]][0],MyCardsArr[MyCardsID[last_id]][1],MyCardsArr[MyCardsID[last_id]][2]);
	MyCardsID[last_id] = null;
	return temp;
}
function CardsDisplay(){
	if(bCardsNext)
		SetCardsWord(CardsGetCurrentWord());
	else
		SetCardsDefinition(CardsGetCurrentWordDefinition());
	document.getElementById("div_cards_loading").style.display = "none";
	
	if(bCardsNext)
		document.getElementById("img_cards_button").src = "/media/i/bg/cards/flashcards_button_define.jpg";
	else
		document.getElementById("img_cards_button").src = "/media/i/bg/cards/flashcards_button_next.jpg";
}
function CardsAnimate(){
	document.getElementById("div_cards_loading_txt").innerHTML += MyCardsTxt.charAt(MyCardsFrame);
	MyCardsFrame++;
	if(MyCardsFrame < MyCardsTxt.length)
		setTimeout("CardsAnimate()",25);
	else
		setTimeout("CardsDisplay()",500);
}
function CardsNext(){
	document.getElementById("div_cards_loading_txt").innerHTML = CardsGetCurrentWord();
	document.getElementById("div_cards_loading").style.display = "block";
	MyCardsFrame = 0;
	bCardsNext = !bCardsNext;
	if(!bCardsNext){
		setTimeout("CardsAnimate()",25);
	}else
		CardsDisplay();
}
function SetCardsWord(word){
	document.getElementById("div_cards_content").innerHTML = "<div style=\"font-size:36px;color:#ffffff;text-align:center;padding:110px 0px 0px 0px;\">"+word.toUpperCase()+"</div>";
}
function SetCardsDefinition(arr){
	document.getElementById("div_cards_content").innerHTML = "<div style=\"font-size:26px;color:#ffffff;;padding:115px 0px 0px 20px;\">"+arr[0]+ " "+arr[1]+"</div><div style=\"font-size:22px;color:#ff6d6d;margin:0px 0px 0px 25px\">» "+arr[2]+"</div>";
}
function DisplayCloseConfirm(data,url){
	r = confirm(data);
	if(r){
		this.close();
		if(window.opener != null)
			window.opener.location.href = url;
		else
			window.open(url,"GRE","width=800,height=600,top=0,left=0,scrollbars=yes,resizable=yes");
	}
}
function UnselectAnswers(type,id){
	if(TestSection == "Verbal"){
		if(QuestionType == 1){
			for(var i=0; i<arr_answers[type].length; i++){
				document.getElementById("a_answer_"+type+"_"+i).className = "answer_normal";
				document.getElementById("d_answer_"+type+"_"+i).src = test_img_x;
			}
		}else{
			for(var i=0; i<arr_answers.length; i++){
				document.getElementById("a_answer_"+type+"_"+i).className = "answer_normal";
				document.getElementById("d_answer_"+type+"_"+i).src = test_img_x;
			}
		}
	}else{
		if(QuestionType == 2||QuestionType == 3||QuestionType == 4){
			for(var i=0; i<arr_answers.length; i++){
				document.getElementById("a_answer_"+type+"_"+i).className = "answer_normal";
				document.getElementById("d_answer_"+type+"_"+i).src = test_img_x;
			}
		}
	}
}
function ClickAnswer(type,id){
	if(bSubmit == false){
		DisableConfirmButton(true);
		DisableNextButton(false);
		UnselectAnswers(type,id);
		
		click_answer[type] = id;
		document.getElementById("answer_"+type).value = id;
		document.getElementById("a_answer_"+type+"_"+id).className = "answer_select";	
		document.getElementById("d_answer_"+type+"_"+id).src = test_img_x_selected;
	}
}
function DisableConfirmButton(status){
	if(status){
		if(document.getElementById("button_confirm")){
			document.getElementById("button_confirm").disabled = true;
			document.getElementById("button_confirm").className = "disabled";
		}
	}else{
		document.getElementById("button_confirm").disabled = false;
		document.getElementById("button_confirm").className = "button2";
	}
}
function DisableNextButton(status){
	if(status){
		document.getElementById("button_next").disabled = true;
		document.getElementById("button_next").className = "disabled";
	}else{
		document.getElementById("button_next").disabled = false;
		document.getElementById("button_next").className = "button2";
	}
}
function ClickConfirm(){
	if(bSubmit == false){		
		bSubmit = true;		
		document.form_gre_test.submit();
		DisableConfirmButton(true);
	}
}
function UpdateGoodAnswer(type,id){
	document.getElementById("a_answer_"+type+"_"+id).className = "answer_good";	
	document.getElementById("img_d_answer_"+type+"_"+id).style.display = "block";	
	
//	document.getElementById("d_answer_"+type+"_"+id).src = test_img_x_good;
}
function UpdateMathInputGoodAnswer(i,value){
	document.getElementById("m_answer_"+i).onclick = function(){this.blur();};
	document.getElementById("m_answer_"+i).onselect = function(){this.blur();};
	document.getElementById("m_answer_"+i).onkeydown = function(){return false;};

	if(document.getElementById("m_answer_"+i).value != value)
		document.getElementById("d_m_answer_"+i).innerHTML = "Incorrect answer. The right answer is '"+value+"'.";
}
function DisplayGoodAnswer(){
	setTimeout("SubmitForm()",1000);
}
function SubmitForm(){
	document.form_gre_test.submit();
}
function isArray(obj){
	if(obj.constructor.toString().indexOf("Array") == -1)
		return false;
	else
		return true;
}
function ApplyAnswer(){
	if(bSubmit == false){
		if(math_type_input){
			if(isArray(exercise_answer)){
				for(var i=0; i<exercise_answer.length; i++)
					UpdateMathInputGoodAnswer(i,exercise_answer[i]);
			}else{
				UpdateMathInputGoodAnswer(0,exercise_answer);
			}
		}else{
			if(isArray(exercise_answer)){
				for(var i=0; i<exercise_answer.length; i++){
					if(click_answer[i] != exercise_answer[i])
						UpdateGoodAnswer(i,exercise_answer[i]);
				}
			}else{
				if(click_answer[0] != exercise_answer)
					UpdateGoodAnswer(0,exercise_answer);
			}
		}
		if(bDisplayViewAnswers){
			document.getElementById("button_view_answers").disabled = false;
			document.getElementById("button_view_answers").className = "button2";
		}
		bSubmit = true;
	}else{
		document.getElementById("button_next").disabled = true;
		document.getElementById("button_next").className = "disabled";
		SetCanExit();
		SubmitForm();
	}
}
function GoNext(bExercise){
	var bError = false;
	if(TestSection == "Verbal"){
		if(QuestionType == 1){
			for(var i=0; i<arr_answers.length; i++){
				if(document.getElementById("answer_"+i).value == ""){
					bError = true;
					break;
				}
			}
		}else{
			if(document.getElementById("answer_0").value == ""){
				bError = true;
			}
		}
	//Math
	}else{
		if(QuestionType == 1){
			if(QuestionInput == "percent" && document.getElementById("m_answer_0").value == "")
				bError = true;
			else if(QuestionInput == "fraction" && (document.getElementById("m_answer_0").value == ""||document.getElementById("m_answer_1").value == ""))
				bError = true;
		}else if(QuestionType == 2||QuestionType == 3||QuestionType == 4){
			if(document.getElementById("answer_0").value == ""){
				bError = true;
			}
		}
	}
	if(bError){
		alert("Please select or enter a valid answer then press the Confirm Answer button to proceed to the next question.");
	}else{
		if(bExercise)
			ApplyAnswer();
		if(document.getElementById("button_confirm") != null && document.getElementById("button_confirm").disabled == true){
			DisableConfirmButton(false);
			DisableNextButton(true);
		}
	}
}
function ShowEventBox(){
	if(document.getElementById('event_box_img') != null){
		document.getElementById('event_box_img').style.width = document.documentElement.scrollWidth+'px';
		document.getElementById('event_box_img').style.height = document.documentElement.scrollHeight+'px';
		window.onresize = function(){
			document.getElementById('event_box_img').style.width = document.documentElement.scrollWidth+'px';
			document.getElementById('event_box_img').style.height = document.documentElement.scrollHeight+'px';
		}
	}
	document.getElementById("event_box").style.visibility = "visible";
}
function ShowInfoBox(x,y,title,content){
	document.getElementById("info_box_title").innerHTML = title;
	document.getElementById("info_box_content").innerHTML = content;
	
	if(document.getElementById('event_box_img2') != null){
		document.getElementById('event_box_img2').style.width = document.documentElement.scrollWidth+'px';
		document.getElementById('event_box_img2').style.height = document.documentElement.scrollHeight+'px';
		window.onresize = function(){
			document.getElementById('event_box_img2').style.width = document.documentElement.scrollWidth+'px';
			document.getElementById('event_box_img2').style.height = document.documentElement.scrollHeight+'px';
		}
	}
	document.getElementById("event_box2").style.visibility = "visible";
	
/*	document.getElementById("info_box").style.left = x + "px";
	document.getElementById("info_box").style.top = y + "px";*/
}
function HideEventBox2(){
	document.getElementById("event_box2").style.visibility = "hidden";
	if(document.getElementById('event_box_img2') != null){
		document.getElementById('event_box_img2').style.width = '0px';
		document.getElementById('event_box_img2').style.height = '0px';
	}
	window.onresize = null;
}
function HideInfoBox(){
	document.getElementById("info_box").style.visibility = "hidden";	
}
function HideEventBox(){
	document.getElementById("event_box").style.visibility = "hidden";
	if(document.getElementById("login_username") != null && document.getElementById("login_password") != null){
		document.getElementById("login_username").value = "";
		document.getElementById("login_password").value = "";
	}
	if(document.getElementById('event_box_img') != null){
		document.getElementById('event_box_img').style.width = '0px';
		document.getElementById('event_box_img').style.height = '0px';
	}
	window.onresize = null;
}
function UnselectPackage(obj,id,cls){
	if(packageid != id){
//		obj.className = cls;
		document.getElementById(obj).className = cls;
		document.getElementById("packageover"+id).className = "package_over_select_normal";
	
		document.getElementById("package_info").innerHTML = "&nbsp;";
		document.getElementById("package_info2").innerHTML = "&nbsp;";
		UnselectAllItems();
		SelectRelatedItems(packageid);
		if(bEssayEvaluatorSelected)
			document.images["img_gre_essay"].src="/media/i/bg/store/gre_essay_select.jpg";
		if(bAcademicConsultingSelected)
			document.images['img_consulting'].src='/media/i/bg/store/academic_consulting_select.jpg';
	}
	if(packageid != 0){
		document.getElementById("package_info").innerHTML = tempinfo;
		document.getElementById("package_info2").innerHTML = tempinfo;
	}
}
function ClearStoreForm(){
	UnselectAll();
	UnselectAllItems();
	itemid = new Array();	
	UpdateCheckoutIfItems();
}
function SelectPackage(obj,id,info,cls){
	document.getElementById(obj).className = cls;
	document.getElementById("packageover"+id).className = "package_over_select_"+(id!=4?"red":"green");
	document.getElementById("package_info").innerHTML = info;
	document.getElementById("package_info2").innerHTML = info;
	SelectRelatedItems(id);
	if(id==4)
		document.images["img_gre_essay"].src="/media/i/bg/store/gre_essay_select.jpg";
}
function ClickPackage(obj,info,id,cls){
	if(packageid == id){
		packageid = null;
		UnselectAll();
		UnselectAllItems();
	}else{
		tempinfo = info;
		UnselectAll();
		SelectPackage(obj,id,info,cls);
		packageid = id;
		UnselectAllItems();
		SelectRelatedItems(id);
		if(id==4){
			bEssayEvaluatorSelected = true;
			document.images["img_gre_essay"].src="/media/i/bg/store/gre_essay_select.jpg";
		}
	}
	if(bEssayEvaluatorSelected)
		document.images["img_gre_essay"].src="/media/i/bg/store/gre_essay_select.jpg";
	if(bAcademicConsultingSelected)
		document.images['img_consulting'].src='/media/i/bg/store/academic_consulting_select.jpg';
	UpdateCheckoutIfItems();
}
function UnselectAll(){
	packageid = 0;
	bEssayEvaluatorSelected = false;
	bAcademicConsultingSelected = false;
	itemessay = false;
	itemconsulting = false;
	if(document.getElementById("package1")){
		document.getElementById("package1").className = "packagev1";
		document.getElementById("package2").className = "packagev1";
		document.getElementById("package3").className = "packagev1";
		document.getElementById("package4").className = "packagev1";
		document.getElementById("packageover1").className = "package_over_select_normal";
		document.getElementById("packageover2").className = "package_over_select_normal";
		document.getElementById("packageover3").className = "package_over_select_normal";
		document.getElementById("packageover4").className = "package_over_select_normal";
	}
}
function SelectRelatedItems(id){
	var i=0,j=0;
	var max = 1;
	var tempid = null;
	if(id < 1)
		return false;
	for(i=0;i<gre_items.length;i++){
		max = packages[id][i];
		for(j=1;j<=gre_items[i][1],j<=max;j++){
			tempid = gre_items[i][0]+"_"+j;
			if(document.getElementById(tempid)){
				document.getElementById(tempid).className = "item_select";
				AddSelectedItem(tempid);
			}
		}
		if(id==4)
			AddSelectedItem("essay_1");
	}
}
function FeaturesClearAll(){
	for(var j=0; j<MyFeaturesType.length; j++){
		for(var i=0; i<MyFeatures[MyFeaturesType[j]]; i++){
			if(document.getElementById("features_"+MyFeaturesType[j]+i) != null)
				document.getElementById("features_"+MyFeaturesType[j]+i).style.display = "none";
			else
				alert("Error: DIV features_"+MyFeaturesType[j]+i+" not found.");
		}

		MyFeaturesClick[MyFeaturesType[j]] = false;
		document.getElementById("features_menu_"+MyFeaturesType[j]).className = "features_normal";
	}
	bDisplayAll = false;
}
function FeaturesDisplayAll(){
	if(!bDisplayAll){
		for(var j=0; j<MyFeaturesType.length; j++){
			for(var i=0; i<MyFeatures[MyFeaturesType[j]]; i++){
				document.getElementById("features_"+MyFeaturesType[j]+i).style.display = "block";
			}
			MyFeaturesClick[MyFeaturesType[j]] = true;
			document.getElementById("features_menu_"+MyFeaturesType[j]).className = "features_hover";
		}
		bDisplayAll = true;
	}
}
function FeaturesSelect(type,id){
	FeaturesClearAll();
	MyFeaturesClick[type] = true;
	document.getElementById("features_menu_"+type).className = "features_hover";
	var temp = null;
	for(var i=0; i<MyFeatures[type]; i++){
		document.getElementById("features_"+type+i).style.display = "block";
	}
}
function FeaturesOver(type,id){
	document.getElementById(id).className = 'features_hover';
}
function FeaturesOut(type,id){
	if(MyFeaturesClick[type] == false)
		document.getElementById(id).className = 'features_normal';
}
function SelectItem(obj){
	obj.className = "item_select";
}
function UnselectAllItems(){
	var i=0,j=0;
	var id= null;
	itemid = new Array();
	for(i=0;i<gre_items.length;i++){
		for(j=1;j<=gre_items[i][1];j++){
			id = gre_items[i][0]+"_"+j;
			if(document.getElementById(id))
				document.getElementById(id).className = "item";
		}
	}
	document.images["img_gre_essay"].src="/media/i/bg/store/gre_essay.jpg";
	document.images['img_consulting'].src='/media/i/bg/store/academic_consulting.jpg';
}
function UnselectItem(obj,id){
	for(var i=0;i<itemid.length;i++){
		if(itemid[i] == id)
			return false;
	}
	obj.className = "item";
	return true;
}
function AddSelectedItem(id){
	for(i=0;i<itemid.length;i++){
		if(itemid[i] == id)
			return false;
	}
	itemid[itemid.length] = id;
}
function ClickItem(obj,id){
	SelectItem(obj);
	AddSelectedItem(id);
	UpdateCheckoutIfItems();
}
function UpdateCheckoutIfItems(){
	UpdateCheckoutStatus(HasItems());
}
function UpdateCheckoutStatus(activate){
	if(activate){
		document.getElementById("button_checkout").disabled = false;
		document.getElementById("button_checkout").className = "button";
		document.getElementById("button_checkout2").disabled = false;
		document.getElementById("button_checkout2").className = "button";
	}else{
		document.getElementById("button_checkout").disabled = true;
		document.getElementById("button_checkout").className = "button_disabled";
		document.getElementById("button_checkout2").disabled = true;
		document.getElementById("button_checkout2").className = "button_disabled";
	}
}
function HasItems(){
	if(packageid)return true;
	if(itemid.length)return true;
	if(itemessay || itemconsulting)return true;
	return false;
}
function ClickEssay(){
	if(packageid!=4)
		bEssayEvaluatorSelected=!bEssayEvaluatorSelected;
	if(bEssayEvaluatorSelected){
		document.images['img_gre_essay'].src='/media/i/bg/store/gre_essay_select.jpg';
		itemessay=true;
	}else{
		document.images['img_gre_essay'].src='/media/i/bg/store/gre_essay.jpg';
		itemessay=false;
	}
	UpdateCheckoutIfItems();
}	
function ClickConsulting(){
	bAcademicConsultingSelected=!bAcademicConsultingSelected;
	if(bAcademicConsultingSelected){
		document.images['img_consulting'].src='/media/i/bg/store/academic_consulting_select.jpg';
		itemconsulting=true;
	}else{
		document.images['img_consulting'].src='/media/i/bg/store/academic_consulting.jpg';
		itemconsulting=false;
	}
	UpdateCheckoutIfItems();
}
function ValidateStore(){
	if(HasItems()==false){
		alert("Please select a package or individual items to checkout.");
		return false;
	}else{
		var str = (itemessay?"essay_1":"");
		if(itemconsulting)
			str += (str.length?",":"")+(itemconsulting?"consulting_1":"");
		document.getElementById("custom").value = itemid.toString()+(itemid.toString().length && str.length?",":"")+str;
	}
}
function clickIE4(){
	if(event.button==2){
		alert(message);
		return false;
	}
}
function clickNS4(e){
	if(document.layers||document.getElementById&&!document.all){
		if(e.which==2||e.which==3){
			alert(message);
			return false;
		}
	}
}
function backButtonOverride(){
	setTimeout("backButtonOverrideBody()", 1);
}
function backButtonOverrideBody(){
	try{
		history.forward();
	}catch(e){
  	}
  	//Try again to fix a bug
  	setTimeout("backButtonOverrideBody()", 500);
}
function SetNoExit(){
	window.onbeforeunload = NoExit;
}
function NoExit(){
	alert(strOnExit);
	return false;
}
function SetCanExit(){
	window.onbeforeunload = null;
}

if(document.layers){
	document.captureEvents(Event.MOUSEDOWN);
	document.onmousedown=clickNS4;
}else if(document.all&&!document.getElementById)
	document.onmousedown=clickIE4;

document.oncontextmenu=new Function("alert(message);return false");

var click_answer = new Array(3);
var gre_window = null;
var bCloseWarning = true;
var test_img_x = "/media/i/i/x.gif";
var test_img_x_selected = "/media/i/i/x_selected.gif";
var test_img_x_good = "/media/i/i/x_good.gif";
var bEssayEvaluatorSelected = false;
var bAcademicConsultingSelected = false;