function getRef(id)
{
	return document.getElementById(id);
}


/*******************************for register module begin***********************************/
var sel_lang;
function regLangChange(selfCombo, lbl_id, lbl_text) 
{	
	var lang = selfCombo.options[selfCombo.selectedIndex].value;
	if(lang == '')
		return;
		
	sel_lang = lang;
	lbl_text = getRef(lbl_text).value;
	loadLangAJAX(lang, lbl_id, lbl_text);
}

var l_id;
function loadLangAJAX(lang, lbl_id, lbl_text)
{
	l_id = lbl_id;
	var rand_num = Math.ceil(Math.random()*1000);
	
	var url = "?/"+lang+"/register/ajax/lang/"+rand_num+"/";
	var pars = "";
	
	document.getElementById(l_id).innerHTML = lbl_text;
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: langParse });
}

function langParse(req)
{
	var str = req.responseText;	
	
	if(str != '')
		eval(str);
		
	for (key in reg_lang)
	{
		if(key != 'reg_langs')
		{
			getRef(key).innerHTML = reg_lang[key];
			if(getRef(key).value)
				getRef(key).value = reg_lang[key];
		}
		else
		{
			var lArr = reg_lang[key];			
			var combo = getRef(key);
			removeAllOptions(combo);
			for(k in lArr)
			{
				var sel = (k==sel_lang)?true:false;
				addOption(combo,lArr[k],k,sel);
			}
		}
	}
	
	try{
	document.getElementById(l_id).innerHTML = '';
	}catch(e){}	
}

//combos begin

function hasOptions(obj) {
	if (obj!=null && obj.options!=null) { return true; }
	return false;
	}

function removeAllOptions(from) { 
	if (!hasOptions(from)) { return; }
	for (var i=(from.options.length-1); i>=0; i--) { 
		from.options[i] = null; 
		} 
	from.selectedIndex = -1; 
	} 

// -------------------------------------------------------------------
// addOption(select_object,display_text,value,selected)
//  Add an option to a list
// -------------------------------------------------------------------
function addOption(obj,text,value,selected) {
	if (obj!=null && obj.options!=null) {
		obj.options[obj.options.length] = new Option(text, value, false, selected);
		}
	}
//combos end
/*******************************for catalog module end***********************************/

function checkMail(elm, langCombo)
{	
	var email = elm.value;	
	var lang = langCombo.options[langCombo.selectedIndex].value;
	//alert(email);
	
	if(email.length < 3 ||(email.length >0 && !validateEmail(email)))
		return;
		
	var rand_num = Math.ceil(Math.random()*1000);
	
	var url = "?/"+lang+"/register/ajax/email/"+email+"/"+rand_num+"/";
	var pars = "";
	
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: checkMail_callback });
}

function checkMail_callback(req)
{
	var str = req.responseText;
	
	if(str != '')
		eval(str);
		
	var isvalid = false;
	
	if(is_valid==1)
		isvalid = true;		
		
	validator.addValid("email",isvalid, "This email alredy exist. Please select other email.");	
}

function checkPass(pass, conf_pass)
{
	validator.addValid("pass",(pass==conf_pass),"Password not match.");
}

/**********page load begin***********/
function loadPage(lang, module, num, num2)
{
	var rand_num = Math.ceil(Math.random()*1000);
	
	var url = "?/"+lang+"/"+module+"/ajax/"+num;
	if(num2>0)
		url += "/"+num2;
	url += "/"+rand_num+"/";
	var pars = "";
	
	getRef('module').innerHTML = '';
	getRef('ajax_message').style.display = '';
	
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: load_page });
}


function loadUsersPage(lang, module, num, num2)
{
	var rand_num = Math.ceil(Math.random()*1000);
	
	var url = "?/"+lang+"/"+module+"/ajax/"+num+ "/"+num2;
	
	url += "/"+rand_num+"/";
	var pars = "";
	
	getRef('module').innerHTML = '';
	getRef('ajax_message').style.display = '';
	
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: load_page });
}

function load_page(req)
{
	var str = req.responseText;	
	
	getRef('module').innerHTML = str;
	getRef('ajax_message').style.display = 'none';
}
/**********page load end***********/
function postAction(module, lang, chkName, lg, action, chkOne, del, ids)
{
	if(chkOne!=2)
	{
		ids = '';
		var s=0;			  
		
		var elts = document.getElementsByName(chkName);
		for (var i=0; i<elts.length; i++) 
	    {
			if(elts[i].checked)
			{
				ids += elts[i].value+','; 
				s++;
			}
	    }
	    
	    if(s==0)
	    {	
	    	alert(lg['one']);
	    	return;
	    }
	    
	    if(chkOne==1 && s!=1)
	    {
	      	alert(lg['onlyone']);
	      	return;
	    }
	    
	    if(del)
		{
			if(!confirm(lg['confirm']))return;
		}
	}
	else if(del)
	{
		if(!confirm(lg['confirm']))return;
	}
	
	var url = "?/"+lang+"/"+module+"/";	
	var pars = "action="+action+"&ids="+ids;	
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: postResult });	
}


function postAction2(module, lang, chkName, lg, action, chkOne, del, ids, method, ct)
{
	if(chkOne!=2)
	{
		ids = '';
		var s=0;			  
		
		var elts = document.getElementsByName(chkName);
		for (var i=0; i<elts.length; i++) 
	    {
			if(elts[i].checked)
			{
				ids += elts[i].value+','; 
				s++;
			}
	    }
	    
	    if(s==0)
	    {	
	    	alert(lg['one']);
	    	return;
	    }
	    
	    if(chkOne==1 && s!=1)
	    {
	      	alert(lg['onlyone']);
	      	return;
	    }
	    
	    if(del)
		{
			if(!confirm(lg['confirm']))return;
		}
	}
	else if(del)
	{
		if(!confirm(lg['confirm']))return;
	}
	
	var url = "?/"+lang+"/"+module+"/";	
	var pars = "action="+action+"&ids="+ids+"&lang="+lang+"&method="+method+"&ct="+ct;
	//alert(pars);
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: postResult });	
}

function postBalance(module, lang, chkName, lg, action, ids, user_id)
{
	var url = "?/"+lang+"/"+module+"/";	
	var pars = "action="+action+"&ids="+ids+"&user_id="+user_id;	
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: postResult });	
}



function postResult(req)
{
	var str = req.responseText;	
	//alert(str);
	if(str != '')
		eval(str);
	var lang = posts['lang'];
	var module = posts['module'];
	var reload = posts['reload'];
	var url = posts['url'];
	if(url=='')
		url = '?/'+lang+'/'+module+'/';
	
	if(reload)
		loadURL(url);	
	else
		loadPage(lang, module, 0);
}
