var CarMenu = null;
var MenuTimer = null;
var req	= null;

function disableEnterKey(e)
{
     var key;     
     if(window.event)
          key = window.event.keyCode; //IE
     else
          key = e.which; //firefox     

     return (key != 13);
}

function StartHints(){
	var iframe = new Element('iframe', { 'id':'iframe', 'frameborder':'0', 'src':'', 'width':'300'}).setStyle('position', 'absolute');
	$('page').adopt(iframe, 'after');

	var baloon = new Element('div', { 'id':'hint', 'class':'baloon'}).setStyle('position', 'absolute');
	$('page').adopt(baloon, 'after');

	var tail = new Element('div', {'class':'tail'});

	$$('.hint').each(function(el){
		el.onmouseover = function(){
			var dims = this.getCoordinates();
			var link = this.getSize();

			$('hint').innerHTML = $(this.rel).innerHTML;
			$('hint').adopt(tail, 'bottom');

			$('iframe').setStyle('display', 'block');
			$('hint').setStyle('display', 'block');

			$('hint').setStyle('top', dims['top'] - link.x - 55);
			$('hint').setStyle('left', dims['left'] + dims['width'] - 25);

			$('iframe').setStyle('top', dims['top'] - link.x - 55);
			$('iframe').setStyle('left', dims['left'] + dims['width'] - 25);
		};

		el.onmouseout = function(){
			$('iframe').setStyle('display', 'none');
			$('hint').setStyle('display', 'none');
		};
	})
}

function ShowModelsMenu(){
	var dims = this.getCoordinates();
	var cmParent = $('car-menu').parentNode;
	clearTimeout(MenuTimer);

	if(!cmParent){ return; }

	cmParent.setStyle('width', 226);
	cmParent.setStyle('top', 130);
	cmParent.setStyle('left', dims['left'] - 11);
	cmParent.setStyle('z-index', 9999);

	this.className = 'ver-modelos active';

	$('car-menu').onmouseover = function(){ clearTimeout(MenuTimer); }
	$('car-menu').onmouseout = function(){ MenuTimer = setTimeout('CloseMenu()', 300); }

	$('card').onmouseover = function(){ clearTimeout(MenuTimer); }
	$('card').onmouseout = function(){ MenuTimer = setTimeout('CloseMenu()', 300); }

	CarMenu.slideIn();

	$('card').setStyle('top', 140);
	$('card').setStyle('left', dims['left'] + 187);
}

function HideModelsMenu(){
	MenuTimer = setTimeout('CloseMenu()', 300);
}

function CloseMenu(){
	$$('div.sub-menu a').each(function(el){ el.className = ''; });
	$('card').fade(0);
	CarMenu.slideOut();
	$('ver-modelos').className = 'ver-modelos';
	$('card').setStyle('display', 'none');
	if(jQuery.browser.msie){
        jQuery('select').show();
    }
}

function StartCarMenu(){

	$('car-menu').setStyle('display', 'block');
	CarMenu = new Fx.Slide('car-menu', {duration: 'short'}).hide();

	$('ver-modelos').onmouseover = ShowModelsMenu;
	$('ver-modelos').onmouseout = HideModelsMenu;

	//create our Accordion instance
	new Accordion($('car-list'), '.category', 'div.sub-menu', {
		opacity: false,
		onActive: function(toggler, element){ toggler.className = 'category active'; },
		onBackground: function(toggler, element){ toggler.className = 'category'; }
	});

	req = new Request.HTML({url:'',
		onSuccess: function(html) {
			$('card').set('text', '');
			$('card').adopt(html);
		},
		onFailure: function() { $('card').set('text', 'The request failed.'); }
	});


	$$('div.sub-menu a').each(function(el){

		el.onclick = function (){
		    if(jQuery.browser.msie){
		        jQuery('select').hide();
		    }
			$('card').fade(0).addEvent('onComplete', function(){
				$('card').setStyle('display', 'none');
			});

			$$('div.sub-menu a').each(function(el){ el.className = ''; });
			this.className = 'active';

			req.options['url'] = this.href;

			req.get().addEvent('onComplete', function (){
				$('card').setStyle('display', 'block');
				$('card').fade(1);
			})

			return false;
		}
	});
}

/**/

