var xmlHttp;
var list_href=new Array();
var list_src=new Array();
var bHaveUC=false;
var bRmvUC=null;

function getUrlPath(str)
{
	var pathStr="";
	if(str.search(/http:\/\//i) == 0)
	{
		pathStr=str.substring(7,str.length);
	}
	var query_pos=pathStr.search(/\?/i);
	if(query_pos != -1)
	{
		pathStr=pathStr.substring(0,query_pos-1);
	}
	end_pos=pathStr.search(/\//i);
	if(end_pos == -1)
	{
		pathStr="http://" + str + "/";
		return pathStr;
	}
	i=pathStr.length-1;
	while(i >= 0)
	{
		if(pathStr.charAt(i) == '/')
			break;
		i--;
	}
	if(i <= 0)
		return "";
	pathStr=pathStr.substring(0,i);
	pathStr="http://" + pathStr + "/";
	return pathStr;
}

/*
function getUrlFilename(str)
{
	var fileStr=str;
	var query_pos=fileStr.search(/?/i);
	if(query_pos != -1)
	{
		fileStr=fileStr.substring(0,query_pos-1);
	}
	end_pos=fileStr.search(/\//i);
	if(end_pos == -1)
	{
		fileStr="";
		return fileStr;
	}
	i=fileStr.length-1;
	while(i >= 0)
	{
		if(fileStr.charAt(i) == '/')
			break;
		i--;
	}
	if(i <= 0)
		return "";
	fileStr=fileStr.substring(i+1,fileStr.length-1);
	return fileStr;
}
*/

function clickRUC()
{
	bRmvUC=document.getElementById("checkbox_uc").checked;
}

function removeImage(img)
{
	if(img < 0 || img > list_href.length)
		alert("Error: overflow of array!");
	var i;
	for(i=img;i<list_href.length-1;i++)
	{
		list_href[i]=list_href[i+1];
	}
	for(i=img;i<list_src.length-1;i++)
	{
		list_src[i]=list_src[i+1];
	}
	list_href.pop();
	list_src.pop();
	writeAlbum();
}

function writeAlbum()
{
	var i=0;
	var imagebody="<table>";
	var imagecode="";;
	imagebody += "<tr>";
	if(list_href.length == 0)
	{
		alert("No images found in this album page!");
		imagebody="No images found in this album page!";
	}
	else
	{
		for(i=0;i<list_href.length;i++)
		{
			if(i%4 == 0 && i != 0)
			{
				imagebody += "</tr><tr>";
			}
			imagebody += "<td width=\'0%\' align=\'center\'>";
			imagebody += "<a target=\'_new\' href=\'" + list_href[i] + "\'><img style=\'max-width:120px;\'  border=\'0\' alt=\'click here to enlage\' src=\'" + list_src[i] + "\' /></a>";
			imagebody += "<br><input type=checkbox onclick=\'removeImage(" + i +")\'> Delete";
			imagebody += "</td>";

			imagecode += "<input type=hidden name=list_href";
			imagecode += i;
			imagecode += " value=\'";
			imagecode += list_href[i];
			imagecode += "\'>";
			imagecode += "<input type=hidden name=list_src";
			imagecode += i;
			imagecode += " value=\'";
			imagecode += list_src[i];
			imagecode += "\'><br>\n";

			if(list_href[i].search(/usercash/i) != 0)
				bHaveUC=true;

		}
		imagebody += "</tr>";
		imagebody += "</table>";
	}
	document.getElementById("album_preview").innerHTML=imagebody;
	document.getElementById("image_code").innerHTML=imagecode;
	if(bHaveUC)
	{
		if(bRmvUC == null)
			bRmvUC=confirm("Do you want to remove Usercash link?\nIf you keep Usercash link you imgLinks traffic will NOT generate revenue.");
		document.getElementById("checkbox_uc").checked=bRmvUC;
		document.getElementById("remove_usercash1").style.display='block';
		document.getElementById("remove_usercash2").style.display='block';
		document.getElementById("remove_usercash3").style.display='block';
	}
}

function createXMLHttpRequest()
{
    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
    return xmlHttp;
}

function pageAlbumPreview() 
{
	document.getElementById("waiting_img").style.visibility='visible';
	document.getElementById("button_stop_process").style.visibility='visible';
	document.getElementById("button_process_url").disabled=true;
	document.getElementById("button_process_url").value='Processing ...';
	document.getElementById("button_save").disabled=true;
	document.getElementById("remove_usercash1").style.display='none';
	document.getElementById("remove_usercash2").style.display='none';
	document.getElementById("remove_usercash3").style.display='none';
	if(typeof(bRmvUC) == 'boolean' && bRmvUC == false)
		bRmvUC=null;
	document.getElementById("album_preview").innerHTML="Processing, please wait for a while...";
	var page_url = escape(document.getElementById("page_album_url").value);
	var get_url = "get_page.php?url=" + page_url;
	createXMLHttpRequest();
	xmlHttp.open("GET", get_url,true);
	xmlHttp.onreadystatechange = callback;
	xmlHttp.send(null);
        return true;
}

function Abort()
{
	xmlHttp.abort();
	document.getElementById("album_preview").innerHTML="Please enter url and press \'Process URL\' to create an album page.";
	document.getElementById("waiting_img").style.visibility='hidden';
	document.getElementById("button_stop_process").style.visibility='hidden';
	document.getElementById("button_process_url").disabled=false;
	document.getElementById("button_process_url").value='Process URL';
	document.getElementById("button_save").disabled=false;
}

function callback()
{
	if (xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			xmlHttp.responseText;
			var req_url=getUrlPath(document.getElementById("page_album_url").value);
			var list=getImagesList(xmlHttp.responseText,req_url);
			
			list_href=list[0];
			list_src=list[1];
	
			writeAlbum();
		}
		else
		{
			alert('Can not load page from the URL!');
			document.getElementById("album_preview").innerHTML="Can not load page from the URL.";
		}
		document.getElementById("waiting_img").style.visibility='hidden';
		document.getElementById("button_stop_process").style.visibility='hidden';
		document.getElementById("button_process_url").disabled=false;
		document.getElementById("button_process_url").value='Process URL';
		document.getElementById("button_save").disabled=false;
	}
}

function getImagesList(str,req_url)
{
	buffer=str;
	
	var list=new Array();
	
	var list_href=new Array();
	var list_src=new Array();
	
	var i=0;
	while(buffer.length > 0)
	{
		var beg_pos=buffer.search(/<a/i);
		if(beg_pos == -1)
			break;
		buffer=buffer.substring(beg_pos,buffer.length);
		var end_pos=buffer.search(/<\/a>/i);
		if(end_pos == -1)
			break;
		list[i]=buffer.substring(0,end_pos+4);
		i++;
		buffer=buffer.substring(end_pos+4,buffer.length);
	}
	var img_list=new Array();
	var j=0;
	for(i=0;i<list.length;i++)
	{
		if(list[i].search(/<img/i) != -1)
		{
			var pos=list[i].search(/>/i);
			var a_str=list[i].substring(0,pos+1);
			buffer=list[i].substring(pos+1,list[i].length-1);
			pos=buffer.search(/<img/i);
			buffer=buffer.substring(pos,buffer.length-1);
			pos=buffer.search(/>/i);
			buffer=buffer.substring(0,pos+1);
			img_list[j]=a_str+buffer+'</a>';
			j++;
		}
	}
	
	j=0;	
	for(i=0;i<img_list.length;i++)
	{
		beg_pos=img_list[i].search(/href=/i);
		var a_href=img_list[i].substring(beg_pos+5,img_list[i].length-1);
		end_pos=a_href.search(/[\s>]/i);
		a_href=a_href.substring(0,end_pos);
		
		if(a_href.charAt(0) == '\"' || a_href.charAt(0) == '\'')
		{
			a_href=a_href.substring(1,a_href.length-1);
		}
		
		if(a_href.search(/http:/i) != 0)
		{
			a_href=req_url + a_href;
		}
		
		beg_pos=img_list[i].search(/src=/i);
		var a_src=img_list[i].substring(beg_pos+4,img_list[i].length-1);
		end_pos=a_src.search(/[\s>]/i);
		a_src=a_src.substring(0,end_pos);
		
		if(a_src.charAt(0) == '\"' || a_src.charAt(0) == '\'')
		{
			a_src=a_src.substring(1,a_src.length-1);
		}
		
		if(a_src.search(/http:/i) != 0)
		{
			a_src=req_url + a_src;
		}

		if(a_src.search(/\?/i) != -1)
		{
			continue;
		}
		 
		if(a_src.search(/sharedlinks.net/i) != -1 || a_src.search(/sharedimages.org/i) != -1 || a_src.search(/hotlinkimage/i) != -1)
		{
			continue;
		}
		list_href[j] = a_href;
		list_src[j] = a_src;
		j++;
	}
	
	var ret_list=new Array();
	ret_list[0]=list_href;
	ret_list[1]=list_src;
	return ret_list;
}