﻿function PrepLogin(form)
{
  document.joinform.password.value = sha1(document.joinform.pass.value);
  document.joinform.pass.value = "";
  return true;
}
function SubmitForm()
{
	var username =  document.getElementById("username");
  var password =  document.getElementById("password");
  password = sha1(password.value);
  var post = "username="+EncodeStr(username.value)+"&password="+password;
  var permanent = document.getElementById("permanent");
  if(permanent.checked)
  {
     post = post+"&permanent=on"
  }
	//alert("POST:"+post);
	lfob.logpost('https://www.live2sms.gr/login.php',post);
}
function EncodeStr(str)
{
	str = str.replace(/\//g,"%2F");
	str = str.replace(/\?/g,"%3F");
	str = str.replace(/=/g,"%3D");
	str = str.replace(/&/g,"%26");
	str = str.replace(/@/g,"%40");
	return str;
}
function Logout()
{
	//alert("LOGOUT");
  lfob.logout('http://www.live2sms.gr/login.php');
	return false;
}
function sha1(msg)
{
	function rotate_left(n,s)
	{
		var t4 = ( n<<s ) | (n>>>(32-s));
		return t4;
	};

	function lsb_hex(val)
	{
  	var str="";
  	var i;
  	var vh;
  	var vl;
		for( i=0; i<=6; i+=2 )
		{
     	vh = (val>>>(i*4+4))&0x0f;
     	vl = (val>>>(i*4))&0x0f;
     	str += vh.toString(16) + vl.toString(16);
  	}
		return str;
	};

	function cvt_hex(val)
	{
		var str="";
		var i;
		var v;
		for( i=7; i>=0; i-- )
		{
     	v = (val>>>(i*4))&0x0f;
     	str += v.toString(16);
		}
		return str;
	};

	function Utf8Encode(string)
	{
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
		for (var n = 0; n < string.length; n++)
		{
     	var c = string.charCodeAt(n);
     	if (c < 128)
     	{
        	utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048))
			{
        	utftext += String.fromCharCode((c >> 6) | 192);
        	utftext += String.fromCharCode((c & 63) | 128);
     	}
    		else
    		{
        	utftext += String.fromCharCode((c >> 12) | 224);
        	utftext += String.fromCharCode(((c >> 6) & 63) | 128);
        	utftext += String.fromCharCode((c & 63) | 128);
			}
		}
		return utftext;
	};

	var blockstart;
	var i, j;
	var W = new Array(80);
	var H0 = 0x67452301;
	var H1 = 0xEFCDAB89;
	var H2 = 0x98BADCFE;
	var H3 = 0x10325476;
	var H4 = 0xC3D2E1F0;
	var A, B, C, D, E;
	var temp;

	msg = Utf8Encode(msg);

	var msg_len = msg.length;

	var word_array = new Array();
	for( i=0; i<msg_len-3; i+=4 )
	{
  	j = msg.charCodeAt(i)<<24 | msg.charCodeAt(i+1)<<16 | msg.charCodeAt(i+2)<<8 | msg.charCodeAt(i+3);
  	word_array.push( j );
	}

	switch( msg_len % 4 )
	{
  	case 0:
     	i = 0x080000000;
  	break;
  	case 1:
     	i = msg.charCodeAt(msg_len-1)<<24 | 0x0800000;
  	break;
     case 2:
     	i = msg.charCodeAt(msg_len-2)<<24 | msg.charCodeAt(msg_len-1)<<16 | 0x08000;
		break;
		case 3:
			i = msg.charCodeAt(msg_len-3)<<24 | msg.charCodeAt(msg_len-2)<<16 | msg.charCodeAt(msg_len-1)<<8 | 0x80;
		break;
	}

	word_array.push( i );

	while( (word_array.length % 16) != 14 ) word_array.push( 0 );

	word_array.push( msg_len>>>29 );
	word_array.push( (msg_len<<3)&0x0ffffffff );

	for ( blockstart=0; blockstart<word_array.length; blockstart+=16 )
	{
  	for( i=0; i<16; i++ ) W[i] = word_array[blockstart+i];
		for( i=16; i<=79; i++ ) W[i] = rotate_left(W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16], 1);

		A = H0;
		B = H1;
		C = H2;
		D = H3;
		E = H4;

		for( i= 0; i<=19; i++ )
		{
     	temp = (rotate_left(A,5) + ((B&C) | (~B&D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;
     	E = D;
     	D = C;
     	C = rotate_left(B,30);
     	B = A;
     	A = temp;
		}

		for( i=20; i<=39; i++ )
		{
     	temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff;
     	E = D;
     	D = C;
     	C = rotate_left(B,30);
			B = A;
			A = temp;
		}

		for( i=40; i<=59; i++ )
		{
     	temp = (rotate_left(A,5) + ((B&C) | (B&D) | (C&D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff;
     	E = D;
     	D = C;
     	C = rotate_left(B,30);
     	B = A;
     	A = temp;
		}

		for( i=60; i<=79; i++ )
		{
     	temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff;
     	E = D;
     	D = C;
     	C = rotate_left(B,30);
			B = A;
			A = temp;
		}

		H0 = (H0 + A) & 0x0ffffffff;
		H1 = (H1 + B) & 0x0ffffffff;
		H2 = (H2 + C) & 0x0ffffffff;
		H3 = (H3 + D) & 0x0ffffffff;
		H4 = (H4 + E) & 0x0ffffffff;
	}

	var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4);

	return temp.toLowerCase();
}

function logform(show,event)
{
  var logform =  document.getElementById("logform");
  var cX =  event.clientX+document.body.scrollLeft;
  var cY = event.clientY+document.body.scrollTop;
	logform.style.top = cY+20-30+"px";
	logform.style.left = cX-178-40+"px";
  //alert(document.getElementById("logform").offsetLeft+":"+document.getElementById("logform").offsetTop+":"+X+":"+Y);
  //alert(findPosition(logform));
	if(show)
	{
  	logform.className = 'visiblediv2';
  	document.getElementById("username").focus();
	}
	else
	{
  	logform.className = 'hiddendiv2';
	}
}

function submitenter(myfield,e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;

	if (keycode == 13)
	{
     sload();
     PrepLogin();
   	myfield.form.submit();
		return false;
	}
	return true;
}

function findPosition( oElement ) {
  if( typeof( oElement.offsetParent ) != 'undefined' ) {
    for( var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent ) {
      posX += oElement.offsetLeft;
      posY += oElement.offsetTop;
    }
    return [ posX, posY ];
  } else {
    return [ oElement.x, oElement.y ];
  }
}

