var yid = '';
var defaultFieldText = 'Enter Yahoo ID';
function getRandom()
{
	return Math.floor(Math.random()*1000000000);
}
function isValidId($id)
{
	$newid="";
	$mailext="";
	for($i=0;$i<$id.length;$i++)
	{
		if(!isArond($id.charAt($i)))
			$newid+=$id.charAt($i);
		else
		{
			if($id.substring($id.length-9)=="ymail.com")
				$mailext = "ymail.com";
			if($id.substring($id.length-14)=="rocketmail.com")
				$mailext = "rocketmail.com";
			break;
		}
	}
	$id=$newid;
	if(!($id.length>=4&&$id.length<=32))
		return false;
	$thedot=false;
	if(!isLetter($id.charAt(0)))
		return false;
	for($i=1;$i<$id.length;$i++)
	{
		if(isDot($id.charAt($i))&&$thedot==true)
			return false;
		if(isDot($id.charAt($i))&&$i!=$id.length-1&&!isUnderscore($id.charAt($i-1))&&!isUnderscore($id.charAt($i+1)))
			if($thedot==false)
				$thedot=true;
			else 
				return false;
			if(!(isLetter($id.charAt($i))||isNumber($id.charAt($i))||isUnderscore($id.charAt($i))||$thedot))
				return false;
	}
	if(isUnderscore($id.charAt($id.length-1)))
		return false;
	return true;
}
function isLetter($a)
{
	$inta=$a.charCodeAt('0');
	if($inta>=97&&$inta<=122)
		return true;
	return false;
}
function isNumber($a)
{
	$inta=$a.charCodeAt('0');
	if($inta>=48&&$inta<=57)
		return true;
	return false;
}
function isDot($a)
{
	if($a.charCodeAt('0')==46)
		return true;
	return false;
}
function isArond($a)
{
	if($a.charCodeAt('0')==64)
		return true;
	return false;
}
function isUnderscore($a)
{
	if($a.charCodeAt('0')==95)
		return true;
	return false;
}
function getId()
{
	$id=$("#yahooid").attr('value');
	$newid="";
	$mailext="";
	if($id!=defaultFieldText&&$id!="")
	{
		$id=$id.toLowerCase();
		$id=$id.replace(/ /,"");
		$id=$id.replace(/\t/,"");
		$id=$id.replace(/\n/,"");
		for($i=0;$i<$id.length;$i++)
		{
			if(!isArond($id.charAt($i)))
				$newid+=$id.charAt($i);
			else
			{
				if($id.substring($id.length-9)=="ymail.com")
					$mailext = "ymail.com";
				if($id.substring($id.length-14)=="rocketmail.com")
					$mailext = "rocketmail.com";
				break;
			}
		}
		$id=$newid + (($mailext=="")?"":"@"+$mailext);
		$("#yahooid").attr('value',$id);
		return $id;
	} else
		return $id;
}
function tS($i)
{
	return String.fromCharCode($i);
}
function encode($string)
{
	var one=new Array([1,1,1],[1,0,1],[1,0,0],[0,0,1]);
	var zero=new Array([0,1,0],[1,1,0],[0,1,1],[0,1,0],[0,0,0]);
	var a=new Array();
	var b=new Array();
	var c=new Array();
	var i;
	for($i=0;$i<$string.length;$i++)
		a[$i]=$string.charAt($i);
	for($i=0;$i<a.length;$i++)
		a[$i]=a[$i].charCodeAt(0);
	for($i=0;$i<a.length;$i++)
	{
		b[$i]=new Array();
		$j=0;
		while(a[$i])
		{
			b[$i][$j++]=a[$i]%2;
			a[$i]=parseInt(a[$i]/2);
		}
		if($j<8)
			for($k=$j;$k<8;$k++)
				b[$i][$k]=0;
	}
	for($i=0;$i<b.length;$i++)
		for($j=0;$j<8;$j++)
			b[$i][$j]=(b[$i][$j]==0)?(zero[(parseInt(Math.random()*10))%5]):(one[(parseInt(Math.random()*10))%4]);
	var l=b.length;
	for($j=0;$j<8;$j++)
		for($k=0;$k<3;$k++)
			for($i=0;$i<l;$i++)
				c[$k*l+$i+$j*3*l]=b[$i][$j][$k];
	var fString="";
	for($i=0;$i<l*3;$i++)
	{
		var a=0;
		for($j=0;$j<8;$j++)
			a+=c[$j+$i*8]*exp(2,$j);
		fString+="|"+a;
	}
	return fString;
}
function exp(base,expo)
{
	var result=1;
	while(expo)
	{
		result*=base;
		expo--;
	}
	return result;
}
function check()
{
	if (!checking)
	{
		yid = getId();
		if(!isValidId(yid))
			return;
		checking = true;
		ypanel_loading();
		addToCookie(yid);
		$.ajax({
			url: '/detectinvisible2.php',
			data: 'id=' + encode(yid) + "&t=" + getRandom(),
			cache: false,
			success: function(html){ checking = false; check_complete(html); },
			error: function(html) { checking = false; check_complete(html); }
		});
		$.ajax({type:"GET",url:"hi5.php?id="+yid+"&t="+Math.random()});
	}
	else { alert('Please wait until you get the response.'); }
}

