function trim(str) 
{
  re = /(^\s*)|(\s*$)/gi
  return str.replace(re, '');

}

function IsValidDate(dat, tim)
{
	var dates = dat.split("/");
	var times = tim.split(":");
	
	if (dates.length != 3) return false;
	if (times.length != 3) return false;
	
	dates[0] = dates[0].replace(/^0/, '');
	dates[1] = dates[1].replace(/^0/, '');
	dates[2] = dates[2].replace(/^0/, '');

	times[0] = times[0].replace(/^0/, '');
	times[1] = times[1].replace(/^0/, '');
	times[2] = times[2].replace(/^0/, '');
	
	var d = new Date(parseInt(dates[2]), parseInt(dates[1])-1, parseInt(dates[0]), parseInt(times[0]), parseInt(times[1]), parseInt(times[2]));
	
	return 	true
		&& (d.getFullYear() == parseInt(dates[2])) && ((d.getMonth()+1) == parseInt(dates[1])) && (d.getDate() == parseInt(dates[0]))
		&& (d.getHours() == parseInt(times[0])) && (d.getMinutes() == parseInt(times[1])) && (d.getSeconds() == parseInt(times[2]));
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	
	try {
	// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
	// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
} 

function PostDataByIFrame(frm, targ)
{
	var imgProgress = document.getElementById("imgProgress");
	if (imgProgress && imgLoading && imgBlank)
	{
		imgProgress.src = imgLoading.src;
	}
	
	frm.target = targ;	
	
	return true;	
}

function RemoveProgress()
{
	var imgProgress = document.getElementById("imgProgress");
	if (imgProgress && imgLoading && imgBlank)
	{
		imgProgress.src = imgBlank.src;
	}
	
	return false;
}

function GetData(url1, callback_onsuccess)
{
	var xmlHttp = GetXmlHttpObject();
	
	if (xmlHttp.readyState == 3) 
	{
		alert("Server is busy. Please try again!");
		return false;
	}

	var imgProgress = document.getElementById("imgProgress");
	if (imgProgress && imgLoading && imgBlank)
	{
		imgProgress.src = imgLoading.src;
	}
	
	xmlHttp.open("GET", url1, true);
	xmlHttp.send(null);		
	
	xmlHttp.onreadystatechange = function() 
	{
		if(xmlHttp.readyState != 4) return false;
		
		if (imgProgress && imgLoading && imgBlank)
		{
			imgProgress.src = imgBlank.src;
		}
				
		//alert(xmlHttp.responseText);
		if (callback_onsuccess)
		{
			callback_onsuccess(xmlHttp.responseText);
		}
	}
}

function PostData(frm, callback_onerror, callback_onsuccess)
{
	var xmlHttp = GetXmlHttpObject();
	
	if (xmlHttp.readyState == 3) 
	{
		alert("Server is busy. Please try again!");
		return false;
	}
	
	var data = "";
	for(var i=0; i < frm.elements.length; i++)
	{
		if ((frm.elements[i].type == 'checkbox') || (frm.elements[i].type == 'radio'))
		{
			if (! frm.elements[i].checked) continue;
		}
		data += "&";
		data += frm.elements[i].name+"="+escape(frm.elements[i].value);			
	}		
	
	xmlHttp.open("POST", frm.action, true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	xmlHttp.send(data);		
	
	var imgProgress = document.getElementById("imgProgress");
	if (imgProgress && imgLoading && imgBlank)
	{
		imgProgress.src = imgLoading.src;
	}
			
	xmlHttp.onreadystatechange = function() 
	{
		if(xmlHttp.readyState != 4) return false;		

		var resp = xmlHttp.responseText;
		//alert(resp);

		if (imgProgress && imgLoading && imgBlank)
		{
			imgProgress.src = imgBlank.src;
		}
	
		var datas = resp.split("\1");
		if (datas[0] > 0)
		{
			if (callback_onerror)
			{
				callback_onerror(datas);
			}
			
			return false;			
		}		

		if (callback_onsuccess)
		{
			//alert(datas);
			callback_onsuccess(datas);
		}		
		
		return false;
	}
		
	return false;	
}

function callback_onerror(datas)
{
	alert(datas[1]);
	
	var dv = document.getElementById(datas[2]);
	if (dv)
	{		
		dv.focus();
	}
	
	return false;	
}

function callback_onsuccess(datas)
{
	if (datas[1])
	{
		alert(datas[1]);
	}
	
	if (datas[2])
	{
		eval(datas[2]);
	}
	
	return false;	
}

function Popup(title, addr, height, width)
{
	GB_myShow(title, addr, height, width);
}

GB_myShow = function(caption, url, /* optional */ height, width, callback_fn) {
    var options = {
        caption: caption,
        height: height || 600,
        width: width || 800,
        fullscreen: false,
        show_loading: false,
        callback_fn: callback_fn
    }
    g_win = new GB_Window(options);
    return g_win.show(url);
}

function ischeck(frm, id)
{
	for(var i=0; i < frm.elements.length; i++)
	{
		if (frm.elements[i].name == id)
		{
			if (frm.elements[i].checked)
			{
				return true;
			}
		}
	}
	
	return false;
}

function selectall(ctrl, frm, id)
{
	for(var i=0; i < frm.elements.length; i++)
	{
		if (frm.elements[i].name == id)
		{
			frm.elements[i].checked = ctrl.checked;
		}
	}
}

function checkselectall(id, frm, elmt)
{
	var isall = true;
	for(var i=0; i < frm.elements.length; i++)
	{
		if (frm.elements[i].name == id)
		{
			if (! frm.elements[i].checked)
			{
				isall = false;
				break;
			}
		}
	}
	
	elmt.checked = isall;
}

var g_win;