
if (typeof audi_ngw == 'undefined') {
	audi_ngw = {};
}
audi_ngw.configurator = {};

audi_ngw.configurator.accxParseParams = function (params) {
	paramArray = params.split(",")
	paramsHash = new Array();
	for(p in paramArray) {
		if (!isNaN(p)) {
	  	keyValue = paramArray[p].split("=");
	  	paramsHash[keyValue[0]] = keyValue[1];
	  }
	}
	return paramsHash;
};
// open the Configurator with params
audi_ngw.configurator.openACCx = function (paramsAsString) {
if(paramsAsString.indexOf("http") == 0) {
	params = new Array();
	params["url"] = paramsAsString;
} else {
	params = audi_ngw.configurator.accxParseParams(paramsAsString);
}
	audi_ngw.configurator.openACC(paramsAsString);
};

audi_ngw.configurator.open_with_carline = function(carline) {
	audi_ngw.configurator.openACCx('carline=' + carline);
};

audi_ngw.configurator.open_with_model = function(model, extcolor, rim) {
	p = "model=" + model;
	if('undefined' != typeof extcolor) {
		p += ",exteriorcolour=" + extcolor
	}
	if('undefined' != typeof rim) {
		p += ",rim=" + rim
	}
	audi_ngw.configurator.openACCx(p);
};

audi_ngw.configurator.open = function(pParams) {
	/*
	var isACCxEntry = audi_ngw.configurator.isACCxEntry();

	if (isACCxEntry) {
		var params = pParams + ",target=model-page";
		audi_ngw.configurator.openACCx(params);
	} else {
		audi_ngw.configurator.openACC(pParams);
	}
	*/
	audi_ngw.configurator.openACC(pParams);
}

audi_ngw.configurator.isACCxEntry = function() {
	var isACCxEntry = true;

	var url = document.URL;
	if (!url) {
		url = document.referrer;
	}
	if (url && audi_ngw.configurator.accSwitchString && url.indexOf(audi_ngw.configurator.accSwitchString) > -1) {
		isACCxEntry = false;
	}

	return isACCxEntry;
}

audi_ngw.configurator.openACC = function(pParams) {
	var params = audi_ngw.configurator.accxParseParams(pParams);

	var carline;
	if ("undefined" != typeof params["model"]) {
		carline = audi_ngw.configurator.getCarlineForModelId(params["model"]);
	} else if ("undefined" != typeof params["carline"]) {
		carline = audi_ngw.configurator.getCarlineForCarlineId(params["carline"]);
	}

	if (carline) {
		var carlineGroup = audi_ngw.configurator.getCarlineGroupForCarline(carline);

		if (carline && carlineGroup) {
			var year = audi_ngw.configurator.getYear(carline);
			if (!year) {
				var now = new Date();
				year = now.getFullYear();
			}
			carline = carline.replace(/xxxx/, year);

			var accURL = audi_ngw.configurator.accBaseUrl.replace(/<cg>/, carlineGroup).replace(/<vc>/, carline);
			if ("undefined" != typeof params["exteriorcolour"] || "undefined" != typeof params["rims"]) {
				var p = "";
				if ("undefined" != typeof params["exteriorcolour"]) {
					p += params["exteriorcolour"];
				}
				if ("undefined" != typeof params["rims"]) {
					p += ","  + params["rims"];
				}
				if ("," == p.substring(0, 1)) {
					p = p.susbtring(1);
				}

				accURL = accURL.replace(/<p>/, p);
			}
			satParams = "scrollbars=no,directories=no,menubar=no,toolbar=no,width=1014,height=700,status=yes,resizable=no";
			sat = window.open(accURL, "ACCSATELLIT", satParams);
			sat.focus();
		}
	}
}

audi_ngw.configurator.getCarlineForCarlineId = function(pCarlineId) {
	var carline = "";

	if (pCarlineId) {
		carline = audi_ngw.configurator.carlineIdMap[pCarlineId];
	}

	return carline;
}