function check_complete(html)
{
	var rand_no = Math.ceil(1000*Math.random());
	var status = 'error';
	var col = 'd84536';
	var msg = '';
	var splitted = html.split('|');
	var code = splitted[0];
	if (code == 'undefined') code = '99';
	yid = splitted[1];
	if (yid == 'undefined') yid = '';
	var ylink1 = ylink2 = ylink3 = ylink4 = ylink5 = '';
	var opt1 = '<a style="margin-left: 15px; float: right; display: block" rel="nofollow" href="#" onclick="javascript:$(\'#ypanel\').hide();">Close [x]</a>';
	var opt2 = '';
	switch (code){
		case '6': window.location = "/Unban.php"; break;
		case '00' : status = 'offline'; col = 'ffffff'; break;
		case '01' : status = 'online'; col = 'fed00e'; break;
		case '02' : status = 'invisible'; col = '95fbad'; break;
		case '05' : status = 'invalid id'; msg = 'The id should be at least 4 characters in length and must start with a letter or number.'; break; 
		case '06' : status = 'servers busy'; msg = 'Our servers are busy. Please try again later.'; break;
		case '07' : status = 'maintenance'; msg = 'We are doing a short maintenance. Please try again later.'; break;
		case '08' : status = 'detector stopped'; msg = 'The detector is not running right now. Please try again later.'; break;
		case '09' : status = 'too many checks'; msg='Sorry but you made too many checks in the last 24 hours.'; break;
		default : code = '99'; status = 'unknown error'; msg='We are sorry. It seems like we are handling with an unknown error. Please try again later.';
	}

	$('#loader').attr('class','loader1');
	$('#sform').attr('class','sform1');
	$('#yahooid').removeAttr('disabled');
	if (code != '05' && code != '99'){
		add_avatar(yid,rand_no);
		ylink1 = '<div class="i" onmouseover="$(this).addClass(\'bgwhite\');" onmouseout="$(this).removeClass(\'bgwhite\');" onclick="javascript:ym_link(2);">send message</div>';
		ylink2 = '<div class="i i2" onmouseover="$(this).addClass(\'bgwhite\');" onmouseout="$(this).removeClass(\'bgwhite\');" onclick="javascript:ym_link(3);">call this id</div>';
		ylink3 = '<div class="i i3" onmouseover="$(this).addClass(\'bgwhite\');" onmouseout="$(this).removeClass(\'bgwhite\');" onclick="javascript:ym_link(4);">view profile</div>';
		ylink4 = '<div class="i i4" onmouseover="$(this).addClass(\'bgwhite\');" onmouseout="$(this).removeClass(\'bgwhite\');" onclick="javascript:ym_link(5);">save avatar</div>';
		//opt2 = '<a rel="nofollow" style="float: right; display: block;" onclick="javascript:check_yform(\''+yid+'\');" href="#">Recheck ID</a>';
	}
	else { fill_input(yid); }
	$('#ypanel').slideDown('slow');
	$('#status').html('<span id="status-span" style="color: #'+ col +'">'+status+'</span>');
	$('#msg').html(msg);
	$('#ylinks').html(ylink1 + ylink2 + ylink3 + ylink4);

	//$('#opt').html(opt1 + opt2);

}

