var XMLHttpRequestObject = createXMLHttpRequestObject();
var show_div_name="show_main";
var loader_div_name="loader";
var loader_image_width=100;
var loader_image_height=100;
 

function createXMLHttpRequestObject()
{
  var XMLHttpRequestObject = false;
  
  try
  {
    XMLHttpRequestObject = new XMLHttpRequest();
  }
  catch(e)
  {
    var aryXmlHttp = new Array(
                               "MSXML2.XMLHTTP",
                               "Microsoft.XMLHTTP",
                               "MSXML2.XMLHTTP.6.0",
                               "MSXML2.XMLHTTP.5.0",
                               "MSXML2.XMLHTTP.4.0",
                               "MSXML2.XMLHTTP.3.0"
                               );
    for (var i=0; i<aryXmlHttp.length && !XMLHttpRequestObject; i++)
    {
      try
      {
        XMLHttpRequestObject = new ActiveXObject(aryXmlHttp[i]);
      } 
      catch (e) {}
    }
  }
  
  if (!XMLHttpRequestObject)
  {
    alert("Error: failed to create the XMLHttpRequest object.");
  }
  else 
  {
    return XMLHttpRequestObject;
  }
}
var browser_height,browser_width;
var browser_scroll_x,browser_scroll_y;
function alertSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  browser_width=myWidth;
  browser_height=myHeight;
 
}
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  browser_scroll_x=scrOfX;
  browser_scroll_y=scrOfY;
}
function getData(dataSource, divID, ifLoading)
{
	
  
	var objDivx = document.getElementById(loader_div_name);	
	objDivx.style.visibility='visible';
	alertSize();
	getScrollXY();
	winW = browser_width;
	winH = browser_height;
	winH=(winH/2)-loader_image_height;
	winW=(winW/2)-loader_image_width;
	objDivx.style.position='absolute';
	winH=winH+browser_scroll_y;
	winW=winW+browser_scroll_x;
	objDivx.style.top=winH;
	objDivx.style.left=winW; 
  if(XMLHttpRequestObject)
  {    
    	
    if(dataSource.indexOf('.php?')==-1)
	{
		dataSource+="?ajx=1";
	}
	else
	{
		dataSource+="&ajx=1";
	}
	XMLHttpRequestObject.open("GET", dataSource);
    XMLHttpRequestObject.onreadystatechange = function()
    {
      try
      {
        if (XMLHttpRequestObject.readyState == 4 &&
            XMLHttpRequestObject.status == 200)
        {
			  var objDiv = document.getElementById(divID);
			  objDiv.innerHTML="";
			  objDiv.innerText="";
			  objDiv.innerHTML = XMLHttpRequestObject.responseText;	
			  dor_loaderx(divID);		  
			  objDivx.style.visibility='hidden';
        }
        else
        {
          if(ifLoading)
          {
			  	     
					
					       
          }
        }
      }
      catch(e){document.write("getData: XMLHttpRequestObject.readyState Error");}
    }
    try
    {
      XMLHttpRequestObject.send(null);
    }
    catch(e){document.write("getData: XMLHttpRequestObject.onreadystatechange Error");}
  }
  //
  

}

function postData(dataSource, divID, ifLoading)
{
  
  var objDivx = document.getElementById(loader_div_name);	
  objDivx.style.visibility='visible';
	alertSize();
	getScrollXY();
	winW = browser_width;
	winH = browser_height;
	winH=(winH/2)-loader_image_height;
	winW=(winW/2)-loader_image_width;
	objDivx.style.position='absolute';
	winH=winH+browser_scroll_y;
	winW=winW+browser_scroll_x;
	objDivx.style.top=winH;
	objDivx.style.left=winW; 
  if(XMLHttpRequestObject)
  {
    	
		if(dataSource.indexOf('.php?')==-1)
		{
			dataSource+="?ajx=1";
		}
		else
		{
			dataSource+="&ajx=1";
		}
		
		XMLHttpRequestObject.open("POST", dataSource);
    	XMLHttpRequestObject.setRequestHeader("Method", "POST " + dataSource + " HTTP/1.1");
	 	XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    
    XMLHttpRequestObject.onreadystatechange = function()
    {
      try
      {
        if (XMLHttpRequestObject.readyState == 4)
        {
          var objDiv = document.getElementById(divID);
          objDiv.innerHTML="";
		  objDiv.innerText="";
		  objDiv.innerHTML = XMLHttpRequestObject.responseText;			  
		  dor_loaderx(divID);
		  objDivx.style.visibility='hidden';
        }
        else
        {
          if(ifLoading)
          {
            		
          }
        }
      }
      catch(e){}
    }
    
    dataSource += "&parm="+new Date().getTime();
    try
    {
      XMLHttpRequestObject.send(dataSource);
    }
    catch(e){document.write("postData: XMLHttpRequestObject.onreadystatechange Error");}
  }
  
}
























