var oldvalue;
var backbox;
var pok = false;
function $(e) {	// ایجاد مدخل به یک شئ مشخص
	return(document.getElementById(e));
}
function opt(e) {	//برگرداندن مقدار انتخاب شده آپشن
	return($(e).options[$(e).selectedIndex].value);
}
function a(in_url,args) // پردازش درخواست آجاکس
{
	if(args==null)
		args = {};
	if(in_url.indexOf('?') == (-1))
		in_url = in_url+'?';
	var rmatch = /^([^\?]*)\?(.*)$/.exec ( in_url );
	var sUrl = in_url = rmatch[1];
	var sParams = unescape ( rmatch[2] );
	var sMethod = 'POST';
	var rType		= true;
	if(typeof args != 'undefined') 
	{
		if(typeof args.m != 'undefined')
			if(args.m.toUpperCase()=='GET')
				sMethod = 'GET';
		if(typeof args.sync != 'undefined')
			if(args.sync == 'false')
				rType = false;
		if(typeof args.id == 'undefined' && typeof args.vo == 'undefined')
			backbox = $('contents').innerHTML;
	}
	var Con = new XHConn();
	var fnLoad = function()
	{
		if(typeof args.vo == 'undefined' && typeof args.sc == 'undefined')
		{
			if(typeof args.id != 'undefined' && typeof args.attr == 'undefined')
				$(args.id).innerHTML='<center><img src="images/loading.gif"></center>';
			else if(typeof args.id == 'undefined' && typeof args.attr == 'undefined')
				$('contents').innerHTML='<center><img src="images/loading.gif"></center>';
		}
	};
	var fnWhenDone = function (oXML)
	{ 
		window.status = window.defaultStatus;
		if(typeof args.id == 'undefined' && typeof args.sc == 'undefined' && typeof args.vo == 'undefined'){
			$('contents').innerHTML=oXML.responseText;
			markRowsInit();
		}
		if(typeof args.id != 'undefined' && typeof args.attr == 'undefined' && typeof args.st == 'undefined' ){
			$(args.id).innerHTML=oXML.responseText;
			markRowsInit();
		}
		if(typeof args.sc != 'undefined')
			eval(oXML.responseText);
		if(typeof args.attr != 'undefined')
			$(args.id)[args.attr] = oXML.responseText;
		if(typeof args.st != 'undefined')
			$(args.id).style[args.st] = oXML.responseText;
		oXML=null; Con=null;
	};
	Con.connect(sUrl, sMethod, sParams, fnWhenDone, fnLoad, rType);
}
function XHConn() 
{
  var xmlhttp, bComplete = false,requestTimer, timeout=90000;
	function s(){return xmlhttp.status;}
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone, fnLoad , rType) 
	{
		window.status = 'در حال دریافت اطلاعات ...';
		fnLoad()
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();
    try 
		{
      if (sMethod == "GET") 
			{
        xmlhttp.open(sMethod, sURL+"?"+sVars, rType);
				requestTimer = setTimeout(function() {xmlhttp.abort(); alert('پاسخی از سرویس دهنده دریافت نشد. لطفاً اتصال اینترنت را بررسی کنید')}, timeout);
        sVars = "";
      }
      else 
			{
        xmlhttp.open(sMethod, sURL, rType);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function() 
			{
        if (xmlhttp.readyState == 4 && !bComplete) 
				{
					window.status = window.defaultStatus;
          bComplete = true;
					clearTimeout(requestTimer);
					if (xmlhttp.status != 200)  
					{
		      	alert('اشکالی در هنگام دریافت اطلاعات از سرویس دهنده رخ داد. لطفاً مجدداً تلاش نمایید');
    		  	return;
     			}
          fnDone(xmlhttp);
        }
			};
      xmlhttp.send(sVars);
			if(!rType)
				fnDone(xmlhttp);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}
function markRowsInit() {
	var rows = document.getElementsByTagName('tr');
	for ( var i = 0; i < rows.length; i++ ) {
		if (rows[i].className.search('odd')<0 && rows[i].className.search('even')<0) {
		    continue;
		}
	    if ( navigator.appName == 'Microsoft Internet Explorer') {
			rows[i].onmouseover = function() {
			    this.className += ' hover';
			}
			rows[i].onmouseout = function() {
			    this.className = this.className.replace( ' hover', '' );
			}
	    }
	}
}