function pVs(id,vis)
{var dddd;
if (document.getElementById) 
{dddd=document.getElementById(id).style;
 if (dddd) dddd.visibility = vis ? "visible":"hidden";
} else
if(document.all)   {dddd=document.all[id].style;
if (dddd) dddd.visibility = vis ? "visible":"hidden";
} else
if(document.layers) {dddd=document.layers[id];
if (dddd)    dddd.visibility = vis ? "show":"hide";
}
return false;}

function addContent(id)
 {
   pVs(id, false); 
   frm=document.forms['ff'];

   if (frm.url.value=='')
   { alert("Укажите URL"); pVs(id, true); return false; }

   if (frm.title.value=='') 
   { alert("Задайте описание"); 
     pVs(id, true); 
     return false; }
   
   if (checkBan(frm.url.value))
   { alert("Извините, ресурс не может быть опубликован"); 
     pVs(id, true);  
     return false; }

   frm.submit();
   return true;
 }

 function addRSS(id)
 {
   pVs(id, false); 
   frm=document.forms['ff'];

   if (frm.url.value=='')
   { alert("Укажите URL"); pVs(id, true); return false; }

   if (!checkDisabled(frm)) return false;
   
   frm.submit();
   return true;
 }


function addToKeys(key)
{
  frm = document.forms['ff'].tags;
  old = frm.value;
  if (old=='') frm.value=key;
  else
  {
    if (old.indexOf(key)>=0) return false;
    frm.value+=",";
    frm.value+=key;
  }

  return true;
}

function tagsHandler(txt, xmlDoc)
{
  document.getElementById('tagsContent').innerHTML=txt;
}

function openTagWindow(event)
{dv=document.createElement('div');dv.style.borderRight='#000 2px solid';
dv.style.paddingRight='1px';dv.style.borderTop='#000 1px solid';
dv.style.paddingLeft='1px';dv.style.paddingBottom='1px';
dv.style.borderLeft='#000 1px solid';dv.style.paddingTop='1px';
dv.style.borderBottom='#000 1px solid';dv.style.backgroundColor='white';
dv.style.position='absolute';dv.id='tagsWindow';
dv.style.top=eval(getPositionY(document.getElementById('id_tags')))+28+'px';
dv.style.left=getPositionX(document.getElementById('id_tags'))+'px';
dv.style.width='320px'
dv.style.height='220px';dv.style.visibility='visible';
s="<div onMouseDown=\"startDrag(event, 'tagsWindow')\"><table style='cursor:pointer;background:blue;color:white;text-decoration:none'";
s+=" width='320px' border='0' cellspacing='0' cellspadding='0'><tr><td valign='center'>Теги в системе</td><td align='right'>";
s+="<a title='Close window' style='cursor:pointer;background:blue;color:white;text-decoration:none' href='javascript:void(0)'";
s+=" onClick='document.body.removeChild(document.getElementById(\"tagsWindow\"))'><b> X </b></a></td></tr></table></div>";
s+="<div id='tagsContent' style='padding-top:2px;width:320px;height:195px;overflow:auto'><span style='margin-top:90px;text-align:center'>Loading ...</span></div>";
dv.innerHTML=s;
document.body.appendChild(dv);
cjAjaxEngine('/servlet/LinkStore?a=keys',tagsHandler,null);
return false;}

function openTagWindow1(event)
{dv=document.createElement('div');dv.style.borderRight='#000 2px solid';
dv.style.paddingRight='1px';dv.style.borderTop='#000 1px solid';
dv.style.paddingLeft='1px';dv.style.paddingBottom='1px';
dv.style.borderLeft='#000 1px solid';dv.style.paddingTop='1px';
dv.style.borderBottom='#000 1px solid';dv.style.backgroundColor='white';
dv.style.position='absolute';dv.id='tagsWindow';
dv.style.top=eval(getPositionY(document.getElementById('id_tags')))+28+'px';
dv.style.left=getPositionX(document.getElementById('id_tags'))+'px';
dv.style.width='320px'
dv.style.height='220px';dv.style.visibility='visible';
s="<div onMouseDown=\"startDrag(event, 'tagsWindow')\"><table style='cursor:pointer;background:blue;color:white;text-decoration:none'";
s+=" width='320px' border='0' cellspacing='0' cellspadding='0'><tr><td valign='center'>Теги в системе</td><td align='right'>";
s+="<a title='Close window' style='cursor:pointer;background:blue;color:white;text-decoration:none' href='javascript:void(0)'";
s+=" onClick='document.body.removeChild(document.getElementById(\"tagsWindow\"))'><b> X </b></a></td></tr></table></div>";
s+="<div id='tagsContent' style='padding-top:2px;width:320px;height:195px;overflow:auto'><span style='margin-top:90px;text-align:center'>Loading ...</span></div>";
dv.innerHTML=s;
document.body.appendChild(dv);
cjAjaxEngine('/servlet/LinkStore?a=keys&db=1',tagsHandler,null);
return false;}