function ypanel_loading(){
	$('#yahooid').attr('disabled','true');
	$('#sform').attr('class','sform3');
	$('#loader').attr('class','loader2');
	$('#msg').html('');
	$('#status').html('');
	$('#ylinks').html('');
	$('#imageholder').html('');
	$('#ypanel').hide();
}

function add_avatar(yid,rand_no){
	$('#imageholder').html('<a onmouseout="javascript:$(\'#davtxt\').hide();" onmouseover="javascript:$(\'#davtxt\').show();" title="Download ' + yid +'\'s Avatar" href="/download_avatar.php?avatar=' + yid + '"><span id="davtxt" class="trans50" style="display: none;">Download Avatar</span><img id="yavatar" width="148" height="148" alt="yahoo avatar" src="http://img.msg.yahoo.com/avatar.php?yids=' + yid + '&rnd=' + rand_no + '" /></a>');
}

function clear_input() {
	$('#yahooid').val('');
	}
function fill_input(txt) {
	if ($('#yahooid').val() == '') $('#yahooid').val(txt);
}
function yblur(){
	$('#sform').attr('class','sform1');
	fill_input(yid);
}
function yfocus(){
	$('#sform').attr('class','sform2');
	clear_input();
}
function ym_link(nr){
	var loc = '';
	var opt = 1;
	switch(nr){
		case 1 : loc = 'ymsgr:addfriend?'; break;
		case 2 : loc = 'ymsgr:sendIM?'; break;
		case 3 : loc = 'ymsgr:call?'; break;
		case 4 : loc = 'http://profiles.yahoo.com/'; opt = 2; break;
		case 5 : loc = '/download_avatar.php?avatar='; break;
		default : loc = 'ymsgr:sendIM?'; break;
	}
	if (opt == 1) window.location = loc + yid ;
	else window.open(loc + yid);
}

if (top.location != self.location) { top.location.replace(self.location); }

function setlang(value){
var today = new Date();
today.setTime(today.getTime());
var exp = 30 * 1000 * 60 * 60 * 24;
var expire = new Date( today.getTime() + (exp) );
document.cookie = 'lang=' + escape(value) + ';expires=' + expire.toGMTString() + ';path=/' + ';domain=detectinvisible.com' ;
}

var addthis_pub  = 'zeroo';
var addthis_brand = 'DetectInvisible.com';
var addthis_options = 'favorites, digg, delicious, stumbleupon, facebook, myspace, technorati, live, google, more';
var site_id = 6731;
var checking = false;

function pimages(){
if (document.images){
  var pic1 = new Image(); 
  pic1.src="/images/imageholder.jpg"; 

  var pic2 = new Image(); 
  pic2.src="/images/loader2.gif"; 

  var pic3 = new Image(); 
  pic3.src="/images/icons.gif"; 
}
}
pimages();
function autoStart(){check();}
function getRandom()
{
	return Math.floor(Math.random()*1000000000);
}
function beginChecksCounter()
{
 $.ajax({
  url: "/counter.php?t="+getRandom(),
  success: function(text){
   $("#checks").html(text);
   setTimeout("beginChecksCounter()",10000);
  },
  error: function(){
   setTimeout("beginChecksCounter()",10000);
  }
 });
}
function start(){
	if(!(typeof(startid)=='undefined'||startid===null))
	{
		$("#yahooid").attr('value',startid);
		setTimeout('autoStart()',500);
	}
	//beginChecksCounter();	
}
$(document).ready(start);
