/*
jqURL
by Josh Nathanson
adapted by Jokin Cuadrado
*/
jQuery.jqURL = {
url:
function(args) {
args =
jQuery.extend({
url: "",
win: window
},
args);
if (args.url) {
return args.url;
} else {
return args.win.location.href;
}
},
loc:
function(urlstr, args) {
args =
jQuery.extend({
win: window,
w: 500,
h: 500,
wintype: '_top'
},
args);
if (!args.t) {
args.t = screen.height / 2 - args.h / 2;
}
if (!args.l) {
args.l = screen.width / 2 - args.w / 2;
}
if (args['wintype'] == '_top') {
args.win.location.href = urlstr;
}
else {
open(
urlstr,
args['wintype'],
'width=' + args.w + ',height=' + args.h + ',top=' + args.t + ',left=' + args.l + ',scrollbars,resizable'
);
}
return;
},
qs:
function(args) {
args = jQuery.extend({
ret: 'string'
},
args);
if (args['ret'] == 'string') {
return jQuery.jqURL.url(args).split('?')[1];
}
else if (args['ret'] == 'object') {
var qsobj = {};
var thisqs = jQuery.jqURL.url(args).split('?')[1];
if (thisqs) {
var pairs = thisqs.split('&');
for (i = 0; i < pairs.length; i++) {
var pair = pairs[i].split('=');
qsobj[pair[0]] = pair[1];
}
}
return qsobj;
}
},
strip:
function(args) {
args = jQuery.extend({
keys: ''
},
args);
if (jQuery.jqURL.url().indexOf('?') == -1) {
return jQuery.jqURL.url(args);
}
else if (!args.keys) {
return jQuery.jqURL.url(args).split('?')[0];
}
else {
extend = jQuery.extend({ ret: 'object' }, args);
var qsobj = jQuery.jqURL.qs(args);
var counter = 0;
var url = jQuery.jqURL.url(args).split('?')[0] + '?';
var amp = '';
for (var key in qsobj) {
if (args.keys.indexOf(key) == -1) {
amp = (counter) ? '&' : '';
url = url + amp + key + '=' + qsobj[key];
counter++;
}
}
return url;
}
},
get:
function(key, args) {
args = jQuery.extend({
ret: 'object'
}, args);
qsobj = jQuery.jqURL.qs(args);
return qsobj[key];
},
set:
function(hash, args) {
args = jQuery.extend({
ret: 'object'
}, args);
var qsobj = jQuery.jqURL.qs(args);
for (var i in hash) {
qsobj[i] = hash[i];
}
var qstring = '';
var counter = 0;
var amp = '';
for (var k in qsobj) {
amp = (counter) ? '&' : '';
if (qsobj[k] != '') { 
qstring = qstring + amp + k + '=' + qsobj[k];
counter++;
}
}
return jQuery.jqURL.strip(args) + '?' + qstring;
}
};