// Hide script from older browsers // script by http://www.hypergurl.com var urlAddress = "http://www.hypergurl.com/graphics.html"; var pageName = "Free Graphics,Hypergurl"; 
function addToFavorites()
{ 
	if (window.external) 
	{ 
		window.external.AddFavorite(urlAddress,pageName)
	} 
	else 
	{ 
		alert("Sorry! Your browser doesn't support this function."); 
	} 
}

function CreateBookmarkLink() 
{
	title = document.title; 
	
	url = location.href;
	
	if (window.sidebar) 
	{ // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} 
	else if( window.external ) 
	{ // IE Favorite
		window.external.AddFavorite( url, title); 
	}
	else if(window.opera && window.print) 
	{ // Opera Hotlist
		return true; 
	}
}

/**** Finance Page Change ******/
function changeFinancePage($from, $to)
{
	$('#financepage'+$from).fadeOut("slow", function(){
		$(this).removeClass('financepageOn').addClass('financepageOff');
		$('#financepage'+$to).fadeIn("slow").removeClass('financepageOff').addClass('financepageOn');
	});
}

function changeTestimonialPage()
{
	$('#testimonialslist').fadeOut("slow", function(){
		$(this).removeClass('show').addClass('hidden');
		$('#testimonialsform').fadeIn("slow").removeClass('hidden').addClass('show');
	});
}

function openFinanceOthers(num, type)
{
	$('#finance'+type+num+'button').fadeOut("slow", function(){
		$(this).removeClass('show').addClass('hidden');
		next = num + 1;
		$('#finance'+type+next+'button').fadeIn("slow").removeClass('hidden').addClass('show');
		$('#finance'+type+num).fadeIn("slow").removeClass('hidden').addClass('show');
	});
}

//Code to load the models after the Make has been selected
$(document).ready(function() {
	pageurl = window.location.search.substring(1);

	function querySt(qs) 
	{
		pageurl = window.location.search.substring(1);
		qssplit = pageurl.split("&");
		for (i=0;i<qssplit.length;i++) 
		{
			qssplitval = qssplit[i].split("=");
			if (qssplitval[0] == qs) 
			{
				return qssplitval[1];
			}
		}
	}

	var koko = querySt("page");

	//make autocomplete function
	$("#make").autocomplete({
        source: function( request, response ) 
        {
        	url = "remotesearch.php?type=make&term="+ request.term;
            
            $.getJSON(url + '&callback=?', function(data) {
                response(data);
            });
            
            $("#model").attr("value", "");
            //model autocomplete
            $("#model").autocomplete({
                source: function( request, response ) 
                {
                		url = "remotesearch.php?type=model&make="+$("#make").attr("value")+"&term="+ request.term;
                    
                    $.getJSON(url + '&callback=?', function(data) {
                        response(data);
                    });
                }
            });
            $("#model").autocomplete('option','minLength',0);
            $("#model").bind("click", function(event, ui){
            	$("#model").autocomplete("search" , '');
            });
        }
    });
    
    $("#make").autocomplete('option','minLength',0);
    $("#make").bind("click", function(event, ui){
    	$("#make").autocomplete("search" , '');
    });
    
    $("#minprice").autocomplete({
        source: function( request, response ) 
        {
        		url = "remotesearch.php?type=minprice&term="+ request.term;
            
            $.getJSON(url + '&callback=?', function(data) {
                response(data);
            });
        }
    });
    $("#minprice").autocomplete('option','minLength',0);
    $("#minprice").bind("click", function(event, ui){
    	$("#minprice").autocomplete( "search" , '' );
    });

    $("#maxprice").autocomplete({
        source: function( request, response ) 
        {
        	url = "remotesearch.php?type=maxprice&term=" + request.term;
            $.getJSON(url + '&callback=?', function(data) {
                response(data);
            });
        }
    });
    $("#maxprice").autocomplete('option','minLength',0);
    $("#maxprice").bind("click", function(event, ui){
    	$("#maxprice").autocomplete( "search" , '' );
    });
    
    $("#transmission").autocomplete({
        source: function( request, response ) 
        {
        		url = "remotesearch.php?type=transmission&term="+ request.term;
            
            $.getJSON(url + '&callback=?', function(data) {
                response(data);
            });
        }
    });
    $("#transmission").autocomplete('option','minLength',0);
    $("#transmission").bind("click", function(event, ui){
    	$("#transmission").autocomplete( "search" , '' );
    });

    $("#bodystyle").autocomplete({
        source: function( request, response ) 
        {
        	url = "remotesearch.php?type=bodystyle&term=" + request.term;
            $.getJSON(url + '&callback=?', function(data) {
                response(data);
            });
        }
    });
    $("#bodystyle").autocomplete('option','minLength',0);
    $("#bodystyle").bind("click", function(event, ui){
    	$("#bodystyle").autocomplete( "search" , '' );
    });
    
    $("#fueltype").autocomplete({
        source: function( request, response ) 
        {
        	url = "remotesearch.php?type=fueltype&term=" + request.term;
            $.getJSON(url + '&callback=?', function(data) {
                response(data);
            });
        }
    });
    $("#fueltype").autocomplete('option','minLength',0);
    $("#fueltype").bind("click", function(event, ui){
    	$("#fueltype").autocomplete( "search" , '' );
    });
    
    $("#price").autocomplete({
        source: function( request, response ) 
        {
        	url = "remotesearch.php?type=price&term=" + request.term;
            $.getJSON(url + '&callback=?', function(data) {
                response(data);
            });
        }
    });
    $("#price").autocomplete('option','minLength',0);
    $("#price").bind("click", function(event, ui){
    	$("#price").autocomplete( "search" , '' );
    });
    
    /******** FANCYBOX ********/
	/* Apply fancybox to multiple items */
	
	$(".imagebox").fancybox({
		//'transitionIn'	:	'elastic',
		//'transitionOut'	:	'elastic',
		'speedIn'		:	600, 
		'speedOut'		:	200,
		'width'			:	640,
		'height'		:	480
		//'overlayShow'	:	false
	});
	
	$('#frpage').attr('value', document.location);
	
	$("#sendtofriend").fancybox({
		'scrolling'		: 'no',
		'titleShow'		: false,
		'width'			: 220,
		'onClosed'		: function() {
		    $("#friend_error").hide();
		}
	});
	
	$("#friend_form").bind("submit", function() {
		if ($("#frname").val().length < 1 || $("#fremail").val().length < 1 || $("#frpage").val().length < 1) {
		    $("#friend_error").show();
		    $.fancybox.resize();
		    return false;
		}

		$.fancybox.showActivity();
		
		$.post("modules/friendmailer.php", {name: $("#frname").val(), 
											   email: $("#fremail").val(), 
											   page: $("#frpage").val(), 
											   message: $("#frmessage").val()},
			function(data){$.fancybox(data);}
		);
		
		return false;
	});
	
    /******** Change Image ********/

	$(".unselected").live('click',function(){
		$(this).parent().attr('rel', '');
		$(".selected").parent().attr('rel', 'imagegroup');
		$("#mainimageimg").attr('src', $(this).attr('src'));
		$("#mainimage .imagebox").attr('href', $(this).attr('src'));
		$(".selected").removeClass('selected').addClass('unselected');
		$(this).removeClass('unselected').addClass('selected');
	});
	
	$('.accordion').live('click',function(){
		$(this).next().toggle();
		return false;
	}).next().hide();
	
	$('#partex').bind('change',function()
	{
		$('#partexlocatecontent').toggle(400);
		return false;
	});
	
	/***** Image Slideshow ****/
	$('.slideshow').cycle({
		fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
	});
	
	/***** Details Tabs Change *****/
	$('.tabUnselected').live('click',function(){
		$('.tabSelected').addClass('tabUnselected').removeClass('tabSelected');
		$(this).addClass('tabSelected').removeClass('tabUnselected');
		for(i=1;i<=4;i++)
		{
			if($(this).hasClass('tab'+i))
			{
				$('.content'+i).addClass('changer');
				$('.selectedContent').addClass('unselectedContent').addClass('temp').removeClass('selectedContent');
				$('.changer').addClass('selectedContent').removeClass('unselectedContent').removeClass('changer');
			}
		}
		$('.temp').removeClass('selectedContent').addClass('unselectedContent').removeClass('temp');
	});
	/******* Finance Form Verification ******/
	$('#financemobileinput').blur(function(){
		$(this).val($(this).val().replace(' ',''));
		if(isNaN($(this).val()) || $(this).val() == "")
		{
			$(this).siblings().filter('p').removeClass('hidden').addClass('show');
		}
		else
		{
			if($(this).siblings().filter('p').attr('class') == "show")
			{
				$(this).siblings().filter('p').removeClass('show').addClass('hidden');
			}
		}
	});
	$('#financehomenumberinput').blur(function(){
		$(this).val($(this).val().replace(' ',''));
		if(isNaN($(this).val()) || $(this).val() == "")
		{
			$(this).siblings().filter('p').removeClass('hidden').addClass('show');
		}
		else
		{
			if($(this).siblings().filter('p').attr('class') == "show")
			{
				$(this).siblings().filter('p').removeClass('show').addClass('hidden');
			}
		}
	});
	$('#financesubmitbutton').bind("click",function(){
		if(isNaN($('#financemobileinput').val()) || isNaN($('#financehomenumberinput').val()) || $('#financemobileinput').val() == "" || $('#financehomenumberinput').val() == "")
		{
			alert('Please make sure that all telephone numbers are correct');
			return false;
		}
		else
		{
			return true;
		}
	});
});

var RecaptchaOptions = {
		   theme : 'clean'
		};

var keyStr = "ABCDEFGHIJKLMNOP" +
"QRSTUVWXYZabcdef" +
"ghijklmnopqrstuv" +
"wxyz0123456789+/" +
"=";

function encode64(input) {
input = escape(input);
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;

do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);

enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;

if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}

output = output +
keyStr.charAt(enc1) +
keyStr.charAt(enc2) +
keyStr.charAt(enc3) +
keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);

return output;
}

function decode64(input) {
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;

// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
var base64test = /[^A-Za-z0-9\+\/\=]/g;
if (base64test.exec(input)) {
alert("There were invalid base64 characters in the input text.\n" +
"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\n" +
"Expect errors in decoding.");
}
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));

chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;

output = output + String.fromCharCode(chr1);

if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}

chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";

} while (i < input.length);

return unescape(output);
}		
