function f2f_Utils(){
var _1=this;
var _2=navigator.userAgent.toLowerCase();
var _3=(_2.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1];
var _4=/webkit/.test(_2);
var _5=/opera/.test(_2);
var _6=/msie/.test(_2)&&!/opera/.test(_2);
var _7=/mozilla/.test(_2)&&!/(compatible|webkit)/.test(_2);
this.isIE=function(){
return _6;
};
this.getIEVersion=function(){
var rv=-1;
if(_6){
if(_8()){
return 8;
}
var ua=navigator.userAgent;
var re=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
if(re.exec(ua)!=null){
rv=parseFloat(RegExp.$1);
}
}
return rv;
};
function _8(){
var ua=navigator.userAgent;
var re=new RegExp("Trident/([0-9]{1,}[.0-9]{0,})");
if(re.exec(ua)!=null){
return true;
}
return false;
};
this.URLencode=function(_9){
return encodeURIComponent(_9).replace(/\!/g,"%21").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\'/g,"%27");
};
this.getHash=function(){
var _a=window.location.href;
var _b=_a.indexOf("#");
return (_b>0)?_a.substring(_b+1):null;
};
this.openCenteredWindow=function(_c,id,_d,_e){
var _f=Math.floor((screen.height-_e)/2);
var _10=Math.floor((screen.width-_d)/2);
var win=window.open(_c,id,"width="+_d+",height="+_e+",left="+_10+",top="+_f+",toolbar=no,location=no,directories=no,menubar=no,resizable=yes");
win.focus();
return win;
};
this.goToURL=function(url,_11){
var e=document;
if(_11){
if(_11=="_top"){
e=top;
}else{
if(_11!="_self"){
e=top.frames[_11];
}
}
}
e.location.href=url;
};
this.getDOMElement=function(e){
try{
if(typeof (e)=="string"){
return document.getElementById(e);
}
return e[0]?e[0]:e;
}
catch(e){
return null;
}
};
this.preloadImages=function(_12){
var d=document;
if(d.images){
if(!d.p){
d.p=new Array();
}
var i,j=d.p.length;
for(i=0;i<_12.length;i++){
if(_12[i].indexOf("#")!=0){
d.p[j]=new Image;
d.p[j++].src=_12[i];
}
}
}
};
this.writeJs=function(c){
document.write(c);
};
this.fixWrap=function(n){
if(_6){
return;
}
try{
var u,r,i,x;
if(n.nodeType==3){
u=n.data.search(/\S{30}/);
if(u>=0){
r=n.splitText(u+30);
n.parentNode.insertBefore(document.createElement("WBR"),r);
}
}else{
if(n.tagName!="STYLE"&&n.tagName!="SCRIPT"&&n.tagName!="PRE"){
for(i=0;x=n.childNodes[i];i++){
_1.fixWrap(x);
}
}
}
}
catch(e){
}
};
this.addStyle=function(def){
var _13=document.createElement("style");
var _14=document.createTextNode(def);
_13.setAttribute("type","text/css");
if(_13.styleSheet){
_13.styleSheet.cssText=_14.nodeValue;
}else{
_13.appendChild(_14);
}
document.getElementsByTagName("head")[0].appendChild(_13);
};
this.addScripts=function(id){
if(!id||!$("#"+id)){
return;
}
var _15=document.getElementsByTagName("head")[0]||document.documentElement;
var _16=document.getElementById(id).getElementsByTagName("script");
for(var i=0;i<_16.length;i++){
try{
var _17=document.createElement("script");
if(_16[i].getAttribute("src")){
var src=_16[i].getAttribute("src");
if(!document.getElementById(src)){
for(j=0;j<_16[i].attributes.length;j++){
_17.setAttribute(_16[i].attributes[j].nodeName,_16[i].attributes[j].nodeValue);
}
_17.id=src;
if(_17.addEventListener){
_17.addEventListener("load",f2f.utils().scriptLoaded,false);
}else{
_17.onreadystatechange=function(){
if(_17.readyState=="loaded"){
f2f.utils().scriptLoaded();
}
};
}
}
}else{
_17.type="text/javascript";
_17.text=_16[i].text;
}
_15.insertBefore(_17,_15.firstChild);
_15.removeChild(_17);
}
catch(e){
}
}
};
this.scriptLoaded=function(e){
};
this.updateElementContent=function(el,_18,_19){
try{
if(typeof (el)=="string"){
el="#"+el;
}
$(el).html(_18);
}
catch(e){
f2f.log(e);
}
if(_1.isUndefined(_19)||_19){
try{
f2f.modules().facebook().parseDomElement(el);
}
catch(e){
}
}
};
this.getHexColor=function(c){
var m=/rgba?\((\d+), (\d+), (\d+)/.exec(c);
return m?"#"+(m[1]<<16|m[2]<<8|m[3]).toString(16):c;
};
this.getDomElementBackgroundImageSize=function(el){
var _1a=el.style.backgroundImage.replace(/"/g,"").replace(/url\(|\)$/ig,"");
if(_1a!=""){
var _1b=new Image();
_1b.src=_1a;
return [_1b.width,_1b.height];
}else{
return [0,0];
}
};
this.addEvent=function(obj,_1c,_1d){
if(obj.attachEvent){
obj.attachEvent("on"+_1c,_1d);
}else{
if(obj.addEventListener){
obj.addEventListener(_1c,_1d,true);
}else{
obj["on"+_1c]=_1d;
}
}
};
this.removeEvent=function(obj,_1e,_1f){
if(obj.detachEvent){
obj.detachEvent("on"+_1e,_1f);
}else{
if(obj.removeEventListener){
obj.removeEventListener(_1e,_1f,true);
}else{
obj["on"+_1e]=null;
}
}
};
this.stopEvent=function(evt){
evt||window.event;
if(evt.stopPropagation){
evt.stopPropagation();
evt.preventDefault();
}else{
if(typeof evt.cancelBubble!="undefined"){
evt.cancelBubble=true;
evt.returnValue=false;
}
}
return false;
};
this.getElement=function(evt){
if(window.event){
return window.event.srcElement;
}else{
return evt.currentTarget;
}
};
this.getTargetElement=function(evt){
if(window.event){
return window.event.srcElement;
}else{
return evt.target;
}
};
this.getCaretEnd=function(obj){
if(typeof obj.selectionEnd!="undefined"){
return obj.selectionEnd;
}else{
if(document.selection&&document.selection.createRange){
var M=document.selection.createRange();
try{
var Lp=M.duplicate();
Lp.moveToElementText(obj);
}
catch(e){
var Lp=obj.createTextRange();
}
Lp.setEndPoint("EndToEnd",M);
var rb=Lp.text.length;
if(rb>obj.value.length){
return -1;
}
return rb;
}
}
};
this.getCaretStart=function(obj){
if(typeof obj.selectionStart!="undefined"){
return obj.selectionStart;
}else{
if(document.selection&&document.selection.createRange){
var M=document.selection.createRange();
try{
var Lp=M.duplicate();
Lp.moveToElementText(obj);
}
catch(e){
var Lp=obj.createTextRange();
}
Lp.setEndPoint("EndToStart",M);
var rb=Lp.text.length;
if(rb>obj.value.length){
return -1;
}
return rb;
}
}
};
this.setCaret=function(obj,l){
obj.focus();
if(obj.setSelectionRange){
obj.setSelectionRange(l,l);
}else{
if(obj.createTextRange){
m=obj.createTextRange();
m.moveStart("character",l);
m.collapse();
m.select();
}
}
};
this.setSelection=function(obj,s,e){
obj.focus();
if(obj.setSelectionRange){
obj.setSelectionRange(s,e);
}else{
if(obj.createTextRange){
m=obj.createTextRange();
m.moveStart("character",s);
m.moveEnd("character",e);
m.select();
}
}
};
this.escapeRegex=function(s){
return s.replace(/(["\\\.\|\[\]\^\*\+\?\$\(\)])/g,"\\$1");
};
this.trim=function(s){
return s.replace(/^\s+|\s+$/g,"");
};
this.startsWith=function(s,_20){
return s.lastIndexOf(_20,0)===0;
};
this.size=function(_21){
var _22=0;
for(var _23 in _21){
_22++;
}
return _22;
};
this.curTop=function(obj){
toreturn=0;
while(obj){
toreturn+=obj.offsetTop;
obj=obj.offsetParent;
}
return toreturn;
};
this.curLeft=function(obj){
toreturn=0;
while(obj){
toreturn+=obj.offsetLeft;
obj=obj.offsetParent;
}
return toreturn;
};
this.getPageSize=function(){
var _24,_25;
if(window.innerHeight&&window.scrollMaxY){
_24=window.innerWidth+window.scrollMaxX;
_25=window.innerHeight+window.scrollMaxY;
}else{
if(document.body.scrollHeight>document.body.offsetHeight){
_24=document.body.scrollWidth;
_25=document.body.scrollHeight;
}else{
_24=document.body.offsetWidth;
_25=document.body.offsetHeight;
}
}
var _26,_27;
if(_1.innerHeight){
if(document.documentElement.clientWidth){
_26=document.documentElement.clientWidth;
}else{
_26=_1.innerWidth;
}
_27=_1.innerHeight;
}else{
if(document.documentElement&&document.documentElement.clientHeight){
_26=document.documentElement.clientWidth;
_27=document.documentElement.clientHeight;
}else{
if(document.body){
_26=document.body.clientWidth;
_27=document.body.clientHeight;
}
}
}
var _28,_29;
if(_25<_27){
_29=_27;
}else{
_29=_25;
}
if(_24<_26){
_28=_24;
}else{
_28=_26;
}
return [_28,_29];
};
this.getScrollXY=function(){
var _2a=document.viewport.offset();
return [_2a.left,_2a.top];
};
this.getViewportSize=function(){
var _2b=document.viewport;
return [_2b.width(),_2b.height()];
};
this.getElementSize=function(e){
return [e.width(),e.height()];
};
this.getCoords=function(obj){
obj=_1.getDOMElement(obj);
var _2c=curtop=0;
if(obj.offsetParent){
do{
_2c+=obj.offsetLeft;
curtop+=obj.offsetTop;
}while(obj=obj.offsetParent);
}
return [_2c,curtop];
};
this.centerWindow=function(win){
try{
var _2d=win.document.viewport;
var _2e=Math.floor((screen.height-_2d.height())/2);
var _2f=Math.floor((screen.width-_2d.width())/2);
win.moveTo(_2f,_2e);
win.focus();
}
catch(e){
}
};
this.getText=function(_30){
var _31;
try{
_31=new XMLSerializer().serializeToString(_30);
}
catch(e){
_31=_30.xml;
}
return _31;
};
this.isEmailValid=function(e){
var pat=/^[_a-z0-9-]+((\.|\+)[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i;
return e.match(pat);
};
this.isUrlValid=function(url){
var pat=/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;
return url.match(pat);
};
this.isUndefined=function(e){
return typeof (e)=="undefined"||e==null;
};
this.isDateValid=function(_32,_33,day){
try{
var d=new Date(_32+"/"+_33+"/"+day);
return !!(d&&(d.getMonth()+1)==Number(_33)&&d.getDate()==Number(day));
}
catch(e){
return false;
}
};
};


