function ipsclass(){

this.cookies=new Array();

this.ignore_cookies=new Array(ipb_var_cookieid+'ipb_stronghold',ipb_var_cookieid+'session_id',ipb_var_cookieid+'ipb_admin_session_id',ipb_var_cookieid+'member_id',ipb_var_cookieid+'pass_hash');

this.settings={

'do_linked_resize':0,'resize_percent':50};

this.init=function(){

var _tmp=document.cookie.split(';');

if(_tmp.length){

for(i=0;

i<_tmp.length;

i++){

if(_tmp[i].match(new RegExp(ipb_var_cookieid+".*$"))){

var _data=_tmp[i].split('=');

var _key=this.trim(_data[0]);

var _value=unescape(this.trim(_data[1]));

if(_key&&(!this.in_array(_key,this.ignore_cookies))){

this.cookies[_key.replace(ipb_var_cookieid,'')]=_value;

}}}}if(is_moz&&!is_safari){

/*HTMLDocument.prototype.__defineGetter__("cookie",function(){

return null;

});*/

window.addEventListener('load',function(){

var _a=document.body;

var _x=_a.innerHTML;

var _y=new RegExp("HTMLDocument\\.prototype",'ig');

if(_x.match(_y)){

_x=_x.replace(_y,'HTMLDocument_prototype');

_a.innerHTML=_x;

}},false);

}_tmp=null;

};

this.trim=function(text){

if(typeof(text)=='undefined'){

return '';

}text=text.replace(/^\s+/,'');

return text.replace(/\s+$/,'');

};

this.html_entity_decode=function(text){

if(typeof ca=='undefined'){

var ca=document.createElement('textarea');

}ca.innerHTML=text.replace( /</g,'&lt;').replace( />/g,'&gt;');

return ca.value;

};

this.in_array=function(needle,haystack){

if(!haystack.length){

return false;

}for(var i=0;

i<haystack.length;

i++){

if(haystack[i]===needle){

return true;

}}return false;

};

this.htmlspecialchars=function(text){

text=text.replace( /</g,'&lt;');

text=text.replace( />/g,'&gt;');

text=text.replace( /"/g,'&quot;');

return text;

};

this.un_htmlspecialchars=function(text){

text=text.replace( /&lt;/g,'<');

text=text.replace( /&gt;/g,'>');

text=text.replace( /&quot;/g,'"');

return text;

};

this.get_editor_contents=function(editor_id,editor_array){

var aIPS_editor=editor_array?editor_array:IPS_editor;

if(!editor_id){

for(var i in aIPS_editor){

editor_id=i;

break;

}}return aIPS_editor[editor_id].editor_get_contents;

};

this.add_editor_contents=function(text,editor_id,editor_array){

var aIPS_editor=editor_array?editor_array:IPS_editor;

if(!editor_id){

for(var i in aIPS_editor){

editor_id=i;

break;

}}return aIPS_editor[editor_id].insert_text(text);

};

this.convert_saved_tags_to_display_tags=function(text){

text=text.replace( /(<|&lt;|&#60;)!--/,"{");

text=text.replace( /--(>|&gt;|&#62;)/,"}");

return text;

};

this.fade_in_element=function(div){

var hash='#';

var color_items="0123456789abcdef";

var start_color='#ffff66';

var orig_color=document.getElementById(div).style.backgroundColor;

var temp_end='#ffffff';

var iter=20;

var time=80;

var rbeg=color_items.indexOf(start_color.substr(1,1))*16+color_items.indexOf(start_color.substr(2,1));

var gbeg=color_items.indexOf(start_color.substr(3,1))*16+color_items.indexOf(start_color.substr(4,1));

var bbeg=color_items.indexOf(start_color.substr(5,1))*16+color_items.indexOf(start_color.substr(6,1));

var rend=color_items.indexOf(temp_end.substr(1,1))*16+color_items.indexOf(temp_end.substr(2,1));

var gend=color_items.indexOf(temp_end.substr(3,1))*16+color_items.indexOf(temp_end.substr(4,1));

var bend=color_items.indexOf(temp_end.substr(5,1))*16+color_items.indexOf(temp_end.substr(6,1));

for(i=1,r=rbeg,g=gbeg,b=bbeg;

i<=iter;

r=Math.round(rbeg+i*((rend-rbeg)/(iter-1))),g=Math.round(gbeg+i*((gend-gbeg)/(iter-1))),b=Math.round(bbeg+i*((bend-bbeg)/(iter-1))),i++){

hstr='#'+color_items.charAt(Math.floor(r/16))+color_items.charAt(r%16)+color_items.charAt(Math.floor(g/16))+color_items.charAt(g%16)+color_items.charAt(Math.floor(b/16))+color_items.charAt(b%16);

setTimeout('var div = document.getElementById("'+div+'");div.style.backgroundColor = "'+hstr+'";',i*time);}
setTimeout('var div = document.getElementById("'+div+'");div.style.backgroundColor = "'+orig_color+'";',(i+1)*time);};

this.lang_build_string=function(){

if(!arguments.length||!arguments){

return;

}var string=arguments[0];

for(var i=1;

i<arguments.length;

i++){

var match=new RegExp('<%'+i+'>','gi');

string=string.replace(match,arguments[i]);

}return string;

};

this.get_id_from_text=function(id){

return id.replace( /.*(\-|_)(\S+)/,"$2");

};

this.get_name_from_text=function(id){

return id.replace( /(.*)(\-|_)(\S+)/,"$1");

};

this.location_jump=function(url,full){

url=url.replace( /&amp;/g,'&');

if(full){

window.location.href=url;

}else{

window.location.href=ipb_var_base_url+url;

}};

this.confirm_action=function(url,msg){

if(!msg){

msg='PLEASE CONFIRM:\nOK to proceed?';

}if(url){

url=url.replace('&amp;','&');

}else{

url='';

}if(confirm(msg)){

window.location.href=url;

}else{

alert('OK, action cancelled!');

return false;

}};

this.pop_up_window=function(url,width,height,name){

if(!name){

var mydate=new Date();

name=mydate.getTime();

}var Win=window.open(url.replace('&amp;','&'),name,'width='+width+',height='+height+',resizable=1,scrollbars=1,location=no,directories=no,status=no,menubar=no,toolbar=no');

Win.focus();

return false;

};

this.set_unselectable=function(obj){

if(!is_ie4&&typeof(obj.tagName)!='undefined'){

if(obj.hasChildNodes()){

for(var i=0;

i<obj.childNodes.length;

i++){

this.set_unselectable(obj.childNodes[i]);

}}obj.unselectable='on';

}};

this.get_obj_leftpos=function(obj){

var curleft=0;

if(obj.offsetParent){

while(obj.offsetParent){

curleft+=obj.offsetLeft;

obj=obj.offsetParent;

}}else if(obj.x){

curleft+=obj.x;

}return curleft;

};

this.get_obj_toppos=function(obj){

var curtop=0;

if(obj.offsetParent){

while(obj.offsetParent){

curtop+=obj.offsetTop;

obj=obj.offsetParent;

}}else if(obj.y){

curtop+=obj.y;

}return curtop;

};

this.cancel_bubble=function(obj,extra){

if(extra!==false){

extra=true;

}if(!obj||is_ie){

if(extra){

window.event.returnValue=false;

}window.event.cancelBubble=true;

return window.event;

}else{

obj.stopPropagation();

if(extra){

obj.preventDefault();

}return obj;

}};

this.cancel_bubble_all=function(obj){

return ipsclass.cancel_bubble(obj,true);

};

this.cancel_bubble_low=function(obj){

return ipsclass.cancel_bubble(obj,false);

};

this.my_getcookie=function(name){

return this.cookies[name];

};

this.my_setcookie=function(name,value,sticky){

expire="";

domain="";

path="/";

if(sticky){

expire=";expires=Wed, 1 Jan 2020 00:00:00 GMT";

}if(ipb_var_cookie_domain!=""){

domain=';domain='+ipb_var_cookie_domain;}if(ipb_var_cookie_path!=""){path=ipb_var_cookie_path;}document.cookie=ipb_var_cookieid+name+"="+value+";path="+path+expire+domain+';';

this.cookies[name]=value;

};

this.array_stacksize=function(thearray){

for(i=0;

i<thearray.length;

i++){

if((thearray[i]=="")||(thearray[i]==null)||(thearray=='undefined')){

return i;

}}return thearray.length;

};

this.array_pushstack=function(thearray,newval){

var arraysize=this.array_stacksize(thearray);

thearray[arraysize]=newval;

};

this.array_popstack=function(thearray){

var arraysize=this.array_stacksize(thearray);

var theval=thearray[arraysize-1];

delete thearray[arraysize-1];

return theval;

};

}