audi_ngw.configurator.getCarlineGroupForCarline = function(pCarline) {
	var carlineGroup = "";

	if (pCarline) {
		carlineGroup = audi_ngw.configurator.carlineGroupMap[pCarline];
		if (!carlineGroup) {
			var tmpCarline = pCarline.substring(0, pCarline.length - 4) + "xxxx";
			carlineGroup = audi_ngw.configurator.carlineGroupMap[tmpCarline];
		}
	}

	return carlineGroup;
}

audi_ngw.configurator.getCarlineForModelId = function(pModelId) {
	var carline = "";

	if (pModelId) {
		var idPartFour = pModelId.substring(0, 4);
		var idPartSix = pModelId.substring(0, 6);

		for (var key in audi_ngw.configurator.carlineMapExt) {
			if (key == idPartSix) {
				carline = audi_ngw.configurator.carlineMapExt[key];
				break;
			}
		}

		if (!carline) {
			for (var key in audi_ngw.configurator.carlineMap) {
				if (key == idPartFour) {
					carline = audi_ngw.configurator.carlineMap[key];
					break;
				}
			}
		}
	}

	return carline;
}

audi_ngw.configurator.getYear = function(pCarline) {
	var now = new Date();
	var year = now.getFullYear();

	if (pCarline == "A4-xxxx") {
		year = 2013;
	} else if (pCarline == "A4-V-xxxx") {
		year = 2013;
	} else if (pCarline == "A4-H-xxxx") {
		year = 2013;
	} else if (pCarline == "S4-xxxx") {
		year = 2013;
	} else if (pCarline == "S4-V-xxxx") {
		year = 2013;
	} else if (pCarline == "RS5-xxxx") {
		year = 2011;
	} else if (pCarline == "TT-C-xxxx") {
		year = 2011;
	} else if (pCarline == "TT-R-xxxx") {
		year = 2011;
	} else if (pCarline == "TTS-C-xxxx") {
		year = 2011;
	} else if (pCarline == "TTS-R-xxxx") {
		year = 2011;
	} else if (pCarline == "TTRS-C-xxxx") {
		year = 2011;
	} else if (pCarline == "TTRS-R-xxxx") {
		year = 2011;
	} else if (pCarline == "R8-SP-xxxx") {
		year = 2011;
	} else if (pCarline == "R8-xxxx") {
		year = 2011;
	}

	return year;
}

audi_ngw.configurator.year = "";
audi_ngw.configurator.country = "rus";
audi_ngw.configurator.language = "rus";
audi_ngw.configurator.accBaseUrl = "http://configurator.audi.com/acc/bannerAccess.do?" +
	"lo=default" +
	"&c=" + audi_ngw.configurator.country +
	"&l=" + audi_ngw.configurator.language +
	"&t=engine&cg=<cg>&vc=<vc>" +
	"&p=<p>" +
	"&b=false";
audi_ngw.configurator.accSwitchString = "/ru/brand/";

