function selectRow(row) {
	row.style.backgroundColor = "yellow";
}

function deselectRow(row) {
	row.style.backgroundColor = "white";
}

function copyLogin (login, domain) {
//	document.getElementById('infoDiv').innerHTML = 'copyLogin : ' + login + ', ' + domain;
	document.getElementById('login').value = login;
/*
	var domainSelect = document.getElementById('domain');
	var domainOptions = domainSelect.options;
	for(var i = 0; i < domainOptions.length; i++) {
		if (domainOptions[i].value && domainOptions[i].value == domain) {
			domainSelect.selectedIndex = i;
		}
	}
*/	
}

var loginSuggestXmlHttp = false;
var loginSuggestAjaxMutex = true;
var loginSuggestDivId = '';


try {
    loginSuggestXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e1) {
    try {
        loginSuggestXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e2) {
        loginSuggestXmlHttp = false;
    }
}

if (!loginSuggestXmlHttp && typeof XMLHttpRequest != 'undefined') {
    loginSuggestXmlHttp = new XMLHttpRequest();
}


function prepareText(text) {
	return text;
}

function loginSuggestRead(action, divId) {
    if (!loginSuggestAjaxMutex) {
        return;
    }
    loginSuggestAjaxMutex = false;
	
    var params = '';
    
    var loginField = document.getElementById('login');
    var login = encodeURI(prepareText(loginField.value));
    
    var domainField = document.getElementById('domain');
    var domain= encodeURI(prepareText(domainField.options[domainField.selectedIndex].value));    
    
    params += '?' + 'login=' + login + '&' + 'domain=' + domain;
    
    loginSuggestDivId = divId;

    var url = action + params;
//    alert(url);
    //alert(divId);

    loginSuggestXmlHttp.open("POST", url, true);
    loginSuggestXmlHttp.onreadystatechange = loginSuggestUpdatePage;
    loginSuggestXmlHttp.send(params);
}


function loginSuggestUpdatePage() {
    //alert('loginSuggestXmlHttp: '+loginSuggestXmlHttp);
    //alert('loginSuggestXmlHttp.readyState: '+loginSuggestXmlHttp.readyState);
    if (loginSuggestXmlHttp.readyState != 4) {
        return;
    }

    var response = loginSuggestXmlHttp.responseText;
    //alert('response'+response);
    var div = document.getElementById(loginSuggestDivId);
    div.innerHTML = response;

    loginSuggestAjaxMutex = true;
}


function checkAvail() {
  try {
	var action = '/konto/register/loginSuggest.do';
	var divId = 'loginSuggest';
	var div = document.getElementById(divId);
    var loginField = document.getElementById('login');
    var login = loginField.value;
    
	LoginSuggest.suggestLoginsOnly(login, handleLoginSuggestions);		
  } catch (e) {
  	var message = 'suggestLogins(' + login + ') ' + e;
    for(var i in e) {
      message += '<br/>' + i + ': ' + e[i];
    }
    document.getElementById('infoDiv').innerHTML = message;
  }
}

function handleLoginSuggestions(data) {
  try {
  	var linkDiv = document.getElementById('availabilityCheckDiv');
  	if (linkDiv) {
  		linkDiv.style.display = 'none';
  	}
	var msg = data.label;
	var div = document.getElementById('loginSuggest');
	var content = '';
	if (data.loginSuggestions.length == 0) {
		if (data.available) {
			div.className = 'odp';
		}
		else {
			div.className = 'zaj';
		}
		content += '<h3><span>'+msg+'</span>';
		if (data.valid) {
			if (msg.length < 30 || data.available) {
		        content += ' <a href="#" class="submitSmall" onclick=\'hideCancel(true); return false\'><span>ok</span></a>';
			} else {
				content += '<div style="text-align: center;">';
		        content += '<a href="#" class="submitSmall" onclick=\'hideCancel(true); return false\'><span>ok</span></a>';
		       	content += '</div>';
	       	}
       	} else {
       		content += '<div style="text-align: center; margin-bottom: 10px;">';
        	content += '<a href="#" class="submitSmall" onclick=\'hideCancel(true); return false\'><span>ok</span></a> ';
			content += '</div>'; 
       	}
		content +='<div style="clear: both;"></div>';
		content += '</h3>';
		if (!data.valid) {
			var helpDiv = '<p>';
			helpDiv += 'Korzystaj tylko z liter od A do Z (bez polskich znaków), cyfr od 0 do 9 oraz kropki, myślnika lub podkreślenia. Nazwa powinna zawierać co najmniej dwa znaki, a jednym z nich powinna być litera. Nie może zaczynać się i kończyć kropką, myślnikiem lub podkreśleniem.';
			helpDiv += '</p>';
			content += helpDiv;
		}
	} else {
		div.className = 'zaj';
		content += msg; 
		var element;
		var message = '<p>';
		
		for(var i = 0; i < data.loginSuggestions.length; i++) {
			element = data.loginSuggestions[i];
			message += '<input type="radio" name="login_suggestion" id="login_suggestion_' + i + '" onclick="document.getElementById(\'selectedSuggestion\').value = \'' + element.login +'\'"/> ';
			message += '<label for="login_suggestion_' + i + '">';
			message += element.label;
			if (i == data.loginSuggestions.length -1) {
				message += '</label>';
			} else {
				message += '</label><br/>';
			}
		}
		message += '<input type="hidden" value="" id="selectedSuggestion"/>';
		message += '<div style="text-align: center; margin-bottom: 10px;">';
        message += '<a href="#" class="submitSmall" onclick=\'hideSelect(); return false\'><span>ok</span></a>';
        message += '<a href="#" class="submitSmall" onclick=\'hideCancel(true); return false;\'><span>anuluj</span></a>';
		message += '</div>';
		message += '<div style="clear: both;"></div>';

		content += message;
	}
	div.innerHTML = content;
	div.style.display = 'block';		
  } catch (e) {
  	var message = 'handleLoginSuggestions(' + data + ') ' + e;
    for(var i in e) {
      message += '<br/>' + i + ': ' + e[i];
    }
    document.getElementById('infoDiv').innerHTML = message;
  }
}


function hideCancel(selectInput) {
	document.getElementById('loginSuggest').style.display = 'none';
	if (selectInput == true) {
		document.getElementById('login').select();
	}
  	var linkDiv = document.getElementById('availabilityCheckDiv');
  	if (linkDiv) {
  		linkDiv.style.display = 'inline';
  	}	
}

function hideSelect() {
	var value = document.getElementById('selectedSuggestion').value;
	if (value != '') {
		copyLogin(value, '0');
	}
	hideCancel(true);
}

