document.write('<link rel=stylesheet href="../cs/common_bg.css" type="text/css">'); 
var isIE= (navigator.appName=='Microsoft Internet Explorer');

var DEFAULT_ERROR_MESSAGE='Could not connect to the server ...';

var fb= {init:false};
var login_redirect= true;

var loginRequest={};

function deleteCookie(name) 
{
	document.cookie=name+'=;path=/;expires=Thu, 01-Jan-70 00:00:01 GMT';
}
function setCookie(name,value) 
{
	document.cookie= name+'='+escape(value)+';path=/';
}
function getCookie(name) 
{
	name+='=';
	var a= document.cookie.split(';');
	for(var i=0;i < a.length;i++) {
		var c = a[i];
		while (c.charAt(0)==' ') 
		{
			c = c.substring(1,c.length);
		}
		if (c.indexOf(name)== 0) 
		{
			return unescape(c.substring(name.length,c.length));
		}
	}
	return null;
}
function login() 
{
	setCookie("url", window.location.href);
	window.location.href=_url("login.jsp");
}
function _url(page) 
{
	return CONTEXT+page;
}
function doUser() 
{
	if ( sysinfo&&sysinfo.logUser) return;
	else 
	{
		var user= getCookie('logUser');
		if ( user ) 
		{
			window.sysinfo= {logUser:user};
		}
	}
}
function deleteCookies() 
{
	deleteCookie("error");
	deleteCookie("sentemail");
	deleteCookie("countsent");
}
function requireLogin(options) 
{
	if ( !isUserLogged() ) 
	{
		var redirectAfterLogin= !options||options.redirectAfterLogin;
		
		deleteCookies();
		if (redirectAfterLogin) setCookie('url', window.location.href);
		else deleteCookie('url');
		window.location.href=_url('login.jsp');
		return true;
	}
	return false;
}
function doTemplateHeader(activeTab) 
{
	$("home").observe('click', onclickHome);
	$("member").observe('click', onclickMember);
	$("friend").observe('click', onclickFriend);
	$("iinvite").observe('click', onclickInvite);
	//$("chat").observe('click', onclickChat);
	
	if ( activeTab ) $(activeTab).className= 'active';
	
	doUser();

	loginRequest= {};
	if ( $('mini_login_box')) 
	{
		$$('.mini_login_enter_key').each( function(elem) {$(elem).observe('keypress', keypressMiniLogin);
		});
		$('mini_nz_login').observe('click', miniLogin);
		$('mini_login_close').observe('click', miniLoginClose);
		
		$('mini_continue').observe('click', miniContinue);
		$('mini_fb_login').observe('click', onclickFBLogin);
	}
	
	if ( isUserLogged())
	{
		$('welcome').innerHTML="Welcome:&nbsp;<b>"+sysinfo.logUser+"</b>";
		
		$('signup').innerHTML= 'Sign&nbsp;up';
		Event.observe('signup','click', onclickSign);	
		
		$('myaccount').innerHTML='Settings';
		Event.observe('myaccount','click', onclickAccount);
		
		$('login_box').setStyle({'width':'80px'});
		$('login_content_box').setStyle({'width':'60px'});
		
		$('login').innerHTML='Log out';
		$('login').setStyle( {'cursor':'pointer'});
		
		var fboCookie= getCookie('logFB');
		if ( fboCookie )
		{
			$('login').writeAttribute( 'title', 'Log out from netIDz and Facebook');
			var fbDiv= new Element('div', {} );
			fbDiv.setStyle({'float':'left', 'marginTop':'10px', 'marginLeft':'26px'});
			var img1= new Element('img', { src:'../../images/favicon_facebook.png','title':'Go to your Faccebook page'});
			img1.setStyle({'cursor':'pointer'});
			fbDiv.appendChild(img1);
			$(img1).observe('click', navigateToFB );
			
			$('signup_box').insert( { before:fbDiv });
			$('login').observe( 'click', onclickLogout ); 
		}
		else
		{	
			$('login').writeAttribute( 'title', 'Log out from netIDz');
			$('login').observe( 'click', onclickLogout ); 
			if ( sysinfo.fb_uid )
			{
				//linked netids
				var fbDiv= new Element('div', {} );
				fbDiv.setStyle({'float':'left', 'marginTop':'10px', 'marginLeft':'26px'});
				var img1= new Element('img', { id:'fb_icon', src:'../../images/favicon_netidz.png','title':'Go to your netIDz page'});
				img1.setStyle({'cursor':'pointer'});
				fbDiv.appendChild(img1);
				$(img1).observe('click', onclickHome );
				
				$('signup_box').insert( { before:fbDiv });
			}
			else 
			{
			 	$('login_box').setStyle({'marginLeft':'225px'});
				var linkDiv= new Element('div', {'id':'link_box'});
				linkDiv.innerHTML= 'Link to&nbsp';
				$('signup_box').insert( { before:linkDiv});
				
				var fbDiv= new Element('div', {} );
				fbDiv.setStyle({'float':'left', 'marginTop':'9px'});
				
				var img1= new Element('img', { id:'fb_icon', src:'../../images/favicon_facebook.png','title':'Link your Facebook account to your netIDz account'});
				img1.setStyle({'cursor':'pointer'});
				fbDiv.appendChild(img1);
				$(img1).observe('click', linkFB );
				
				$('signup_box').insert( { before:fbDiv});
			}	
		}
	}
	else
	{
		$('signup').innerHTML='Sign&nbsp;up';
		Event.observe('signup','click', onclickSign);	
		
		$('myaccount').innerHTML='Settings';
		Event.observe('myaccount','click', onclickAccount);
			
		$('login').innerHTML='Log In';
		$('login').observe('click',onclickLogin);
		$('login').writeAttribute( 'title', 'Click to Log In to netIDz');
		
		var libox= new Element('div', {id:'login_icon_box'});
		libox.setStyle({'float':'left','marginLeft':'10px', 'background-color':'transparent'});
		
		var img1= new Element('img', { id:'fb_login', src:'../../images/favicon_facebook.png','title':'Click to Log In using your Facebook account'});
		libox.appendChild(img1);
		img1.setStyle({'cursor':'pointer', 'verticalAlign':'middle'});
		$(img1).observe('click', onclickFBLogin);
		
		libox.appendChild( document.createTextNode( ' ' ));
		
		var img2= new Element('img', { id:'netidz_login', src:'../../images/favicon_netidz.png','title':'Click to Log In to netIDz'});
		libox.appendChild(img2);
		img2.setStyle({'cursor':'pointer', 'verticalAlign':'middle'});
		$(img2).observe('click', onclickLogin);
		
		if ( $('login_content_box')) $('login_content_box').appendChild( libox );
	}
	$$('.divider').each( function(elem) { elem.innerHTML='&nbsp;|&nbsp;';});	
}
function userExist() {
	return typeof(_userinfo)!='undefined'&&_userinfo.user;
}
function isUserLogged() {
	return sysinfo&&sysinfo.logUser&&sysinfo.logUser!=null;
}
function isUserSameAsLogged() {
	return isUserLogged&&sysinfo.user&&sysinfo.user==sysinfo.logUser;
}

