// Browser check (version/type) (v.1.08)
var bName=navigator.appName;
var bAgent=navigator.userAgent;
var bVer=parseInt(navigator.appVersion);
var isDOM=document.getElementById;
var isOpera=(bAgent.indexOf('Opera')>0||bName=='Opera');
var isOpera5=(isOpera&&bAgent.indexOf('Opera 5')>0);
var isOpera6=(isOpera&&bAgent.indexOf('Opera 6')>0);
var isOpera7=(isOpera&&bAgent.indexOf('Opera 7')>0);
var isOpera8=(isOpera&&bAgent.indexOf('Opera 8')>0);
var isOpera5up=(isOpera5||isOpera6||isOpera7||isOpera8);
var isOpera6up=(isOpera6||isOpera7||isOpera8);
var isOpera7up=(isOpera7||isOpera8);
var isIE=(bName=="Microsoft Internet Explorer"&&bVer>=4&&!isOpera);
var isIE4=(bAgent.indexOf('MSIE 4')>0&&!isOpera);
var isIE5=(bAgent.indexOf('MSIE 5')>0&&!isOpera);
var isIE6=(bAgent.indexOf('MSIE 6')>0&&!isOpera);
var isIE5up=(isIE5||isIE6);
var isNS=(bName=="Netscape"&& bVer>=4&&!isOpera);
var isNS4=isNS;
var isMoz=(bAgent.indexOf("Gecko")>-1&&isDOM&&!isOpera);
var isNS5=(bName=="Netscape"&&isMoz);
var isNS6=(bName=="Netscape"&&bVer>=5&&!isOpera);
var isNS7=(bName=="Netscape"&&bVer>=6&&!isOpera);
var isNS5up=(isNS5||isNS6||isNS7);
var isNS6up=(isNS6||isNS7);
var isFFox=(bAgent.indexOf('Firefox')>0&&isMoz);
var isNew=(isIE5up||isNS6||isOpera5up||isMoz||isFFox);
var isCool=(isIE5up||isNS6||isMoz||isFFox);

// Miscellaneous variables
var d=document;
var dc=document.cookie;
var sw=screen?screen.width:0;
var sh=screen?screen.height:0;

// Cookie handler functions (v.2.0)
function getExpiresDate(nd){ // nd = number of days
  var today=new Date();var ms=Date.parse(today);
  today.setTime(ms+nd*24*60*60*1000);return today.toUTCString();
}
function getCookie(cn){ // cn = cookie name
  var arg=cn+'=';var alen=arg.length;var clen=dc.length; var i=0;
  while(i<clen){j=i+alen;
    if(dc.substring(i,j)==arg){endstr=dc.indexOf(';',j);if(endstr==-1){endstr=dc.length}return unescape(dc.substring(j,endstr));}
    i=dc.indexOf(' ',i)+1;if(i==0){break;}}
  return null;
}
function setCookie(cn,cv,nd){ // cn = cookie name, cv = cookie value, nd = number of days (expires)
  var result=false;
  if((cn!=null)&&(cn!='')){d.cookie=cn+'='+escape(cv)+';expires='+getExpiresDate(nd);if(getCookie(cn)!=null){result=true;}}
  return result;
}
function delCookie(cn){ // cn = cookie name
  if(getCookie(cn)==null){return true;}else if(setCookie(cn,'',-1)==false){return true;}else{return false;}
}

// Miscellaneous functions (v.1.06)
function trim(s){
  if(typeof s!="string"){return s;}
  var retS=s;var ch=retS.substring(0,1);
  while(ch==" "){retS=retS.substring(1,retS.length);ch=retS.substring(0,1);}
  ch=retS.substring(retS.length-1,retS.length);
  while(ch==" "){retS=retS.substring(0,retS.length-1);ch=retS.substring(retS.length-1,retS.length);}
  while(retS.indexOf("  ")!=-1){retS=retS.substring(0,retS.indexOf("  "))+retS.substring(retS.indexOf("  ")+1,retS.length);}
  return retS;
}
function checkEmail(s){
  var ok="1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
  var re1=/(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;var re2=/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
  for(var i=0;i<s.length;i++){if(ok.indexOf(s.charAt(i))<0){return false;}}if(!s.match(re1)&&s.match(re2)){return -1};
}

// Query strings handler functions (v.1.05)
function queryStr(key){
  var value=null;for(var i=0;i<queryStr.keys.length;i++){if(queryStr.keys[i]==key){value=queryStr.values[i];break;}}return value;
}
queryStr.keys=new Array();
queryStr.values=new Array();
function parseQueryStr(){ 
  var qs=window.location.search.substring(1); var ps=qs.split("&");
  for(var i=0;i<ps.length;i++){
    var p=ps[i].indexOf('=');if(p>=0){
      var argname=ps[i].substring(0,p);var value=ps[i].substring(p+1);
      queryStr.keys[queryStr.keys.length]=argname;queryStr.values[queryStr.values.length]=value;
    }
  }
}
parseQueryStr();