var d = new Date();
var flashTime = d.getTime();
var hName = location.hostname;

if(typeof vw =="undefined"){var vw = {}};
vw.hybrid = {

	addWidget : function(id, color, vaddin, vavailableSearches, vdefaultSearchType, external, vdealerPhoneNumbers, vdaatemplate)
	{
		var addin;
		try{
			addin = vaddin;
		}catch(e){
			addin = false;
		}
		//var external = "";
		if(addin != undefined && (addin == "external" || addin == "externalWHeader" || addin == "externalDealer"))
		{
			if((external == undefined) || (external == ""))
			{
				external = "http://www.vw.com";
			}

		}
		else
		{
			external = "";
		}
		if(vdealerPhoneNumbers == undefined) vdealerPhoneNumbers = "";
		var so = new SWFObject(external+"/global/nav/swf/dealerpixel.swf", "dealerpixel", "1", "1", "9.0.45", color, false, "high");
		var availableSearches = "";
		var defaultSearchType = "";
		if (vavailableSearches != undefined) {
			availableSearches = vavailableSearches;
		}
		if (vdefaultSearchType != undefined) {
			defaultSearchType = vdefaultSearchType;
		}

		if(vdaatemplate != undefined){
			so.addVariable("template", vdaatemplate);
		}

		if(addin != undefined)
		{
			if(color=="#000000")
				so.addVariable("configXML", external+"/global/nav/data/config.xml");
			else
				so.addVariable("configXML", external+"/global/nav/data/config.xml");
		
			if(addin == "external" || addin == "externalWHeader")
			{
				so.addVariable("externalDomain", external);
				so.addVariable("livesOnExternalSite", "true");
				so.addVariable("externalDomain", external);
				so.addVariable("dealerPhoneNumbers", vdealerPhoneNumbers);
				so.addVariable("flashTime", flashTime);
				so.addVariable("userAgent", util.getBrowser());
				so.addParam("allowScriptAccess", "always");
			}
		}else
		{
			so.addVariable("configXML", "/global/nav/data/config.xml");
		}
		so.addVariable("availableSearches", availableSearches);
		so.addVariable("defaultSearchType", defaultSearchType);
		so.addVariable("dealerPhoneNumbers", vdealerPhoneNumbers);
		so.addParam("wmode", "transparent");
		so.addVariable("hybrid_page","true");
		so.addVariable("black_bg","none");
		so.addVariable("flashTime", flashTime);
		
		// Create iPhone URL encoding

		var iphoneEncode = "?url=http://";
		iphoneEncode += hName;
		iphoneEncode += "&service=";

		// Extract service phone # from vdealerPhoneNumbers
		// First, find the index of "service" in the string using a case-insensitive search
		var intServiceLocation = vdealerPhoneNumbers.search(/service/i);
		var strService = "";
		if (intServiceLocation > 0) {
		    var intBegin = intServiceLocation + 9; // "service: " = 9 characters

		    // end will be the index of the next semicolon -1 (we don't want the semicolon itself)
		    var intEnd = vdealerPhoneNumbers.indexOf(";", intBegin) - 1;
		    if (intEnd > 0) {
		        strService = vdealerPhoneNumbers.slice(intBegin, intEnd);
		    }
		}
		//if getServicePhone exists, add it to the iPhoneEncode String, else add nothing
		try{
			iphoneEncode += getServicePhone();
		}
		catch(err){
			iphoneEncode = '';
		}

		//iphoneEncode += strService;
	
		so.setAttribute("redirectUrl", external+"/update/en/us/" + iphoneEncode);
		so.write(id);
	}
}

util = {
	getBrowser : function()
	{
		var appName = navigator.appName;
		var userAgent = navigator.userAgent.toLowerCase();
		var browser = '';
		if((appName.indexOf('Microsoft') != -1) && (userAgent.indexOf('mac') == -1))
		{
			return 'ie';
		}
		else if((appName.indexOf('Microsoft') != -1) && (userAgent.indexOf('mac') != -1))
		{
			return 'other';
		}
		else if (userAgent.indexOf('safari') != -1)
		{
			return 'safari';
		}
		else if (userAgent.indexOf('firefox') != -1)
		{
			return 'firefox';
		}
		else
		{
			return 'other';
		}
	}
}