//netidz login
function onclickLogin(ev) 
{
	showMiniLogin();
	Event.stop(ev);
}
function onclickSign(ev) {
	window.location.href= _url('signup.jsp');
	Event.stop(ev);
}
function onclickAccount(ev) {
	window.location.href= _url('myAccount.jsp');
	Event.stop(ev);
}
function onclickLogout(ev) 
{
	if( ev ) ev.stop();
	
	new Ajax.Request(SERVLET, { method:'post',
		parameters:"&_req=_logout&_user="+sysinfo.logUser,
   		onSuccess: function(r){processLogout(r.responseXML);},
		onFailure: function(){ alert(DEFAULT_ERROR_MESSAGE) }
  	});
}
function _xml(xml, name, index ) {
	return xml.getElementsByTagName(name)[index];
}
function ajaxError(xml) {
	var e= xml.getElementsByTagName("error");
	if ( e&&e.length>0) {
		alert( e[0].childNodes[0].nodeValue );              
		return true;
	}
	return false;
}
function ajaxNotLoggedError(xml) 
{
	var e= xml.getElementsByTagName('error');
	if ( e &&e.length>0) 
	{
		var error= e[0].childNodes[0].nodeValue;
		if ( error&&'logError'==error ) {
			setCookie('url', window.location.href );
			window.location.href=_url("login.jsp");
			return true;
		}
	}
	return false;
}
function getErrorMsg(xml) 
{
	var e= xml.getElementsByTagName("error");
	if ( e&&e.length>0) {
		return e[0].childNodes[0].nodeValue;              
	}
	return null;
}
function onclickHome(ev) {
	if ( isUserLogged()) {
		location.href=_url(sysinfo.logUser);
	}
	else {
		location.href=_url("index.jsp");
	}
	Event.stop(ev);
}  
function onclickMember(ev) {
	location.href=_url('browse_members.jsp');
	Event.stop(ev);
}
function onclickFriend(ev) {
	location.href=_url('friends.jsp');
	Event.stop(ev);
}
function _ajaxSend( params, funcSuccess ) {
	new Ajax.Request(SERVLET, {  method:'post',
		parameters: params,
    	onSuccess: function(r) { funcSuccess(r.responseXML);},
    	onFailure: function(){ alert(DEFAULT_ERROR_MESSAGE) }
  	});
}
function _ajaxj( params, funcSuccess ) 
{
	new Ajax.Request(SERVLET, {  method:'post',
		parameters: params,
    	onSuccess: function(r) { funcSuccess(r.responseText);},
    	onFailure: function(){ alert(DEFAULT_ERROR_MESSAGE) }
  	});
}
function show(elem) {
	$(elem).setStyle( {display:'block'} );
}
function hide(elem) {
	$(elem).setStyle( {display:'none'} );
}
function getHREF() 
{
	var href= location.href;
	var i= href.indexOf("?");
	if ( i>0) {
		href= href.substring(0,i);
	}
	return href;
}
function parseQueryParams() 
{
	//alert(location.search);
	if ( location.search&&location.search.length>0) {
		qparam= location.search.toQueryParams();
	}
	else {
		qparam= {};
	}
}
function doFriendHeader() 
{
	$('ffriend').observe('click', onclickFriend);
	$('manage').observe('click', onclickManage);
	$('invite').observe('click', onclickInvite);
	//$("chat").observe('click', onclickChat);	
	$('manageinvites').observe('click', onclickManageInvite);
	$('request').observe('click', onclickRequest);
}
function onclickInvite(ev) {
	location.href=_url('inviteFriends.jsp');
	Event.stop(ev);
}
function onclickChat(ev) {
	window.open(_url("chaty.html?restore=yes"),"_blank", "height=630,width=480,left=0,top=50,resizable=yes,scrollbars=no,toolbar=no,status=no");
	Event.stop(ev);
}
function onclickManage(ev) {
	location.href="manageFriends.jsp";
	Event.stop(ev);
}
function onclickManageInvite(ev) {
	location.href="manageInvites.jsp";
	Event.stop(ev);
}
function onclickRequest(ev) {
	location.href="friendRequests.jsp";
	Event.stop(ev);
}
function _gender(s) {
	return s=='m'||s=='M'?'Male':'Female';
}
function doPageNavigation( count, curpage, totalCount ) {
	//alert( count+':'+curpage+':'+_members.totalCount );
	var maxPageCount= Math.floor(totalCount/count);
	
	var ofs= totalCount%count;
	if (ofs>0) {
		maxPageCount++;
	}
	
	ofs= curpage%PAGES;
	var start;
	if ( ofs==0) {
		start= curpage-PAGES+1;
	}
	else {
		start= curpage-(ofs-1);
	}
	var html= "";
	var cur;
	for( var i=0;i<PAGES;i++) {
		cur= start+i;
		if ( cur>maxPageCount) {
			break;
		}
		if ( cur==curpage) {
			html+= "[<a href=\"#\" onclick=\"return onclickPage(event)\" id=\""+cur+"\">"+cur+"</a>]&nbsp;"
		}
		else {
			html+= "<a href=\"#\" onclick=\"return onclickPage(event)\" id=\""+cur+"\">"+cur+"</a>&nbsp;"
		}	
	}
	if ( start>1) {
		html+= "&nbsp;<a href=\"#\" onclick=\"return onclickPrev(event)\">Prev</a>&nbsp;"
	}
	if ( cur<maxPageCount) {
		html+= "&nbsp;<a href=\"#\" onclick=\"return onclickNext(event)\">Next</a>&nbsp;"
	}
	$("pages").innerHTML= html;
	$("pagesb").innerHTML= html;
}
function _xmlValue(xml, name ) {
	var x= xml.getElementsByTagName(name);
	return x&&x[0]?x[0].firstChild.nodeValue:null;
}
////////////////////////////////////////////////////////////
function xmlValue(xml, name ) {
	var x= xml.getElementsByTagName(name);
	return x&&x[0]?x[0].firstChild.nodeValue:null;
}

