// initialize behavior on dom ready
Event.onDOMReady(function() {
	// cache DOM references
	var localDealers = $$('#content input.checkbox');
	var zipcodeFields = $$('#content .zipcode');
	var downloadPDF = $$('#content .download_pdf');
	var forms = $$('#content form');
	
	// cache current zip
	var currentZip = TMSSite.getZip();

	// initialize zip fields and checkboxes
	zipcodeFields.each(function(field, i) {
		if (currentZip > 0) {
			field.value = currentZip;
			
			if (localDealers[i]) {
				localDealers[i].checked = 'checked';
			}
		}
		
		TMSSite.clickClean(field);
	});
	
	// iterate over the download pdf buttons and attach behavior
	downloadPDF.each(function(btn, i) {
		btn.observe('click', function(evt) {
			btn.href = ((zipcodeFields[i].value > 0) && localDealers[i].checked)?(forms[i].action + '?zip=' + zipcodeFields[i].value):(forms[i].action);
		});
	});
	
	// when the users clicks on full printed brochure link, send tagging info and redirect to a popup page. 
	if ($$(".content-head a")[0]) {
		$$(".content-head a")[0].observe('click', function (evt) {
			var oEvent = {
						eventVars:      {
											'3':  (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + '_shoptools_printed brochure RAPP'
										},
						linkTrackVars:  'eVar3',
						linkTrackType:  'o',
						linkTrackName: (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + '_shoptools_printed brochurerapp'
						};
			// Sends event
			TMSSite.analytics.sendTrackingLink( oEvent );
			  
			// open the window
			if(TMSSite.lang != 'en' && TMSSite.lang != 'es'){
				TMSSite.lang = 'en';
			}
			var url = 'https://gotoyota.rappcollins.com/index_' + ((TMSSite.lang == 'en')?('english'):('spanish')) + '.php';
			window.open(url,'brochure','height=475,width=765,top=10,left=10,resizable=1,scrollbars=1,menubar=1');
			Event.stop(evt);
		});
	}
	
	if ($$(".byMail a")[0]) {
		$$(".byMail a")[0].observe('click', function(evt) {	
			var oEvent = {
						eventVars:      {
											'3':  (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + '_shoptools_printed brochure RAPP btm'
										},
						linkTrackVars:  'eVar3',
						linkTrackType:  'o',
						linkTrackName: (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + '_shoptools_printed brochurerapp btm'
						};
			// Sends event
			TMSSite.analytics.sendTrackingLink( oEvent );
			  
			// open the window
			if(TMSSite.lang != 'en' && TMSSite.lang != 'es'){
				TMSSite.lang = 'en';
			}
			var url = 'https://gotoyota.rappcollins.com/index_' + ((TMSSite.lang == 'en')?('english'):('spanish')) + '.php';
			window.open(url,'brochure','height=475,width=765,top=10,left=10,resizable=1,scrollbars=1,menubar=1');
			Event.stop(evt);
		});
	}
		
	$$("div#content a.validZip").each(function(go, i) {		
		Event.observe(go, 'click', function(e){
			if (this.up("#complete")) {
				completeTagging(false);
			} else if (this.up("#condensed")) {
				condensedTagging(false);
			} else if (this.up("#custom")) {
				customTagging();
			}
			if ((typeof(localDealers[i]) == 'undefined') || (localDealers[i].checked)) {
				Event.stop(e);				
				if ((/^\d{5}$/.test($F(this.up('form').down('input.zipcode'))))) {
					
					// set the Zip code
					TMSSite.setZip($F(this.up('form').down('input.zipcode')));
	
					this.up('form').submit();
				
				} else {
					var currentLang = (document.getElementsByTagName('html')[0] && document.getElementsByTagName('html')[0].lang)?document.getElementsByTagName('html')[0].lang:"en";
					if(currentLang != 'en' && currentLang != 'es'){
						TMSSite.disclaimerHotlink("/includes/global/invalidzip_"+currentLang+".incl");					
					}else{
						TMSSite.disclaimerHotlink(((currentLang != 'en')?"/espanol":"") + "/includes/global/invalidzip.incl");
					}
				}
			} else {
				if (typeof(localDealers[i]) == 'undefined') {
					TMSSite.setZip($F(this.up('form').down('input.zipcode')));
					this.up('form').submit();
				}
			}
		}.bindAsEventListener(go));
		
	});

	/* zip code validation */
	$$("input.zipcode").each(function(formEl){
		var zipform = formEl.up("form");
		var input = zipform.getElementsBySelector( 'input[type="text"]' )[ 0 ];
		// Sets click clean function.
		TMSSite.clickClean( input, false, { maxlength: 5 } );
		
		if (zipform) {				
			Event.observe(zipform, "submit", function(e, zip){
				if (zip.up("#complete")) {
					completeTagging(true);
				} else if (zip.up("#condensed")) {
					condensedTagging(true);
				} else if (zip.up("#custom")) {
					customTagging();
				}
				if (!(/^\d{5}$/.test($F(zip)))) {
					Event.stop(e);
					var currentLang = (document.getElementsByTagName('html')[0] && document.getElementsByTagName('html')[0].lang)?document.getElementsByTagName('html')[0].lang:"en";
					if(currentLang != 'en' && currentLang != 'es'){
						TMSSite.disclaimerHotlink("/includes/global/invalidzip_"+currentLang+".incl");					
					}else{
						TMSSite.disclaimerHotlink(((currentLang != 'en')?"/espanol":"") + "/includes/global/invalidzip.incl");
					}
				} else {
					TMSSite.setZip($F(zip));
				}
			}.bindAsEventListener(zipform, formEl));
		}
	});
	if($("lang1")){
		$("lang1").observe('click', function( e ) {	
			var oEvent = {
						eventVars:      {
											'3':  (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + "_ebrochure_Chinese"
										},
						linkTrackVars:  'eVar3',
						linkTrackType:  'o',
						linkTrackName: (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + "_shoptools_ebro chinese"
						};
			// Sends event
			TMSSite.analytics.sendTrackingLink( oEvent );
		});
	}
	
	if($("lang3")){
		$("lang3").observe('click', function( e ) {	
			var oEvent = {
						eventVars:      {
											'3':  (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + "_ebrochure_Vietnamese"
										},
						linkTrackVars:  'eVar3',
						linkTrackType:  'o',
						linkTrackName: (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + "_shoptools_ebro vietnamese"
						};
			// Sends event
			TMSSite.analytics.sendTrackingLink( oEvent );
		});
	}
});

//Update the PDF language selected by the user
function changeLang(lang) {
	console.log("changeLang");
	var downloadPDF = $$('#content .download_pdf');
	downloadPDF.each(function(btn, i) {
		var splitUrl = btn.href.split('/');
		var currentLang = splitUrl[splitUrl.length - 2];
		btn.href = btn.href.replace('\/' + currentLang + '\/', '\/' + lang + '\/');
		btn.up().action = btn.up().action.replace('\/' + currentLang + '\/', '\/' + lang + '\/');
	});
	$("byt_lang").value = lang;
}

function completeTagging(noValidateZip) {
	console.log("completeTagging");
	var zipcode = ($$("#complete form label input")[0].checked)?$$("#complete form")[0].getElementsBySelector( 'input[type="text"]' )[ 0 ].value:"";
	if (noValidateZip) {
		zipcode = $$("#complete form")[0].getElementsBySelector( 'input[type="text"]' )[ 0 ].value;
	}
	
	var oEvent = {
				events:			'event17',
				properties: {
								'7':        zipcode,
								'14':       TMSSite.i18n[TMSSite.lang].pageName + ":" + pageVars.vehicleDisplayName + ':Complete Brochure'
				},
				eventVars:      {
									'25':  TMSSite.i18n[TMSSite.lang].pageName + ":" + pageVars.vehicleDisplayName
								},
				linkTrackVars:  'prop7,prop14,eVar25,events',
				linkTrackEvents: 'event17',
				linkTrackType:  'd',
				linkTrackName: TMSSite.i18n[TMSSite.lang].location + '_' + pageVars.vehicleDisplayName.toLowerCase() + "_ebrochure_complete_brochure"
				};
	// Sends event
	TMSSite.analytics.sendTrackingLink( oEvent );
}

function condensedTagging(noValidateZip) {
	console.log("condensedTagging");
	var zipcode = ($$("#condensed form label input")[0].checked)?$$("#condensed form")[0].getElementsBySelector( 'input[type="text"]' )[ 0 ].value:"";
	if (noValidateZip) {
		zipcode = $$("#condensed form")[0].getElementsBySelector( 'input[type="text"]' )[ 0 ].value;
	}
	
	var oEvent = {
				events:			'event17',
				properties: {
								'7':        zipcode,
								'14':       TMSSite.i18n[TMSSite.lang].pageName + ":" + pageVars.vehicleDisplayName + ':Condensed Brochure'
				},
				eventVars:      {
									'25':  TMSSite.i18n[TMSSite.lang].pageName + ":" + pageVars.vehicleDisplayName
								},
				linkTrackVars:  'prop7,prop14,eVar25,events',
				linkTrackEvents: 'event17',
				linkTrackType:  'd',
				linkTrackName: (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + "_ebrochure_condensed_brochure"
				};
	// Sends event
	TMSSite.analytics.sendTrackingLink( oEvent );
}

function customTagging() {	
	console.log("customTagging");
	var zipcode = $$("#custom form")[0].getElementsBySelector( 'input[type="text"]' )[ 0 ].value;
	var oEvent = {
				properties: {
								'7':        zipcode,
								'14':       TMSSite.i18n[TMSSite.lang].pageName + ":" + pageVars.vehicleDisplayName + ':Build Your ' + pageVars.vehicleDisplayName + '-Customized Brochure'
				},
				eventVars:      {
									'3':  (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + "_ebrochure_build",
									'25':  TMSSite.i18n[TMSSite.lang].pageName + ":" + pageVars.vehicleDisplayName
								},
				linkTrackVars:  'prop7,prop14,eVar3,eVar25',
				linkTrackType:  'o',
				linkTrackName: (( TMSSite.i18n[TMSSite.lang].pageName == 'GM' ) ? 'tcom_' : 'esp_' ) + pageVars.vehicleDisplayName.toLowerCase() + "_shoptools_ebro build"
				};
	// Sends event
	TMSSite.analytics.sendTrackingLink( oEvent );
}