function request(menuid, parentid, module, params)
{
	sPrevModule = module;
	nPrevMenuID = menuid;
	
	var url = ajaxUrl(menuid, parentid, module, params);	
	Ajax.send("GET", url, null, null, prevSendCallback, 
				function(){
					finishCallback();
					var obounder = document.getElementById("tdContentBounder");
					var res = 	Ajax.responseText;
					var beginTag = "<background>";
					var endTag = "</background>";
					var start = res.indexOf(beginTag);
					var end = res.indexOf(endTag);
					var bkg = "";
					if(start==-1)
						ofrmContent.innerHTML = res;
					else
					{
						bkg = res.substr(start+beginTag.length, end-start-endTag.length+1);
						var content = res.substr(end + endTag.length);						
						ofrmContent.innerHTML = content
					}

					if(bkg.length)
					{
						obounder.style.background = "url(images/" + bkg  + ") no-repeat 100%";						
					}
					else
						obounder.style.background = "#FFFFFF";
			});
	
	//load menu
	loadMenu(menuid, parentid, module, params);
}

//ex: params = "&a=1&b=2"...
function ajaxUrl(menuid, parentid, module, params)
{
	var url = "?req=" + g_strReq + "&ajax=true&menuid=" + menuid + "&parentid=" + parentid + "&module=" + module;
	if(params)
		url += params;
	return url;
}

function loadMenu(menuid, parentid, module, params)
{
	var url = ajaxUrl(menuid, parentid, module, params);
	var http = new AJAX(); 
	http.Initialize();
	http.send("GET", url + "&loadmenu=true", null, 
				function(){
					if(http.xmlHttp && http.xmlHttp.readyState==4 && http.xmlHttp.status==200)
					{	
						try
						{
							document.getElementById("tdMenuBox").innerHTML = getResponseText(http.xmlHttp.responseText);									  	
						}
						catch(e){							
						}
					}//okie							
				}, null, null);
}

function DefWinProc(url)
{
	Ajax.send("GET", url, null, null, prevSendCallback,
					function()
					{
						finishCallback();
						ofrmContent.innerHTML = Ajax.responseText;									
					}
				);
}
		
////////////////////////////////////////////////////////////////////////////////////////////////////////
//main window proc
function WinProc(menuid, parentid, module, url, msg, wparam, lparam)
{
	if(module=="home")
	{
		document.location = "";
		return false;
	}
	
	var url = ajaxUrl(module);
	var result = true;
	
	switch(module)
	{
		
		
		default:
		{
			Ajax.send("GET", url, null, null, prevSendCallback,
						function()
						{
							finishCallback();
							ofrmContent.innerHTML = Ajax.responseText;									
						}
					);
		}//default
	}
	
	sPrevModule = module; //save current module	
	nPrevMenuID = menuid;
}

//reload menu
function refreshMenu()
{
	//loadMenu(sCurrentModule);
}

function gotoPage(page)
{
	request(nPrevMenuID, 0, sPrevModule, "&page=" + page);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////
//news 
function newsCommands(module, url, msg, wparam, lparam)
{
	switch(msg)
	{
		case "":
		case "viewdetail":
		{
			url += "&action=" + msg + "&id=" + wparam;
			Ajax.send("GET", url, null, null, prevSendCallback,
					  function()
					  {
					  		finishCallback();
						  	ofrmContent.innerHTML = Ajax.responseText;
					  }
					 );
			break;
		}
	}
	return module!=sCurrentModule;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////
//contact
function contactCommands(module, url, msg, wparam, lparam)
{
	switch(msg)
	{
		case "send":
		{
			var frm = wparam;
			var name = StrTrim(frm.fname.value);
			var mail = frm.email.value;
			var addr = frm.address.value;
			var phone = frm.tel.value;
			var cphone = frm.mobile.value;
			var subj = frm.subject.value;
			var msg = StrTrim(frm.message.value);
			
			if(!name.length){
				alert("Vui lòng nhập tên của bạn"); setFocus("fname"); return false;
			}
			if(!IsEmailAddress(mail)){
				alert("Địa chỉ email không hợp lệ."); setFocus("email"); return false;	
			}
			if(!msg.length){
				alert("Vui lòng nhập nội dung yêu cầu."); frm.message.focus(); return false;		
			}
			
			var email1 = document.getElementById("master_email").value;
			var email2 = document.getElementById("sales_email").value;
			var params = "email1=" + email1 + "&email2=" + email2 + "&name=" + encodeURIComponent(name) + "&email=" + mail  + "&addr=" +
					 	 encodeURIComponent(addr) + "&tel=" + phone + "&mobile=" + cphone +
						 "&subject=" + encodeURIComponent(subj) + "&msg=" + encodeURIComponent(msg);
			
			Ajax.send("POST", url + "&action=send", params, null, 
						function(){
							setLoadingMessageText("Đang gửi...");
							prevSendCallback();
						},
						function(){
							finishCallback();
							setLoadingMessageText("Đang tải...");
							var ret = Ajax.responseText;
							if(ret.indexOf("+OK") != -1)
							{
								ofrmContent.innerHTML = ret.substr(ret.indexOf("+OK") + 3);
								setTimeout("WinProc('simcards', '', 0, 0)", 1000);
							}
							else
								alert(ret.substr(ret.indexOf("-ERR") + 4));
						}
					 );
			break;
		}
			
		case "reset":
			resetCustomerData(wparam);
			setFocus("fname");
			return false;
		
		default:
			DefWinProc(url);
	}
	return module!=sCurrentModule;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////
//set main content
function setMainContent(sContent)
{	
	ofrmContent.innerHTML = sContent;
}
