﻿

function killEnter(e)
{
	/*
		Prevents all forms from submitting on pressing enter.
		Added exception of the voltage and model searches to check for value and allow those to submit on enter.
	*/
    e = e? e : window.event;
    var k = e.keyCode? e.keyCode : e.which? e.which : null;
    if (k == 13)
    {
		// voltage form in nav bar.
        if (document.getElementById('volt').value != document.getElementById('volt').defaultValue) {
            voltage(document.getElementById('volt'));
        } // model form in nav bar.
        else if (document.getElementById('model').value != document.getElementById('model').defaultValue) {
            findModel(document.getElementById('model'));
        } // voltage form in Single output page content
        else if ($("#voltSO").length > 0) {
            if (document.getElementById('voltSO').value != document.getElementById('voltSO').defaultValue) {
                voltage(document.getElementById('voltSO'));
            }
        } // voltage form in Single output page content
        else if ($("#voltFinder").length > 0) {
            if (document.getElementById('voltFinder').value != document.getElementById('voltFinder').defaultValue) {
                voltage(document.getElementById('voltFinder'));
            }
        } // voltage form in Find Page
        else if ($("#voltFindPage").length > 0) {
            if (document.getElementById('voltFindPage').value != document.getElementById('voltFindPage').defaultValue) {
                voltage(document.getElementById('voltFindPage'));
            }
        } // model form in Find Page
        else if ($("#modelFindPage").length > 0) {
            if (document.getElementById('modelFindPage').value != document.getElementById('modelFindPage').defaultValue) {
                findModel(document.getElementById('modelFindPage'));
            }
        } // model form in Find Page
        else if (e.target.nodeName.toString().toLowerCase() == "textarea" ) {
            return true;
        }
		/*
			If it isn't any of the forms above, don't do anything.
		*/
		if (e.preventDefault)
			e.preventDefault();
		return false;
    }
    return true;
}

function getQueryString() {
    var result = {}, queryString = location.search.substring(1),
      re = /([^&=]+)=([^&]*)/g, m;

    while (m = re.exec(queryString)) {
        result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
    }

    return result;
}

// ...
var sModel = getQueryString()["model"];
var sProductId = getQueryString()["prod"];

$(function () {
    modelRegEx = /^[A-z0-9\-]+$/;
    prodIdRegEx = /^i[0-9]+$/;
    if (sModel && sProductId) // make sure they both are supplied
	{
        if (modelRegEx.test(sModel) && prodIdRegEx.test(sProductId)) // make sure they both follow the right format
        {
			//Add message box
            resultsBox = '<div class="voltMsgBox"><h3>You selected base model:</h3>';
            resultsBox += '<a href="/store/productdetail.aspx?q=' + sProductId + '"><img src="/images/btn-buy-now.png" /></a>';
            resultsBox += '<h4><span>' + sModel + '</span></h4></div>';
            oResultsBox = $(resultsBox);
            oResultsBox.hide();
            $('body > .content').prepend(oResultsBox);
        }
		$('.voltMsgBox').slideDown("slow");
	}
});


// Go through different browser methods to attach listener to stop form submission on pressing enter.
if(typeof document.addEventListener!='undefined')
	document.addEventListener('keydown', killEnter, false);
else if(typeof document.attachEvent!='undefined')
	document.attachEvent('onkeydown', killEnter);
else
{
	if (document.onkeydown != null)
	{
		var oldOnkeydown=document.onkeydown;
		document.onkeydown = function(e)
							{
								oldOnkeydown(e);
								killEnter(e);
							};
	}
	else
		document.onkeydown=killEnter;
}

var hoverConfig = {
    sensitivity: 3, // If the mouse travels fewer than this number of pixels between polling intervals, then the "over" function will be called
    interval: 150, // number = milliseconds between reading/comparing mouse coordinates
    timeout: 250 // number = milliseconds delay before onMouseOut  
};

