var test = "/^([a-zA-Z0-9 _ ])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/";
var no = new RegExp("[^0-9\.]", "g");
var e = new RegExp('[-+\\.0-9=a-z_]+@([-0-9a-z]+\\.)+([0-9a-z]){2,4}','i');
var ret = true;
var _d = document;

var agt=navigator.userAgent.toLowerCase();
var ie = (agt.indexOf("msie") != -1);
var ns = (navigator.appName.indexOf("Netscape") != -1);
var opera = (navigator.appName.indexOf("Opera") != -1);
var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
var mac = (agt.indexOf("mac")!=-1);

function dog(id)
{
	if (_d.getElementById) {
		element = _d.getElementById(id);
	}else {
		element = _d.all[id];
	}
	return element;
}

function checkForInt(elem)
{
	if (elem.value.match(no)){elem.style.background='#FFCCCC'; return false;}elem.style.background='#CCFFCC';return true;
}

function openBox(url , query , e)
{
	query += "&" + (new Date()).getTime();
	var OH = parseInt(dog("hiddenDiv").style.height);
	var NH = _d.body.offsetHeight;
	dog("hiddenDiv").style.height = NH + "px";
	dog("hiddenDiv").style.display = "block";
//	_d.location.replace();
	with(dog('dataTd'))
	{
		innerHTML = '';
		style.top =  (_d.documentElement.clientHeight - 318)/2 + getScrolled()[0] + "px";
		style.left = (_d.documentElement.clientWidth - 500)/2 + getScrolled()[1] + "px";
		style.display = "block";
	}
	_d.body.style.cursor = 'wait';
	getData(url , query , "GET" , onLoadData);
}

function closeBox()
{
	dog('dataTd').style.display='none'; dog('dataTd').innerHTML = ''; dog('hiddenDiv').style.display='none';
}

function evalEvent(el, ev)
{
	if (ie){
		el.fireEvent('on'+ev);
	}else{
		var clickEvent = window.document.createEvent("Event");
		clickEvent.initEvent(ev, false, true);
		el.dispatchEvent(clickEvent);
	}
}

function getData(url , query , method , callback)
{
//		alert(url + ' , ' + query + ' , ' + method + ' , ' + callback)
        var XMLHttpRequestObject = false;
        if(window.XMLHttpRequest)
            XMLHttpRequestObject = new XMLHttpRequest();
        else
            XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        if(!XMLHttpRequestObject)
        {
            alert("no XMLHttpRequest");
             return false;
         }
		 if (method == "get" || method == "GET")

		 	url = url + "?" + query;

		XMLHttpRequestObject.open(method,url,true);

		XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if(   XMLHttpRequestObject.readyState == 4) 
				if (XMLHttpRequestObject.status == 200)
				{
					if (callback != noAction)
						callback(XMLHttpRequestObject.responseText);
				}
				else
				{
							alert("خطا:" + XMLHttpRequestObject.status + "  خطا در برقراری ارتباط با سرور");
					return false;
				}
		}
		
		XMLHttpRequestObject.send(query);

}

function Login()
{
	var ret = true;
	var user = dog("txtUsername").value;
	var pass = dog("txtPassword").value;
	dog("txtUsernameError").style.display = "none";
	dog("txtPasswordError").style.display = "none";	
	if (user == "")
	{
		dog("txtUsernameError").style.display = "block";
		ret = false;
	}
	if (pass == "")
	{
		dog("txtPasswordError").style.display = "block";
		ret = false;
	}	
	if (!ret)
		return false;
	dog("userStatus").style.color = "#000000";
	dog("userStatus").innerHTML = "لطفا چند لحظه صبر کنید ...";
	getData("index.php" , "hdnAction=userlogin&txtUsername=" + user + "&txtPassword=" + pass , "POST" , onLogin);
	return false;
}

function onLogin(txt)
{
	txt = txt.split("||");
	if (txt[0] == 'ok'){
		if(txt[1] == "admin")
			_d.location = "admin";
		else if (txt[2] == "active")
			_d.location = "index.php";
		else
			displayLoginError(txt[3]);
	}
	else
	{
		displayLoginError("نام کاربری یا کلمه عبور اشتباه است.");
	}
}

function displayLoginError(str)
{
	dog("userStatus").style.color = "#FF0000";
	dog("userStatus").innerHTML = str;
	dog("txtUsername").value = "";
	dog("txtPassword").value = "";
}

function onLoadData(txt)
{
	_d.body.style.cursor = '';
	dog("dataTd").innerHTML = txt;
	return false;
}

function LoadPartN(page , table)
{
	url = "";
	query = "hdnAction=loadAllRows&page=" + page;
	if (typeof(table) != 'undefiend')
		query = query + "&table=" + table;
//	_d.location.href(url + "?" + query);
	dog("dataTd").innerHTML = "لطفا چند لحظه صبر کنید ...";
	getData(url , query , "GET" , onLoadData);
}

function onLogout(txt)
{
	if(txt == "ok")
		window.location = "index.php";
	else 
		alert(txt);
}

function noAction(txt)
{
}

function getPosition(el)
{
	t = 0;
	l = 0;
	for (; el; el = el.offsetParent)
	{
	 t  += el.offsetTop;
	 l += el.offsetLeft;
	}
	return [t, l];
}

function getScreenSize()
{
 var WW;
 var WH;
 // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
 if (typeof window.innerWidth != 'undefined')
 {
      WW = window.innerWidth,
      WH = window.innerHeight
 }

// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
 if (typeof _d.documentElement != 'undefined' && typeof _d.documentElement.clientWidth != 'undefined' && _d.documentElement.clientWidth != 0)
 {
       WW = _d.documentElement.clientWidth,
       WH = _d.documentElement.clientHeight
 }
 // older versions of IE
 else
 {
       WW = _d.getElementsByTagName('body')[0].clientWidth,
       WH = _d.getElementsByTagName('body')[0].clientHeight
 }
 return [WW, WH];
}

function getScrolled()
{
	if (_d.documentElement && !_d.documentElement.scrollTop)
	{
		st = 0;
		sl = 0;
	}
	else if (_d.documentElement && _d.documentElement.scrollTop)
	{
		st = _d.documentElement.scrollTop;
		sl = _d.documentElement.scrollLeft;
	}
	else if (_d.body && _d.body.scrollTop)
	{
		st = _d.body.scrollTop;
		sl = _d.body.scrollLeft;
	}
	return [st, sl];
}