var doc_dir;

var img_dir;

String.prototype.trim = function(){

	var reExtraSpace = /^\s*(.*?)\s+$/;

	return this.replace(reExtraSpace,"$1");

}

function set_doc_dir(dd){

	doc_dir=dd;

}

function set_img_dir(id){

	img_dir=id;

}

function CreateXml(){

	if(typeof XMLHttpRequest!="undefined"){

		return new XMLHttpRequest();

	}else if(typeof ActiveXObject!="undefined"){

		var xmlHttp_ver  = false;

		var xmlHttp_vers = ["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp","Microsoft.XmlHttp"];

		if(!xmlHttp_ver){

			for(var i=0;i<xmlHttp_vers.length;i++){

				try{

					new ActiveXObject(xmlHttp_vers[i]);

					xmlHttp_ver = xmlHttp_vers[i];

					break;

				}catch(oError){;}

			}

		}

		if(xmlHttp_ver){

			return new ActiveXObject(xmlHttp_ver);

		}else{

			throw new Error("Could not create XML HTTP Request.");

		}

	}else{

		throw new Error("Your browser doesn't support an XML HTTP Request.");

	}

}

function keydown() {

	if(event.keyCode==13)

	event.keyCode=9;

}

function CheckAll(area,checkall){

	if(!area){

		area = document;

	}else{

		area = document.getElementById(area);

	}

	var groups = area.getElementsByTagName('input');

	if(document.getElementById(checkall).checked==true){

		for(var i=groups.length-1;i>=0;i--){

			if(groups[i].disabled==false && groups[i].type== 'checkbox')

			groups[i].checked=true;

		}

	}else{

		for(var i=groups.length-1;i>=0;i--){

			if(groups[i].disabled==false && groups[i].type== 'checkbox')

			groups[i].checked=false;

		}

	}

}

function DetectAll(area,checkall){

	if(!area){

		area = document;

	}else{

		area = document.getElementById(area);

	}

	var groups = area.getElementsByTagName('input');

	var groups_length=groups.length;

	var hasChecked = 0;

	for(var i=groups.length-1;i>=0;i--){

		if(groups[i].type== 'checkbox'){

			if(groups[i].disabled){

				groups_length--;

			}

			else if(groups[i].checked){

				hasChecked++;

			}

			else if(groups[i].id == checkall){

				groups_length--;

			}

		}else{

			groups_length--;

		}

	}

	if(hasChecked == groups_length){

		document.getElementById(checkall).checked=true;

	}else{

		document.getElementById(checkall).checked=false;

	}

}

function orderby(o,formname,ob){

	
	
	if(document.getElementById("order").value == o){

		if(document.getElementById("order_desc").value == ""){

			document.getElementById("order_desc").value = "DESC";

		}else{

			document.getElementById("order_desc").value = "";

		}

	}else{

		document.getElementById("order").value = o;

		if(ob){

			document.getElementById("order_desc").value = "DESC";

		}else{

			document.getElementById("order_desc").value = "";

		}

	}

	//alert(document.getElementById("order").value);
	//alert(document.getElementById("order_desc").value);

	if(!formname){

		formname = "form1";

	}
	if(formname=='test_list')
	{
		document.test_list.act.value="show_question";
	}
	var fname=formname;
	//alert(fname);
	document.getElementById(fname).submit();

}



function setTrColor(selfid,trlevel,errspanid){

	var right_rgexp = /check_right/;

	var error_rgexp = /check_error/;

	var normal_rgexp = /^\s*$/;

	if(right_rgexp.test(document.getElementById(errspanid).innerHTML)){

		var color="#f3ffe8";

	}

	if(error_rgexp.test(document.getElementById(errspanid).innerHTML)){

		var color="#fff4f4";

	}

	if(normal_rgexp.test(document.getElementById(errspanid).innerHTML)){

		var color="#fbfbfb";

	}

	var setColorCommand="document.getElementById('"+selfid+"')";

	for(var i=0;i<trlevel;i++){

		setColorCommand+=".parentNode";

	}

	setColorCommand+=".style.background='"+color+"'";

	eval(setColorCommand);

	document.getElementById(selfid).style.background = color;

}



function clearTrColor(selfid,trlevel){

	var setColorCommand="document.getElementById('"+selfid+"')";

	for(var i=0;i<trlevel;i++){

		setColorCommand+=".parentNode";

	}

	setColorCommand+=".style.background='#ffffff'";

	eval(setColorCommand);

	document.getElementById(selfid).style.background = '#ffffff';

}



