var WPScript = {
Version: (/\s(.*)\s/.exec("$Revision: 1.8 $"))[1],
use: function(src) {
var parts = src.match(/(.*)(\/.*)$/);
document.write('<script type="text/javascript" src="'+parts[1]+'/'+this.Version+parts[2]+'"></scr'+"ipt>\n");
},
extend: function() {
var target = arguments[0] || {}, a = 1, al = arguments.length, deep = false;
if ( target.constructor == Boolean ) {
deep = target;
target = arguments[1] || {};
}
if ( al == 1 ) {
target = this;
a = 0;
}
var prop;
for ( ; a < al; a++ )
if ( (prop = arguments[a]) != null )
for ( var i in prop ) {
if ( target == prop[i] ) continue;
if ( deep && typeof prop[i] == 'object' && target[i] )
WPScript.extend( target[i], prop[i] );
else if ( prop[i] != undefined )
target[i] = prop[i];
}
return target;
},
parseQuery: function(str) {
var qs = ( null == str )
? window.location.href.replace(/^[^\?]+\??/,'')
: str.replace(/^[^\?]+\??/,'');
var params = {};
if ( ! qs ) return params;
var pairs = qs.split(/[;&]/);
for (var i=0;i<pairs.length;i++) {
var keyval = pairs[i].split('=');
if ( ! keyval || keyval.length != 2 ) continue;
var key = unescape(keyval[0]);
var val = unescape(keyval[1]);
val = val.replace(/\+/g,' ');
params[key] = val;
}
return params;
},
inArray: function(ary,target) {
for ( var i=0,len=ary.length;i<len;i++ ) {
if ( target == ary[i] ) {
return true;
}
}
return false;
},
preloadImages: function() {
var a=arguments,d=document;
if(d.images) {
if(!d.imgAry) {
d.imgAry=[];
var i,j=d.imgAry.length; 
for(i=0; i<a.length; i++) {
if (a[i].indexOf("#")!=0) {
d.imgAry[j]=new Image;
d.imgAry[j++].src=a[i];
}
}
}
}
},
get: function(id) {
return document.getElementById(id);
},
toggle: function(id) {
e = this.get(id);
e.style.display = (e.style.display=='none')?'block':'none';
return false;
},
onDOMReady: function(func) {
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded",func,false);
}
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
if (this.readyState == "complete") {
func.call();
}
};
/*@end @*/
if ( /WebKit/i.test(navigator.userAgent)) {
var _timer = setInterval(function() {
if ( /loaded|complete/.test(document.readyState)) {
func;
}
},10);
}
},
on: function(elem,evt,func,bubble) {
bubble = bubble || false;
if (evt=='DOMReady') {
this.onDOMReady(func);
return true;
}
else {
var el = (typeof(elem)=='string') ? this.get(elem) : elem;
if (window.addEventListener) {
el.addEventListener(evt,func,bubble); return true;
}
else 
if (window.attachEvent) {
el.attachEvent('on'+evt,func); return true;
}
else {
return false;
}
}
},
serialize: function(obj) {
var str = '';
if ( typeof(obj) == 'object' ) {
for (key in obj) { str += key+'='+obj[key]+'&'; }
}
return str.replace(/&$/,'');
},
hashToJiffyList: function(obj) {
var str = '';
if ( typeof(obj) == 'object' ) {
for (key in obj) { str += key+':'+obj[key]+','; }
}
return str.replace(/,$/,'');
},
removeEvent: function(elem, evt, func, bubble){
var el = (typeof(elem)=='string') ? this.get(elem) : elem;
if (window.removeEventListener) {
el.removeEventListener(evt,func,bubble); return true;
}
else 
if (window.detachEvent) {
el.detachEvent('on'+evt,func); return true;
}
else {
return false;
}
},
hashMerge: function(hash1,hash2) {
for (var option in hash1) {
if(hash2[option] !== null) {
hash2[option] = hash1[option];
}
}
},
window: function(uri, width, height, name, options) {
width = width || 800;
height = height || 600;
name = name || "_blank";
options = options || "resizable=yes";
window.open(uri.href, name, "width="+width+",height="+height+","+options);
}
};
WPScript.Ajax = {
connection: (window.XMLHttpRequest) 
? new XMLHttpRequest() : (window.ActiveXObject) 
? new ActiveXObject("Microsoft.XMLHTTP") : null,
post: function(url,params,success,failure) {
var req = this.connection;	
var strParams = (typeof(params)=='string') ? params : WPScript.serialize(params);
req.onreadystatechange = (!success && !failure)
? function() { return; }
: function() {
if (this.status == 200) { if (success){success.call(req);} }
else { if(failure){failure.call(req);} }
};
req.open('POST',url,true);
req.send(strParams);
},
get: function(url,params,success,failure) {
var req = this.connection;	
var strParams = (typeof(params)=='string') ? params : WPScript.serialize(params);
url += '?'+strParams;
req.onreadystatechange = (!success && !failure)
? function() { return; }
: function() {
if (req.readyState != 4)
return;
if (req.status == 200) { if (success){success.call(req);} }
else { if(failure){failure.call(req);} }
};
req.open('GET',url,true);
req.send(null);
}
};

