//creates an ajax element
function new_ajax()
{
	//initialize variable for using ajax
	//Create a boolean variable to check for a valid Internet Explorer instance.
	var xmlhttpa = false;
	//Check if we are using IE.
	try {
	//If the Javascript version is greater than 5.
	xmlhttpa = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	//If not, then use the older active x object.
	try {
	//If we are using Internet Explorer.
	xmlhttpa = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
	//Else we must be using a non-IE browser.
	xmlhttpa = false;
	}
	}
	//If we are using a non-IE browser, create a javascript instance of the object.
	if (!xmlhttpa && typeof XMLHttpRequest != 'undefined') {
	xmlhttpa = new XMLHttpRequest();
	}	
	return xmlhttpa;	
}


//standard ajax query
function ajax_query_st(serverPage, objID) 
{	
	xmlhttpr=new_ajax();
		
	var obj = document.getElementById(objID);
	xmlhttpr.open("GET", serverPage);
		
	xmlhttpr.onreadystatechange = function() 
	{
		if (xmlhttpr.readyState == 4 && xmlhttpr.status == 200) 
		{
			obj.innerHTML =xmlhttpr.responseText;
			
			delete xmlhttpr;
			xmlhttpr=null;
		}
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr.send(null);	
}



//opens the lesson edition menu page
function ajax_show_less_edit(serverPage, objID)
{
	//prepares the file name and get vars
	serverPage=serverPage.concat("?lessn_c=");
	serverPage=serverPage.concat(escape(document.getElementById('lessn_c').value));
	
	xmlhttpr=new_ajax();
		
	var obj = document.getElementById(objID);
	xmlhttpr.open("GET", serverPage);
		
	xmlhttpr.onreadystatechange = function() 
	{
		if (xmlhttpr.readyState == 4 && xmlhttpr.status == 200) 
		{
			obj.innerHTML =xmlhttpr.responseText;
			
			delete xmlhttpr;
			xmlhttpr=null;
		}
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr.send(null);	
	
	
}


//Shows a message when loading the php
function show_ajax_loading(obj)
{
	obj.innerHTML ="CARGANDO";
}

//standard ajax query with 1 GET parameter
function ajax_query_st1(serverPage, objID,param_name,param_value) 
{		
	xmlhttpr=new_ajax();
			
	serverPage=serverPage.concat("?");
	serverPage=serverPage.concat(escape(param_name));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value));
		
	var obj = document.getElementById(objID);
	xmlhttpr.open("GET", serverPage);
		
	xmlhttpr.onreadystatechange = function() 
	{
		if (xmlhttpr.readyState == 4 && xmlhttpr.status == 200) 
		{
			obj.innerHTML =xmlhttpr.responseText;
			
			delete xmlhttpr;
			xmlhttpr=null;
		}
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr.send(null);
}


//standard ajax query with 1 GET parameter
function ajax_query_st1_2(serverPage, objID,param_name,param_value) 
{		
	xmlhttpr1_2=new_ajax();
			
	serverPage=serverPage.concat("?");
	serverPage=serverPage.concat(escape(param_name));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value));
		
	var obj = document.getElementById(objID);
	xmlhttpr1_2.open("GET", serverPage);
		
	xmlhttpr1_2.onreadystatechange = function() 
	{
		if (xmlhttpr1_2.readyState == 4 && xmlhttpr1_2.status == 200) 
		{
			obj.innerHTML =xmlhttpr1_2.responseText;
			
			delete xmlhttpr1_2;
			xmlhttpr1_2=null;
		}
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr1_2.send(null);
}


//standard ajax query with 2 GET parameter
function ajax_query_st2(serverPage, objID,param_name1,param_value1,param_name2,param_value2) 
{		
	xmlhttpr2=new_ajax();
			
	serverPage=serverPage.concat("?");
	serverPage=serverPage.concat(escape(param_name1));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value1));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name2));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value2));
			
	var obj = document.getElementById(objID);
	xmlhttpr2.open("GET", serverPage);
		
	xmlhttpr2.onreadystatechange = function() 
	{
		if (xmlhttpr2.readyState == 4 && xmlhttpr2.status == 200) 
		{
			obj.innerHTML =xmlhttpr2.responseText;
			
			delete xmlhttpr2;
			xmlhttpr2=null;
		}
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr2.send(null);
	
		
}

