var img = new Array();
var caption = new Array();

// From: http://planetozh.com/blog/2008/04/javascript-basename-and-dirname/
function basename(path) {
    return path.replace(/.*\\/g, '/').replace(/.*\//, '');
}

function addimg(thumb, image, text) {
	var index = basename(thumb);

	img[index] = new Image();
	img[index].src = image;
	caption[index] = text;

	return;
}

function addvid(thumb, text) {
	var index = basename(thumb);
	caption[index] = text;

	return;
}

function swaplg(thumb) {
	var index = basename(thumb);
	var video = (index.match(/(?:\.jpg|\.jpeg|\.png|\.gif)$/i) == null);
	var elem = $('#fullimg');

	if (!video && elem.length) {
		elem[0].src = img[index].src;
	} else {
		elem = $('#lgpane');

		if (elem.length) {
			if (!video) {
				elem[0].innerHTML = '<img src="'+img[index].src+'" alt="" width="398" height="320" id="fullimg" />';

				// Avoid flicker where possible.
				$('#fullimg')[0].src = img[index].src;
			} else {
				elem[0].innerHTML = '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/'+thumb+'" width="398" height="320"><param name="movie" value="http://www.youtube.com/v/'+thumb+'" /><param name="FlashVars" value="playerMode=embedded" /></object>';
			}
		}
	}

	elem = $('#fullcaption');
	if (elem.length) {
		elem[0].innerHTML = caption[index];
	}

	return;
}

// Improved edition of DreamWeaver's standard function...
function domTab(i, blockid, linkid) {
	var blk, lnk, f = 0;

	if (blockid == null) {
		blockid = 'contentblock';
	}
	if (linkid == null) {
		linkid = 'linkblock';
	}

	do {
		blk = $('#'+blockid+(++f));
		lnk = $('#'+(linkid+f));

		if (blk.length) {
			if (f == i) {
				blk.css('display', '');
				if (lnk.length) { lnk.addClass('selected'); }
			} else {
				blk.css('display', 'none');
				if (lnk.length) { lnk.removeClass('selected'); }
			}
		}
	} while (blk.length);

	Cufon.refresh();
	return;
}

// Used on the /compare page. Populate the models dropdown box.
function updatemodels(id) {
	var make = $('#make-'+id);
	var model = $('#model-'+id);

	model.empty();
	if (make.length && (products[make[0].value] != undefined)) {
		var options = model.attr('options');
		$.each(products[make[0].value], function(key, value) {
			if (value != undefined) {
				options[options.length] = new Option(html_entity_decode(value), key);
			}
		});
	}

	$('#submit-'+id).removeAttr('disabled');

	return;
}

function recraft_compare_url() {
	var url, model, segments = new Array();

	for (var x = 2; x <= 5; x++) {
		elem = $('#model-view-'+x);
		if (!elem.length) {
			elem = $('#model-'+x);
		}
		if (elem.length && elem[0].value) {
			segments[segments.length] = elem[0].value;
		}
	}

	url = '/compare';
	for (x in segments) {
		url += '/'+segments[x];
	}

	return url;
}

function viewmodels_error() {
	document.location.href = recraft_compare_url();
	return;
}

// Reload the current page and show the models requested.
function viewmodels(col) {
	var elem = $('#submit-'+col);
	elem.attr('disabled', 'disabled');
	elem.val('Fetching data...');

	elem = $('#model-'+col);
	if (elem.length) {
		$.ajax({
			url: '/ajax-compare/'+col+'/'+elem[0].value,
			success: function(data) {
				if (data == '') {
					viewmodels_error();
				}
				$('#compare'+col).html(data);
				$('#choose'+col).slideUp('slow');
				$('#compare'+col).slideDown('slow');

				Cufon.refresh();
			},
			error: viewmodels_error
		});
	}

	return;
}

function hidemodel(col) {
	var elem = $('#submit-'+col);

	elem.removeAttr('disabled');
	elem.val('Show Model');

	$('#compare'+col).slideUp('slow', function() {
			$('#compare'+col).html('&nbsp;');
	});
	$('#choose'+col).slideDown('slow');

	return false;
}