function popupDialog(url,width,height){

	var x = parseInt(screen.width / 2.0) - (width / 2.0);

	var y = parseInt(screen.height / 2.0) - (height / 2.0);

	//    var isMSIE= (navigator.appName == "Microsoft Internet Explorer");

	//

	//    if (isMSIE) {

	//        retval = window.showModalDialog(url, window, "dialogWidth:"+width+"px; dialogHeight:"+height+"px; dialogLeft:"+x+"px; dialogTop:"+y+"px; status:no; directories:yes;scrollbars:no;Resizable=no; "  );

	//	} else {

	var win = window.open(url, "mcePopup", "top=" + y + ",left=" + x + ",dialog=yes,modal=yes,width=" + width + ",height=" + height + ",resizable=no" );

	eval('try { win.resizeTo('+width+', '+height+'); } catch(e) { }');

	win.focus();

	//    }

}



function ajaxUpdateValue(table_name,field_name,elm_id,con_field,con_value,default_value,fall_back){

	document.getElementById("ajax_loading_div").style.display="";

	var xmlHttp = CreateXml();

	if(document.getElementById(elm_id).value == ""){

		document.getElementById(elm_id).value = default_value;

	}

	var field_value = document.getElementById(elm_id).value;

	var url = doc_dir+"/lib/js/ajax_php/ajax_update_value.php?";

	url += "table_name=" + table_name;

	url += "&field_name=" + field_name;

	url += "&field_value=" + field_value;

	url += "&con_field=" + con_field;

	url += "&con_value=" + con_value;

	url += "&tmp=" + Math.random();

	xmlHttp.onreadystatechange = function(){

		if(xmlHttp.readyState==4){

			if(xmlHttp.status==200){

				document.getElementById("ajax_loading_div").style.display="none";

				if(xmlHttp.responseText.replace(/(^\s*)|(\s*$)/g, "") == 1){



				}else{

					alert("Failed");

					document.getElementById(elm_id).value = fall_back;

				}

			}

		}

	};

	xmlHttp.open("GET", url, true);

	xmlHttp.send(null);


}

