
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);
}
var accxURL = "http://configurator.audi.es/entry?";
var mandant="mandant=accx-es";

s="scrollbars=no,directories=no,menubar=no,toolbar=no,width=1014,height=700,status=yes,resizable=no";

var vc="";
var pr="";
var next="next=carline-page";

if ('undefined' != typeof params['url']) {
	accxURL = params['url'];
} else {
	if ('undefined' != typeof params['carline']) {
	  vc="vc=" + params['carline'];
	  if ('undefined' == typeof params['target']) {
	  	next = "next=model-page";
	  }
	}
	if ('undefined' != typeof params['model']) {
	  pr="pr=" + params['model'];
	  if ('undefined' == typeof params['target']) {
	  	next = "next=exterior-page";
	  }
	}
	if ('undefined' != typeof params['target']) {
	  next="next=" + params['target'];
	}
	if ('undefined' != typeof params['exteriorcolour']) {
	  pr +="|" + params['exteriorcolour'];
	}
	if ('undefined' != typeof params['interiorcolour']) {
	  pr +="|" + params['interiorcolour'];
	}
	if ('undefined' != typeof params['rims']) {
	  pr +="|" + params['rims'];
	}
	if ('undefined' != typeof params['addprstring']) {
	  pr +="|" + params['addprstring'];
	  if (pr.indexOf("undefined|") > -1) {
		pr = pr.replace(/undefined\|/g, "");
	  }
	}
	accxURL += mandant + "&" + vc + "&" + pr + "&" + next;
}
sat=window.open(accxURL,"AK4SATELLIT",s);
sat.focus();
};

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.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);
	
	if ("undefined" != typeof params["model"]) {
		var carline = audi_ngw.configurator.getCarlineForModelId(params["model"]);
		var carlineGroup = audi_ngw.configurator.getCarlineGroupForCarline(carline);

		if (carline && carlineGroup) {
			var year = audi_ngw.configurator.year;
			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.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.year = "2009";
audi_ngw.configurator.country = "cnr";
audi_ngw.configurator.language = "spa";
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 = "/cani/brand/";

audi_ngw.configurator.carlineMap = new Array();
audi_ngw.configurator.carlineMap["8J30"] = "TT-C-2010";
audi_ngw.configurator.carlineMap["8J90"] = "TT-R-2010";
audi_ngw.configurator.carlineMap["8J3S"] = "TTS-C-xxxx";
audi_ngw.configurator.carlineMap["8J9S"] = "TTS-R-xxxx";
audi_ngw.configurator.carlineMap["8J3R"] = "TTS-C-xxxx";
audi_ngw.configurator.carlineMap["8J9R"] = "TTS-R-xxxx";
audi_ngw.configurator.carlineMap["8P1A"] = "A3-2010";
audi_ngw.configurator.carlineMap["8P1B"] = "A3-2010";
audi_ngw.configurator.carlineMap["8P1C"] = "A3-xxxx";
audi_ngw.configurator.carlineMap["8PAA"] = "A3-SB-2010";
audi_ngw.configurator.carlineMap["8PAB"] = "A3-SB-2010";
audi_ngw.configurator.carlineMap["8PAC"] = "A3-SB-2010";
audi_ngw.configurator.carlineMap["8P1S"] = "S3-xxxx";
audi_ngw.configurator.carlineMap["8PAS"] = "S3-SB-xxxx";
audi_ngw.configurator.carlineMap["8P7A"] = "A3-C-2010";
audi_ngw.configurator.carlineMap["8P7B"] = "A3-C-2010";
audi_ngw.configurator.carlineMap["8K2S"] = "S4-xxxx";
audi_ngw.configurator.carlineMap["8K5S"] = "S4-V-xxxx";
audi_ngw.configurator.carlineMap["8K2E"] = "A4-2010";
audi_ngw.configurator.carlineMap["8K20"] = "A4-2010";
audi_ngw.configurator.carlineMap["8K2B"] = "A4-2010";
audi_ngw.configurator.carlineMap["8K2C"] = "A4-2010";
audi_ngw.configurator.carlineMap["8K50"] = "A4-V-2010";
audi_ngw.configurator.carlineMap["8K5B"] = "A4-V-2010";
audi_ngw.configurator.carlineMap["8K5C"] = "A4-V-2010";
audi_ngw.configurator.carlineMap["8KH0"] = "A4-H-2010";
audi_ngw.configurator.carlineMap["8T30"] = "A5-2010";
audi_ngw.configurator.carlineMap["8T3S"] = "S5-xxxx";
audi_ngw.configurator.carlineMap["8TA0"] = "A5-SB-2010";
audi_ngw.configurator.carlineMap["8TAS"] = "S5-SB-xxxx";
audi_ngw.configurator.carlineMap["8F70"] = "A5-C-2010";
audi_ngw.configurator.carlineMap["8F7S"] = "S5-C-xxxx";
audi_ngw.configurator.carlineMap["8RB0"] = "Q5-2010";
audi_ngw.configurator.carlineMap["4F20"] = "A6-2010";
audi_ngw.configurator.carlineMap["4F2E"] = "A6-2010";
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["4LB0"] = "Q7-2010";
audi_ngw.configurator.carlineMap["4H20"] = "A8-xxxx";
audi_ngw.configurator.carlineMap["4E20"] = "A8-xxxx";
audi_ngw.configurator.carlineMap["4E80"] = "A8-xxxx";
audi_ngw.configurator.carlineMap["4E2S"] = "S8-xxxx";
audi_ngw.configurator.carlineMap["4230"] = "R8-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.carlineGroupMap = new Array();
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-SB-xxxx"] = "A5";
audi_ngw.configurator.carlineGroupMap["S5-xxxx"] = "A5";
audi_ngw.configurator.carlineGroupMap["A5-C-xxxx"] = "A5C";
audi_ngw.configurator.carlineGroupMap["S5-C-xxxx"] = "A5C";
audi_ngw.configurator.carlineGroupMap["A6-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["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["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["Q5-xxxx"] = "Q5";
audi_ngw.configurator.carlineGroupMap["Q7-xxxx"] = "Q7";

