/*
 * Insert Script Plugin
 *
 * Copyright (c) 2008 Kevin Martin (http://synarchydesign.com/insert)
 * Licensed under the GPL license:
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.insert = function(file)
{
	var data	= [];
	var data2	= [];

	if (typeof file == 'object')
	{
		data = file;
		file = data.src !== undefined ? data.src : false;
		file = file === false && data.href !== undefined ? data.href : file;
		file = file === false ? file2 : false;
	}

	if (typeof file == 'string' && file.length)
	{
		file2 = file;
                var index	= file2.lastIndexOf('.');
                var index_query	= file2.lastIndexOf('?') != -1 ? file2.lastIndexOf('?') : file.length;
		var index2	= file2.replace('\\', '/').lastIndexOf('/') + 1;
		var ext		= file2.substring(index + 1, index_query);

                if(ext == 'php') {
                    if(file2.lastIndexOf('.js') != -1)
                        ext = 'js';
                    else if(file2.lastIndexOf('.css') != -1)
                        ext = 'css';
                    else
                        ext = 'js';
                }

//                alert(file2 + '>' + index+ ':' + index_query+ ':' + index2 + ':' + ext);
	}

	switch(ext)
	{
		case 'js':
			data2 = {
				elm:	'script',
				type:	'text/javascript',
				src:	file
			};
		break;

		case 'css':
			data2 = {
				elm:	'link',
				rel:	'stylesheet',
				type:	'text/css',
				href:	file
			};
		break;

		default:
			data2 = {elm: 'link'};
		break;
	}

	data2.id = 'script-' + (typeof file == 'string' && file.length ?
		file2.substring(index2, index) : Math.round(Math.rand() * 100));

	for (var i in data)
	{
		data2[i] = data[i];
	}

	data	= data2;
	var tag	= document.createElement(data.elm);

	delete data.elm;

	for (i in data)
	{
		tag.setAttribute(i, data[i]);
	}

	jQuery('head').append(tag);

	return jQuery('#' + data.id);
};