function ajaxReplaceValue(c_id,imagename,elm_id,default_value,fall_back,mark){

	//alert("sdfsdfsdf");
	var xmlHttp = CreateXml();
	if(document.getElementById(elm_id).value == ""){
		document.getElementById(elm_id).value = default_value;
	}
	var field_value = document.getElementById(elm_id).value;
	field_value=encodeURI(field_value);
	var url = doc_dir+"/lib/js/ajax_php/ajax_replace_value.php?";
	url += "c_id=" + c_id;
	url += "&imagename=" + imagename;
	url += "&imageinfo=" + field_value;
	url += "&mark=" + mark;
	url += "&tmp=" + Math.random();
	//alert( url);
	xmlHttp.onreadystatechange = function(){
		if(xmlHttp.readyState==4){
			if(xmlHttp.status==200){

				if(xmlHttp.responseText.replace(/(^\s*)|(\s*$)/g, "") == 1){

				}else{
					alert("Failed");
					document.getElementById(elm_id).value = fall_back;
				}
			}
		}
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function ajaxUpdateSystemValue(table_name,field_name,elm_id,con_field,con_value,default_value,fall_back){
	document.getElementById("ajax_loading_div").style.display="";
	var xmlHttp = CreateXml();
	if(document.getElementById(elm_id).value == ""){
		document.getElementById(elm_id).value = default_value;
	}
	var field_value = document.getElementById(elm_id).value;
	field_value=encodeURI(field_value);
	var url = doc_dir+"/lib/js/ajax_php/ajax_update_system_value.php?";
	url += "table_name=" + table_name;
	url += "&field_name=" + field_name;
	url += "&field_value=" + field_value;
	url += "&con_field=" + con_field;
	url += "&con_value=" + con_value;
	url += "&tmp=" + Math.random();
	xmlHttp.onreadystatechange = function(){
		if(xmlHttp.readyState==4){
			if(xmlHttp.status==200){
				document.getElementById("ajax_loading_div").style.display="none";
				if(xmlHttp.responseText.replace(/(^\s*)|(\s*$)/g, "") == 1){

				}else{
					alert("Failed");
					document.getElementById(elm_id).value = fall_back;
				}
			}
		}
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}


function show_text_frame(elm_id){

	document.getElementById(elm_id).style.border = "1px solid #000000";

}

function hide_text_frame(elm_id){

	document.getElementById(elm_id).style.border = "1px solid #FFFFFF";

}

function get_city(elm_id,res_id)
{
	xmlhttp=null;
	url=doc_dir+"/lib/js/ajax_php/get_city.php?cid="+elm_id;
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{// code for IE5, IE6
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null)
	{
		xmlhttp.onreadystatechange=function (){
			if(xmlhttp.readyState == 4) {
				if(xmlhttp.status == 200){
					document.getElementById(res_id).innerHTML = xmlhttp.responseText;
				}
			}
		};
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else
	{
		alert("Your browser does not support XMLHTTP.");
	}
}
function getTree(elm_id,res_id)
{
	xmlhttp=null;
	url=doc_dir+"/lib/js/ajax_php/getTree.php?treeid="+elm_id;
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{// code for IE5, IE6
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null)
	{
		xmlhttp.onreadystatechange=function (){
			if(xmlhttp.readyState == 4) {
				if(xmlhttp.status == 200){
					document.getElementById(res_id).innerHTML = xmlhttp.responseText;
				}
			}
		};
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else
	{
		alert("Your browser does not support XMLHTTP.");
	}
}

function check_isname(name,msg)
{
	xmlhttp=null;
	url=doc_dir+"/lib/js/ajax_php/member.php?m_name="+name;
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{// code for IE5, IE6
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null)
	{
		xmlhttp.onreadystatechange=function (){
			if(xmlhttp.readyState == 4) {
				if(xmlhttp.status == 200){
					document.getElementById(msg).innerHTML = xmlhttp.responseText;
				}
			}
		};
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else
	{
		alert("Your browser does not support XMLHTTP.");
	}
}

function set_code(code_num,msg)
{

	xmlhttp=null;
	var num = document.getElementById(code_num).value;

	url=doc_dir+"/lib/js/ajax_php/setcode.php?code_num="+num;
	//alert(url);
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{// code for IE5, IE6
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null)
	{
		xmlhttp.onreadystatechange=function (){
			if(xmlhttp.readyState == 4) {
				if(xmlhttp.status == 200){
					document.getElementById(msg).innerHTML = xmlhttp.responseText;
				}
			}
		};
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else
	{
		alert("Your browser does not support XMLHTTP.");
	}
}

function sub_ajax(obj,session_id,b_id,name)
{
	var url=null;
	var id=null;
	//alert('fdsfds');
	var boxArray = document.getElementsByName(name);
	for(var i=0;i<=boxArray.length-1;i++){
		if(boxArray[i]==obj && obj.checked){
			boxArray[i].checked = true;
			//var url=doc_dir+"/lib/js/ajax_php/sub_ajax.php?check="+boxArray[i].checked;
			 url =doc_dir+"/lib/js/ajax_php/sub_ajax.php?check="+boxArray[i].checked+"&id="+boxArray[i].id+"&b_id="+b_id+"&session_id="+session_id;
			
		}else{
			boxArray[i].checked = false;
		}
	}
	//alert(url);
	
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{// code for IE5, IE6
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null)
	{
		xmlhttp.onreadystatechange=function (){
			if(xmlhttp.readyState == 4) {
				if(xmlhttp.status == 200){
					document.getElementById('msg').innerHTML = xmlhttp.responseText;
				}
			}
		};
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else
	{
		alert("Your browser does not support XMLHTTP.");
	}
}

function check_kcid(code_id,kc_id,show_id)
{
	
	xmlhttp=null;
	var num = document.getElementById(kc_id).checked;
	if(num)
	{
		c_value=1;
	}
	else
	{
		c_value=0;
	}
	url=doc_dir+"/lib/js/ajax_php/code_getcourse.php?kc_id="+kc_id+"&code_id="+code_id+"&c_value="+c_value;
	url += "&tmp=" + Math.random();
	//alert(url);
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{// code for IE5, IE6
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null)
	{
		xmlhttp.onreadystatechange=function (){
			if(xmlhttp.readyState == 4) {
				if(xmlhttp.status == 200){
					document.getElementById(show_id).innerHTML = xmlhttp.responseText;
				}
			}
		};
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else
	{
		alert("Your browser does not support XMLHTTP.");
	}
}