function createExportURL()
{
  cnt = document.forms['ff'].countChecking.value;
  if (cnt=='') cnt='7';

  s='cnt='+cnt;

  tags = document.forms['ff'].tags.value;
  if (tags!='')
   s+='&tags='+escaper(tags);

  content = getRadialValue('contentChecking');
  charset = getRadialValue('charset');
  criteria = getRadialValue('criteria');

  if ("1"!=criteria) s+="&criteria="+criteria;

  if ("HTML"==content) s+="&content=HTML";
  else
    if ("WAP"==content) s+="&content=WAP";

  domain = getRadialValue('domainChecking');
  if ("livejournal"==domain) s+="&pattern="+escaper('livejournal.com');
  else
    if ("pattern"==domain) s+="&pattern="+escaper(document.forms['ff'].pattern.value);

  if (!document.forms['ff'].target.checked) s+="&target=0";

  if ("1"!=charset) s+="&charset="+charset;

  document.getElementById('export').innerHTML=s;
}

function createRSSURL()
{
  cnt = document.forms['ff'].countChecking.value;
  if (cnt=='') cnt='24';

  s='t='+cnt;

  tags = document.forms['ff'].tags.value;
  if (tags!='')
   s+='&tags='+escaper(tags);

  content = getRadialValue('contentChecking');

  if ("HTML"==content) s+="&content=HTML";
  else
    if ("WAP"==content) s+="&content=WAP";

  domain = getRadialValue('domainChecking');
  if ("livejournal"==domain) s+="&pattern="+escaper('livejournal.com');
  else
    if ("pattern"==domain) s+="&pattern="+escaper(document.forms['ff'].pattern.value);

  document.getElementById('export').innerHTML=s;
}

function escaper(str)
{
var trans = [];
for (var i = 0x410; i <= 0x44F; i++)
  trans[i] = i - 0x350; 
trans[0x401] = 0xA8;    
trans[0x451] = 0xB8;    

var ret = [];
for (var i = 0; i < str.length; i++)
{
  var n = str.charCodeAt(i);
  if (typeof trans[n] != 'undefined')
    n = trans[n];
    // if (n <= 0xFF)  ret.push(n);
    if  (n<=0xFF) ret[ret.length]=n;
 }
 var r = '';
 try
 {
  r = String.fromCharCode.apply(null, ret);
 }
 catch (E)
 {
    for (i = 0; i < ret.length; i++)
      r += String.fromCharCode(ret[i]);
 }
  return escape(r);
}


function getRadialValue(strFieldName){
    var objFormField = document.forms['ff'].elements[strFieldName]
    intControlLength = objFormField.length
    for (i=0;i<intControlLength;i++){
         if(objFormField[i].checked){
                   strValue = objFormField[i].value;
                   return strValue;
         }
    }    
}

function swapOverflow()
{
  s = document.getElementById("maindiv");
  if (s)
  {
    if (s.style.overflow=='none' || s.style.overflow=='') s.style.overflow="auto";
    else s.style.overflow='';
  } 
}

function MailTo1(_sUrl)
   {
     var sUrl=decodeURIComponent(_sUrl);
     var subjectLine='Link from http://www.linkstore.ru'; 
     var bodyText='Have you seen: '+sUrl;

     var message='mailto:?subject='+escape(subjectLine)+'&body='+escape(bodyText);
     var messageIE='mailto:?subject='+(subjectLine)+'&body='+(bodyText);     

     if(document.all) location.href=messageIE; 
     else  location.href=message; 
   }

function TwitTo(sUrl)
{    var bodyText='a link from http://linkstore.ru: '+sUrl;

     var message='http://twitter.com/home?status='+escape(bodyText);

     location.href=message; }

function createFavicon(link,defImg,className)
 {
  var cue = document.createElement("img");
  if (className)
    cue.className=className;

  cue.style.width='16px'; 
  cue.style.height='16px'; 

  var domain = link.match(/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/);
  domain = RegExp.$2;

  var cuesrc = "http://"+domain+"/favicon.ico";
  cue.setAttribute("src",cuesrc);
  cue.onerror = function () 
  {
	this.src = defImg;
  }

  return cue;
 }

function getMaxView()
{
 var cloud = document.getElementById('maincloud');
 var tags = cloud.getElementsByTagName('a');
 var max = 0;
 for(var i=0;i<tags.length;i++) 
 {
  var tag = tags[i];
  var title = tag.getAttribute('title');
  title = title.substring(title.lastIndexOf(" ")+1);
  var f = title.substring(title.indexOf('/')+1);
  if (eval(f)>max) max = eval(f);
 }

 return max;
}

function getMaxVote()
{
 var cloud = document.getElementById('maincloud');
 var tags = cloud.getElementsByTagName('a');
 var max = 0;
 for(var i=0;i<tags.length;i++) 
 {
  var tag = tags[i];
  var title = tag.getAttribute('title');
  title = title.substring(title.lastIndexOf(" ")+1);
  var f = title.substring(0,title.indexOf('/'));
  if (eval(f)>max) max = eval(f);
 }

 return max;
}