audi_ngw.configurator.carlineMap = new Array();
audi_ngw.configurator.carlineMap["8J30"] = "TT-C-xxxx";
audi_ngw.configurator.carlineMap["8J90"] = "TT-R-xxxx";
audi_ngw.configurator.carlineMap["8J3S"] = "TTS-C-xxxx";
audi_ngw.configurator.carlineMap["8J9S"] = "TTS-R-xxxx";
audi_ngw.configurator.carlineMap["8J3R"] = "TTRS-C-xxxx";
audi_ngw.configurator.carlineMap["8J9R"] = "TTRS-R-xxxx";
audi_ngw.configurator.carlineMap["8X1A"] = "A1-xxxx";
audi_ngw.configurator.carlineMap["8X1B"] = "A1-xxxx";
audi_ngw.configurator.carlineMap["8P1A"] = "A3-xxxx";
audi_ngw.configurator.carlineMap["8P1B"] = "A3-xxxx";
audi_ngw.configurator.carlineMap["8P1C"] = "A3-xxxx";
audi_ngw.configurator.carlineMap["8PAA"] = "A3-SB-xxxx";
audi_ngw.configurator.carlineMap["8PAB"] = "A3-SB-xxxx";
audi_ngw.configurator.carlineMap["8PAC"] = "A3-SB-xxxx";
audi_ngw.configurator.carlineMap["8P1S"] = "S3-xxxx";
audi_ngw.configurator.carlineMap["8PAS"] = "S3-SB-xxxx";
audi_ngw.configurator.carlineMap["8P7A"] = "A3-C-xxxx";
audi_ngw.configurator.carlineMap["8P7B"] = "A3-C-xxxx";
audi_ngw.configurator.carlineMap["8K2S"] = "S4-xxxx";
audi_ngw.configurator.carlineMap["8K5S"] = "S4-V-xxxx";
audi_ngw.configurator.carlineMap["8K2E"] = "A4-xxxx";
audi_ngw.configurator.carlineMap["8K20"] = "A4-xxxx";
audi_ngw.configurator.carlineMap["8K2B"] = "A4-xxxx";
audi_ngw.configurator.carlineMap["8K2C"] = "A4-xxxx";
audi_ngw.configurator.carlineMap["8K50"] = "A4-V-xxxx";
audi_ngw.configurator.carlineMap["8K5B"] = "A4-V-xxxx";
audi_ngw.configurator.carlineMap["8K5C"] = "A4-V-xxxx";
audi_ngw.configurator.carlineMap["8KH0"] = "A4-H-xxxx";
audi_ngw.configurator.carlineMap["8T30"] = "A5-xxxx";
audi_ngw.configurator.carlineMap["8TA0"] = "A5-SB-xxxx";
audi_ngw.configurator.carlineMap["8F70"] = "A5-C-xxxx";
audi_ngw.configurator.carlineMap["8T3S"] = "S5-xxxx";
audi_ngw.configurator.carlineMap["8TAS"] = "S5-SB-xxxx";
audi_ngw.configurator.carlineMap["8F7S"] = "S5-C-xxxx";
audi_ngw.configurator.carlineMap["8UB0"] = "Q3-xxxx";
audi_ngw.configurator.carlineMap["8RB0"] = "Q5-xxxx";
audi_ngw.configurator.carlineMap["4G20"] = "A6-C7-xxxx";
audi_ngw.configurator.carlineMap["4F20"] = "A6-xxxx";
audi_ngw.configurator.carlineMap["4F2E"] = "A6-xxxx";
audi_ngw.configurator.carlineMap["4F2S"] = "S6-xxxx";
audi_ngw.configurator.carlineMap["4F5S"] = "S6-V-xxxx";
audi_ngw.configurator.carlineMap["4F50"] = "A6-V-xxxx";
audi_ngw.configurator.carlineMap["4F2R"] = "RS6-xxxx";
audi_ngw.configurator.carlineMap["4F5R"] = "RS6-V-xxxx";
audi_ngw.configurator.carlineMap["4FH0"] = "A6-H-xxxx";
audi_ngw.configurator.carlineMap["4GA0"] = "A7-SB-xxxx";
audi_ngw.configurator.carlineMap["4LB0"] = "Q7-xxxx";
audi_ngw.configurator.carlineMap["4H20"] = "A8-D4-xxxx";
audi_ngw.configurator.carlineMap["4E20"] = "A8-xxxx";
audi_ngw.configurator.carlineMap["4E80"] = "A8-xxxx";
audi_ngw.configurator.carlineMap["4H80"] = "A8-W-xxxx";
audi_ngw.configurator.carlineMap["4E2S"] = "S8-xxxx";
audi_ngw.configurator.carlineMap["4230"] = "R8-xxxx";
audi_ngw.configurator.carlineMap["4290"] = "R8-SP-xxxx";

