var type = GetParameters("ab_type");
var layout = GetParameters("ab_layout");
var mode = GetParameters("ab_mode");
var submode = GetParameters("ab_submode");
var cupon = "";

var onlineStore = "https://secure.element5.com/esales/checkout.html";
var onlineStoreJP = "https://store.avast.jp/cgi-bin/shop";


var curr = {'en-ww':'USD',
			'en-gb':'GBP',
			'en-ca':'CAD',
			'fr-ca':'CAD',
			'en-au':'AUD',
			'fr-fr':'EUR',
			'es-ww':'USD',
			'es-es':'EUR',
			'pt-br':'BRL',
			'de-de':'EUR',
			'it-it':'EUR',
			'pl-pl':'PLN',
			'ja-jp':'JPY',
			'cs-cz':'EUR',
			'zh-cn':'USD',
			'ru-ru':'RUB'};

var couponsIS = {
			'USD':'11ISUSD',
			'EUR':'11ISEUR',
			'AUD':'11ISAUD',
			'GBP':'11ISGBP',
			'CAD':'11ISCAD'
				}; 
var couponsPA = {
			'USD':'11PROUSD',
			'EUR':'11PROEUR',
			'AUD':'11PROAUD',
			'GBP':'11PROGBP',
			'CAD':'11PROCAD'
				}; 
				
var s11IS = {
			'USD':.4785,
			'EUR':.4765,
			'AUD':.4873,
			'GBP':.4739,
			'CAD':.4816
				}; 
var s11PA = {
			'USD':.0467,
			'EUR':.4618,
			'AUD':.4739,
			'GBP':.455,
			'CAD':.467
				}; 
				
$(document).ready(function(){
	if(HasParameters())
	{
		if (type == "" && layout == "" && mode == "" && submode == "")
		{
			$(".box").each(function(){
				if ($(this).hasClass("basic") && !$(this).hasClass("nojs"))
				{
					$(this).fadeIn(300);	
				}
				else
				{
					$(this).hide();	
				}
			});	
		}
		else
		{
			SetEmptyClasses();
			ChangeAB(type,layout,mode,submode);
		}
	}
	else
	{
		$(".box").each(function(){
			if ($(this).hasClass("basic") && !$(this).hasClass("nojs"))
			{
				$(this).fadeIn(300);	
			}
			else
			{
				$(this).hide();	
			}
		});	
	}
});

