/** Copyright (C) http://HaLa.us 2010. All Rights Reserved. */

ImageElementList = new Array();
ImageElementStatusList = new Array();
ImageElementURLList = new Array();
ImageElementSizeList = new Array();
var ImageElementListCurr=0;
var ImageElementListNow=0;
var ImageElementListCount=0;

function ResetImageElement()
{}
function InitAjax(http_request)
  {
  	if (window.XMLHttpRequest) 
		{ // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) 
			{
				http_request.overrideMimeType('text/xml');
			}
		} else if (window.ActiveXObject) 
		{ // IE
			try 
			{
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) 
			{
				try 
				{
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} 
				catch (e) 
        		{
        			return 0;
        		}
			}
		}	
		return http_request;
  }

function TimeOutCheck()
{	
	for(ImageElementListNow=0;ImageElementListNow<ImageElementListCurr;ImageElementListNow++)
		{
			if(ImageElementStatusList[ImageElementListNow]==0)
			{
				var http_request = false;
				ImageElementStatusList[ImageElementListNow]=1;
				http_request=InitAjax(http_request);
				if (!http_request) 
				{
					alert('Giving up :( Cannot create an XMLHTTP instance');
					return;
				}
				QueryImageStatus(ImageElementList[ImageElementListNow],http_request,ImageElementURLList[ImageElementListNow],ImageElementSizeList[ImageElementListNow]);
			}	
		}
}  
function GetEmptyFromImageElementList()
{
	var i;	
	for(i=0;i<ImageElementListCurr;i++)
	{
		if(ImageElementStatusList[i]==1)	
			return i;
	}
	return -1;
}
function AddToContinueQuery(ImageElement,TargetURL,Size)
{
	var vIndex;
	vIndex=GetEmptyFromImageElementList();
	if(vIndex==-1)
	{
			vIndex=ImageElementListCurr;
			ImageElementListCurr++;	
	}
	ImageElementStatusList[vIndex]=0;		
	ImageElementList[vIndex]=ImageElement;	
	ImageElementURLList[vIndex]=TargetURL;
	ImageElementSizeList[vIndex]=Size;	
	setTimeout(TimeOutCheck, 60000); 
}
function handleHttpResponse(ImageElement,http_request,TargetURL,Size) 
  { 
  	var vIndex;
		if (http_request.readyState == 4 && http_request.status == 200)
		{ 
			var message = http_request.responseText ; 
			vIndex= http_request.responseText.indexOf("NONE",0);
			if(vIndex!=-1 && vIndex<4)
			{
				AddToContinueQuery(ImageElement,TargetURL,Size)
				return 0;
			}
			else
			{ 
				ImageElement.src=message;
				return message;
			}
		} 
	} 
	function QueryImageStatus(ImageElement,http_request,TargetURL,Size)
  {
  	var PostString="/as-query-image.php";
  	var Parameters= "url=" +  encodeURI(TargetURL) + "&size=" + Size;//L=400*250 S=120*120
  	var i;
  	http_request.onreadystatechange = function() { 
                                      handleHttpResponse(ImageElement,http_request,TargetURL,Size); };
		http_request.open('POST',PostString, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", Parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(Parameters);		
		return ;
  }  
function AddImageElement(ImageElement,ImageElementURL,Size)
{
	var http_request = false;
	
	if(Size=="L")
		ImageElement.src="http://image.hala.us/UnderConsL.jpg";
	else
		ImageElement.src="http://image.hala.us/UnderConsS.jpg";
		
	http_request=InitAjax(http_request);
	if (!http_request) 
	{
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return;
	}
	QueryImageStatus(ImageElement,http_request,ImageElementURL,Size);
	return;	
}
function UpdateWebsiteSnapShotSession()
{}