audi_ngw.configurator.carlineMapExt = new Array();
audi_ngw.configurator.carlineMapExt["4E20CL"] = "A8-W-xxxx";
audi_ngw.configurator.carlineMapExt["4E80CL"] = "A8-W-xxxx";
audi_ngw.configurator.carlineMapExt["4LB0TL"] = "Q7-V12-xxxx";

audi_ngw.configurator.carlineGroupMap = new Array();
audi_ngw.configurator.carlineGroupMap["A1-xxxx"] = "A1";
audi_ngw.configurator.carlineGroupMap["A3-xxxx"] = "A3";
audi_ngw.configurator.carlineGroupMap["A3-SB-xxxx"] = "A3";
audi_ngw.configurator.carlineGroupMap["A3-C-xxxx"] = "A3";
audi_ngw.configurator.carlineGroupMap["S3-xxxx"] = "A3";
audi_ngw.configurator.carlineGroupMap["S3-SB-xxxx"] = "A3";
audi_ngw.configurator.carlineGroupMap["S3-C-xxxx"] = "A3";
audi_ngw.configurator.carlineGroupMap["A4-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["A4-V-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["A4-C-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["A4-H-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["S4-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["S4-V-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["S4-C-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["RS4-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["RS4-V-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["RS4-C-xxxx"] = "A4";
audi_ngw.configurator.carlineGroupMap["A5-xxxx"] = "A5";
audi_ngw.configurator.carlineGroupMap["A5-C-xxxx"] = "A5";
audi_ngw.configurator.carlineGroupMap["A5-SB-xxxx"] = "A5";
audi_ngw.configurator.carlineGroupMap["S5-xxxx"] = "A5";
audi_ngw.configurator.carlineGroupMap["S5-SB-xxxx"] = "A5";
audi_ngw.configurator.carlineGroupMap["S5-C-xxxx"] = "A5";
audi_ngw.configurator.carlineGroupMap["A6-xxxx"] = "A6";
audi_ngw.configurator.carlineGroupMap["A6-C7-xxxx"] = "A6";
audi_ngw.configurator.carlineGroupMap["A6-V-xxxx"] = "A6";
audi_ngw.configurator.carlineGroupMap["A6-H-xxxx"] = "A6";
audi_ngw.configurator.carlineGroupMap["S6-xxxx"] = "A6";
audi_ngw.configurator.carlineGroupMap["S6-V-xxxx"] = "A6";
audi_ngw.configurator.carlineGroupMap["RS6-xxxx"] = "A6";
audi_ngw.configurator.carlineGroupMap["RS6-V-xxxx"] = "A6";
audi_ngw.configurator.carlineGroupMap["RS6-P-xxxx"] = "A6";
audi_ngw.configurator.carlineGroupMap["A7-SB-xxxx"] = "A7";
audi_ngw.configurator.carlineGroupMap["A8-D4-xxxx"] = "A8";
audi_ngw.configurator.carlineGroupMap["A8-xxxx"] = "A8";
audi_ngw.configurator.carlineGroupMap["A8-W-xxxx"] = "A8";
audi_ngw.configurator.carlineGroupMap["S8-xxxx"] = "A8";
audi_ngw.configurator.carlineGroupMap["R8-xxxx"] = "R8";
audi_ngw.configurator.carlineGroupMap["R8-SP-xxxx"] = "R8";
audi_ngw.configurator.carlineGroupMap["TT-C-xxxx"] = "TT";
audi_ngw.configurator.carlineGroupMap["TT-R-xxxx"] = "TT";
audi_ngw.configurator.carlineGroupMap["TTS-C-xxxx"] = "TT";
audi_ngw.configurator.carlineGroupMap["TTS-R-xxxx"] = "TT";
audi_ngw.configurator.carlineGroupMap["TTRS-C-xxxx"] = "TT";
audi_ngw.configurator.carlineGroupMap["TTRS-R-xxxx"] = "TT";
audi_ngw.configurator.carlineGroupMap["Q3-xxxx"] = "Q3";
audi_ngw.configurator.carlineGroupMap["Q5-xxxx"] = "Q5";
audi_ngw.configurator.carlineGroupMap["Q7-xxxx"] = "Q7";
audi_ngw.configurator.carlineGroupMap["Q7-V12-xxxx"] = "Q7";

audi_ngw.configurator.carlineIdMap = new Array();
audi_ngw.configurator.carlineIdMap["a1"] = "A1-xxxx";
audi_ngw.configurator.carlineIdMap["a3"] = "A3-xxxx";
audi_ngw.configurator.carlineIdMap["a3sb"] = "A3-SB-xxxx";
audi_ngw.configurator.carlineIdMap["a3cabrio"] = "A3-C-xxxx";
audi_ngw.configurator.carlineIdMap["s3"] = "S3-xxxx";
audi_ngw.configurator.carlineIdMap["s3sb"] = "S3-SB-xxxx";
audi_ngw.configurator.carlineIdMap["a4limo"] = "A4-xxxx";
audi_ngw.configurator.carlineIdMap["a4avant"] = "A4-V-xxxx";
audi_ngw.configurator.carlineIdMap["a4aq"] = "A4-H-xxxx";
audi_ngw.configurator.carlineIdMap["s4limo"] = "S4-xxxx";
audi_ngw.configurator.carlineIdMap["s4avant"] = "S4-V-xxxx";
audi_ngw.configurator.carlineIdMap["a5coupe"] = "A5-xxxx";
audi_ngw.configurator.carlineIdMap["a5sb"] = "A5-SB-xxxx";
audi_ngw.configurator.carlineIdMap["a5cabrio"] = "A5-C-xxxx";
audi_ngw.configurator.carlineIdMap["s5coupe"] = "S5-xxxx";
audi_ngw.configurator.carlineIdMap["s5cabrio"] = "S5-C-xxxx";
audi_ngw.configurator.carlineIdMap["s5sb"] = "S5-SB-xxxx";
audi_ngw.configurator.carlineIdMap["rs5coupe"] = "RS5-xxxx";
audi_ngw.configurator.carlineIdMap["a6limo"] = "A6-xxxx";
audi_ngw.configurator.carlineIdMap["a6avant"] = "A6-V-xxxx";
audi_ngw.configurator.carlineIdMap["aaq"] = "A6-H-xxxx";
audi_ngw.configurator.carlineIdMap["s6limo"] = "S6-xxxx";
audi_ngw.configurator.carlineIdMap["s6avant"] = "S6-V-xxxx";
audi_ngw.configurator.carlineIdMap["rs6limo"] = "RS6-xxxx";
audi_ngw.configurator.carlineIdMap["rs6avant"] = "RS6-V-xxxx";
audi_ngw.configurator.carlineIdMap["a8"] = "A8-xxxx";
audi_ngw.configurator.carlineIdMap["q5"] = "Q5-xxxx";
audi_ngw.configurator.carlineIdMap["q7"] = "Q7-xxxx";
audi_ngw.configurator.carlineIdMap["q7v12"] = "Q7-V12-xxxx";
audi_ngw.configurator.carlineIdMap["ttcoupe"] = "TT-C-xxxx";
audi_ngw.configurator.carlineIdMap["ttroadster"] = "TT-R-xxxx";
audi_ngw.configurator.carlineIdMap["ttscoupe"] = "TTS-R-xxxx";
audi_ngw.configurator.carlineIdMap["ttsroadster"] = "TTS-R-xxxx";
audi_ngw.configurator.carlineIdMap["ttrscoupe"] = "TTRS-C-xxxx";
audi_ngw.configurator.carlineIdMap["ttrsroadster"] = "TTRS-R-xxxx";
audi_ngw.configurator.carlineIdMap["r8"] = "R8-xxxx";
audi_ngw.configurator.carlineIdMap["r8v10"] = "R8-xxxx";
audi_ngw.configurator.carlineIdMap["r8spyder"] = "R8-xxxx";

