var ContactHintHideSpeed = 10000;
var urlCustomerSupportLink = 'https://admin.instantservice.com/links/5720/20025';

Event.observe(window, 'load', InitializeMainSuggester, false);

function findPos(obj)
{
	var objLeft = objTop = 0;
	var objWidth = objHeight = 0;

	/*if (typeof(obj) == 'string')
		obj = document.getElementById(obj);*/

	objWidth = obj.offsetWidth;
	objHeight = obj.offsetHeight;
//	objWidth = obj.width;
//	objHeight = obj.height;
	if (obj.offsetParent)
	{
		do
		{
			objLeft += obj.offsetLeft;
			objTop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}

	return [objLeft, objTop, objWidth, objHeight];
}

function getWindowSize()
{
	var wWidth = 0, wHeight = 0;
	var xScroll = 0, yScroll = 0;

	if (typeof( window.innerWidth ) == 'number') //Non-IE
	{
		wWidth = window.innerWidth;
		wHeight = window.innerHeight;
		xScroll = window.pageXOffset;
		yScroll = window.pageYOffset;
	}
	else if (document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight )) //IE 6+ in 'standards compliant mode'
	{
		wWidth = document.documentElement.clientWidth;
		wHeight = document.documentElement.clientHeight;
		xScroll = document.documentElement.scrollLeft;
		yScroll = document.documentElement.scrollTop;
	}
	else if (document.body && ( document.body.clientWidth || document.body.clientHeight )) //IE 4 compatible
	{
		wWidth = document.body.clientWidth;
		wHeight = document.body.clientHeight;
		xScroll = document.body.scrollLeft;
		yScroll = document.body.scrollTop;
	}

	return [wWidth, wHeight, xScroll, yScroll];
}

function setOpacity(obj, value)
{
	if (typeof(obj) == 'string')
		obj = document.getElmentById(obj);

	obj.style.opacity = value / 10;
	obj.style.filter = 'alpha(opacity=' + (value * 10) + ')';
}

//SUGGESTER BY GAME AND/OR SERVER

function InitializeMainSuggester()
{
	var Options =
	{
		TargetElement: 'USServersSuggester',
		DataSource: '/Ajax/SuggestServerAndGame.php',
		LettersToSuggestion: 2,
		Suggestions: 100,
		DivClass: 'SuggestPane',
		ListItemClass: 'MainServerSuggestionItem',
		ListItemHover: 'MainServerSuggestionItemHover',
		ListItemCategory: 'MainServerSuggestionItemCat',
		GameId: 65
	}

	var USSuggesterObj = new Suggester();

	USSuggesterObj.Initialize(Options);
	
	var Options =
	{
		TargetElement: 'EuroServersSuggester',
		DataSource: '/Ajax/SuggestServerAndGame.php',
		LettersToSuggestion: 2,
		Suggestions: 100,
		DivClass: 'SuggestPane',
		ListItemClass: 'MainServerSuggestionItem',
		ListItemHover: 'MainServerSuggestionItemHover',
		ListItemCategory: 'MainServerSuggestionItemCat',
		GameId: 66
	}

	var EuroSuggesterObj = new Suggester();

	EuroSuggesterObj.Initialize(Options);
}

function TypeIn(Id, Value)
{
	document.getElementById(Id).value = Value;
}

function popUp(URL)
{
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=500,height=500,left = 40,top = -88');");
}


function CheckEmail(Email) 
{
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(Email))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function Failure()
{
	$('GeneralMessage').innerHTML = ConnectionError;
}

function ShowMBIframe()
{
	if ($('MoneyBookersIframe'))
	{
		//ShowBackground('dialog');
		
		//var DivLeft = (PageWidth - 620) / 2;
		
		//$('MoneyBookersIframe').style.left = DivLeft + 'px';
		$('MoneyBookersIframe').style.display = 'block';
	}
}

