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://dr-store.avast.com/esales/checkout.html";
//var onlineStore = "https://secure.element5.com/esales/checkout.html";
var onlineStoreJP = "https://store.avast.co.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',
			'en-eu':'EUR',
			'pt-pt':'EUR',
			'de-ch':'CHF',
			'fr-ch':'CHF',
			'fr-be':'EUR'
			};

var couponsIS = {
			'USD':'11ISUSD',
			'EUR':'11ISEUR',
			'AUD':'11ISAUD',
			'GBP':'11ISGBP',
			'CAD':'11ISCAD',
			'CHF':'11ISCHF'
				}; 
var couponsPA = {
			'USD':'11PROUSD',
			'EUR':'11PROEUR',
			'AUD':'11PROAUD',
			'GBP':'11PROGBP',
			'CAD':'11PROCAD',
			'CHF':'11PROCHF'
				}; 

var coupons21IS = {
			'USD':'21ISUSD',
			'EUR':'21ISEURV2',
			'AUD':'21ISAUD',
			'GBP':'21ISGBPV2',
			'CAD':'21ISCAD',
			'CHF':'21ISCHF'
				}; 
var coupons21PA = {
			'USD':'21PROUSD',
			'EUR':'21PROEURV2',
			'AUD':'21PROAUD',
			'GBP':'21PROGBPV2',
			'CAD':'21PROCAD',
			'CHF':'21PROCHF'
				}; 


var coupons3YIS = {
			'USD':'70IS3YRSUSD2010',
			'EUR':'70IS3YRSEUR2010',
			'AUD':'70IS3YRSAUD2010',
			'GBP':'70IS3YRSBGP2010',
			'CAD':'70IS3YRSCAD2010'
				}; 
var coupons3YPA = {
			'USD':'60PRO3YRSUSD2010',
			'EUR':'60PRO3YRSEUR2010',
			'AUD':'60PRO3YRSAUD2010',
			'GBP':'60PRO3YRSGBP2010',
			'CAD':'60PRO3YRSCAD2010'
				}; 

var s11IS = {
			'USD':.4785,
			'EUR':.4785,
			'AUD':.4873,
			'GBP':.4764,
			'CAD':.4816,
			'CHF':.4859
				}; 
var s11PA = {
			'USD':.467,
			'EUR':.467,
			'AUD':.4739,
			'GBP':.4619,
			'CAD':.467,
			'CHF':.4739
				}; 

var s21IS = {
			'USD':.3236,
			'EUR':.3237,
			'AUD':.3276,
			'GBP':.3227,
			'CAD':.3251
				}; 
var s21PA = {
			'USD':.3183,
			'EUR':.3184,
			'AUD':.3215,
			'GBP':.3160,
			'CAD':.3183
				}; 
				
var s3YIS = {
			'USD':.4119,
			'EUR':.4195,
			'AUD':.4139,
			'GBP':.4288,
			'CAD':.4001
				}; 
var s3YPA = {
			'USD':.3638,
			'EUR':.3686,
			'AUD':.3573,
			'GBP':.3753,
			'CAD':.3638
				}; 

var goldenPromo = .2513;
var goldenPromoCoupon = "GOLDENWEEK";

var dph = [
		   'en-gb',
		   'fr-fr',
		   'es-es',
		   'it-it',
		   'de-de',
		   'pl-pl',
		   'cs-cz',
		   'en-eu',
		   'pt-pt',
		   'fr-be'
		   ];

var langId = {
			'en-au':'&languageid=1',
			'en-ca':'&languageid=1',
			'en-eu':'&languageid=1',
			'en-gb':'&languageid=1',
			'es-es':'&languageid=4',
			'es-ww':'&languageid=4',
			'fr-fr':'&languageid=6',
			'fr-ca':'&languageid=6',
			'fr-ch':'&languageid=6',
			'fr-be':'&languageid=6',
			'pt-br':'&languageid=3',
			'pt-pt':'&languageid=3',
			'cs-cz':'&languageid=18',
			'de-de':'&languageid=2',
			'de-ch':'&languageid=2',
			'it-it':'&languageid=5',
			'pl-pl':'&languageid=16',
			'ru-ru':'&languageid=12',
			'zh-cn':'&languageid=15'
			};

$(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];
	cupon = "";	
    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(InArray(dph,locale))
					{
						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 == "1")
						{
							if (locale.indexOf("ja-jp") != -1 && internalId.indexOf("IS01") != -1 && document.URL.indexOf("lp-upgrade-from-free-5-standard") != -1)
							{
								pr = Math.round(pr*(1-goldenPromo)*100)/100; // TBD
								cupon = goldenPromoCoupon;	
							}	
						}
						/*if (maintenance == "3")
						{
							if(locale.indexOf("en") != -1 || locale.indexOf("fr-ca") != -1 || locale.indexOf("fr-fr") != -1)
							{
								if (internalId == "PA01")
								{
									pr = Math.round(pr*(1 - s21PA[curr[locale]])*100)/100; // TBD
									cupon = coupons21PA[curr[locale]];
								}
								else if (internalId == "IS03")
								{
									pr = Math.round(pr*(1 - s21IS[curr[locale]])*100)/100; // TBD
									cupon = coupons21IS[curr[locale]];
								}	
								else 
								{
									pr = Math.round(pr*0.75*100)/100; // TBD
									cupon = "25Y2Y3012010";
								}
							}
						}*/
						
						if(maintenance == "2")
						{
							if((locale.indexOf("fr") != -1 || locale.indexOf("it-it") != -1 || locale.indexOf("de") != -1 || locale.indexOf("es") != -1 || locale.indexOf("en") != -1) && document.URL.indexOf("lp-upgrade-from-free-5-standard") == -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 == "2" && document.URL.indexOf("lp-upgrade-from-free-5-standard") != -1) || ( maintenance == "2" && locale.indexOf("fr") == -1 && locale.indexOf("it-it") == -1 && locale.indexOf("de") == -1 && locale.indexOf("es") == -1 && locale.indexOf("en") == -1)) || maintenance == "3")
						{
							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 if (locale == "fr-ch" || locale == "de-ch")
							$(".price").html(mark + " " + pr);
						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 = "";
	var languageId = "";
	
	if (internalId == "PA" || internalId == "IS")
	{
		tempComp = 1;
	}
	
	if (_cupon != "")
	{
		if (locale == "ja-jp") cupStr = "&PROMO="+_cupon;
		else cupStr = "&COUPON1="+_cupon;
	}
	
	if(locale in langId) languageId = langId[locale];
	
	if (locale == "ja-jp")
	{
		addUrl ="?ID="+shareItId+cupStr; 
		$("#shop_link").attr("href",onlineStoreJP+"/curr=JPY"+addUrl+"&ml=JP");
	}
	else 
	{
		addUrl ="?currencies="+currency+",all&PRODUCT["+shareItId+"]="+tempComp+cupStr+languageId; 
		$("#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 "";
}

function InArray(array, value) 
{
	inArray = false;
	for (i = 0; i < array.length; i++)
	if (value == array[i]) inArray = true;
	return inArray;
}
