// $Id$

/**
 * @file
 * OM Scripts
 *
 * @author: Daniel Honrade http://drupal.org/user/351112
 *
 */
 
jQuery(document).ready(function($){
	
/**
 * Disabled this functionality due to colorbox compatibility problem
 * for external links, open in new window
  $('a[href^=http]').click( function() {
    window.open(this.href);
    return false;	    
  });
 *
 */
}); 
;
//OM Subtheme script

jQuery(document).ready(function($) {
  var id;
  var val
  
  // hide labels if input text is not empty
  var firstname = $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield #edit-firstname').val();
  var lastname = $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield #edit-lastname').val();
  var email = $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield #edit-email').val();
  var cemail = $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield #edit-emailconfirm').val();
  
  if (firstname != '') {
    $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield label[for=edit-firstname]').hide();
  }
  if (lastname != '') {
    $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield label[for=edit-lastname]').hide();
  }
  if (email != '') {
    $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield label[for=edit-email]').hide();
  }
  if (cemail != '') {
    $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield label[for=edit-emailconfirm]').hide();
  }
  
    
  $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield input').focus(function() {
    id = $(this).attr('id');
    val = $(this).val();
    if (val == '') {
      $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield label[for=' + id + ']').hide();
    }
  }).focusout(function(){
    if ($(this).val() == '') {
      $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield label[for=' + id + ']').show();
    }
  });
  
  //label
  $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield label').focus(function() {
    $(this).hide();
    $('#block-autoraptor-autoraptor #autoraptor-submission-form .form-type-textfield input[id='+ id +']').focus();
  });
  
  // Inventory Search
  $('#views-exposed-form-inventory-page .views-exposed-widget.views-widget-filter-field_search_terms_value .form-text').focus(function() {
    id = $(this).attr('id');
    val = $(this).val();
    if (val == '') {
      $('#views-exposed-form-inventory-page .views-exposed-widget.views-widget-filter-field_search_terms_value label[for=' + id + ']').hide();
    }
  }).focusout(function(){
    if ($(this).val() == '') {
      $('#views-exposed-form-inventory-page .views-exposed-widget.views-widget-filter-field_search_terms_value label[for=' + id + ']').show();
    }
  });
  
  //label
  $('#views-exposed-form-inventory-page .views-exposed-widget.views-widget-filter-field_search_terms_value label').focus(function() {
    $(this).hide();
    $('#views-exposed-form-inventory-page .form-type-textfield input[id='+ id +']').focus();
  });
  
   // Vehicle Specials
  $('#views-exposed-form-vehicle-specials-page-1 .views-exposed-widget.views-widget-filter-field_search_terms_value .form-text').focus(function() {
    id = $(this).attr('id');
    val = $(this).val();
    if (val == '') {
      $('#views-exposed-form-vehicle-specials-page-1 .views-exposed-widget.views-widget-filter-field_search_terms_value label[for=' + id + ']').hide();
    }
  }).focusout(function(){
    if ($(this).val() == '') {
      $('#views-exposed-form-vehicle-specials-page-1 .views-exposed-widget.views-widget-filter-field_search_terms_value label[for=' + id + ']').show();
    }
  });
  
  //label
  $('#views-exposed-form-vehicle-specials-page-1 .views-exposed-widget.views-widget-filter-field_search_terms_value label').focus(function() {
    $(this).hide();
    $('#views-exposed-form-vehicle-specials-page-1 .form-type-textfield input[id='+ id +']').focus();
  });
  
  // Questionaire
  $('#block-autoraptor-autoraptor-questions #autoraptor-question-submission-form .form-type-textfield input').focus(function() {
    id = $(this).attr('id');
    val = $(this).val();
    if (val == '') {
      $('#block-autoraptor-autoraptor-questions #autoraptor-question-submission-form .form-type-textfield label[for=' + id + ']').hide();
    }
  }).focusout(function(){
    if ($(this).val() == '') {
      $('#block-autoraptor-autoraptor-questions #autoraptor-question-submission-form .form-type-textfield label[for=' + id + ']').show();
    }
  });
  
  //label
  $('#block-autoraptor-autoraptor-questions #autoraptor-question-submission-form .form-type-textfield label').focus(function() {
    id = $(this).attr('for');
    $(this).hide();
    $('#block-autoraptor-autoraptor-questions #autoraptor-question-submission-form .form-type-textfield input[id='+ id +']').focus();
  });
  
  // OM
  $('.block-views-id-vehicle_main_photo-block .view-footer #vehicle-see-all').click(function () {
    $('#om-maximenu-vehicle ul.om-menu li.om-leaf').removeClass('active');          
    $('#om-leaf-om-u1-1398741708-5').addClass('active');          
         
    $('#om-maximenu-vehicle .om-maximenu-tabbed-content .om-tabbed-content').addClass('om-tabbed-content-hide').hide();              
    $('#om-maximenu-vehicle #om-tabbed-content-om-u1-1398741708-5').fadeIn('slow').removeClass('om-tabbed-content-hide');
  });

  // Magnify Icon
  $('.view-vehicle-photo-links .views-field-field-vehicle-photos a').hover(
	  function () {
			$(this).prepend('<span class="icon-magnify"></span>');
		},
		function () {
			$('.icon-magnify', this).remove();    
  });

  // Magnify Icon
  $('.view-similar-vehicles .views-field-field-vehicle-photos a').hover(
	  function () {
			$(this).prepend('<span class="icon-magnify"></span>');
		},
		function () {
			$('.icon-magnify', this).remove();    
  });	
	
  // Magnify Icon
  $('.view-vehicle-main-photo .views-slideshow-controls-bottom .views-field-field-vehicle-photos .views-content-field-vehicle-photos').hover(
	  function () {
			$(this).prepend('<span class="icon-magnify"></span>');
		},
		function () {
			$('.icon-magnify', this).remove();    
  });	
		  
  // Inventory model
  $('#edit-field-taxonomy-make-value').change(function() {
    $('#edit-field-taxonomy-model-value').val("");
	$('#edit-field-search-terms-value').val("");
	$('#views-exposed-form-inventory-page .views-exposed-widget.views-widget-filter-field_search_terms_value label[for=edit-field-search-terms-value]').show();
	$('#views-exposed-form-vehicle-specials-page-1 .views-exposed-widget.views-widget-filter-field_search_terms_value label[for=edit-field-search-terms-value]').show();
	$('#edit-field-taxonomy-model-value option:eq(0)').text("Please wait...");
	$('#edit-field-taxonomy-model-value').attr('disabled', 'disabled');
    $('#views-exposed-form-inventory-page').submit();
	$('#views-exposed-form-vehicle-specials-page-1').submit();
  });
  
  //pop-up navclose override
  $('#bottomNavClose').removeAttr('style');
  
  $("#edit-field-search-terms-value").keypress(function(event){
    if (event.keyCode == 10 || event.keyCode == 13) 
      event.preventDefault();
  });


  
  var defaultval = $('#edit-field-search-terms-value').val();
  if (defaultval != '') {
    $('#views-exposed-form-inventory-page .views-exposed-widget.views-widget-filter-field_search_terms_value label[for="edit-field-search-terms-value"]').hide();
	$('#views-exposed-form-vehicle-specials-page-1 .views-exposed-widget.views-widget-filter-field_search_terms_value label[for="edit-field-search-terms-value"]').hide();
  }
  
  $('#edit-field-search-terms-value-wrapper').append('<input type="button" id="edit-button-inventory" value="Search" />');
  
  
  // Search functionality
  $('#edit-button-inventory').click(function () {
    $('#edit-field-taxonomy-make-value').val("");
	$('#edit-field-taxonomy-model-value').val("");
	$('#edit-field-vehicle-body-value').val("");
	$('#edit-field-vehicle-price-value-value').val("");
	$('#edit-field-vehicle-dealer-info-nid').val("All");
	$('#edit-field-taxonomy-year-value').val("");
	$('#edit-items-per-page').val(8);
    $('#views-exposed-form-inventory-page').submit();
	$('#views-exposed-form-vehicle-specials-page-1').submit();
  });
  
  // Search functionality
  $('#edit-submit-inventory').click(function () {
    $('#edit-field-search-terms-value').val("");
	$('#views-exposed-form-inventory-page .views-exposed-widget.views-widget-filter-field_search_terms_value label[for=edit-field-search-terms-value]').show();
  });
  
  $('#edit-submit-vehicle-specials').click(function () {
    $('#edit-field-search-terms-value').val("");
	$('#views-exposed-form-vehicle-specials-page-1 .views-exposed-widget.views-widget-filter-field_search_terms_value label[for=edit-field-search-terms-value]').show();
  });
	
  // Masked Input
  $("#edit-submitted-personal-information-phone-number").mask("999-999-9999");
  $("#edit-submitted-personal-information-fax-number").mask("999-999-9999");

  $('#edit-submit-inventory').val("Search");
  $('#edit-submit-inventory').attr("title", "Press SEARCH to narrow selection");

  $('#edit-submit-vehicle-specials').val("Search");
  $('#edit-submit-vehicle-specials').attr("title", "Press SEARCH to narrow selection");
  
  // blinking make a payment button
  for(i=0;i<3;i++) {
    $('#block-menu-menu-payment .menu-menu-payment-default').fadeTo('fast', 0).delay(500).fadeTo('fast', 1.0);
  }



  
});
;
/*
	Masked Input plugin for jQuery
	Copyright (c) 2007-@Year Josh Bush (digitalbush.com)
	Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) 
	Version: @version
*/
(function($) {
	var pasteEventName = ($.browser.msie ? 'paste' : 'input') + ".mask";
	var iPhone = (window.orientation != undefined);

	$.mask = {
		//Predefined character definitions
		definitions: {
			'9': "[0-9]",
			'a': "[A-Za-z]",
			'*': "[A-Za-z0-9]"
		},
		dataName:"rawMaskFn"
	};

	$.fn.extend({
		//Helper Function for Caret positioning
		caret: function(begin, end) {
			if (this.length == 0) return;
			if (typeof begin == 'number') {
				end = (typeof end == 'number') ? end : begin;
				return this.each(function() {
					if (this.setSelectionRange) {
						this.setSelectionRange(begin, end);
					} else if (this.createTextRange) {
						var range = this.createTextRange();
						range.collapse(true);
						range.moveEnd('character', end);
						range.moveStart('character', begin);
						range.select();
					}
				});
			} else {
				if (this[0].setSelectionRange) {
					begin = this[0].selectionStart;
					end = this[0].selectionEnd;
				} else if (document.selection && document.selection.createRange) {
					var range = document.selection.createRange();
					begin = 0 - range.duplicate().moveStart('character', -100000);
					end = begin + range.text.length;
				}
				return { begin: begin, end: end };
			}
		},
		unmask: function() { return this.trigger("unmask"); },
		mask: function(mask, settings) {
			if (!mask && this.length > 0) {
				var input = $(this[0]);
				return input.data($.mask.dataName)();
			}
			settings = $.extend({
				placeholder: "_",
				completed: null
			}, settings);

			var defs = $.mask.definitions;
			var tests = [];
			var partialPosition = mask.length;
			var firstNonMaskPos = null;
			var len = mask.length;

			$.each(mask.split(""), function(i, c) {
				if (c == '?') {
					len--;
					partialPosition = i;
				} else if (defs[c]) {
					tests.push(new RegExp(defs[c]));
					if(firstNonMaskPos==null)
						firstNonMaskPos =  tests.length - 1;
				} else {
					tests.push(null);
				}
			});

			return this.trigger("unmask").each(function() {
				var input = $(this);
				var buffer = $.map(mask.split(""), function(c, i) { if (c != '?') return defs[c] ? settings.placeholder : c });
				var focusText = input.val();

				function seekNext(pos) {
					while (++pos <= len && !tests[pos]);
					return pos;
				};
				function seekPrev(pos) {
					while (--pos >= 0 && !tests[pos]);
					return pos;
				};

				function shiftL(begin,end) {
					if(begin<0)
					   return;
					for (var i = begin,j = seekNext(end); i < len; i++) {
						if (tests[i]) {
							if (j < len && tests[i].test(buffer[j])) {
								buffer[i] = buffer[j];
								buffer[j] = settings.placeholder;
							} else
								break;
							j = seekNext(j);
						}
					}
					writeBuffer();
					input.caret(Math.max(firstNonMaskPos, begin));
				};

				function shiftR(pos) {
					for (var i = pos, c = settings.placeholder; i < len; i++) {
						if (tests[i]) {
							var j = seekNext(i);
							var t = buffer[i];
							buffer[i] = c;
							if (j < len && tests[j].test(t))
								c = t;
							else
								break;
						}
					}
				};

				function keydownEvent(e) {
					var k=e.which;

					//backspace, delete, and escape get special treatment
					if(k == 8 || k == 46 || (iPhone && k == 127)){
						var pos = input.caret(),
							begin = pos.begin,
							end = pos.end;
						
						if(end-begin==0){
							begin=k!=46?seekPrev(begin):(end=seekNext(begin-1));
							end=k==46?seekNext(end):end;
						}
						clearBuffer(begin, end);
						shiftL(begin,end-1);

						return false;
					} else if (k == 27) {//escape
						input.val(focusText);
						input.caret(0, checkVal());
						return false;
					}
				};

				function keypressEvent(e) {
					var k = e.which,
						pos = input.caret();
					if (e.ctrlKey || e.altKey || e.metaKey || k<32) {//Ignore
						return true;
					} else if (k) {
						if(pos.end-pos.begin!=0){
							clearBuffer(pos.begin, pos.end);
							shiftL(pos.begin, pos.end-1);
						}

						var p = seekNext(pos.begin - 1);
						if (p < len) {
							var c = String.fromCharCode(k);
							if (tests[p].test(c)) {
								shiftR(p);
								buffer[p] = c;
								writeBuffer();
								var next = seekNext(p);
								input.caret(next);
								if (settings.completed && next >= len)
									settings.completed.call(input);
							}
						}
						return false;
					}
				};

				function clearBuffer(start, end) {
					for (var i = start; i < end && i < len; i++) {
						if (tests[i])
							buffer[i] = settings.placeholder;
					}
				};

				function writeBuffer() { return input.val(buffer.join('')).val(); };

				function checkVal(allow) {
					//try to place characters where they belong
					var test = input.val();
					var lastMatch = -1;
					for (var i = 0, pos = 0; i < len; i++) {
						if (tests[i]) {
							buffer[i] = settings.placeholder;
							while (pos++ < test.length) {
								var c = test.charAt(pos - 1);
								if (tests[i].test(c)) {
									buffer[i] = c;
									lastMatch = i;
									break;
								}
							}
							if (pos > test.length)
								break;
						} else if (buffer[i] == test.charAt(pos) && i!=partialPosition) {
							pos++;
							lastMatch = i;
						}
					}
					if (!allow && lastMatch + 1 < partialPosition) {
						input.val("");
						clearBuffer(0, len);
					} else if (allow || lastMatch + 1 >= partialPosition) {
						writeBuffer();
						if (!allow) input.val(input.val().substring(0, lastMatch + 1));
					}
					return (partialPosition ? i : firstNonMaskPos);
				};

				input.data($.mask.dataName,function(){
					return $.map(buffer, function(c, i) {
						return tests[i]&&c!=settings.placeholder ? c : null;
					}).join('');
				})

				if (!input.attr("readonly"))
					input
					.one("unmask", function() {
						input
							.unbind(".mask")
							.removeData($.mask.dataName);
					})
					.bind("focus.mask", function() {
						focusText = input.val();
						var pos = checkVal();
						writeBuffer();
						var moveCaret=function(){
							if (pos == mask.length)
								input.caret(0, pos);
							else
								input.caret(pos);
						};
						($.browser.msie ? moveCaret:function(){setTimeout(moveCaret,0)})();
					})
					.bind("blur.mask", function() {
						checkVal();
						if (input.val() != focusText)
							input.change();
					})
					.bind("keydown.mask", keydownEvent)
					.bind("keypress.mask", keypressEvent)
					.bind(pasteEventName, function() {
						setTimeout(function() { input.caret(checkVal(true)); }, 0);
					});

				checkVal(); //Perform initial check for existing values
			});
		}
	});
})(jQuery);
;