function AddOrder(PaymentMethod)
{
	$('Td_FirstName').innerHTML = '';
	$('Td_LastName').innerHTML 	= '';
	$('Td_Email').innerHTML		= '';
	$('Td_PhoneNumber').innerHTML = '';
	$('PaymentError').innerHTML	= '';
	
	var AddAllowed = true;
	CharArray = new Array;
	AllInputs = document.getElementsByTagName('INPUT');
	k = 0;
	for (var i = 0; i < AllInputs.length; i++)
	{
		if ((AllInputs[i].type == 'text') && (AllInputs[i].id.match(/Char_[0-9]+/i)))
		{
			$('Td_Char' + AllInputs[i].id.replace('Char_', '')).innerHTML = '';
			if ((AllInputs[i].id.replace('Char_', '') == 1) && (AllInputs[i].value == ''))
			{
				$('Td_Char' + AllInputs[i].id.replace('Char_', '')).innerHTML = CharError;
				AddAllowed = false;
			}
			if (AllInputs[i].value != '')
			{
				for (j=0;j<CharArray.length;j++)
				{
					if (CharArray[j] == AllInputs[i].value)
					{
						$('Td_Char' + AllInputs[i].id.replace('Char_', '')).innerHTML = DuplicateChar;
						AddAllowed = false;
					}	
				}

				CharArray[k] = AllInputs[i].value;
				k++;
			}
		}
	}
	
	if ($('FirstName').value == '')
	{
		$('Td_FirstName').innerHTML = FirstNameError;
		AddAllowed = false;
	}
	if ($('LastName').value == '')
	{
		$('Td_LastName').innerHTML = LastNameError;
		AddAllowed = false;
	}
	if (($('Email').value == '') || !CheckEmail($('Email').value))
	{
		$('Td_Email').innerHTML = EmailError;
		AddAllowed = false;
	}
	var exp = /\+?\d+/;

	if (($('PhonePrefix').value != '') && ((!$('PhonePrefix').value.match(exp)) || ($('PhonePrefix').value < 0)))	
	{
		$('Td_PhoneNumber').innerHTML = AreaCodeError;
		AddAllowed = false;
	}
	if ((!$('PhoneNumber').value.match(exp)) || ($('PhoneNumber').value < 0))
	{
		$('Td_PhoneNumber').innerHTML = AreaCodeError;
		AddAllowed = false;
	}
	if ((!$('CountryPrefix').value.match(exp)) || ($('CountryPrefix').value < 0))
	{
		$('Td_PhoneNumber').innerHTML = AreaCodeError;
		AddAllowed = false;
	}

	if ($('C_US').checked)
	{
		CountryId = 223;
	}
	else
	{
		CountryId = 0;
	}
	
	if (AddAllowed)
	{
		var MyAjax = new Ajax.Request
		(
			'/Ajax/OrderCmd.php',
			{
				method: 'post',
				parameters: 'Action=order&FirstName=' + $('FirstName').value +
							'&LastName=' + $('LastName').value +
							'&Email=' + $('Email').value +
							'&CountryId=' + CountryId + 
							'&AreaCode=' + $('PhonePrefix').value +
							'&PhoneNumber=' + $('PhoneNumber').value +
							'&Character=' + CharArray +
							'&CountryCode=' + $('CountryPrefix').value +
							'&PaymentMethod=' + PaymentMethod +
							'&bb=' + encodeURIComponent($('ioBlackBox').value),
				onSuccess: AddOrderSuccess,
				onFailure: Failure
			}
		);
	}

	return AddAllowed;
}

function AddOrderSuccess(response)
{
	eval('var Result=' + response.responseText);
	
	if (!Result.Success)
	{
		//$('PaymentError').innerHTML = Result.Message;
		$(Result.Field).innerHTML = Result.Message;
	}
	else
	{
		if (Result.bbin && !(Result.bbin.length < 1))
		{
			var ifrm = document.getElementById('PageContent');
	        ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
	        ifrm.document.open();
	        ifrm.document.write('<html><body><script type="text/javascript">var s_bbin = "' + Result.bbin + '";var s_bbin_encoded = "' + Result.enbbin + '";var io_operation = "ioEnd";var io_bbout_element_id = "ioBlackBox";var io_install_stm = false;var io_wsdl_url = "' + Result.IovWSDL + '";</script><script type="text/javascript" src="' + Result.IovJS + '"></script></body></html>');
	        ifrm.document.close();
		}
		
		if (Result.PaymentForm)
		{
			$('PaymentDiv').innerHTML = Result.PaymentForm;
			$('PaymentForm').submit();
		}
		else
		{
			if (Result.MBLink)
			{
				window.location = Result.MBLink;
			}
			else
			{
				window.location = Result.CBLink;
			}
		}
	}
}


function LoadPrice(Area, CurrencyId)
{
	if ($('USServersSuggester').value != '')
	{
		ServerName = $('USServersSuggester').value;
	}
	else if ($('EuroServersSuggester').value != '')
	{
		ServerName = $('EuroServersSuggester').value;
	}
	else
	{
		if (!CurrencyId)
		{
			$('GeneralMessage').innerHTML = InvalidServer;
			return false;
		}
		else
		{
			ServerName = '';
		}
	}
	Quantity = $('Blocks').value;
	var MyAjax = new Ajax.Request
		(
			'/Ajax/HomeCmd.php',
			{
				method: 'post',
				parameters: 'Action=LoadPrices' + 
							'&ServerName=' + ServerName +
							'&Quantity=' + Quantity +
							'&CurrencyId=' + CurrencyId + 
							'&Area=' + Area,
				onSuccess: LoadPriceSuccess,
				onFailure: Failure
			}
		);
	
	if (CurrencyId)
	{
		$('curr-1').className = $('curr-1').className.replace('-highlight', '');
		$('curr-2').className = $('curr-2').className.replace('-highlight', '');
		$('curr-3').className = $('curr-3').className.replace('-highlight', '');
		ClassName = $('curr-' + CurrencyId).className;
		ClassName.replace('-highlight', '');
		$('curr-' + CurrencyId).className = ClassName + '-highlight';
	}
}