function initSlider()
{
    var slidePrev = $('slide-prev');
    var slideNext = $('slide-next');
    var slideTitle = $('slide-title');

    $each($$('.navi .image a.large'), function(el){ el.setStyle('opacity', 0); el.setStyle('display', 'none'); });
    if(!slidePrev || !slideNext || !slideTitle){ return; }
    $each($$('.navi .image img.small'), function(el){

        if($(el.parentNode).hasClass('current')){
            setSlideTitle(el.alt);
        }

        el.addEvent('click', function(e){
            e.stop();
            displayFullImage();
        });
    });
    slidePrev.addEvent('click', function(e){
        e.stop();
        doSlide('prev');
    });

    slideNext.addEvent('click', function(e){
        e.stop();
        doSlide('next');
    });

    slideTitle.addEvent('click', function(e){
        e.stop();
        if(slideTitle.hasClass('expanded')){
            hideFullImage();
        } else {
            displayFullImage();
        }
    });
}  //  initSlider

function displayFullImage()
{
    $each($$('.navi .image.current a.large'), function(el){
        if(el.getStyle('opacity') != 1){
            el.setStyle('opacity', 0);
            el.setStyle('display', 'block');
            el.fade(1);
            $('slide-title').addClass('expanded');
        }
    });
    setTimeout("hideFullImage()",5000);
}  //  displayFullImage

function hideFullImage()
{
    $each($$('.navi .image.current a.large'), function(el){
        if(el.getStyle('opacity') == 1){
            el.setStyle('display', 'none');
            el.setStyle('opacity', 0);
            $('slide-title').removeClass('expanded');
        }
    });
}  //  hideFullImage

function doSlide(direction)
{
    var firstEl = null;
    var prevEl = null;
    var currEl = null;
    var slideDone = false;

    $('slide-title').removeClass('expanded');
    $each($$('.navi .image a.large'), function(el){ el.setStyle('opacity', 0); el.setStyle('display', 'none'); });

    $each($$('.navi .image'), function(el, i){
        if(!i){ firstEl = el; }
        if(el.hasClass('current')){
            currEl = el;
            if(direction == 'prev' && prevEl != null){
                switchElements(el, prevEl);
                slideDone = true;
            }
        } else if(prevEl && prevEl.hasClass('current') && direction == 'next' && !slideDone) {
            currEl = el;
            switchElements(prevEl, el);
            slideDone = true;
        }
        prevEl = el;
    });

    if(!slideDone){
        if(direction == 'prev'){
            switchElements(currEl, prevEl);
        } else {
            switchElements(prevEl, firstEl);
        }
    }
}  //  doSlide

function switchElements(source, dest)
{
    //console.log(source.title + ' -> ' + dest.title);

    source.removeClass('current');
    dest.addClass('current');
    setSlideTitle(dest.getElement('img').alt);
}  //  switchElements

function setSlideTitle(str)
{
    var slideTitle = $('slide-title');
    if(!slideTitle){ return; }

    var titleParts = str.split('/');
    if(titleParts.length == 1){
        slideTitle.innerHTML = str;
        return;
    }
    slideTitle.innerHTML = '<strong>' + titleParts[0] + '</strong><span>' + titleParts[1] + '</span>';
}  //  setSlideTitle

function rotateSlider(interval){
    var rotate = function(){
        if(jQuery('#slide-title').hasClass('expanded'))
        {
            // be patient kemosabe
        } else {
            doSlide('next');
        }
    };
    rotate.periodical(interval);
}

function centerWindow(pageUrl, winName, w, h, scroll, resizable) 
{
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	var wins = scroll ? 'yes' : 'no';
	var winr = resizable ? ',resizable' : '';
	winProps = 'height='+ h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+wins+winr;
	win = window.open(pageUrl, winName, winProps);
	if (parseInt(navigator.appVersion) >= 4) {
		 win.window.focus();
	}
}


function changeContent(ContentShortName)
{
      jQuery.get("/services/getContentData.aspx", { shortname: ContentShortName },      
      function(data)
      {
        jQuery('#contentInfo').html(data);
      });
}