//standard ajax query with 3 GET parameter
function ajax_query_st3(serverPage, objID,param_name1,param_value1,param_name2,param_value2,param_name3,param_value3) 
{		
	xmlhttpr3=new_ajax();
			
	serverPage=serverPage.concat("?");
	serverPage=serverPage.concat(escape(param_name1));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value1));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name2));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value2));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name3));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value3));
			
	var obj = document.getElementById(objID);
	xmlhttpr3.open("GET", serverPage);
		
	xmlhttpr3.onreadystatechange = function() 
	{
		if (xmlhttpr3.readyState == 4 && xmlhttpr3.status == 200) 
		{
			obj.innerHTML =xmlhttpr3.responseText;
			
			delete xmlhttpr3;
			xmlhttpr3=null;
		}
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr3.send(null);
}





//standard ajax query with 5 GET parameter
function ajax_query_st5(serverPage, objID,param_name1,param_value1,param_name2,param_value2,param_name3,param_value3,param_name4,param_value4,param_name5,param_value5) 
{		
	xmlhttpr4=new_ajax();
			
	serverPage=serverPage.concat("?");
	serverPage=serverPage.concat(escape(param_name1));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value1));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name2));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value2));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name3));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value3));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name4));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value4));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name5));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value5));
			
	var obj = document.getElementById(objID);
	xmlhttpr4.open("GET", serverPage);
		
	xmlhttpr4.onreadystatechange = function() 
	{
		if (xmlhttpr4.readyState == 4 && xmlhttpr4.status == 200) 
		{
			obj.innerHTML =xmlhttpr4.responseText;
			
			delete xmlhttpr4;
			xmlhttpr4=null;
		}
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr4.send(null);
}


//standard ajax query with 5 GET parameter
function ajax_query_st4(serverPage, objID,param_name1,param_value1,param_name2,param_value2,param_name3,param_value3,param_name4,param_value4) 
{		
	xmlhttpr44=new_ajax();
			
	serverPage=serverPage.concat("?");
	serverPage=serverPage.concat(escape(param_name1));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value1));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name2));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value2));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name3));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value3));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name4));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value4));

			
	var obj = document.getElementById(objID);
	xmlhttpr44.open("GET", serverPage);
		
	xmlhttpr44.onreadystatechange = function() 
	{
		if (xmlhttpr44.readyState == 4 && xmlhttpr44.status == 200) 
		{
			obj.innerHTML =xmlhttpr44.responseText;
			
			delete xmlhttpr44;
			xmlhttpr44=null;
		}
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr44.send(null);
}


//standard ajax query with 7 GET parameter
function ajax_query_st7(serverPage, objID,param_name1,param_value1,param_name2,param_value2,param_name3,param_value3,param_name4,param_value4,param_name5,param_value5,param_name6,param_value6,param_name7,param_value7) 
{		
	xmlhttpr7=new_ajax();
			
	serverPage=serverPage.concat("?");
	serverPage=serverPage.concat(escape(param_name1));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value1));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name2));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value2));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name3));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value3));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name4));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value4));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name5));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value5));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name6));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value6));
	serverPage=serverPage.concat("&");
	serverPage=serverPage.concat(escape(param_name7));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value7));
			
	var obj = document.getElementById(objID);
	xmlhttpr7.open("GET", serverPage);
		
	xmlhttpr7.onreadystatechange = function() 
	{
		if (xmlhttpr7.readyState == 4 && xmlhttpr7.status == 200) 
		{
			obj.innerHTML =xmlhttpr7.responseText;
			
			delete xmlhttpr7;
			xmlhttpr7=null;
		}
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr7.send(null);
}




//ajax query to obtain a xml with the lessons
function ajax_query_lessons_xml(serverPage) 
{		
	xmlhttprv2=new_ajax();
			
	xmlhttprv2.open("GET", serverPage,true);
	xmlhttprv2.onreadystatechange = function() 
	{
		if (xmlhttprv2.readyState == 4 && xmlhttprv2.status == 200) 
		{	
			var xmldoc1=xmlhttprv2.responseXML.documentElement;
			load_lessons_array(xmldoc1);
			
			if(xmldoc1)
			{
				load_lessons_array(xmldoc1);
				show_lessons_table();
			}
		}			
	}
	xmlhttprv2.send(null);		
}