function LoadPriceSuccess(response)
{
	eval('var Result=' + response.responseText);
	
	if (Result.Success)
	{
		if ((Result.Data.Area != 0) && Result.Data.ServerFound  && !KeyHit)
		{
			Move(parseInt(Result.Data.Area) + 1);
		}	
		
		$('TotalPrice').innerHTML = Result.Data.Price;
		if ($('TotalPrice3'))
		{
			$('TotalPrice3').innerHTML = 'TOTAL: ' + Result.Data.Price;
		}
		$('UsSmallPrice').innerHTML = Result.Data.UsSmallestPrice;
		$('EuroSmallPrice').innerHTML = Result.Data.EuroSmallestPrice;
		if (ABTest == 0)
		{
			$('EuroCurrencyBlock').innerHTML = 'per ' + Result.Data.CurrencyBlock + ' Gold';
			$('USCurrencyBlock').innerHTML = 'per ' + Result.Data.CurrencyBlock + ' Gold';
		}
		else
		{
			$('EuroCurrencyBlock').innerHTML = Result.Data.CurrencyBlock + ' Gold';
			$('USCurrencyBlock').innerHTML = Result.Data.CurrencyBlock + ' Gold';
		}
		
		SelectedBlock = $('Blocks').value;
		
		//reloading the blocks dropdown
		var i, NoOptions, NewOption, Select = $('Blocks');
		while (Select.options.length > 0)
			Select.removeChild(Select.options[Select.options.length - 1]);

		for (i = 0; i < Result.Data.Blocks.length; i++)
		{
			NewOption = document.createElement('OPTION');
			NewOption.value = Result.Data.Blocks[i].Value;
			if (Result.Data.Blocks[i].Value)
			{
				NewOption.innerHTML = Result.Data.Blocks[i].Text + ' Gold&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + Result.Data.Blocks[i].Price;
			}
			else
			{
				NewOption.innerHTML = Result.Data.Blocks[i].Text;
			}
			if ((Result.Data.Area != 2) && (Result.Data.Blocks[i].Enabled))
			{
				SelectedBlock = 0;
				NewOption.disabled = 'true';
			}
			Select.appendChild(NewOption);
		}
		Select.value = SelectedBlock;
		$('GeneralMessage').innerHTML = ' ';
	}
}

function AddItem()
{
	if (($('USServersSuggester').value != '') && ($('USServersSuggester').value != TypeUSServer))
	{
		ServerName = $('USServersSuggester').value;
	}
	else if (($('EuroServersSuggester').value != '') && ($('EuroServersSuggester').value != TypeEuroServer))
	{
		ServerName = $('EuroServersSuggester').value;
	}
	else
	{
		$('GeneralMessage').innerHTML = InvalidServer;
		return false;
	}
	
	Quantity = $('Blocks').value;
	var MyAjax = new Ajax.Request
	(
		'/Ajax/HomeCmd.php',
		{
			method: 'post',
			parameters: 'Action=AddItems' + 
						'&ServerName=' + ServerName +
						'&Quantity=' + Quantity,
			onSuccess: AddItemSuccess,
			onFailure: Failure
		}
	);
}

function AddItemSuccess(response)
{
	eval('var Result=' + response.responseText);
	if (Result.Success)
	{
		window.location = Result.Data;
	}
	else
	{
		$('GeneralMessage').innerHTML = Result.Message;
	}
}

function EmptTheOtherSuggester(Object)
{
	if ((Object.id == 'EuroServersSuggester') && (Object.value != ''))
	{
		$('USServersSuggester').value = '';
	}
	if ((Object.id == 'USServersSuggester') && (Object.value != ''))
	{
		$('EuroServersSuggester').value = '';
	}
	if (ABTest == 1)
	{
		$('ActiveButton').style.display = 'none';
		$('InactiveButton').style.display = 'block';
	}
}