function getElementPosition( elem ) {
	var x=0;
  	var y=0;
  
  	while( elem ) {
    	x += elem.offsetLeft;
    	y += elem.offsetTop;
    	elem= elem.offsetParent;
  	}
  	return {x:x, y:y }
}
function getValue(value) {
	return value==null?"":value;
}
function json(name, value ) {
	return "\""+name+"\":\""+value+"\",";
}
function jsonLast(name, value ) {
	return "\""+name+"\":\""+value+"\"";
}
function getError(elem) {
	var xml= elem.req.responseXML;
	var e= xml.getElementsByTagName("error");
	if ( e&&e.length>0) {
		return e[0].childNodes[0].nodeValue;              
	}
	return null;
}

function error(elem) {
  	var xml= elem.req.responseXML;
  	var e= xml.getElementsByTagName("error" );
  	if ( e && e.length>0 ) {
  		var msg= new ui.MsgBox(e[0].childNodes[0].nodeValue, "ok", "error");
  		return true;
  	}
  	return false;
}
var emailPattern= /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/;
function isEmailValid( email ) {
	return email.match(emailPattern);
}

var param= null;
function onclickLists(event) {
	window.location.href="../myidz/"+param.user+
		(typeof(param.list)=="undefined"?"":"+"+param.list);
	return false;
}
function onclickProfile(event) {
	window.location.href="../friends_billboard/profile.html?user="+param.user;
	return false;
}
function onclickiSign(elem) {
	var state= elem.getAttribute('state');
	if ( state=="0") {
		window.location.href= "../signup.jsp";
	}
	else if ( state=="1") {
		window.location.href= "../myaccount/index.html";
	}
	return false;
}
function onclickiLog(elem) {
	var state= elem.getAttribute('state');
	if ( state=="0") {
		window.location.href= "../login/index.html";
	}
	else if ( state=="1") {
		new Ajax.Request(_url("signu/s"), { method:'post',
			parameters:"&_cmd=_logout&_user="+elem.getAttribute('user'),
	    	onSuccess: processLogout,
    		onFailure: function(){ alert(DEFAULT_ERROR_MESSAGE) }
	  	});
	}
	return false;
}

