
function Build_Base_officePhone(){this._chooseNumber();}
Build_Base_officePhone.prototype={_numbers:{from_google:{GG_ADGR_4302_RCO:'800-921-4302',GG_ADGR_5738_RCO:'800-720-5738',GG_ADGR_5758_RCO:'800-720-5758',GG_ADGR_5761_RCO:'800-720-5761',GG_ADGR_8741_RCO:'866-577-8741',GG_ADGR_9432_RCO:'800-720-9432',GG_ADGR_9560_RCO:'800-720-9560',GG_ADGR_9562_RCO:'800-720-9562',GG_ADGR_9563_RCO:'800-720-9563',GG_ADGR_9584_RCO:'800-720-9584',GG_ADGR_9585_RCO:'800-720-9585',GG_ADGR_9851_RCO:'800-720-9851',GG_ADGR_0843_RCO:'800-721-0843',GG_ADGR_1487_RCO:'800-721-1487',GG_ADGR_9517_RCO:'800-721-9517',GG_ADGR_9601_RCO:'800-721-9601',GG_ADGR_9805_RCO:'800-721-9805',GG_ADGR_1518_RCO:'800-726-1518',GG_ADGR_1706_RCO:'800-726-1706',GG_ADGR_1748_RCO:'800-726-1748',GG_ADGR_3702_RCO:'800-591-3702',GG_ADGR_3715_RCO:'800-591-3715',GG_ADGR_4033_RCO:'800-591-4033',GG_ADGR_4039_RCO:'800-591-4039',GG_ADGR_4049_RCO:'800-591-4049',GG_ADGR_4068_RCO:'800-591-4068',GG_ADGR_4074_RCO:'800-591-4074',GG_ADGR_4077_RCO:'800-591-4077',GG_ADGR_4093_RCO:'800-591-4093',GG_ADGR_4094_RCO:'800-591-4094',GG_ADGR_5338_RCO:'800-591-5338',GG_ADGR_5392_RCO:'800-591-5392',GG_ADGR_5827_RCO:'800-591-5827',GG_ADGR_5889_RCO:'800-591-5889',GG_ADGR_6357_RCO:'800-591-6357',GG_ADGR_6358_RCO:'800-591-6358',GG_ADGR_6365_RCO:'800-591-6365',GG_ADGR_6379_RCO:'800-591-6379',GG_ADGR_6401_RCO:'800-591-6401',GG_ADGR_6533_RCO:'800-591-6533',GG_ADGR_6716_RCO:'800-591-6716',GG_ADGR_6719_RCO:'800-591-6719',GG_ADGR_6720_RCO:'800-591-6720',GG_ADGR_6737_RCO:'800-591-6737',GG_ADGR_6741_RCO:'800-591-6741',GG_ADGR_7934_RCO:'800-591-7934',GG_ADGR_7936_RCO:'800-591-7936',GG_ADGR_7954_RCO:'800-591-7954',GG_ADGR_7972_RCO:'800-591-7972',GG_ADGR_7973_RCO:'800-591-7973',GG_ADGR_8084_RCO:'800-591-8084',GG_ADGR_8089_RCO:'800-591-8089',GG_ADGR_8094_RCO:'800-591-8094',GG_ADGR_8117_RCO:'800-591-8117',GG_ADGR_8133_RCO:'800-591-8133',GG_ADGR_8139_RCO:'800-591-8139',GG_ADGR_8533_RCO:'800-591-8533',GG_ADGR_8554_RCO:'800-591-8554',GG_ADGR_0860_RCO:'800-603-0860',GG_ADGR_8407_RCO:'800-604-8407',GG_ADGR_0432_RCO:'800-614-0432',GG_ADGR_0445_RCO:'800-614-0445',GG_ADGR_2949_RCO:'800-617-2949',GG_ADGR_1108_RCO:'800-636-1108',GG_ADGR_0975_RCO:'800-640-0975',GG_ADGR_1774_RCO:'800-640-1774',GG_ADGR_5250_RCO:'800-641-5250',GG_ADGR_8630_RCO:'800-641-8630',GG_ADGR_1093_RCO:'800-643-1093',GG_ADGR_1157_RCO:'800-643-1157',GG_ADGR_1205_RCO:'800-643-1205',GG_ADGR_6151_RCO:'800-648-6151',GG_ADGR_1789_RCO:'800-649-1789',GG_ADGR_9685_RCO:'800-651-9685',GG_ADGR_2717_RCO:'800-654-2717',GG_ADGR_6167_RCO:'800-654-6167',GG_ADGR_3059_RCO:'800-691-3059',GG_ADGR_4896_RCO:'800-691-4896',GG_ADGR_5052_RCO:'800-691-5052',GG_ADGR_8077_RCO:'800-691-8077',GG_ADGR_8859_RCO:'800-691-8859',GG_ADGR_8994_RCO:'800-691-8994',GG_ADGR_4195_RCO:'800-692-4195',GG_ADGR_7530_RCO:'800-809-7530',GG_ADGR_4654_RCO:'800-815-4654',GG_ADGR_4728_RCO:'800-815-4728',GG_ADGR_7916_RCO:'800-815-7916',GG_ADGR_8104_RCO:'800-815-8104',GG_ADGR_6472_RCO:'800-853-6472',GG_ADGR_1593_RCO:'800-854-1593',GG_ADGR_2150_RCO:'800-876-2150',GG_ADGR_0106_RCO:'800-881-0106',GG_ADGR_8028_RCO:'800-881-8028',GG_ADGR_3594_RCO:'800-882-3594',GG_ADGR_5316_RCO:'800-883-5316',GG_ADGR_3395_RCO:'800-884-3395',GG_ADGR_3944_RCO:'800-884-3944',GG_ADGR_7814_RCO:'800-884-7814',GG_ADGR_7859_RCO:'800-884-7859',GG_ADGR_1836_RCO:'800-893-1836',GG_ADGR_8739_RCO:'800-897-8739',GG_ADGR_0121_RCO:'800-903-0121',GG_ADGR_0266_RCO:'800-903-0266',GG_ADGR_1512_RCO:'800-903-1512',GG_ADGR_1669_RCO:'800-903-1669',GG_ADGR_7160_RCO:'800-903-7160',GG_ADGR_7161_RCO:'800-903-7161',GG_ADGR_7478_RCO:'800-903-7478',GG_ADGR_7595_RCO:'800-903-7595',GG_ADGR_7835_RCO:'800-903-7835',GG_ADGR_7885_RCO:'800-903-7885',GG_ADGR_7901_RCO:'800-903-7901',GG_ADGR_7929_RCO:'800-903-7929',GG_ADGR_7935_RCO:'800-903-7935',GG_ADGR_7938_RCO:'800-903-7938',GG_ADGR_7937_RCO:'800-591-7937',GG_ADGR_7943_RCO:'800-903-7943',GG_ADGR_8006_RCO:'800-903-8006',GG_ADGR_8026_RCO:'800-903-8026',GG_ADGR_8062_RCO:'800-903-8062',GG_ADGR_8065_RCO:'800-903-8065',GG_ADGR_8068_RCO:'800-903-8068',GG_ADGR_8075_RCO:'800-903-8075',GG_ADGR_8078_RCO:'800-903-8078',GG_ADGR_8086_RCO:'800-903-8086',GG_ADGR_8102_RCO:'800-903-8102',GG_ADGR_8108_RCO:'800-903-8108',GG_ADGR_8116_RCO:'800-903-8116',GG_ADGR_8127_RCO:'800-903-8127',GG_ADGR_8134_RCO:'800-903-8134',GG_ADGR_9272_RCO:'800-903-9272',GG_ADGR_9389_RCO:'800-903-9389'},from_rc_pid:{OFFICE_INPROBANNER:'800-591-6376',OFFICE_ONLINERETARGETING:'800-632-1083',OFFICE_CUSTOMEREMAIL0309:'800-591-8125',OFFICE_LEGALREGISTERBNR:'800-591-9065',OFFICE_PBXCOMPARE:'800-631-9758',OFFICE_PRICEGRABBER:'800-643-1585'},from_rc_online:'800-720-5758',from_fax_online:'800-720-5761'},_newNumber:null,_objClassName:null,_chooseNumber:function()
{if(!CookiesManager.getCookie('office_phone'))
{var refer=LocationManager.get_refer();switch(refer)
{case(LocationManager.is_var('adgrpid')&&typeof this._numbers.from_google[LocationManager.is_var('adgrpid')]!='undefined'?refer:false):this._setCookie(this._numbers.from_google[LocationManager.is_var('adgrpid')]);break;case(LocationManager.is_var('PID')&&typeof this._numbers.from_rc_pid[LocationManager.is_var('PID')]!='undefined'?refer:false):this._setCookie(this._numbers.from_rc_pid[LocationManager.is_var('PID')]);break;case(LocationManager.get_hostname(refer)&&LocationManager.get_hostname(refer).match(/ringcentral\.com$/i)&&LocationManager.get_pathname(refer)&&(LocationManager.get_pathname(refer).match(/^\/fax\//i)||LocationManager.get_pathname(refer).match(/^\/plansandpricing\/ringcentralfax/i)||LocationManager.get_pathname(refer).match(/^\/plansandpricing\/fax(300|500|2500)\.html$/i))?refer:false):this._setCookie(this._numbers.from_fax_online);break;case(LocationManager.get_hostname(refer)&&LocationManager.get_hostname(refer).match(/ringcentral\.com$/i)&&LocationManager.get_pathname(refer)&&!LocationManager.get_pathname(refer).match(/^\/office\//i)?refer:false):this._setCookie(this._numbers.from_rc_online);break;default:this._setCookie('default');break;}}
this._setNumber();},_setNumber:function()
{var numberFromCookie=CookiesManager.getCookie('office_phone');if(numberFromCookie&&numberFromCookie!='default')
{this._newNumber=numberFromCookie;}},_setCookie:function(val)
{if(typeof val!='string')
{throw new Error('Build_Base_officePhone :: _setCookie.\n Numbers must be a string.')}
CookiesManager.setCookie('office_phone',val,90);},setObjClassName:function(val)
{if(typeof val!='string')
{throw new Error('Build_Base_officePhone :: setObjClassName.\n Class name must be a string.')}
this._objClassName=val;},changeContent:function()
{each(getElementsByClassName(this._objClassName),this._changeNumber,this);},_changeNumber:function(node)
{if(this._newNumber)
{node.innerHTML=this._newNumber;}}}
var CookiesManager={setCookie:function(name,value,expires,path){name=name.toLowerCase();if(!path){path='/';}
if(typeof expires!='number'){expires='';}else{var expires_date=new Date((new Date()).getTime()+(expires*24*60*60*1000));expires=' expires='+expires_date.toGMTString()+';';}
document.cookie=name+"="+value+";"+expires+" Path="+path;},getCookie:function(name){re=RegExp(name+"=(.*?)(;|$)","i")
if(res=re.exec(document.cookie))
return res[1];return null;},attachCookie:function(cookieName,str){var value=CookiesManager.getCookie(cookieName);var re=new RegExp("(&|\\\?)"+cookieName+"=");if(value&&!str.match(re)){str+='&'+cookieName+'='+value;}
return str;}}
var LocationManager={is_var:function(varName){var regexS="[?&]"+varName+"=([^&#]*)";var regex=new RegExp(regexS,'i');var tmpURL=window.location.href;var results=regex.exec(tmpURL);if(results==null){return null;}else{return results[1].replace(/%20/g,' ');}},get_hash:function(varName,str){var regexS="[#&]"+varName+"=([^&]*)";var regex=new RegExp(regexS,'i');var tmpURL=str?str:window.location.hash;var results=regex.exec(tmpURL);if(results==null){return null;}else{return results[1].replace(/%20/g,' ');}},get_var:function(varName,str){var regexS="[?&]"+varName+"=([^&#]*)";var regex=new RegExp(regexS,'i');var tmpURL=str?str:window.location.href;var results=regex.exec(tmpURL);if(results==null){return null;}else{return results[1].replace(/%20/g,' ');}},get_refer:function()
{return document.referrer;},get_hostname:function(str)
{if(typeof str=='undefined')
{return window.location.hostName;}
else
{var res=null;if(res=str.match(/^http(s|):\/\/(www\.|)(.+?)\//))
{return res[3];}
return null;}},get_pathname:function(str)
{var res=null;if(typeof str=='undefined')
{return window.location.pathname}
else
{if(res=str.match(/^http(s|):\/\/(www\.|)(.+?)(\/.*)/))
{return res[4];}}},is_hash:function(varName){var hash=window.location.hash.replace(/^#/,'');var aHash=hash.split('&');return in_array(varName,aHash);},buildUrl:function(hash){var fullUrl='';if(hash&&hash.host){fullUrl+=hash.host;if(hash.path){fullUrl+=hash.path;}
if(hash.vars){var vars=Array();for(var key in hash.vars){vars.push(key+'='+hash.vars[key]);}
if(!empty(vars)){fullUrl+='?'+vars.join('&');}}}else{return false;}
return fullUrl;},getLocationState:function()
{var pathname=window.location.pathname;if(res=pathname.match(/([a-z]{2})(|\-n|\-s)\.html$/))
{return res[1].toUpperCase();}
return null;},getLocationCode:function()
{var pathname=window.location.pathname;if(res=pathname.match(/area\-code\-(\d+)\.html$/))
{return res[1];}
return null;}}
function $_(id){return document.getElementById(id);}
document.write('<span id="showControl" ondblclick ="this.innerHTML = \'\'" style="background-color:white;position:absolute;left:0px;top:0px;z-Index:10000"></span>')
document.write('<iframe id="showStopper" style="display: none"></iframe>');function showStopper(time)
{var param=time?'param[sleep]='+time:'';$_('showStopper').src='/api/index.php?cmd=showStopper&api=collector&'+param;}
function hash_to_string(hash)
{arr=[];for(key in hash){try{arr.push(key+':'+hash[key]);}catch(e){}}
return arr.join(',');}
function show(obj,cmd){str='';for(key in obj){try{str+='&nbsp;&nbsp;&nbsp;&nbsp;<b>'+key+'</b>='+(obj[key]&&obj[key][cmd]?obj[key][cmd]:obj[key])+'<br>';}catch(e){}}
switch(cmd){case'inTail':$_('showControl').innerHTML+=str!=''?str:'<b>EMPTY</b>';break;default:$_('showControl').innerHTML=str!=''?str:'<b>EMPTY</b>';break;}}
function printArray(arr){$_('showControl').innerHTML='<pre>'+print_r(arr,true);}
function print_r(array,return_val){var output="",pad_char=" ",pad_val=4;var formatArray=function(obj,cur_depth,pad_val,pad_char){if(cur_depth>0){cur_depth++;}
var base_pad=repeat_char(pad_val*cur_depth,pad_char);var thick_pad=repeat_char(pad_val*(cur_depth+1),pad_char);var str="";if(obj instanceof Array||obj instanceof Object){str+="Array\n"+base_pad+"(\n";for(var key in obj){str+=thick_pad+"["+key+"] => "+formatArray(obj[key],cur_depth+1,pad_val,pad_char)+'<br>';}
str+=base_pad+")\n";}else{if(obj&&obj.toString){str=obj.toString();}}
return str;};var repeat_char=function(len,pad_char){var str="";for(var i=0;i<len;i++){str+=pad_char;};return str;};output=formatArray(array,0,pad_val,pad_char);if(return_val!==true){document.write("<pre>"+output+"</pre>");return true;}else{return output;}}
Function.prototype.bind=function(obj){var method=this;var arg=Array();for(var i=0;i<arguments.length;i++){if(i){arg.push(arguments[i])}}
return function(E){var arg_=Array();for(var i=0;i<arguments.length;i++){if(arguments[i]instanceof Array||arguments[i]instanceof Object){arg_.push(arguments[i]);}}
if(arg_.length){arg=arg_.concat(arg);}
returnVal=method.apply(obj,arg);window.addEvent(window,'onunload',function(){method=null;arg=null;obj=null;})
return returnVal;}}
Function.prototype.rcBind=function(obj)
{var m=this;var a=arguments.length>1?arguments[1]:{};return function(e)
{if(arguments.length)
{if(arguments[0].srcElement||arguments[0].target)
{a['oEvent']=arguments[0];}
else
{for(var key in arguments[0])
{a[key]=arguments[0][key];}}}
return m.call(obj,a);}}
Function.prototype.rcBindAsIs=function(obj)
{var method=this;var arg=[];for(var i=1;i<arguments.length;i++)
{arg.push(arguments[i]);}
return function()
{if(arguments.length)
{for(var i=0;i<arguments.length;i++)
{arg.push(arguments[i]);}}
res=method.apply(obj,arg);if(arguments.length)
{for(var i=0;i<arguments.length;i++)
{arg.pop();}}
return res;}}
function addEvent(obj,ev,func){if(ev!='onunload'){window.addEvent(window,'onunload',function(){window.removeEvent(obj,ev,func);func=null;})}
if(window.addEventListener){obj.addEventListener(ev.replace(/^on/i,''),func,false);}
if(window.attachEvent){obj.attachEvent(ev,func);}}
function removeEvent(obj,ev,func){if(window.addEventListener){obj.removeEventListener(ev.replace(/^on/i,''),func,false);}
if(window.detachEvent){obj.detachEvent(ev,func);}}
function in_array(needle,haystack,strict){var found=false,key,strict=!!strict;for(key in haystack){if((strict&&haystack[key]===needle)||(!strict&&haystack[key]==needle)){found=true;break;}}
return found;}
function is_string(mixed_var){return(typeof(mixed_var)=='string');}
function is_numeric(mixed_var){return!isNaN(mixed_var);}
function is_dom(obj){return obj&&obj.style;}
function is_oObj(obj){return obj&&obj.getView&&obj.getView();}
is_vObj=is_oObj;function is_array(mixed_var){return(mixed_var instanceof Array);}
function is_object(mixed_var){if(mixed_var instanceof Array){return false;}else{return(mixed_var!==null)&&(typeof(mixed_var)=='object');}}
function is_numeric(mixed_var){return!isNaN(mixed_var);}
function empty(mixed_var){var is_object_empty=false;if(is_object(mixed_var)){for(key in mixed_var){return is_object_empty;}
is_object_empty=true;}
return(mixed_var===""||mixed_var===0||mixed_var==="0"||mixed_var===null||mixed_var===false||(is_array(mixed_var)&&mixed_var.length===0)||is_object_empty);}
function is_obj(obj){return obj&&typeof(obj);}
function getChilds(obj,nodeName,attr,style,arr){if(!arr){arr=Array();}
if(obj.hasChildNodes()){for(var i=0;i<obj.childNodes.length;i++){if(obj.childNodes[i].nodeName=='#text'){continue;}
if(!nodeName||obj.childNodes[i].nodeName==nodeName){if(!attr){if(!style){arr.push(obj.childNodes[i]);}else{if(obj.childNodes[i].style){var flg=false;for(key in style){var re=new RegExp(style[key])
if(obj.childNodes[i].style[key].match(re)){flg=true;}else{flg=false;break;}}
if(flg){arr.push(obj.childNodes[i]);}}}}else{var flg=false;for(key in attr){if(obj.childNodes[i].getAttribute(key)==attr[key]){flg=true;}else{flg=false;break;}}
if(flg){if(!style){arr.push(obj.childNodes[i]);}else{if(obj.childNodes[i].style){var flg=false;for(key in style){if(obj.childNodes[i].style[key]==style[key]){flg=true;}else{flg=false;break;}}
if(flg){arr.push(obj.childNodes[i]);}}}}}}
getChilds(obj.childNodes[i],nodeName,attr,style,arr);}}
return arr;}
function errorMsg(method,msg){alert("Error:\r\r\n\n    "+method+"                        \r\n    "+msg);}
function noticeMsg(method,msg){alert('Notice!!!:\r\r    '+method+'                        \r    '+msg+'!');}
function returnFalse(event){event.cancelBubble=true;return false;}
function getNextBrother(obj){if(!is_dom(obj)){errorMsg('tools.js -> Window :: getNextBrother','Object in not DOM element');return;}}
function parseXML(xml){var arr=Array();if(!xml||!xml.firstChild){return'';}
var root=xml.nodeName=='#document'?xml.firstChild:xml;if(root.nodeName=='#text'){root=root.nextSibling;}
if(root.nodeName=='xml'){root=root.nextSibling;}
if(root){for(var i=0;i<root.childNodes.length;i++){var item=root.childNodes[i];var nodeName=item.nodeName;var attributes=getAttributes(item);if(nodeName!='#text'){if(nodeName!="#comment"){switch(nodeName){case'length':case'push':nodeName='_'+nodeName;break;}
var val=parseXML(item);if(!arr[nodeName]){if(attributes){var temp=Array();temp['attrs']=attributes;temp['textContent']=val;arr[nodeName]=temp;}else{arr[nodeName]=val;}}else{if(!is_array(arr[nodeName])){var temp=arr[nodeName];arr[nodeName]=Array(temp);}
if(arr[nodeName].length==0){var temp=arr[nodeName];arr[nodeName]=Array(temp);}
if(attributes){var temp=Array();temp['attrs']=attributes;temp['textContent']=val;arr[nodeName].push(temp);}else{arr[nodeName].push(val);}}}}}
var flg=false;for(key in arr){flg=true;break;}
return flg?arr:(root.text||root.textContent);}
return null;}
function getAttributes(node){var arr=Array();if(node&&node.attributes&&node.attributes.length>0){for(var i=0;i<node.attributes.length;i++){var attr=node.attributes[i];arr[attr.name]=attr.value;}
return arr;}
return null;}
function formatPhoneNumber(number){return number.substring(0,1)+' ('+number.substring(1,4)+') '+number.substring(4,7)+'-'+number.substring(7,11);}
function templater(str,hash)
{var leftQ='<%';var rightQ='%>';var re1=new RegExp("((^|"+rightQ+")[^\t]*)'",'g');var re2=new RegExp("\t=(.*?)\\"+rightQ,'g');var my_str="var a=[];with(hash){a.push('"+str.replace(/[\t\r\n]/g," ").split(leftQ).join("\t").replace(re1,"$1\r").replace(re2,"',$1,'").split("\t").join("');").split(rightQ).join("a.push('").split("\r").join("\\'")+"');} return a.join('');";return new Function("hash",my_str)(hash);}
function getCssClassNamevalue(o,className)
{var sClasses=o.className.replace(/\n|\r|\t/g,' ');var aClasses=sClasses.split(' ');var re=new RegExp('^'+className+'(\-|)([^\-]+|)','');for(var i=0;i<aClasses.length;i++)
{var class_=aClasses[i];if(res=class_.match(re))
{return res[2];}}
return null;}
getCssClassNameValue=getCssClassNamevalue
function setCssClassName(o,className,value)
{if(getCssClassNameValue(o,className)==value)
{return;}
if(typeof value=='undefined')
{o.className=className;}
else
{var sClasses=o.className.replace(/\n|\r|\t/g,' ');var aClasses=sClasses.split(' ');var re=new RegExp('^'+className+'\-[^\-]+','');for(var i=0;i<aClasses.length;i++)
{var class_=aClasses[i];if(class_.match(re))
{aClasses.splice(i,1);}}
if(value==''&&value!=0)
{aClasses.push(className);}
else
{aClasses.push(className+'-'+value);}
o.className=aClasses.join(' ');if(o.firstChild&&o.firstChild.tagName=='B')
{o.firstChild.innerHTML=o.className;}}}
function addClassName(o,className)
{var aClasses=o.className.replace(/\n|\r|\t/g,' ').split(' ');for(var i=0;i<aClasses.length;i++)
{if(aClasses[i]==className)
{return;}}
o.className+=' '+className;}
function initCss(rules)
{if(!rules||typeof rules!='string')
{return false;}
try
{var oStyle=document.createElement('DIV');oStyle.innerHTML='*<style>'+rules+'</style>*';document.getElementsByTagName('HEAD')[0].appendChild(oStyle);}
catch(e)
{var oStyle=document.createElement('STYLE');oStyle.innerHTML=rules;document.body.appendChild(oStyle);}
return true;}
function getElementsByClassName(classNameVal,parent)
{var res=[];parent=parent||document;var nodes=parent.getElementsByTagName('*');var l=nodes.length;if(l)
{for(var i=0;i<l;i++)
{var node=nodes[i];var aClasses=node.className.replace(/\n|\r|\t/g,'').split(' ');if(inArray(aClasses,classNameVal)!=-1)
{res.push(node);}}}
return res;}
function each(obj,callBack,space)
{if(!obj)
{throw new Error('Each\nObject is undefined');}
if(typeof callBack!='function')
{throw new Error('Each\nCallBack undefined or not a function');}
space=space||obj;if(obj.length)
{for(var i=0,l=obj.length;i<l;i++){if(callBack.call(space,obj[i],parseInt(i),obj)===false)
return false;}}
else
{for(var key in obj){if(obj.hasOwnProperty(key)){if(callBack.call(space,obj[key],key,obj)===false)
return false;}}}
return true;}
function getCurrentStyle(o,name)
{if(window.getComputedStyle)
{return window.getComputedStyle(o,null)[name];}else if(o.currentStyle)
{return o.currentStyle[name];}
return null;}
function each_r(obj,callBack,space)
{if(!obj)
{throw new Error('Each\nObject is undefined');}
if(typeof callBack!='function')
{throw new Error('Each\nCallBack undefined or not a function');}
space=space||obj;var res=[];if(obj.length)
{for(var i=0,l=obj.length;i<l;i++){var ret_val=callBack.call(space,obj[i],i,obj);if(ret_val)
{res.push(ret_val);}}}
else
{for(var key in obj){if(obj.hasOwnProperty(key)){var ret_val=callBack.call(space,obj[key],key,obj);if(ret_val)
{res.push(ret_val);}}}}
return res.length?res:null;}
function getCssPropValueBySelectorAndProp(selector,prop)
{var css=window.document.styleSheets;if(css.length)
{var res=each_r(css,(function(selector,prop,cssGroup)
{var fullRules=cssGroup.cssRules||cssGroup.rules
if(fullRules)
{var res=each_r(fullRules,(function(selector,prop,rule)
{if(rule.selectorText==selector)
{return rule.style[prop];}
return null;}).rcBindAsIs(this,selector,prop));return res?res:null;}}).rcBindAsIs(this,selector,prop));return res?res[0]:null;}}
function inArray(arr,val)
{if(arr)
{for(var i=0,l=arr.length;i<l;i++)
{if(arr[i]==val)
{return i;}}}
return-1;}
function opacity(id,opacStart,opacEnd,millisec){var speed=Math.round(millisec/100);var timer=0;if(opacStart>opacEnd){for(i=opacStart;i>=opacEnd;i--){setTimeout("changeOpac("+i+",'"+id+"')",(timer*speed));timer++;}}else if(opacStart<opacEnd){for(i=opacStart;i<=opacEnd;i++)
{setTimeout("changeOpac("+i+",'"+id+"')",(timer*speed));timer++;}}}
function changeOpac(opacity,id){var object=document.getElementById(id).style;object.opacity=(opacity/100);object.MozOpacity=(opacity/100);object.KhtmlOpacity=(opacity/100);object.filter="alpha(opacity="+opacity+")";}
function getParentByTagsName(arr,node)
{while(inArray(arr,node.nodeName)==-1)
{if(node.nodeName=='BODY')
{return null;}
node=node.parentNode;}
return node;}
function fireEvent(el,ev)
{if(document.createEventObject)
{var E=document.createEventObject();el.fireEvent(ev,E);return true;}
else if(document.createEvent)
{var E=document.createEvent("MouseEvents");E.initEvent(ev.replace(/^on/,''),true,false);el.dispatchEvent(E);var E=document.createEvent("HTMLEvents");E.initEvent(ev.replace(/^on/,''),true,false);el.dispatchEvent(E);return true;}
else
{return false;}}
function rand(min,max){var argc=arguments.length;if(argc==0){min=0;max=2147483647;}else if(argc==1){throw new Error('Warning: rand() expects exactly 2 parameters, 1 given');}
return Math.floor(Math.random()*(max-min+1))+min;}
