function $(id)
{
	return document.getElementById(id);
}

function jsGetSMSLength(tPt, lPt)
{
	var i=0,c=-1,d=-6,l=160;
 	do {
		d = tPt.value.indexOf("%IMEI%", d+6);
		c++;
	} while (d!=-1);
	l-= c*9;
	c = -1;
	d = -6;
 	do {
		d = tPt.value.indexOf("%CODE%", d+6);
		c++;
	} while (d!=-1);
	l-= c*44;
	c = -1;
	d = -5;
 	do {
		d = tPt.value.indexOf("%FAQ%", d+5);
		c++;
	} while (d!=-1);
	l-= c*20;
	for (; i<tPt.value.length; i++) {
		if ((tPt.value.charAt(i) == "\r") && (i+1<tPt.value.length) && (tPt.value.charAt(i+1)=="\n")) i++;
		l--;
	}
	lPt.value = l.toString();
	lPt.style.color = ( l<0 ? "#CC0000" : "#000000" );
}

function jsCheckCustomForm()
{
	var f = document.custom;
	if (f.lOk.value < 0 || f.lErr.value < 0) {
		alert(GetLanguage("CHECK_SMS_LENGTH"));
		return false;
	}
	return true;
}

function jsPopup(MyURL, MyWidth, MyHeight)
{
  var left=(screen.width-MyWidth)/2;
  var top=(screen.height-MyHeight)/2;
  window.open(MyURL,"_blank","top="+top+",left="+left+",width="+MyWidth+",height="+MyHeight+",toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,copyhistory=0,menuBar=0");
  return false;
}

function jsShowComment(oId)
{
	with (document.getElementById(oId))
	{
		style.display = ( (style.display == "none") ? "" : "none");
	}
}

function jsCheckIMEI(IMEI, Checksum) // Must be a string
{
	var i, Sum, Tmp;
	var rExp = new RegExp("^[0-9]{15}$", "");
	if (! rExp.test(IMEI)) return false;
	if (! Checksum) return true;
	for (i=0, Sum=0;  i<14; i++)
	{
		Tmp = (IMEI.charAt(i) * ((i%2) + 1));
		Sum += ((Tmp % 10) + parseInt(Tmp / 10));
	}
	return (((10 - (Sum % 10)) % 10) == IMEI.charAt(14));
}

function jsCheckProviderID(ProviderID)
{
	return new RegExp('^[0-9a-z]{5}\\-[0-9a-z]{7}$', 'i').test(ProviderID);
}

function jsCheck_MEP_PRD(Type, Str)
{
	return new RegExp('^' + Type + '\\-[0-9]{5}\\-[0-9]{3}$', '').test(Str);
}

function jsCheckEmail(Email) // Must be a string
{
	var i, r;
	var x = Email.split("@");
	if (x.length != 2) return false;
	r = new RegExp("^[0-9a-zA-Z_\\-\\.]+$", "");
	if (! r.test(x[0])) return false;
	var y = x[1].split(".");
	if (y.length < 2) return false;
	for (i=0; i<y.length; i++)
	{
		r = new RegExp("^[0-9a-zA-Z\\-]{2,}$", "");
		if (! r.test(y[i])) return false;
		if (y[i].charAt(0)=='-' || y[i].charAt(y[i].length-1)=='-') return false;
	}
	return true;
}

function jsTrim(str) 
{ 
	return str.replace(/(^\s*)|(\s*$)/g, ""); 
}

function jsXmlEntities(str)
{
	return str.replace("<", "&lt;").replace(">", "&gt;").replace("&", "&amp;").replace("'", "&apos;").replace('"', "&quot;");
}

function jsNl2Br(str)
{
	return str.replace(/[\r\n]/g, "<br />");
}

function getAbsoluteLeft(obj)
{
	var pos = 0;
	do {
		pos += obj.offsetLeft;
		if (document.all && obj.nodeName == "FIELDSET") pos += 2; // IE bug ?
		obj = obj.offsetParent;
	}
	while (obj != null);
	return pos;
}

function getAbsoluteTop(obj)
{
	var pos = 0;
	do {
		pos += obj.offsetTop;
		obj = obj.offsetParent;
	}
	while (obj != null);
	return pos;
}

function rewriteCssProp(style)
{
	if (style == "float") return (document.all ? "styleFloat" : "cssFloat");
	return style.replace(/\-[a-z]/g, function (s) { return s.charAt(1).toUpperCase(); } );
}