function displayError(r) {
	var xml= r.responseXML;
	var e= xml.getElementsByTagName("error");
	if ( e&&e.length>0) {
		alert( e[0].childNodes[0].nodeValue );              
		return true;
	}
	return false;
}

var OBJECT_TO_EMBED_TEMPLATE= new Template('<embed type="application/x-shockwave-flash" src="#{movie}" #{width} #{height} flashvars="#{flashvars}" ></embed>');
function toEmbed(osource ) {
	var name=null;
	var value=null;
	var o={};
	var collectValue= false;
	var i=0
	$w(osource).each( function( elem, index ) {
		if (elem.search(/<object/i)==0 ) {
			return;
		}
		i= elem.search(/><param/i);
		if( i>0 ) {
			elem= elem.substring( 0, i );
		}
		else if (i==0) {
			return;
		}
		i= elem.search(/><\/object/i);
		if ( i>0 ) {
			elem= elem.substring( 0, i );
		}
		else if (i==0) {
			return;
		}
		if (elem.search(/width=/i)==0 ) {
			o.width= elem;
		}
		else if (elem.search(/height=/i)==0) {
			o.height= elem;
		}
		else if ( elem.search(/name=/i)==0 ) {
			if ( name!=null ) {
				o[name]= value;
				name= null;value=null;
			}
			name= elem.substring(6, elem.length-1).toLowerCase();
			collectValue= false;
		}
		else if (elem.search(/value=/i)==0) {
			value= elem.substring(7, elem.length-1);
			collectValue= true;
		}
		else if ( collectValue ) {
			value+= ' '+elem;
		}
	});
	if ( name!=null) {
		o[name]=value;
	}
	return OBJECT_TO_EMBED_TEMPLATE.evaluate( o );
}
function evalJSON(r) {
	data= r.evalJSON();
	if ( data.error ) {
  		alert(data.error);
  		return null;
	}
	return data;
}
function disableContextMenu() 
{
	$(document.body).observe('contextmenu', function(ev) { ev.stop();});
	//$(document.body).observe('selectstart', function(ev) { ev.stop();});
	$(document.body).observe('dragstart', function(ev) { ev.stop();});
}
function replaceWidthAndHeight(text, w, h) {
	return text.replace(/width=('\s*\d+'|"\s*\d+"|\s*\d+)/gi,'width='+w)
		.replace(/height=('\s*\d+'|"\s*\d+"|\s*\d+)/gi,'height='+h)
			.replace(/displaywidth=('\s*\d+'|"\s*\d+"|\s*\d+)/gi,'displaywidth='+w )
				.replace(/displayheight=('\s*\d+'|"\s*\d+"|\s*\d+)/gi,'displayheight='+h);
}
function navigateToFB()
{
	window.open('http://www.facebook.com','_blank' );
}
function linkFB(ev)
{
	if ( ev) ev.stop();
	if ( getCookie('logFB')) navigateToFB();
	else  fb_call(fbGetUserInfoLink);
}
function fbGetUserInfoLink()
{
	FB.Connect.requireSession(function(exception) 
   	{
		FB_RequireFeatures(["Api"], function() {
      		var api= FB.Facebook.apiClient;
			fb.uid= api.get_session().uid;
			api.users_getInfo( uid, 'last_name,first_name,pic_big,pic_square', function( result, exception)	
			{
				fb.fb_uid= uid;
				fb.picture= result[0].pic_square;
				if (!fb.picture) fb.picture= 'http://www.facebook.com/images/wizard/nuxwizard_profile_picture.gif';	
				fb.name= result[0].first_name+' '+result[0].last_name; 
				_ajaxj('_req=_fb_link&_fb_uid='+fb.uid, process_nzLink);
			});
		});
	});
	return;
}
function process_nzLink(s)
{
	var data= s.evalJSON();
	if ( data.error)
	{
		alert( data.error );
		return;
	}
	if ( data.fb_uid )
	{
		sysinfo.fb_uid= fb.uid;
		setCookie('logFB', Object.toJSON( {uid:data.fb_uid, picture:fb.picture}));
		
		$('link_box').innerHTML= '';
		
		$('login').writeAttribute( 'title', 'Log out from netIDz and Facebook');
		$('fb_icon').writeAttribute('title', 'Go to your Facebook page');
		$('login_box').setStyle({'marginLeft':'257px'});
		alert( 'You Facebook account has been linked to your netIDz account'); 
	}
}
function onclickFBLogout(ev) 
{
	deleteCookie('logFB');
	fb_call(fbLogout);
}
function fbLogout()
{
	FB.Connect.logoutAndRedirect(location.href);
}
function processLogout(xml) {
	if ( !ajaxError(xml)) 
	{
		deleteCookie('url');
		deleteCookie('logUser');
		if ( getCookie('logFB'))
		{
			onclickFBLogout();
		}
		else location.reload( true );
	}
}
/*runs a fb call. 
 *it ensures that fb connect is initialized 
 *and then it runs the func specified in callback
 */
