function GetXmlHttpObject()  {
	var xmlHttp=null; try { xmlHttp=new XMLHttpRequest(); }
	catch (e) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
   	catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp;
}
function getMultiple(ob,type) { 
	var strSel = "";
	var strSep = "";
	var curValue = "";
	for (var i=0;i<ob.options.length;i++)
	{ 
		if (ob.options[i].selected||type==3) 
		{
			if (type==1) 
			{
				strSel +=  strSep + i; 
				strSep = ",";
			}
			else if(type==3)
			{
				curValue = ob.options[i].value;
				if (curValue.indexOf(',')==-1)
				{
					strSel +=  strSep + ob.options[i].value; 
					strSep = ",";
				}
			}
			else
			{
				strSel +=  strSep + ob.options[i].value; 
				strSep = ",";
			}
		}
	} 
	return strSel;
}
function ajax_action(action_name, arrNames, arrValues, post) {
	if (arrNames.length != arrValues.length) { alert ("Error! not same length of names and values."); return; }
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) { alert ("Your browser does not support AJAX!");	return;	}
	var url="/assets/ajax/ajax_matrix_register_valdation.asp" + "?sid="+Math.random();
	var DataToSend = "action_name="+action_name+"&";
	if (arrNames!=null && arrValues!=null)
	{
		DataToSend+=arrNames[0]+"="+arrValues[0];
		for (var j=1;j<arrValues.length;j++)
			DataToSend=DataToSend+"&"+arrNames[j]+"="+arrValues[j];
	}
	DataToSend = DataToSend.replace(/ /g,'%20').replace(/\/n/g,'%20');
	xmlHttp.onreadystatechange=stateChanged;
	if (!post) { url += "&" + DataToSend; xmlHttp.open("GET",url,true);	xmlHttp.send(null);	}
	else { xmlHttp.open("POST",url,true);
		   xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		   xmlHttp.send(DataToSend); }
}
function stateChanged() {
	if (xmlHttp.readyState==4 && xmlHttp.status == 200)
	{
		var response_text =  xmlHttp.responseText;
		while ( response_text.indexOf(" ")==0 )
		{
			response_text = response_text.substring(1, response_text.length);
		}
		var action_type = response_text.substring(0, 3);
		var action_name_end = response_text.indexOf(" ");
		if (xmlHttp.responseText.length>1 && action_name_end)
		{
			var action_name = response_text.substring(0, action_name_end);
			response_text = response_text.substring(action_name_end+1,response_text.length);
			var info_array = response_text.split('|');
			xxx_action_response(action_name, info_array);
		}
	}
}
function xxx_action_response(action_name, xxx_info_array)
{
	switch(action_name)
	{
		case "xxx_isEmailExist":
			if (xxx_info_array.length) IsEmailExist(null,1,xxx_info_array, null, null); break;		
	}
}


function IsEmailExist(flag, response, info_array, email, formname)
{
	if (response==null) {
		var infoname = new Array(); var infoval = new Array();
		infoname[0]='email'; infoval[0]=email;
		infoname[1]='formname'; infoval[1]=formname;
		ajax_action('xxx_isEmailExist',infoname,infoval,1);
	}
	if (response==1)
	{
		bEmailUsed = info_array[2];	
		afterAjaxValidateForm(info_array[3]);
	}
}
