//window.onerror=new Function('return true;');

var curProportions=new Array(16, 16);
var curPreloader='';
var selectorOpened=false;
var allowHideSelector=false;
var allowHideSubscription=false;
var genImage='';
var imageTimeout=0;

function resetProportions()
{
	document.getElementById('widthId').value=curProportions[0];
	document.getElementById('heightId').value=curProportions[1];
}
function constrainProportions(prop, val)//prop->0=>width; prop->1=>height
{
	if(!isNaN(val) && val>0)
	{
		if(document.getElementById('proportionsId').checked)
		{
			if(prop)
			{
				h=val;
				w=parseInt(val)*(curProportions[0]/curProportions[1]);
			}
			else
			{
				w=val;
				h=parseInt(val)*(curProportions[1]/curProportions[0]);
			}
			document.getElementById('widthId').value=parseInt(w);
			document.getElementById('heightId').value=parseInt(h);
		}
	}
	else
	{
		document.getElementById('widthId').value='';
		document.getElementById('heightId').value='';
	}
}

function moveDown()
{
	selectorOpened=true;
	if(document.getElementById('preloadersDiv'))
		document.getElementById('preloadersDiv').className='preloaders_div vis';
}

function moveUp()
{
	if(allowHideSelector)
	{
		selectorOpened=false;
		if(document.getElementById('preloadersDiv'))
			document.getElementById('preloadersDiv').className='displaynone';
	}
}

function selectPreloader(pId)
{
	document.getElementById('preloaderId').value=preloadersArr[pId][0];
	document.getElementById('widthId').value=curProportions[0]=preloadersArr[pId][1];
	document.getElementById('heightId').value=curProportions[1]=preloadersArr[pId][2];
	curPreloader=pId;
	moveUp();
}


function generatePreloader(download, speed, foreColor, backColor, width, height, transparency, reverse, origColors)
{
	if(transparency)
		transparency=1;
	else
		transparency=0;
		
	if(reverse)
		reverse=1;
	else
		reverse=0;

    if(origColors)
        origColors=1;
    else
        origColors=0;
	
	var cont=true;
	if(!curPreloader)
	{
		cont=false;
		document.getElementById('contentDiv2').innerHTML='<center><div class="err">'+texts[0]+'</center></div>';
	}
	else if(width>220 || width<5 || height>220 || height<5)
	{
		cont=false;
		document.getElementById('contentDiv2').innerHTML='<center><div class="err">'+texts[1]+'</center></div>';
	}

	if(cont)
	{
		/*if(transparency)
		t=1;
		else
		t=0;*/
		t=transparency;


		if(download)
		{
			window.frames['generatorFrame'].location.href='/generator.php?image='+curPreloader+'&speed='+speed+'&fore_color='+foreColor+'&back_color='+backColor+'&size='+width+'x'+height+'&transparency='+t+'&reverse='+reverse+'&download&uncacher='+(Math.random()*100);
		}
		else
		{
			document.getElementById('mLoadingDiv2').innerHTML=texts[3]+'...';
			document.getElementById('contentDiv2').innerHTML='';
			//alert('/generator.php?image='+curPreloader+'&speed='+speed+'&fore_color='+foreColor+'&back_color='+backColor+'&size='+width+'x'+height+'&transparency='+t+'&reverse='+reverse+'&uncacher='+(Math.random()*100), 'showImage(\''+speed+'\', \''+foreColor+'\', \''+backColor+'\', \''+width+'\', \''+height+'\', '+transparency+', '+reverse+')');
			imageLoader('/generator.php?image='+curPreloader+'&speed='+speed+'&fore_color='+foreColor+'&back_color='+backColor+'&size='+width+'x'+height+'&transparency='+t+'&reverse='+reverse+'&orig_colors='+origColors+'&uncacher='+(Math.random()*100), 'showImage(\''+speed+'\', \''+foreColor+'\', \''+backColor+'\', \''+width+'\', \''+height+'\', '+transparency+', '+reverse+', '+origColors+')');
//alert('/generator.php?image='+curPreloader+'&speed='+speed+'&fore_color='+foreColor+'&back_color='+backColor+'&size='+width+'x'+height+'&transparency='+t+'&reverse='+reverse+'&orig_colors='+origColors+'&uncacher='+(Math.random()*100));
		}
	}
}

function imageLoader(s, fun)
{
	clearTimeout(imageTimeout);
	imageTimeout=0;
	genImage = new Image();
	genImage.onload=function (){imageTimeout=setTimeout(fun, 0)};
	genImage.onerror=new Function('document.getElementById(\'contentDiv2\').innerHTML=\'<div class="err">Anti-flood system: <br />Could not generate the image. Please try again.</div>\';document.getElementById(\'mLoadingDiv2\').innerHTML=\'\'');
	genImage.src=s;
}

function showImage(speed, foreColor, backColor, width, height, transparency, reverse, origColors)
{
	var curDiv=document.getElementById('contentDiv2');
	curDiv.innerHTML='';
	curDiv.appendChild(genImage);
	curDiv.innerHTML+='<br /><br /><center><a href="#" class="download_button" title="Download"onclick="generatePreloader(true, \''+speed+'\', \''+foreColor+'\', \''+backColor+'\', \''+width+'\', \''+height+'\', '+transparency+', '+reverse+', '+origColors+'); return false;"></a><br /><table border="0"><tr><td><div class="empty_href">'+words[0]+':&nbsp;&nbsp;&nbsp;</td><td><div id="fileSizeDiv" class="empty_href">'+words[1]+'</div></td></tr></table></div></center>';
	
	makeRequest('http://preloaders.net/file_size.php?image='+curPreloader+'&speed='+speed+'&fore_color='+foreColor+'&back_color='+backColor+'&size='+width+'x'+height+'&transparency='+transparency+'&orig_colors='+origColors, 'showFileSize');
	
	document.getElementById('mLoadingDiv2').innerHTML='';
}

function showFileSize()
{
	if(document.getElementById('fileSizeDiv'))
	{
		fD=document.getElementById('fileSizeDiv');
		if(dataReturn=='0' || dataReturn=='')
			fD.innerHTML=words[2];
		else
		{
			var tR=dataReturn+' B (~'+Math.round((dataReturn/1024))+' KB)';
			fD.innerHTML=tR;
		}
	}
	else
		fD.innerHTML=words[2];
}