function fb_call( callback )
{
	fb_init();
	FB.ensureInit( function() {callback();});
}

// fb login
function onclickFBLogin(ev) 
{
	ev.stop(ev);
	fb_call( fbLogin );
}

/*ensures that a user is logged in fb and
 *it gets a session
 */
function fbLogin()
{
	FB.Connect.requireSession(function(exception)  	{
		FB_RequireFeatures(["Api"], function() 	
		{
			var api = FB.Facebook.apiClient;
    		var uid= api.get_session().uid;
			api.users_getInfo( uid, 'last_name,first_name,pic_big,pic_square', function( result, exception)	
			{
				fb.fb_uid= uid;
				fb.picture= result[0].pic_square;
				if (!fb.picture) fb.picture= 'http://www.facebook.com/images/wizard/nuxwizard_profile_picture.gif';	
				fb.name= result[0].first_name+' '+result[0].last_name; 
				_Ajax.call({_req:'_fc_login',_fb_uid:uid}, process_fbLogin);
			});
		});
	});
	return;
}
/*gets the response from fb initiated login
 *if the fb user is not linked it initiates a netidz login/signup
 *otherwise reload the page, the fb user has a netidz account
 */
function process_fbLogin(s)
{ 
	var data= s.evalJSON();
	if ( data.error)
	{
		if ( data.error=='fb_notlinked') 
		{
			if ( $('mini_login_box').getStyle('display')=='block')
			{
				$('mini-nz-login-tiltle').hide();
				$('mini_login').setStyle({width:'410px', height:'395px', overflow:'hidden', background:'url(../../images/login/login_background2.png)'});
				$('mini-nz-login').hide();
				$('mini_wire_fb').show();
				//new ImageLoader('mini_fb_picture', {src:fb.picture});
				//new ImageLoader('mini_fb_picture_1', {src:fb.picture});
				$('mini_fb_picture').writeAttribute('src', fb.picture);
				$('mini_fb_picture_1').writeAttribute('src', fb.picture);		
				$('fb-user-name').innerHTML= fb.name;
				$('fb-link-user-name').innerHTML= fb.name;	
			}
			else
			{
				showMiniLoginExtended();
			}
		}
		else alert( data.error );
		return;
	}
	//set various cookies	
	var logUser= data.user;
	setCookie('logUser', logUser );
	
	if ( data.fb_uid )
	{
		setCookie('logFB', Object.toJSON( {uid:data.fb_uid, picture:fb.picture}));
	}
	
	/*execute the callback if it was specified
	 *else reload the page
	 */
	if ( loginRequest.callback) 
	{
		loginRequest.callback();
		loginRequest.callback= null;
	}
	else  location.reload(true);
}