function dor_loaderx(show_div) {
    var eList,i;
	var objDiv = document.getElementById(show_div);
    eList =  objDiv.getElementsByTagName("a");
	
	
    for(i=0; i < eList.length; i++) 
	{
				
				if(eList[i].rel.indexOf('javascript')==-1 && eList[i].rel.indexOf('not_ajax')==-1)
				{
							var ajaxUrl;
							
							ajaxUrl = eList[i].href;
							
							var p = parseURLx(ajaxUrl);							
							
							var actual = parseURL(document.location.href);
							
							if (p.protocol == actual.protocol) 
							{
									
									if ( p.protocol != "file" && p.host == actual.host) 
									{
											if (p.port == actual.port)
											{
													
													eList[i].onMouseover="window.status='Click here to go to HTML Goodies'; return true";
													eList[i].href="javascript:getData('"+eList[i].href+"', '"+show_div+"', true)";
													
																								
											}
									}
							}
					
				}
				else
				{
						if(eList[i].rel.indexOf('not_ajax')==-1)
						{
								eList[i].href="";
								eList[i].href=eList[i].rel;
						}
				}
    }
}

function parseURLx(buffer) {

  var result = { };
  result.protocol = "";
  result.user = "";
  result.password = "";
  result.host = "";
  result.port = "";
  result.path = "";
  result.query = "";

  var section = "PROTOCOL";
  var start = 0;
  var wasSlash = false;

  while(start < buffer.length) {
  
    if(section == "PROTOCOL") {
      if(buffer.charAt(start) == ':') {
        section = "AFTER_PROTOCOL";
        start++;
      } else if(buffer.charAt(start) == '/' && result.protocol.length() == 0) { 
        section = PATH;
      } else {
        result.protocol += buffer.charAt(start++);
      }
    } else if(section == "AFTER_PROTOCOL") {
      if(buffer.charAt(start) == '/') {
    if(!wasSlash) {
          wasSlash = true;
    } else {
          wasSlash = false;
          section = "USER";
    }
        start ++;
      } else {
        throw new ParseException("Protocol shell be separated with 2 slashes");
      }       
    } else if(section == "USER") {
      if(buffer.charAt(start) == '/') {
        result.host = result.user;
        result.user = "";
        section = "PATH";
      } else if(buffer.charAt(start) == '?') {
        result.host = result.user;
        result.user = "";
        section = "QUERY";
        start++;
      } else if(buffer.charAt(start) == ':') {
        section = "PASSWORD";
        start++;
      } else if(buffer.charAt(start) == '@') {
        section = "HOST";
        start++;
      } else {
        result.user += buffer.charAt(start++);
      }
    } else if(section == "PASSWORD") {
      if(buffer.charAt(start) == '/') {
        result.host = result.user;
        result.port = result.password;
        result.user = "";
        result.password = "";
        section = "PATH";
      } else if(buffer.charAt(start) == '?') {
        result.host = result.user;
        result.port = result.password;
        result.user = "";
        result.password = "";
        section = "QUERY";
        start ++;
      } else if(buffer.charAt(start) == '@') {
        section = "HOST";
        start++;
      } else {
        result.password += buffer.charAt(start++);
      }
    } else if(section == "HOST") {
      if(buffer.charAt(start) == '/') {
        section = "PATH";
      } else if(buffer.charAt(start) == ':') {
        section = "PORT";
        start++;
      } else if(buffer.charAt(start) == '?') {
        section = "QUERY";
        start++;
      } else {
        result.host += buffer.charAt(start++);
      }
    } else if(section == "PORT") {
      if(buffer.charAt(start) = '/') {
        section = "PATH";
      } else if(buffer.charAt(start) == '?') {
        section = "QUERY";
        start++;
      } else {
        result.port += buffer.charAt(start++);
      }
    } else if(section == "PATH") {
      if(buffer.charAt(start) == '?') {
    section = "QUERY";
    start ++;
      } else {

    result.path += buffer.charAt(start++);
      }
    } else if(section == "QUERY") {
      result.query += buffer.charAt(start++);
    }
  }

  if(section == "PROTOCOL") {
    result.host = result.protocol;
    result.protocol = "http";
  } else if(section == "AFTER_PROTOCOL") {
    throw new ParseException("Invalid url");
  } else if(section == "USER") {
    result.host = result.user;
    result.user = "";
  } else if(section == "PASSWORD") {
    result.host = result.user;
    result.port = result.password;
    result.user = "";
    result.password = "";
  }

  return result;
}
function link(l)
{
			window.open(l,'_blank')
}