function UpdatePrice(internalId/*,currency*/,formObject)
{
    currency = curr[locale];
		
    var computers = formObject.computers.value;
		var maintenance = GetCheckedValue(formObject.elements["MAINTENANCE-CONTRACT"]);
		var tempInternalId = internalId;
		
		if (internalId == "PA" || internalId == "IS")
		{
			internalId += computers;
		}
		
		$.ajax({
			type: "POST",
	        url: RootPath + "get-price.php",
			cache: false,
			dataType: ($.browser.msie)? "text": "html",
 			data: "internalId[" + internalId + "]=" + computers + "&maintenance=" + maintenance + "&currency=" + currency,
		    beforeSend: function(){
				$(".price").html("...");
				$("#shop_link").css("visibility","hidden");
			},
			success: function(data){
				var xml;
				 if ($.browser.msie) {
				   xml = new ActiveXObject("Microsoft.XMLDOM");
				   xml.async = false;
				   xml.loadXML(data);
				 } else {
				   xml = data;
				 }

				$(xml).find("pricelist").each(function(){
										
					var pr = Math.round(parseFloat($(this).find("price").attr("per-license"))*100)/100;
					
					if(locale == "en-gb" || locale == "fr-fr" || locale == "es-es"|| locale == "it-it" || locale == "de-de" || locale == "pl-pl" || locale == "cs-cz")
					{
						pr = Math.round(pr*1.19*100)/100; // TBD
					}
					
					// 25% sale for 2 and 3 years + (1+1) campaign for fr, en regions
					if (internalId.indexOf("PA") != -1 || internalId.indexOf("IS") != -1)
					{
						if (maintenance == "2" && (locale.indexOf("en") != -1 || locale.indexOf("fr") != -1 || locale.indexOf("it-it") != -1 || locale.indexOf("de-de") != -1))
						{
							if (internalId == "PA01")
							{
								pr = Math.round(pr*(1 - s11PA[curr[locale]])*100)/100; // TBD
								cupon = couponsPA[curr[locale]];
							}
							else if (internalId == "IS03")
							{
								pr = Math.round(pr*(1 - s11IS[curr[locale]])*100)/100; // TBD
								cupon = couponsIS[curr[locale]];
							}
							
							else 
							{
								pr = Math.round(pr*0.75*100)/100; // TBD
								cupon = "25Y2Y3012010";
							}
						}
						if (maintenance == "3" || (maintenance == "2" && locale.indexOf("en") == -1 && locale.indexOf("fr") == -1 && locale.indexOf("de-de") == -1 && locale.indexOf("it-it") == -1))
						{
							pr = Math.round(pr*0.75*100)/100; // TBD
							cupon = "25Y2Y3012010";
						}
					}
					
					var mark = $(this).find("price").attr("mark");
							
				    if (locale == "en-au") mark = "A$";
				    if (locale == "en-ca" || locale== "fr-ca") mark = "C$";
				    if (locale == "pt-br") mark = "R$";
				    if (locale == "ja-jp") mark = "&#20870;";
					if (locale == "pl-pl") mark = "z&#322;";
					if (locale == "ru-ru") mark = "р&#1091;&#1073;";
				
					if (locale == "ja-jp" || locale == "ru-ru") pr = pr.toFixed(0);
					else pr = pr.toFixed(2);
					
					if (locale != "es-ww" && locale != "en-au" && locale != "en-ca" && locale != "en-ww" && locale != "en-gb" && locale != "fr-ca" && locale != "pt-br" && locale != "zh-cn")
					{
						if (locale == "ja-jp")
							$(".price").html(addCommas(pr) +  mark);
						else if (locale == "pl-pl")
							$(".price").html(pr.replace(".", ",") +  mark);
						else
							$(".price").html(pr + " " + mark);
					}
				    else $(".price").html(mark + "" + pr);
				  	
					UpdateShopLink($(this).find("product").attr("id"),currency,computers,tempInternalId,cupon);
					$("#shop_link").css("visibility","visible");
				});
			},
			error: function(){
				$(".price").html("Fault");
			}
		});
}

function addCommas(val) {
    var regEx = /(\d+)(\d{3})/;
    while (regEx.test(val)) {
        val = val.replace(regEx, '$1' + ',' + '$2');
    }
    return val;
}

function ChangeAB(type,layout,mode,submode)
{
	if (!type) type = "box";
	if (!layout) layout = "box";
	if (!mode) mode = "box";
	if (!submode) submode = "box";
	
	//	alert(type + " / " + layout + " / " + mode + " / " + submode);
	
	$(".box").each(function(){
		$(this).hide();
		if ($(this).hasClass(type) && 
			$(this).hasClass(layout) && 
			$(this).hasClass(mode) && 
			$(this).hasClass(submode) && 
			!$(this).hasClass("nojs")) 
		$(this).fadeIn(300);
	});
}

function UpdateShopLink(shareItId,currency,computers,internalId,_cupon)
{
	var tempComp = computers;
	var cupStr = ""; 
	var addUrl = "";
	
	if (internalId == "PA" || internalId == "IS")
	{
		tempComp = 1;
	}
	
	if (_cupon != "")
	{
		if (locale == "ja-jp") cupStr = "&PROMO="+_cupon;
		else cupStr = "&COUPON1="+_cupon;
	}
	
	if (locale == "ja-jp")
	{
		addUrl ="?ID="+shareItId+cupStr; 
		$("#shop_link").attr("href",onlineStoreJP+"/curr=JPY"+addUrl);
	}
	else 
	{
		addUrl ="?currencies="+currency+",all&PRODUCT["+shareItId+"]="+tempComp+cupStr; 
		$("#shop_link").attr("href",onlineStore+addUrl);
	}
}

function SetEmptyClasses()
{
	
	if (type == "") type = "box";
	if (layout == "") layout = "box";
	if (mode == "") mode = "box";
	if (submode == "") submode = "box";
}

function HasParameters()
{
	if (window.location.href.indexOf("?") != -1) return true;
	else return false;
}

function GetParameters(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexString = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp(regexString);
  var results = regex.exec(window.location.href);
  if(results == null)
    return "";
  else
    return results[1];
}

function GetCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}