function fb_init() 
{
	if (!fb.init)
	{
		fb.init= true;
		FB.init('90f4e7fa36e3e01b9373022317fd2579', '../../xd_receiver.htm', {doNotUseCachedConnectState: true});
	}
}
function getFBUser()
{
	var c= getCookie('logFB');
	if ( c ) return c.evalJSON();
	return null;
}
function keypressMiniLogin(ev) 
{
	if ( ev.keyCode==Event.KEY_RETURN) 
	{
		miniLogin();
		ev.stop();
	}
}	
function showMiniLogin(options) 
{
	var w= $('mini_login_box').getWidth();
	var viewportWidth= document.viewport.getWidth();
	$('mini_login_box').setStyle({display:'block', left:Math.ceil((viewportWidth-w)/2)+'px'});
	$('fade').setStyle({display:'block'});
	$('lusername').focus();
	loginRequest.callback= options?options.callback:null;
}
function showMiniLoginExtended() 
{
	$('mini-nz-login-tiltle').hide();
	
	var w= $('mini_login_box').getWidth();
	var viewportWidth= document.viewport.getWidth();
	$('mini_login_box').setStyle({display:'block', left:Math.ceil((viewportWidth-w)/2)+'px', top:'15px'});
	$('mini_login').setStyle({width:'410px', height:'395px', overflow:'hidden', background:'url(../../images/login/login_background2.png)'});
	$('mini-nz-login').hide();
	$('mini_wire_fb').show();
	$('fade').setStyle({display:'block'});
	//new ImageLoader('mini_fb_picture', {src:fb.picture});
	//new ImageLoader('mini_fb_picture_1', {src:fb.picture});	
	$('mini_fb_picture').writeAttribute('src', fb.picture);
	$('mini_fb_picture_1').writeAttribute('src', fb.picture);
	$('fb-user-name').innerHTML= fb.name;
	$('fb-link-user-name').innerHTML= fb.name;	
}
function miniLoginClose() {
	$('mini_login_box').setStyle({display:'none'});
	$('fade').setStyle({display:'none'});
	return false;
}
//process netidz login mini form
function miniLogin(ev) 
{
	ev.stop();
	
	var elem= $('lusername');
	var username= elem.value;
	if ( !username && username.strip()=='') 
	{
		alert('You have to enter username.');
		elem.focus();
		return false;
	}
	elem= $('lpassword');
	var password= elem.value;
	if ( !password && password.strip()=="") {
		alert('You have to enter password.');
		elem.focus();
		return false;
	}
	var p= {_req:'_nz_login',_user:username,_password:password};
	if ( fb.fb_uid ) p._fb_uid= fb.fb_uid;
	_Ajax.call( p, process_nzMiniLogin);
}
/*process netidz login/ajax call
 *display if error
 *otherwise set cookies, reload the page
 */ 
