var xmlHttp;
var urlx;
var urlz;
var which;
var finished = true;
var bar = 9;
var m_val = 0;
var zz = 0;
var xx = 0;
var tmp_pp = 0
function isAjaxSet() //Checks if the ajax functions is set in browser
{
	xx = 0;
	xmlHttp = false;
	try
	{
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e)
	{
		try
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e2)
		{
			xmlHttp = false;
		}
	}
	if (!xmlHttp && typeof XMLHttpRequest != 'undefined')
		xmlHttp = new XMLHttpRequest();
	return xmlHttp;
}

function CallServer(whi) //Public method which is used in onClick events
{
	isAjaxSet();
	if(whi == "urlx")
		var url = urlx;
	else if(whi == "urly")
		var url = urly;		
	else
		var url = urlz;	
	which = whi;
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = updatePage;
	xmlHttp.send(null);
}

function CampCallServer() //Public method which is used in onClick events
{
	isAjaxSet();
	var url = "3rdparties/campaign_selector.php?cs=" + document.getElementById('campaign_select').value;
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = campUpdatePage;
	xmlHttp.send(null);
}

function BarCallServer() //Public method which is used in onClick events
{
	isAjaxSet();
	var url = "3rdparties/mail_no.php?xd=" + document.getElementById('xd').value + "&yd=" + document.getElementById("YetAnotherDate").value + "cm=" + document.getElementById("cm").value;
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = barUpdatePage;
	xmlHttp.send(null);
}

function barUpdatePage()
{
	if(xmlHttp.readyState != 4)
	{
		document.getElementById("bar_loading_img").style.visibility = "visible";
	}
	if(xmlHttp.readyState == 4) //Loading completed
	{
		var response = xmlHttp.responseText;
		var m_number = response.substring(3).valueOf();
		var default_width = 192;
		m_number++;
		m_number--;
		if(document.getElementById("cm").value.valueOf() < m_number.valueOf()) //Limitation is full
		{
			percentage = 100;
			document.getElementById('bar_grad').style.width = default_width + "px";
		}
		else			
		{
			var xxtmp_pp = response.substring(3).valueOf();
			xxtmp_pp++;
			xxtmp_pp--;
			xxtmp_pp += tmp_pp;
			if(xxtmp_pp > document.getElementById("cm").value.valueOf())
			{
				alert("The selected campaign will exceed the mail number limitation and won't be saved!");
				return;
			}
			var percentage = (xxtmp_pp / document.getElementById("cm").value.valueOf()) * 100;
			var after_width = (percentage * default_width) / 100;
			if(percentage > 10)
			{
				if(percentage >= 70)
					document.getElementById('bar_grad').style.background = "url('" + document.getElementById('path').value + "report/images/bar_grad.png')";
				else if(percentage >= 40 && percentage < 70)
					document.getElementById('bar_grad').style.background = "url('" + document.getElementById('path').value + "report/images/bar_grad_orange.png')";
				else
					document.getElementById('bar_grad').style.background = "url('" + document.getElementById('path').value + "report/images/bar_grad_green.png')";
				m_val = Math.floor(after_width);
				xx = document.getElementById('bar_grad').style.width.replace('px', '');
				xx++;
				xx--;
				if(xx > Math.ceil(after_width))
					zz = window.setTimeout(reduce, 1);
				else if(xx <= Math.floor(after_width))
					zz = window.setTimeout(blow_up, 1);
			}
			else
			{
				document.getElementById('bar_grad').style.background = "url('" + document.getElementById('path').value + "report/images/bar_grad_green.png')";				
				m_val = 9;
				xx = document.getElementById('bar_grad').style.width.replace('px', '');
				xx++;
				xx--;				
				zz = window.setTimeout(reduce, 1);
			}
		}
		document.getElementById('bar_grad').innerText = percentage.toString().substr(0, 4) + "%";
		document.getElementById('bar_grad').innerContent = percentage.toString().substr(0, 4) + "%";
		document.getElementById('bar_grad').innerHTML = percentage.toString().substr(0, 4) + "%";
	}	
}