function getCssProp(object, style)
{
	if (window.getComputedStyle)
	{
		return window.getComputedStyle(object, null).getPropertyValue(style);
	}
	if (object.currentStyle)
	{
		return eval("object.currentStyle." + rewriteCssProp(style));
	}
	return null;
}

function setCssProp(object, style, value)
{
	object.style[rewriteCssProp(style)] = value;
}

function stopEventPropagation(e)
{
	if (e && e.stopPropagation) e.stopPropagation();
	if (window.event) event.cancelBubble = true;
}

function setMobilePhotoCoords(obj)
{
	if (obj)
	{
		var IMEI = document.getElementById("IMEI");
		setCssProp(obj, "top", getAbsoluteTop(IMEI) + "px");
		setCssProp(obj, "left", (getAbsoluteLeft(IMEI) + parseInt(getCssProp(IMEI, "width")) + 25) + "px");
	}
}

function removeMobilePhoto()
{
	var Photo = document.getElementById("MobilePhoto");

	if (Photo)
	{
		Photo.parentNode.removeChild(Photo);
	}	
}

function loadMobilePhoto(id)
{
	if (parseInt(id))
	{
		// Remove former image 
		removeMobilePhoto();
		
		// Create a new image
		var newImage = new Image();

		// Format new image
		setCssProp(newImage, "position", "absolute");
		setCssProp(newImage, "z-index", 1);
		setCssProp(newImage, "border", "0px");


		// Show image once loading finished
		newImage.onload = function ()
		{
			// Remove former image (in case of quick scroll)
			removeMobilePhoto();

			// Set new image id
			newImage.id = "MobilePhoto";

			// Set new div coords
			setMobilePhotoCoords(newImage);
	
			// Append to document body
			document.body.appendChild(newImage);
			
			// Set new coords on window resize
			window.onresize = function ()
			{
				setMobilePhotoCoords(document.getElementById("MobilePhoto"));
			}
		}
		
		// Set image source
		newImage.src = "images/phonepic.php?ID=" + id;
	}
	else
	{
		removeMobilePhoto();
	}
}

function setOpacity(obj, value)
{
	setCssProp(obj, "opacity", value);
	setCssProp(obj, "-moz-opacity", value);
	setCssProp(obj, "filter", "alpha(opacity=" + parseInt(value * 100) + ")");
}

function decreaseOpacity(obj)
{
	if (obj.timeout) clearTimeout(obj.timeout);
	setOpacity(obj, obj.opacity -= 0.1);
	if (obj.opacity > 0.3) obj.timeout = setTimeout(function() { decreaseOpacity(obj); }, 30);
	else obj.timeout = null;
}

function increaseOpacity(obj, start)
{
	if (obj.timeout) clearTimeout(obj.timeout);
	setOpacity(obj, obj.opacity += 0.1);
	if (obj.opacity < 1.0) obj.timeout = setTimeout(function() { increaseOpacity(obj); }, 30);
	else obj.timeout = null;
}

function ImageMouseOver(img)
{
	img.opacity = 1.0;
	decreaseOpacity(img);
}

function ImageMouseOut(img)
{
	increaseOpacity(img);
}

function AutoSelect(Select)
{
	if (Select.options.length == 2)
	{
		Select.selectedIndex = 1;
		Select.onchange();
	}
}


var slide = {

	hover: false,
	position: 0,
	
	start: function()
	{
		try
		{
			slide.outer = document.getElementById('slideOuter');
			slide.inner = document.getElementById('slideInner');

			slide.outerWidth = slide.outer.offsetWidth;
			slide.innerWidth = slide.inner.offsetWidth;
			
			slide.inner.onmouseover = function() { slide.hover = true; }
			slide.inner.onmouseout = function() { slide.hover = false; }

			slide.move();
		}
		catch (e) {}
	},
	
	move: function()
	{
		try
		{
			if (! slide.hover)
			{
				if (--slide.position < - slide.innerWidth) slide.position = slide.outerWidth;
				slide.inner.style.marginLeft = slide.position + 'px';
			}
			setTimeout(slide.move, 20);
		}
		catch (e) {}
	}
};

function jsFormatNumber(number, decimals)
{
	number = Math.round(number * Math.pow(10, decimals));
	if (isNaN(number)) number = 0;
	number = String(number);
	while (number.length < 3) number = '0' + number;
	return number.substring(0, number.length - 2) + '.' + number.substring(number.length - 2, number.length);
}