function process_nzMiniLogin(s)
{
	var data= s.evalJSON();
	if ( data.error)
	{
		alert( data.error );
		return;
	}
	//set various cookies
	var logUser= data.user;
	setCookie('logUser', logUser );
	
	var logUser= data.user;
	setCookie('logUser', logUser );
	
	if ( data.fb_uid )
	{
		setCookie('logFB', Object.toJSON( {uid:data.fb_uid, picture:fb.picture}));
	}
	/*execute the callback if it was specified
	 *else reload the page*/
	if ( loginRequest.callback) 
	{
		loginRequest.callback();
		loginRequest.callback= null;
	}
	else location.reload( true );
}
//added for fb login radio otption...
function miniContinue(ev) { 
	ev.stop();
	var option = Form.getInputs('fb-option-login','radio','option').find(function(radio) { return radio.checked; }).value;
	if (option == 'mini_nz_login' )
	{	
		window.location.href=_url('signup.jsp?continue_with=fb');
	}	
	else
	{	
		$('mini_login').setStyle({width:'410px', height:'250px',  overflow:'hidden', background:'url(../../images/login/content_bg_left.png)'});
		$('mini-nz-login').show();
		$('mini-fb-login-tiltle').show();
		$('mini_wire_fb').hide();
		$('mini-nz-login-tiltle').hide();	
		$('lusername').focus();
	}	
}
var ImageLoader= Class.create(
{
	initialize: function( elem, options )
	{
		this.elem= $(elem);
		this.center= options.center? options.center:false;
		
		var p= $(this.elem.parentNode);
   		this.size= p.getDimensions();
   		
   		var w= p.getStyle('borderLeftWidth');
   		if ( w ) this.size.width-= parseInt(w, 10 );
   		w= p.getStyle('borderRightWidth');
   		if ( w ) this.size.width-= parseInt(w, 10 );
   		
   		var h= p.getStyle('borderTopWidth');
   		if ( h ) this.size.height-= parseInt(h, 10 );
   		h= p.getStyle('borderBottomWidth');
   		if ( h ) this.size.height-= parseInt(h, 10 );
   		
   		this.image= new Image();
 		this.image.onload= this.onload.bind(this);
   		this.image.src= options.src;
   		
	},
	onload:function()
	{
		var w,h;
		if ( this.image.width==0||this.image.height==0) return;
		if ( this.image.width>this.image.height ) 
		{
			if ( this.image.width>this.size.width) w= this.size.width;
			else w= this.image.width;
			h= parseInt(w*this.image.height/this.image.width);
		}
		else 
		{
			if ( this.image.height>this.size.height) h= size.height;
			else this.image= nimg.height;
			
			w= parseInt(h*this.image.width/this.image.height);
		}
		var left= Math.max(this.center? (this.size.width-w)/2:0, 0);
		var top= Math.max( this.center? (this.size.height-h)/2:0, 0);
		
		this.elem.setStyle({'paddingLeft':left+'px', 'paddingTop':top+'px'});
		this.elem.setStyle({'width':w+'px', 'height':h+'px'});
		this.elem.writeAttribute('src', this.image.src);
	} 
});