function reduce()
{
	document.getElementById('bar_grad').style.width = xx + "px";			
	if(xx > m_val)
	{
		xx -= 10;
		zz = window.setTimeout(reduce, 1);		
	}
	else
	{
		document.getElementById('bar_grad').style.width = m_val + "px";		
		document.getElementById("bar_loading_img").style.visibility = "hidden";		
		window.clearTimeout(zz);
	}
}

function blow_up()
{
	document.getElementById('bar_grad').style.width = xx + "px";
	if(xx <= m_val)	
	{
		xx += 10;
		zz = window.setTimeout(blow_up, 1);		
	}
	else
	{
		document.getElementById('bar_grad').style.width = m_val + "px";				
		document.getElementById("bar_loading_img").style.visibility = "hidden";		
		window.clearTimeout(zz);		
	}
}

function campUpdatePage()
{
	if(xmlHttp.readyState != 4)
	{
		document.getElementById("campaign_chooser_under").style.visibility = "visible";
	}
	if(xmlHttp.readyState == 4) //Loading completed
	{
		var response = xmlHttp.responseText;
		if(document.getElementById('refresher').value == "y")
			window.location = window.location;
		document.getElementById("campaign_chooser_under").style.visibility = "hidden";			
	}	
}

function updatePage() //Handles the response of server
{
	finished = false;
	if(xmlHttp.readyState != 4 && which == "urlx" && urlx != "NULL")
	{
		var tmp = '<div id="ajax_loader" style="padding-top:15px; padding-left:58px; visibility:visible;"><img src="images/ajax-loader.gif" width="43" height="11" /></div>';
		try
		{
			document.getElementById("users_num").innerHTML = tmp;
			document.getElementById("users_num").innerContent = tmp;
		}
		catch (e)
		{
		}
	}
	if(xmlHttp.readyState == 4 && which == "urlx" && urlx != "NULL") //Loading completed
	{
		var response = xmlHttp.responseText;
		var tmp = response + '<div id="ajax_loader" style="padding-top:15px; padding-left:58px; visibility:hidden;"><img src="images/ajax-loader.gif" width="43" height="11" /></div>';
		try
		{		
			document.getElementById("users_num").innerHTML = tmp;
			document.getElementById("users_num").innerContent = tmp;
		}
		catch (e)
		{
		}			
		if(urly != "NULL")
			CallServer("urly");		
	}
	if(xmlHttp.readyState != 4 && which == "urly" && urly != "NULL")
	{
		var tmp = '<div id="ajax_loader3" style="padding-left:58px; visibility:visible;"><img src="images/ajax-loader.gif" width="43" height="11" /></div>';
		document.getElementById("visitors").innerHTML = tmp;
		document.getElementById("visitors").innerContent = tmp;
	}
	if(xmlHttp.readyState == 4 && which == "urly" && urly != "NULL") //Loading completed
	{
		var response = xmlHttp.responseText;
		var tmp = response + '<div id="ajax_loader3" style="padding-left:58px; visibility:hidden;"><img src="images/ajax-loader.gif" width="43" height="11" /></div>';
		document.getElementById("visitors").innerHTML = tmp;
		document.getElementById("visitors").innerContent = tmp;
		if(urlz != "NULL")
			CallServer("urlz");		
	}	
	if(xmlHttp.readyState != 4 && which == "urlz" && urlz != "NULL")
	{
		var tmp = '<div id="ajax_loader2" style="padding-left:58px; visibility:visible;"><img src="images/ajax-loader.gif" width="43" height="11" /></div>';
		document.getElementById("today_users_num").innerHTML = tmp;
		document.getElementById("today_users_num").innerContent = tmp;
	}
	if(xmlHttp.readyState == 4 && which == "urlz" && urlz != "NULL") //Loading completed
	{
		var response = xmlHttp.responseText;
		var tmp = response + '<div id="ajax_loader2" style="padding-left:58px; visibility:hidden;"><img src="images/ajax-loader.gif" width="43" height="11" /></div>';
		document.getElementById("today_users_num").innerHTML = tmp;
		document.getElementById("today_users_num").innerContent = tmp;
		finished = true;
	}	
}

function tmp()
{
	if(urlx != "NULL" && finished)
		CallServer("urlx");
	window.setTimeout(tmp, 10000); 		
}