function SendEmail()
{
	CName = $('Name').value;
	CEmail = $('Email').value;
	CConcern = $('Concern').value;
	CMessage = $('Message').value;
	$('Name_Error').innerHTML = '';	
	$('Email_Error').innerHTML = '';
	$('Concern_Error').innerHTML = '';
	$('Message_Error').innerHTML = '';
	
	Send = true;
	if (CName == '')
	{
		$('Name_Error').innerHTML = EmailError;	
		Send = false;
	}
	if (!CheckEmail(CEmail))
	{
		$('Email_Error').innerHTML = EmailError;	
		Send = false;
	}
	if (CConcern == 0)
	{
		$('Concern_Error').innerHTML = EmailError;	
		Send = false;
	}
	if (CMessage == '')
	{
		$('Message_Error').innerHTML = EmailError;	
		Send = false;
	}
	
	if (!Send)
	{
		return false;
	}
	var MyAjax = new Ajax.Request
	(
		'/Ajax/SendEmail.php',
		{
			method: 'get',
			parameters: 'Name=' + CName +
						'&Email=' + CEmail +
						'&Concern=' + CConcern + 
						'&Message=' + encodeURIComponent(CMessage),
			onSuccess: SendMailSuccess,
			onFailure: Failure
		}
	);
}

function ShowHideBlurb()
{
	if ($("blurb-2").style.display == "none")
	{
		$("blurb-2").style.display = "block"; 
		$('imagemore').src = $('less-holder').src;
	}
	else 
	{
		$("blurb-2").style.display = "none"; 
		$('imagemore').src = $('more-holder').src;
	}
	return false;

}

function ShowHideBlurb_new()
{
	if ($("blurb-2").style.display == "none")
	{
		$('LessMore').className = 'less_button';
		$("blurb-2").style.display = "block"; 
	}
	else 
	{
		$('LessMore').className = 'more_button';
		$("blurb-2").style.display = "none"; 
	}
	return false;

}

function ShowContactHint()
{
	SrcPos = $('contact-here').cumulativeOffset();

	$('contact-hint').setStyle({
		position: 'absolute',
		left: (SrcPos.left + 45) + 'px',
		top: (SrcPos.top - 5) + 'px',
		display: 'inline',
		cursor: 'pointer'
	});

	$('contact-hint').observe('click', HideContactHint);
	//setTimeout('HideContactHint()', ContactHintHideSpeed);
	return false;
}

function HideContactHint()
{
	$('contact-hint').hide();
}

function SendMailSuccess(response)
{
	eval('var Result=' + response.responseText);
	if (Result.Success)
	{
		$('msg-ok').innerHTML = EmailSent;
	}
	else
	{
		$('ContactForm').submit();
		//$('Message_Error').innerHTML = EmailSendError;
	}
}

function ChangeAreaCode()
{	
	if ($('C_US').checked)
	{
		$('CountryPrefix').value = 1;
	}
	else
	{
		if ($('CountryPrefix').value == 1)
		{
			$('CountryPrefix').value = '';
		}
	}
}

function Trim(string)
{
	return string.replace(/^\s+|\s+$/g,'');
}

function AddCoupon()
{
	if (Trim($('CouponCode').value) == '')
	{
		$('CouponError').innerHTML = InvalidCoupon;
	}
	else
	{
		var AjaxRequest = new Ajax.Request
		(
			'/Ajax/CartCmd.php?',
			{
				method: 'get',
				parameters: 'Action=AddCoupon&Coupon=' + encodeURIComponent($('CouponCode').value),
				onSuccess: AddCouponSuccess,
				onFailure: Failure
			}
		);
	}
	return false;
}

function AddCouponSuccess(response)
{
	eval('var Result=' + response.responseText);
	if (Result.Success)
	{
		$('CartItems').innerHTML = Result.Data;
		$('AddCouponDiv').style.display = 'none';
		if ($('AddCouponLink'))
		{
			$('AddCouponLink').style.display = 'none';
		}
	}
	else
	{
		$('CouponError').innerHTML = InvalidCoupon;
	}
}

function RemoveCoupon()
{
	var AjaxRequest = new Ajax.Request
	(
		'/Ajax/CartCmd.php?',
		{
			method: 'get',
			parameters: 'Action=RemoveCoupon',
			onSuccess: RemoveCouponSuccess,
			onFailure: Failure
		}
	);
}

function RemoveCouponSuccess(response)
{
	eval('var Result=' + response.responseText);
	if (Result.Success)
	{
		$('CartItems').innerHTML = Result.Data;
		$('AddCouponDiv').style.display = 'block';
		if ($('AddCouponLink'))
		{
			$('AddCouponLink').style.display = '';
		}
	}
	else
	{
		$('CouponError').innerHTML = InvalidCoupon;
	}
}

function ShowCouponDiv()
{
	$('AddCouponDiv').style.display= 'block';
}