var xmlHttp;
var _xmlHttp;
var obj;

function changeskill(_obj,value)
{
	_obj.Skill.value = value;
	checklevel(_obj);
}

function GetXmlHttpObject(handler)
{ 
	var objXmlHttp=null;
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP";
		} 
		try
		{ 
			objXmlHttp=new ActiveXObject(strName);
			objXmlHttp.onreadystatechange=handler ;
			return objXmlHttp;
		} 
		catch(e)
		{ 
			alert("Error. Scripting for ActiveX might be disabled"); 
			return ;
		} 
	}
	else
	{
		objXmlHttp=new XMLHttpRequest();
		objXmlHttp.onload=handler;
		objXmlHttp.onerror=handler;
		return objXmlHttp;
	}
}

function pw_time(_obj)
{
	obj = _obj;
	document.getElementById("loadstatus").innerHTML = "Loading...";
	xmlHttp=GetXmlHttpObject(time_date);
	xmlHttp.open("GET", "time.xml" , true);
	xmlHttp.send(null);
}

function time_date()
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
		document.getElementById("loadstatus").innerHTML = "&nbsp;";
		xmlroot = xmlHttp.responseXML.getElementsByTagName("time");
		
		startlevel= parseInt(obj.startlevel.value);
		endlevel= parseInt(obj.endlevel.value);
		
		if (startlevel < 1)
		{
			startlevel=1;
			obj.startlevel.value = startlevel;
		}
		if (endlevel > 99)
		{
			endlevel=99;
			obj.endlevel.value = endlevel;
		}
		
		if (startlevel < endlevel)
		{
			var time=0;
			var amount=0;
			var add=0;
			var pwdate=obj.Skill.options[obj.Skill.selectedIndex].value;
			
			for (var i = startlevel; i < endlevel; i++)
			{
				var leveltime = parseFloat(xmlroot[i-1].getElementsByTagName(pwdate)[0].firstChild.nodeValue);
				time = time + leveltime;
				if (i >= 55 && pwdate == "Magic")
				{
					add = add + leveltime;
				}
				if (i >= 40 && i < 55 && pwdate == "Thieving")
				{
					add = add + leveltime;
				}
			}
			time = time * 1.3;
			add = add * 1.3;
			amount = ( time + add ) * 90 / 12 / 7.2;
		}
		else
		{
			amount = 0;
			time = 0;
		}
		obj.time.value = Math.ceil(time*100)/100;
		if (obj.currency_code.options[obj.currency_code.selectedIndex].value == "GBP")
		{
			amount = amount/1.8;
		}
		obj.amount.value = Math.ceil(amount*70)/100;
	}
}

function pw_expend(_obj)
{
	obj = _obj;
	document.getElementById("loadstatus").innerHTML = "Loading...";
	_xmlHttp=GetXmlHttpObject(expend_date);
	_xmlHttp.open("GET", "expend.xml" , true);
	_xmlHttp.send(null);
}

function expend_date()
{
	if (_xmlHttp.readyState==4 || _xmlHttp.readyState=="complete")
	{
		document.getElementById("loadstatus").innerHTML = "&nbsp;";
		xmlroot = _xmlHttp.responseXML.getElementsByTagName("expend");
		
		startlevel= parseInt(obj.startlevel.value);
		endlevel= parseInt(obj.endlevel.value);
		
		if (startlevel < 1)
		{
			startlevel=1;
			obj.startlevel.value = startlevel;
		}
		if (endlevel > 99)
		{
			endlevel=99;
			obj.endlevel.value = endlevel;
		}
		
		if (startlevel < endlevel)
		{
			var price=0;
			var pwdate=obj.Skill.options[obj.Skill.selectedIndex].value;
			for (var i = startlevel; i < endlevel; i++)
			{
				price = price + parseFloat(xmlroot[i-1].getElementsByTagName(pwdate)[0].firstChild.nodeValue);
			}
		}
		else
		{
			price = 0;
		}
		price = price * 7;
		if (obj.currency_code.options[obj.currency_code.selectedIndex].value == "GBP")
		{
			price = price / 1.7;
		}
		obj.amount.value = Math.ceil((parseFloat(obj.amount.value)+ price) * 100) / 100;
	}
}

function changelevel(_obj){
	switch (_obj.Skill.options[_obj.Skill.selectedIndex].value)
	{
		case "Attack":
		case "Strength":
		case "Defence":
		case "Thieving":
		case "Woodcutting":
		case "Firemaking":
		case "Fishing":
		case "Mining":
		case "Agility":
			pw_time(_obj);
			break;
		case "Magic":
		case "Ranged":
		case "Prayer":
		case "Crafting":
			pw_time(_obj);
			pw_expend(_obj);
			break;
	}
}

function checklevel(_obj){
	var reg =  /[1-9]/;
	if (!reg.test(_obj.startlevel.value)) {
		alert("Your Level err!");
		_obj.startlevel.focus();
		_obj.startlevel.select();
		return false;
	}
	if (!reg.test(_obj.endlevel.value)) {
		alert("Desired Level err!");
		_obj.endlevel.focus();
		_obj.endlevel.select();
		return false;
	}
	changelevel(_obj);
	return true;
}

function febaypaypal(_obj){
    var _business = 'rsgamepay@yahoo.com';
	if(_obj['character'].value.length==0){
		alert('please input your character name!');
		_obj['character'].focus();
		return false;
	}
	if(!checklevel(_obj)) return false;

	switch (_obj['currency_code'].value)
	{
		case "USD":
			if(_obj['amount'].value < 20) {
				alert("Sorry,the minimum of purchasing power leveling must be higher than 20 dollars or 11 pounds. ");
				return false;
				}
		break;
		case "GBP":
			if(_obj['amount'].value < 11) {
				alert("Sorry,the minimum of purchasing power leveling must be higher than 20 dollars or 11 pounds. ");
				return false;
				}
		break;
	}
	_obj['item_name'].value='[www.salerunescapeitems.com]RS Powerleveling: '+_obj['Skill'].options[_obj['Skill'].selectedIndex].value+' '+_obj['startlevel'].value+' - '+_obj['endlevel'].value+' Level - '+_obj['time'].value+' Hours';
	_obj['item_number'].value=_obj['character'].value;
	_obj['business'].value=_business;
	return true;
}