function verifyVIN()
{
    var VINNumber;
    
    VINNumber   = jQuery('#txtVINNumber').val();
	
	jQuery.post("/services/verifyVINNumber.aspx/verifyVIN","{'VINNumber':'" + VINNumber + "'}", function(msg){
		if(VINNumber != '')
        {
			if(VINNumber.length == 17)
			{
				if(msg != "FAIL")            
				{
					jQuery('#campaignList').html(msg);
				
					// Show found message       
					jQuery('#vin_found').dialog('open');
				   
					// Reset form.
					jQuery('#txtVINNumber').val(''); 
				}                
				else
				{
				  // Show not found message
				  //alert('Failed');
				  // Dialog			
				  jQuery('#vin_not_found').dialog('open');                  
				}    
			}
			else
			{
				jQuery('#vin_not_valid').dialog('open');
			}
		}else{
				jQuery('#vin_not_valid').dialog('open');
			}
		
	});
    
 /*    jQuery.ajax({
        type: "POST",
        url: "/services/verifyVINNumber.aspx/verifyVIN",
        // Pass the parameters, via JSON object.
        data: "{'VINNumber':'" + VINNumber + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) 
        {
            if(VINNumber != '')
            {
                if(VINNumber.length == 17)
                {
                    if(msg != "FAIL")            
                    {
                        jQuery('#campaignList').html(msg);
                    
                        // Show found message       
                        jQuery('#vin_found').dialog('open');
                       
                        // Reset form.
                        jQuery('#txtVINNumber').val(''); 
                    }                
                    else
                    {
                      // Show not found message
                      //alert('Failed');
                      // Dialog			
                      jQuery('#vin_not_found').dialog('open');                  
                    }    
                }
                else
                {
                    jQuery('#vin_not_valid').dialog('open');
                }
            }   
            else
            {
                jQuery('#error_empty_vin').dialog('open');   
            }           
            
            // hide ajax loading image.
            //$('.ajax-loading').css("display", "none");
        }
      }); */
      
      return false;
}

function showLeavingDialog(url)
{              
    targetURL = url;   
    hs.close();
    hs.htmlExpand(null,{src: '/promos/salir.html',objectType:'iframe',width: 732,height: 345,objectWidth: 732,objectHeight:345});   
    
    return false;                     
}


function verifyVIN_onkeydown()
{
    if (event.keyCode == 13) { return verifyVIN(); }
    
    return false;
}

function executeHS(element, width, height)
{
    return hs.htmlExpand(element, {objectType: 'iframe', width: width, height: height, objectWidth: width, objectHeight: height});
}

function initRecallDialogs()
{
// Dialog			
				jQuery('#vin_found').dialog({
					autoOpen: false,
					width: 600,
					buttons: {
						"Ok": function() { 
							jQuery(this).dialog("close"); 
						}
					}
				});								
				
			    jQuery('#vin_not_found').dialog({
					autoOpen: false,
					width: 600,
					height: 200,
					buttons: {
						"Ok": function() { 
							jQuery(this).dialog("close"); 
						}
					}
				});
				
				jQuery('#error_empty_vin').dialog({
					autoOpen: false,
					width: 600,
					height: 200,
					buttons: {
						"Ok": function() { 
							jQuery(this).dialog("close"); 
						}
					}
				});
				
				jQuery('#vin_not_valid').dialog({
					autoOpen: false,
					width: 600,
					height: 200,
					buttons: {
						"Ok": function() { 
							jQuery(this).dialog("close"); 
						}
					}
				});
				
				jQuery('#security_campaign').dialog({
					autoOpen: false,
					width: 600,
					height: 200,
					buttons: {
						"Ok": function() { 
							jQuery(this).dialog("close"); 
						}
					}
				});
				
				jQuery('#special_service').dialog({
					autoOpen: false,
					width: 600,
					height: 200,
					buttons: {
						"Ok": function() { 
							jQuery(this).dialog("close"); 
						}
					}
				});
				
				jQuery('#limited_service').dialog({
					autoOpen: false,
					width: 600,
					height: 200,
					buttons: {
						"Ok": function() { 
							jQuery(this).dialog("close"); 
						}
					}
				});
				
				jQuery('#recall_alfombras').dialog({
					autoOpen: false,
					width: 600,
					height: 200,
					buttons: {
						"Ok": function() { 
							jQuery(this).dialog("close"); 
						}
					}
				});
}