//ajax query to obtain a xml with the vocabulary of a lesson
function ajax_query_vocab_less_xml(less_id,memo_type) 
{		
	xmlhttprv4=new_ajax();
	
	
	serverPage="load_vocab_less_xml.php".concat("?");
	serverPage=serverPage.concat(escape("less_id"));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(less_id));
	
		
	xmlhttprv4.open("GET", serverPage,true);
	xmlhttprv4.onreadystatechange = function() 
	{
		if (xmlhttprv4.readyState == 4 && xmlhttprv4.status == 200) 
		{	
			var xmldoc=xmlhttprv4.responseXML.documentElement;
						
			if(xmldoc)
			{				
				load_vocab_less_array(xmldoc);
				//initiates memorizador variables
				
				switch(memo_type)
				{	
				case 'memo_spa_eng':
				init_memorizador_spa_eng();		
				break
				
				case 'memo_eng_spa':
				init_memorizador_eng_spa();		
				break		
				}		
			}
		}			
	}
	xmlhttprv4.send(null);		
}


//ajax query to obtain a xml with the multiple selection questions & alternatives
function ajax_query_mult_sel_xml(page_id) 
{		
	xmlhttprm5=new_ajax();
	
	
	serverPage="load_mult_sel_xml.php".concat("?");
	serverPage=serverPage.concat(escape("page_id"));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(page_id));
	
		
	xmlhttprm5.open("GET", serverPage,true);
	xmlhttprm5.onreadystatechange = function()
	{
		if (xmlhttprm5.readyState == 4 && xmlhttprm5.status == 200) 
		{
			var xmldoc=xmlhttprm5.responseXML.documentElement;
			
			if(xmldoc)
			{			
				load_mult_sel_array(xmldoc);
				
				if(what_is_this=='editor')
				{
					show_mult_sel_ed_table();
					show_check_ms_img();
					show_ms_img();
					//show add question option
					ajax_query_st('show_add_question.php','quest_div');
				}
				
				else if(what_is_this=='player')
				{
					init_mult_sel_quest();					
				}
			}
		}	
	}
	xmlhttprm5.send(null);
}

//ajax query to obtain a xml with the open question
function ajax_oquest_xml(page_id) 
{		
	xmlhttproq=new_ajax();
	
	
	serverPage="load_oquest_xml.php".concat("?");
	serverPage=serverPage.concat(escape("page_id"));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(page_id));
	
		
	xmlhttproq.open("GET", serverPage,true);
	xmlhttproq.onreadystatechange = function()
	{
		if (xmlhttproq.readyState == 4 && xmlhttproq.status == 200) 
		{
			var xmldoc=xmlhttproq.responseXML.documentElement;
			
			if(xmldoc)
			{			
				load_oquest_array(xmldoc);
				
				if(what_is_this=='editor')
				{
						show_oquest_ed_table();
						show_check_oq_img();
						show_oq_img();
						//show add question option
				   		ajax_query_st('show_add_oquest.php','oquest_div');
				}
				
				else if(what_is_this=='player')
					init_oquest();
			}			
			
		}	
	}
	xmlhttproq.send(null);
}

//ajax query to obtain a xml with video info
function ajax_video_xml(page_id) 
{		
	xmlhttpvinf=new_ajax();
	
	
	serverPage="load_video_xml.php".concat("?");
	serverPage=serverPage.concat(escape("page_id"));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(page_id));
	
		
	xmlhttpvinf.open("GET", serverPage,true);
	xmlhttpvinf.onreadystatechange = function()
	{
		if (xmlhttpvinf.readyState == 4 && xmlhttpvinf.status == 200) 
		{
			var xmldoc=xmlhttpvinf.responseXML.documentElement;
			
			if(xmldoc)
			{			
				load_video_vars(xmldoc);
				
				show_video();
				
				if(what_is_this=='editor')
					show_video_edit();		
				
			}
		}	
	}
	xmlhttpvinf.send(null);
}


//standard ajax query with 3 GET parameter
function ajax_load_pagexml(objID,param_name1,param_value1) 
{		
	xmlhttpr3p=new_ajax();
	
	serverPage="load_pages_ed_xml.php";
	serverPage=serverPage.concat("?");
	serverPage=serverPage.concat(escape(param_name1));
	serverPage=serverPage.concat("=");
	serverPage=serverPage.concat(escape(param_value1));
				
	var obj = document.getElementById(objID);
	xmlhttpr3p.open("GET", serverPage);
		
	xmlhttpr3p.onreadystatechange = function() 
	{
		if (xmlhttpr3p.readyState == 4 && xmlhttpr3p.status == 200) 
		{
			
			var xmldoc=xmlhttpr3p.responseXML.documentElement;
						
			if(xmldoc)
			{
				load_pages_array(xmldoc);
				load_page(current_page);							
				load_button_next_prev();						
			
			}		
			
		}		
		
		else
			show_ajax_loading(obj);
		
	}
	xmlhttpr3p.send(null);
}