function strcmp(s1,s2){return((s1==s2)?0:((s1>s2)?1:-1));}

/*function preloadImages(){
	var x = new Image();
	for(var i = 0; i < arguments.length; i++){
		x.src = arguments[i];
	}
}*/

function extractQueryString(string){
	if(string.charAt(0) == '?'){string = string.substring(1);}
	var paramPairs = string.split("&");
	var params = new Array();

	//console.log(paramPairs);
	if(paramPairs!=""){

		for(var i in paramPairs){
			var keyPair = paramPairs[i].split('=');
			if(keyPair.length==1){keyPair[1]='1';}
			params[keyPair[0]] = keyPair[1].replace(/\+/g,' ');
		}
	}
	return params;
}

function makeQueryString(keyPairs){
	var string = '';
	for(var i = 0; i < keyPairs.length; i+=2){
		if(keyPairs[i+1]){
			if(i!==0 && string !=''){string += '&';}
			string += keyPairs[i] + '=' + encodeURIComponent(keyPairs[i+1]);
		}
	}
	return string;
}

var addEvent=(function(){if(document.attachEvent){addEvent=function(obj,type,fn){obj['e'+type+fn]=fn;obj[type+fn]=function(){obj['e'+type+fn](window.event);};obj.attachEvent('on'+type,obj[type+fn]);};}else{addEvent=function(obj,type,fn){obj.addEventListener(type,fn,false);};}return addEvent;})();
var removeEvent = (function(){if(document.detachEvent){removeEvent=function(obj,type,fn){obj.detachEvent('on'+type,obj[type+fn]);obj[type+fn]=null;};}else{removeEvent=function(obj,type,fn){obj.removeEventListener(type,fn,false);};}return removeEvent;})();

function isMouseLeaveOrEnter(e, handler){
	var reltg = e.relatedTarget ? e.relatedTarget : (e.type == 'mouseout' ? e.toElement : e.fromElement);
	while (reltg && reltg != handler){reltg = reltg.parentNode;};
	return (reltg != handler);
}

function getSelectedValue(radioObj){
	for(var i = 0; i < radioObj.length; i++){
		if(radioObj[i].checked){
			return radioObj[i].value;
		}
	}
}

function getCheckedValues(select){
	var checkedValues = new Array();
	for(var i = 0; i < select.length; i++){
		if(select[i].checked){
			checkedValues[checkedValues.length] = select[i].value;
		}
	}
	return checkedValues;
}

Object.extend =function(d,s){for(var p in s){d[p]=s[p];}return d;}

function getLeft(l){if(l.offsetParent){return l.offsetLeft+getLeft(l.offsetParent);}else{return l.offsetLeft;}}
function getTop(l){if(l.offsetParent){return(l.offsetTop+getTop(l.offsetParent));}else{return l.offsetTop;}}

function print_r(a){var t="";for(i in a){t+=i+': '+a[i]+'\n';}alert(t);}

function jsonToString(j){var s='';for(var i in j){s+=i+j[i];}return s;}

function getParent(srcObj, targetNode){
	var target = srcObj;
	while(target.nodeName != targetNode){
		target = target.parentNode;
		if(target.nodeName == 'BODY'){return null;}
	}
	return target;	
}