function jsUpdatePaymentFee(value)
{
var getpaytype = document['forms']['buy']['Payment'];
for(i=0; i < getpaytype.length; i++){
    if (getpaytype[i].checked == true) {
        var paytype = getpaytype[i].value;
    }
}
if (paytype == 'BankTransfer')
{
	$('fee_amount').innerHTML = $(value).innerHTML;
	jsComputePayment();
} else {
	$('payment_fee').innerHTML = $(value).innerHTML;
	jsComputePayment();
}
}


function jsComputePayment()
{
var getpaytype = document['forms']['buy']['Payment'];
for(i=0; i < getpaytype.length; i++){
    if (getpaytype[i].checked == true) {
        var paytype = getpaytype[i].value;
    }
}
if (paytype == 'BankTransfer')
{
	var credits = parseFloat(parseInt($('CreditsToBuy').value));
	var credit_price = parseFloat($('credit_price').innerHTML);
	var currency_rate = parseFloat($('currency_rate').innerHTML);
	
	
	var total_price = credits * credit_price * currency_rate;
	var fee_amount = parseFloat($('fee_amount').innerHTML);
        var vat_rate = parseFloat($('vat_rate').innerHTML);
	var vat_amount = (total_price + fee_amount) * vat_rate/100;
	var total_to_pay = total_price + fee_amount + vat_amount;

        $('payment_fee').innerHTML = 0.0;	
	$('total_price' ).innerHTML = jsFormatNumber(total_price,  2);
	$('fee_amount'  ).innerHTML = jsFormatNumber(fee_amount,   2);
        $('vat_amount'  ).innerHTML = jsFormatNumber(vat_amount,   2);
	$('total_to_pay').innerHTML = jsFormatNumber(total_to_pay, 2);
} else {

	var credits = parseFloat(parseInt($('CreditsToBuy').value));
	var credit_price = parseFloat($('credit_price').innerHTML);
	var currency_rate = parseFloat($('currency_rate').innerHTML);
        var vat_rate = parseFloat($('vat_rate').innerHTML);
	var payment_fee = parseFloat($('payment_fee').innerHTML) / 100.0;
	
	var total_price = credits * credit_price * currency_rate;
	var fee_amount = total_price * payment_fee;
	var vat_amount = ((total_price + fee_amount) * vat_rate) / 100.0;
	var total_to_pay = total_price * (1.0 + payment_fee) + vat_amount;
	
	$('total_price' ).innerHTML = jsFormatNumber(total_price,  2);
	$('fee_amount'  ).innerHTML = jsFormatNumber(fee_amount,   2);
	$('vat_amount'  ).innerHTML = jsFormatNumber(vat_amount,   2);
	$('total_to_pay').innerHTML = jsFormatNumber(total_to_pay, 2);
}
}


function jsComputePaymentCurrency()
{
        var n = document.forms["buy"].currency.selectedIndex; 
        var val = document.forms["buy"].currency[n].value; 
	$('currencypay').innerHTML = val;
	$('currencypay1').innerHTML = val;
	$('currencypay2').innerHTML = val;
	$('currencypay3').innerHTML = val;
	$('currencypay4').innerHTML = val;
if (val == 'EUR')
{
$('creditpriced').innerHTML = parseFloat($('eurrate').innerHTML);
$('credit_price').innerHTML = parseFloat($('eurrate').innerHTML);
$('BankTransfer').innerHTML = jsFormatNumber(10.00, 2);
$('BankTransfer1').innerHTML = jsFormatNumber(10.00, 2);
$('fee_amount'  ).innerHTML = jsFormatNumber(10.00,   2);
}
if (val == 'USD')
{
$('creditpriced').innerHTML = parseFloat($('usdrate').innerHTML);
$('credit_price').innerHTML = parseFloat($('usdrate').innerHTML);
$('BankTransfer').innerHTML = jsFormatNumber(10*parseFloat($('usdrate').innerHTML), 2);
$('BankTransfer1').innerHTML = jsFormatNumber(10*parseFloat($('usdrate').innerHTML), 2);
$('fee_amount'  ).innerHTML = jsFormatNumber(10*parseFloat($('usdrate').innerHTML),   2);
}

if (val == 'GBP')
{
$('creditpriced').innerHTML = parseFloat($('gbprate').innerHTML);
$('credit_price').innerHTML = parseFloat($('gbprate').innerHTML);
$('BankTransfer').innerHTML = jsFormatNumber(10*parseFloat($('gbprate').innerHTML), 2);
$('BankTransfer1').innerHTML = jsFormatNumber(10*parseFloat($('gbprate').innerHTML), 2);
$('fee_amount'  ).innerHTML = jsFormatNumber(10*parseFloat($('gbprate').innerHTML),   2);
}
jsComputePayment()
}

