/*
  Workspace Login 
  Vincent Fiduccia
  

  Version: 1.6 () 
  2009-12-04 19:14:27 (p3plpassweb05.prod.phx3.secureserver.net)

  js_file_Utils
*/

function Utils(){}
Utils.http_host=function()
{return window.location.host;}
Utils.ssl=function()
{return window.location.protocol.toLowerCase=='https:';}
Utils.reload=function()
{window.location.href=window.location.href.replace(/#.*/g,'');}
Utils.redirect=function(in_url,ssl)
{if(ssl==null)
ssl=2;var path;if(in_url.match(/^https?:/))
{path=in_url;}
else
{s='';if($G.HAS_SSL&&ssl==1||(Utils.ssl()&&(ssl==1||ssl==2)))
s='s';path='http'+s+'://'+Utils.http_host();var cur=window.location.href.replace(/#.*/g,'').replace(/\?.*/g,'').replace(/^https?:\/\/[^\/]+/,'');if(in_url.substr(0,1)=='/')
{path+=in_url;}
else if(in_url.substr(0,1)=='?')
{path+=cur+in_url;}
else
{path+=cur.substring(0,cur.lastIndexOf('/')+1)+in_url;}}
window.location.href=path;}
Utils.imageUrl=function(name)
{return $G.IMAGE_PATH+'/'+name+'?v='+$G.IMAGE_VERS;}
Utils.eval=function(name)
{return eval(name);}
Utils.array_merge=function()
{var ret=[];var i,a,j;for(i=0;i<arguments.length;i++)
{a=arguments[i];if(Utils.is_array(a))
{for(j=0;j<a.length;j++)
ret[ret.length]=a[j];}
else
ret[ret.length]=a;}
return ret;}
Utils.is_array=function(ary)
{if(typeof(ary.length)=='number')
return true;if(typeof(ary.join)=='function')
return true;if(typeof ary.constructor=='undefined'||!ary.constructor)
return false;return(ary.constructor.toString().indexOf('Array')>=0);}
Utils.in_array=function(needle,haystack)
{var i;for(i=0;i<haystack.length;i++)
{if(haystack[i]==needle)
return true;}
return false;}
Utils.hash_merge=function()
{var ret=arguments[0];var i,h,j;for(i=1;i<arguments.length;i++)
{h=arguments[i];for(j in h)
{ret[j]=h[j];}}
return ret;}
Utils.hash_key_exists=function(needle,haystack)
{return(haystack[needle]==undefined);}
Utils.hash_keys=function(hash)
{var keys=[];var k;for(k in hash)
{keys[keys.length]=k;}
return keys;}
Utils.is_obj=function(obj)
{if(!obj)
return false;if(typeof obj.prototype!='undefined')
return(obj.prototype.toString().indexOf('Object')>=0);if(typeof obj.constructor!='undefined')
return(obj.constructor.toString().indexOf('Object')>=0);return false;}
Utils.className=function(obj)
{if(obj&&obj.constructor&&obj.constructor.toString)
{var match=obj.constructor.toString().match(/function\s*(\w+)/);return match&&match.length==2?match[1]:undefined;}
return undefined;}
Utils.doesExtend=function(child,parent)
{while(child)
{if(child.parent==parent.prototype)
return true;child=child.parent;}
return false;}
Utils.displayEstimateTime=function(t,labellen)
{var labels={'short':['s','m','h','d'],'medium':['sec','min','hr','day'],'long':['second','minute','hour','day']};labellen=labellen||'short';var index=0;var val=t;if(t>86400)
{index=3;val=Math.round(t/86400,0);}
else if(t>3600)
{index=2;val=Math.round(t/3600,0);}
else if(t>60)
{index=1;val=Math.round(t/60,0);}
return val+" "+labels[labellen][index]+(val==1?"":"s");}
Utils.displaySize=function(size,labellen,round,power)
{var labels={'short':['B','KB','MB','GB','TB'],'medium':['bytes','kbytes','mbytes','gbytes','tbytes'],'long':['bytes','kilobytes','megabytes','gigabytes','terabytes']};var auto_round=[0,0,1,2,2];labellen=labellen||'short';power=power||0;round=round||auto_round[power];if(size>1024)
return Utils.displaySize(size/1024,labellen,round,power+1);return Math.round(size*Math.pow(10,round))/Math.pow(10,round)+" "+labels[labellen][power];}
Utils.randomHexString=function(count)
{count=count||32;var chars="0123456789abcdef";var str="";for(var i=0;i<count;i++)
str+=chars.substr(Math.floor(Math.random()*16),1);return str;}
Utils.randomInt=function(min,max)
{min=min||0;max=max||2*1024*1024*1024-1
return Math.floor((Math.random()*(max-min)))+min;}
Utils.stripHtml=function(input)
{return input.replace(/<[^>]*>/g,'');}
Utils.getMillitime=function()
{return(new Date().getTime())/1000;}
Utils.queryStringToAssoc=function(qs)
{if(qs.length==0)
return[];qs=qs.replace(/\+/g,' ')
var args=qs.split('&')
var pair,name,value;var qs_assoc=[];for(var i=0;i<args.length;i++)
{pair=args[i].split('=');name=unescape(pair[0]);if(pair.length==2)
value=unescape(pair[1]);else
value='';if(name.match(/\[\]$/))
{name=name.replace(/\[\]$/,'');if(!qs_assoc[name])
{qs_assoc[name]=[];}
qs_assoc[name][qs_assoc[name].length]=value;}
else
{qs_assoc[name]=value;}}
return qs_assoc;}
Utils.logmeout=function()
{location.href='/logout.php?inactivity_timeout=1';}
Utils.nl2br=function(str)
{return str.replace(/\r?\n/g,"<br>");}
Utils.dPrint=function(elem,ret)
{var s='';for(var i in elem)
{if(typeof elem[i]=='function')
s+=i+" function\n";else
s+=i+" "+elem[i]+"\n";};if(ret===true)
{return s;}
else
{alert(s);}}
Utils.getSelection=function()
{if(window.getSelection)
return window.getSelection();if(document.getSelection)
return document.getSelection();if(document.selection)
return document.selection.createRange().text;}
Utils.clone=function(obj)
{var attr=null;var clone={};for(attr in obj)
{if(typeof attr=='object')
clone[attr]=Utils.clone(attr);else
clone[attr]=obj[attr];}
return clone;}

if ( typeof(loaded) == 'undefined' ) var loaded = {};
  loaded['/js.php?file=Utils&r='] = 1;