function showViewCloud()
{
  var o = document.getElementById("switcher");
  o.innerHTML = "<a class='link' href='javascript:void(0)' title='Показать голоса' onClick='showVoteCloud();return false;'><em>Голоса</em></a>";
  makeViewCloud(getMaxView());
}

function showVoteCloud()
{
  var o = document.getElementById("switcher");
  o.innerHTML = "<a class='link' href='javascript:void(0)' title='Показать просмотры' onClick='showViewCloud();return false;'><em>Просмотры</em></a>";
  makeVoteCloud(getMaxVote());
}

function makeVoteCloud(max) 
{
 var cloud = document.getElementById('maincloud');
 var tags = cloud.getElementsByTagName('a');
 if (max<=0) return;
 for(var i=0;i<tags.length;i++) 
 {
  var tag = tags[i];
  var title = tag.getAttribute('title');
  title = title.substring(title.lastIndexOf(" ")+1);
  var f = title.substring(0,title.indexOf('/'));
  var fontSize = (150.0*(1.0+(1.5*eval(f)-max/2)/max))+"%";
  if (max==1) fontSize="100%";
  tag.style.fontSize = fontSize;
 }
}

function makeViewCloud(max) 
{
 var cloud = document.getElementById('maincloud');
 var tags = cloud.getElementsByTagName('a');
 if (max<=0) return;
 for(var i=0;i<tags.length;i++) 
 {
  var tag = tags[i];
  var title = tag.getAttribute('title');
  title = title.substring(title.lastIndexOf(" ")+1);
  var f = title.substring(title.indexOf('/')+1);
  var fontSize = (150.0*(1.0+(1.5*eval(f)-max/2)/max))+"%";
  if (max==1) fontSize="100%";
  tag.style.fontSize = fontSize;
 }
}

function showChat()
{
  if (document.getElementById("chat").style.display=="block")
    document.getElementById("chat").style.display="none";
  else 
    document.getElementById("chat").style.display="block";
}

function checkDisabled(frm) 
{
  var s  = frm.url.value;

  if (s=='') return false;
  if (checkBan(s)) return false;

  return true;
}

function checkBan(s)
{
  if (s.indexOf('klava.net')>=0) return true;
  if (s.indexOf('babes-sex')>=0) return true;
  if (s.indexOf('escort-')>=0) return true;
  if (s.indexOf('tss.3dn.ru')>=0) return true;
  if (s.indexOf('kiss9.ru')>=0) return true;
  if (s.indexOf('hot9.ru')>=0) return true;
  if (s.indexOf('ebn9.ru')>=0) return true;
  if (s.indexOf('darts.ilasso.ru')>=0) return true;
  if (s.indexOf('sexbanan.com')>=0) return true;
  if (s.indexOf('milashkasearch.ru')>=0) return true;
  if (s.indexOf('neotrasimosti.ru')>=0) return true;
  if (s.indexOf('.by.ru')>=0) return true;  
  if (s.indexOf('.pp.ru')>=0) return true;  
  if (s.indexOf("g00gle.jino-net.ru")>=0) return true;
  if (s.indexOf("9oogle.jino-net.ru")>=0) return true;
  if (s.indexOf(".jino-net.ru")>=0) return true;   
  if (s.indexOf(".yamil.ru")>=0) return true;
  if (s.indexOf("xxx")>=0) return true;
  if (s.indexOf("porn")>=0) return true;
  if (s.indexOf("dvapistona.ru")>=0) return true;
  if (s.indexOf("glamurgirls.net")>=0) return true;
  if (s.indexOf("teensgosex.com")>=0) return true;
  if (s.indexOf("miledi-kukla.ru")>=0) return true;
  if (s.indexOf("1gb.ru")>=0) return true;
  if (s.indexOf("xxlib.org")>=0) return true;
  if (s.indexOf("microboss.blogspot.com")>=0) return true;
  if (s.indexOf("trahtube.ru")>=0) return true;
  if (s.indexOf("drochelwagen.com")>=0) return true;
  if (s.indexOf("rusputana.")>=0) return true;
  if (s.indexOf("farchmak.ru")>=0) return true;
  if (s.indexOf("minuet.ru")>=0) return true;
  if (s.indexOf("x-stars.ru")>=0) return true;
  if (s.indexOf("nightcat.ru")>=0) return true;
  if (s.indexOf("tutki.nu")>=0) return true;
  if (s.indexOf(".nberaki.ru")>=0) return true;
  if (s.indexOf(".manterde.ru")>=0) return true;
  if (s.indexOf(".modrekropo.ru")>=0) return true;
  if (s.indexOf("xengine.ru")>=0) return true;
  if (s.indexOf("putani.")>=0) return true;
  if (s.indexOf("putans.")>=0) return true;
  if (s.indexOf("bestgirls.")>=0) return true;
  


  return false;
}