var ui= new Object();
ui.MsgBox= function(text, buttons, type, funcShow, funcOk, funcCancel, center ) {
	this.text= text;
	this.buttons= buttons.toLowerCase();
	this.type= type;
	this.funcShow= funcShow;
	this.funcOk= funcOk;
	this.funcCancel= funcCancel;
	this.center= center ? center:false;
	this.display();
}
ui.MsgBox.prototype= {
	display: function() 
	{
		if ( $('msg_dim'))
		{ 
			$('msg_dim').setStyle({display:'block'});
		}
		else
		{
			var msgDim= new Element('div', {id:'msg_dim'});
			msgDim.setStyle({display:'block', position:'fixed',top:'0px',	left:'0px',	bottom:'0px', right:'0px',
				'backgroundColor':'#323232',opacity:'.60',filter: 'alpha(opacity=60)',	'zIndex':'10098'
			});
			document.body.appendChild( msgDim);
		}
		var div= $("msg");
		if ( div!=null ) div.remove();
		
		div= new Element('div', {'class':'msg','id':'msg'});
		var msgDiv= new Element('div', {'class':'msgText'});
		
		var img;
		if ( this.type=='error')
		{
			img= new Element('img', {src:'../images/sb/knob_cancel.png', align:'left'});
		}
		else 
		{
			img= new Element('img', {src:'../images/sb/knob_attention.png', align:'left'});
		}
		msgDiv.appendChild( img );
		
		var dv= new Element('div', {} );
		dv.setStyle({float:'left', 'paddingTop':'8px', 'paddingLeft':'7px'});
		dv.innerHTML= this.text; 
		
		msgDiv.appendChild( dv );
		
		div.appendChild( msgDiv );         

		var btDiv= new Element('div', { 'class':'msgButtons'});
		var bt;
		if ( this.buttons=="yesno") 
		{
			bt= new Element('input', {'type':'button', 'class':'msgButton', id:'msgok', value:'Yes'});
			Event.observe( bt, 'click', this.onclickMsgOk); 
			btDiv.appendChild( bt );
			
			bt= new Element('input', {'type':'button', 'class':'msgButton', id:'msgcancel', value:'No'});
			Event.observe( bt, 'click', this.onclickMsgCancel); 
			btDiv.appendChild( bt );
		}
		else if  ( this.buttons=="ok") 
		{
			bt= new Element('input', {'type':'button', 'class':'msgButton', id:'msgok', value:'OK'});
			Event.observe( bt, 'click', this.onclickMsgOk); 
			btDiv.appendChild( bt );
		}
		else if  ( params.buttons=="deletecancel")
		{ 
			bt= new Element('input', {'type':'button', 'class':'msgButton', id:'msgok', value:'Delete'});
			Event.observe( bt, 'click', this.onclickMsgOk);
			btDiv.appendChild( bt );
			
			btDiv.appendChild( document.createTextNode('  '));
			
			bt= new Element('input', {'type':'button', 'class':'msgButton', id:'msgcancel', value:'Cancel'});
			Event.observe( bt, 'click', this.onclickMsgCancel);
			btDiv.appendChild( bt );
		}
		else 
		{
			bt= new Element('input', {'type':'button', 'class':'msgButton', id:'msgok', value:'OK'});
			Event.observe( bt, 'click', this.onclickMsgOk); 
			btDiv.appendChild( bt );
			
			bt= new Element('input', {'type':'button', 'class':'msgButton', id:'msgcancel', value:'Cancel'});
			Event.observe( bt, 'click', this.onclickMsgCancel); 
			btDiv.appendChild( bt );
		}
		div.appendChild( btDiv );
		document.body.appendChild(div);
		
		if ( this.center )
		{
			var d= document.viewport.getDimensions();
			$(div).setStyle( { top: ((d.height-$(div).getHeight())/2).toFixed(0)+'px',
				left: ((d.width-$(div).getWidth())/2).toFixed(0)+'px'});
		}
		else
		{
			$(div).setStyle( {left:'2px', top:'2px'});
		}
		$(div).setStyle({display:'block'});
		div.model= this;
		if ( this.funcShow ) this.funcShow(true);
		if ($('msgcancel')) $('msgcancel').focus()
		else if ( $('msgok')) $('msgok').focus();
	},
	onclickMsgOk: function() 
	{
		var msg= $("msg");
		
		var model= msg.model;
		msg.model= null;
		
		if ( model.funcShow ) {
			model.funcShow(false);
		}
		if(  model.funcOk ) {
			model.funcOk();
		}
		msg.parentNode.removeChild(msg);
		if ( $('msg_dim')) $('msg_dim').hide();
	},
	onclickMsgCancel: function() {
		var msg= $("msg");
		var model= msg.model;
		msg.model= null;
		
		if ( model.funcShow ) {
			model.funcShow(false);
		}
		if ( model.funcCancel ) {
			model.funcCancel();
		}
		msg.parentNode.removeChild(msg);
		if ( $('msg_dim')) $('msg_dim').hide();
	}
}	

//ajax functionality
var _Ajax= Class.create({});
_Ajax.DEFAULT_ERROR_MESSAGE='Could not connect to the server ...';
_Ajax.call= function(params, funcSuccess) 
{
	new Ajax.Request('http://www.netidz.com/netidz.it', {  method:'post', parameters: params,
    	onSuccess: function(r) { funcSuccess(r.responseText, params);},
    	onFailure: function(){ alert( _Ajax.DEFAULT_ERROR_MESSAGE) }
  	});
};
_Ajax.calls= function(server, params, funcSuccess) 
{
	new Ajax.Request( server, {  method:'post', parameters: params,
    	onSuccess: function(r) { funcSuccess(r.responseText,params);},
    	onFailure: function(){ alert( _Ajax.DEFAULT_ERROR_MESSAGE); }
  	});
};
