﻿function read_querystring()	{
	var a_out = new Object();
	var s_loc = String(location.href);
	if(s_loc.indexOf('?')>0)
		{
		var p;
		var s_query = s_loc.substr(s_loc.indexOf('?')+1);
		var a_query = s_query ? s_query.split('&') : new Array();

		for(var i=0; i<a_query.length; i++)
		{
		    p = a_query[i].split('=');
		    a_out[p[0]] = p[1].replace(/\+/g, ' ');
		}
	}
	return a_out;
}

var query_vars = read_querystring();

function URLDecode(aText)
{
    var HEXCHARS = "0123456789ABCDEFabcdef"; 
    var encoded = aText;
    var plaintext = "";
    var i = 0;
    while (i < encoded.length) {
	    var ch = encoded.charAt(i);
	    if (ch == "+") {
		    plaintext += " ";
		    i++;
	    } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		plaintext += ch;
		i++;
		}
	} // while
	return plaintext;
}

var baseURL = "http://72.51.42.91/myim/";
function ShowIMError(){
    if(document.getElementById("BaseURL")){
        baseURL = document.getElementById("BaseURL").value;
    }
	if (query_vars['err']!=undefined){
		ShowErrorMessage(URLDecode(query_vars["err"]));
	}
}

function ShowErrorMessage(aError) {
	/*if(document.all){
		document.getElementById("errorDiv").innerText=aError;
	}else{
		document.getElementById("errorDiv").textContent=aError;
	}
	document.getElementById("pngDiv").style.display = "";*/
	alert(aError);
}

function LoginRegisteredClick() {
    var userNameRegistered = document.getElementById("txtUsernameRegistered").value;
	var userPassRegistered = document.getElementById("txtPasswordRegistered").value;
	if(query_vars['bp']!=undefined){
	    document.getElementById("BackgroundPage").value = URLFilter(query_vars['bp']);
	}
	
	if(!checkValidChars(userNameRegistered)){
		ShowErrorMessage("Invalid characters in username");
		return;
	}
	if(!checkValidCharsPassword(userPassRegistered)){
		ShowErrorMessage("Invalid characters in password");
		return;
	}
	//****************************************************************
	
	document.getElementById("LoginType").value="LoginRegistered";
	if((userNameRegistered!='')&&(userPassRegistered!=''))
	{
		document.getElementById("Form1").submit();
	}
	else
	{
		ShowErrorMessage('Username and/or Password can not be blank');
	}
}		

function isMSNDataOK() {
    var usernameMSN = document.getElementById("txtUsernameMSN").value;
    var passwordMSN = document.getElementById("txtPasswordMSN").value;
    
	if (((usernameMSN=='') && (passwordMSN=='')) || ((usernameMSN!='') && (passwordMSN!=''))) {
		
		var userEmail = usernameMSN;
		if(userEmail != ""){
			if (!ValidMail(userEmail)){
				ShowErrorMessage('MSN Username is not valid');
				return false;
			}else{
				return true;
			}
		}else{
			return true;
		}
	}			
	else {
		ShowErrorMessage('MSN Account data is not complete')
		return false
	}
}

function isAOLDataOK() {
    var usernameAOL = document.getElementById("txtUsernameAOL").value;
    var passwordAOL = document.getElementById("txtPasswordAOL").value;
	if (((usernameAOL=='') && (passwordAOL=='')) ||	((usernameAOL!='') && (passwordAOL!=''))) {
		return true
	}			
	else {
		ShowErrorMessage('AOL/ICQ Account data is not complete')
		return false
	}			
}

function isYAHOODataOK() {
    var usernameYHO = document.getElementById("txtUsernameYAHOO").value;
    var passwordYHO = document.getElementById("txtPasswordYAHOO").value;
	if (((usernameYHO=='') && (passwordYHO=='')) ||	((usernameYHO!='') && (passwordYHO!=''))) {
		return true
	}	
	else {
		ShowErrorMessage('YAHOO Account data is not complete')
		return false
	}					
}
function isJABDataOK() {
    var usernameJAB = document.getElementById("txtUsernameJAB").value;
    var passwordJAB = document.getElementById("txtPasswordJAB").value;
	if (((usernameJAB=='') && (passwordJAB=='')) ||	((usernameJAB!='') && (passwordJAB!=''))) {
		var userEmail = usernameJAB;
		if(userEmail != ""){
			if (!ValidMail(userEmail)){
				document.getElementById("txtUsernameJAB").value = usernameJAB + "@gmail.com";
				//ShowErrorMessage('GTalk Username is not valid');
				//return false;
				return true;
			}else{
				return true;
			}
		}else{
			return true;
		}
	}	
	else {
		ShowErrorMessage('GTalk Account data is not complete');
		return false
	}					
}
function isITDataOK() {
	var usernameIT = document.getElementById("txtUsernameIT").value;
	var passwordIT = document.getElementById("txtPasswordIT").value;
	var passwordAgaintIT = document.getElementById("txtRetypePasswordIT").value;
	var emailIT = document.getElementById("txtEmail").value;
	
	if ((usernameIT=='') &&	(passwordIT=='') &&	(passwordAgaintIT=='') && (emailIT=='')) {
		return true;
	}				
	else {
		if ((usernameIT!='') &&	(passwordIT!='') &&	(passwordAgaintIT.value!='') &&	(emailIT!='')) {
			if (passwordIT==passwordAgaintIT) {
				if(ValidMail(emailIT))
					return true;
				else{
					ShowErrorMessage('Invalid email address');
					return false;
				}
			}
			else {
				ShowErrorMessage('Instan-t Passwords do not match');
				return false;
			}					
		}
		else {
			ShowErrorMessage('Instan-t Account data is not complete');
			return false;
		}
	}
}
function checkValidChars(aText){
	var plaintext = aText;
	var isValid = true;
	for (var i = 0; i < plaintext.length; i++ ) {
		var code = plaintext.charCodeAt(i);
		if ((isNaN(plaintext.charAt(i))&&!(code >= 65 && code <=90)&&!(code >= 97 && code <= 122))||(code == 32)) {
			isValid = false;
			return isValid;
		}
	}
	return isValid;
};

function checkValidCharsPassword(aText){
	var plaintext = aText;
	var isValid = true;
	for (var i = 0; i < plaintext.length; i++ ) {
		var code = plaintext.charCodeAt(i);
		//if (!(code > 32 && code <=126)) {
		if (code == 32){
			isValid = false;
			return isValid;
		}
	}
	return isValid;
}


function ValidMail(email)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)) return true;
	else return false;
}

function URLFilter(url){
    if(url.toLowerCase().indexOf("http://")==-1){
        url = "http://" + url;
    }
    return url;
}

function LoginRegisteredClick() {
    document.getElementById("Form1").target = "";
	document.getElementById("Form1").action = baseURL + "start.aspx";
    var userNameRegistered = document.getElementById("txtUsernameRegistered").value;
	var userPassRegistered = document.getElementById("txtPasswordRegistered").value;
	if(query_vars['bp']!=undefined){
	    document.getElementById("BackgroundPage").value = URLFilter(query_vars['bp']);
	}
	
	if(!checkValidChars(userNameRegistered)){
		ShowErrorMessage("Invalid characters in username");
		return;
	}
	if(!checkValidCharsPassword(userPassRegistered)){
		ShowErrorMessage("Invalid characters in password");
		return;
	}
	//****************************************************************
	
	document.getElementById("LoginType").value="LoginRegistered";
	if((userNameRegistered!='')&&(userPassRegistered!=''))
	{
		document.getElementById("Form1").submit();
	}
	else
	{
		ShowErrorMessage('Username and/or Password can not be blank');
	}
}	

function LoginNotRegisteredClick() {
    document.getElementById("Form1").target = "";
	document.getElementById("Form1").action = baseURL + "start.aspx";
    var usernameIT = document.getElementById("txtUsernameIT").value;
    var passwordIT = document.getElementById("txtPasswordIT").value;
    if(query_vars['bp']!=undefined){
	    document.getElementById("BackgroundPage").value = URLFilter(query_vars['bp']);
	}
	
	if(!checkValidChars(usernameIT)){
		ShowErrorMessage("Invalid characters in username");
		return;
	}
	if(!checkValidCharsPassword(passwordIT)){
		ShowErrorMessage("Invalid characters in password");
		return;
	}
	if((usernameIT != "")&&((usernameIT == passwordIT) || (passwordIT.length < 3))){
		ShowErrorMessage("The password can't be equal to the username and must have 3 or more characters");
		return;
	}
	document.getElementById("LoginType").value="LoginNotRegistered"
	var usernameMSN = document.getElementById("txtUsernameMSN").value;
	var passwordMSN = document.getElementById("txtPasswordMSN").value;
	var usernameAOL = document.getElementById("txtUsernameAOL").value;
	var passwordAOL = document.getElementById("txtPasswordAOL").value;
	var usernameYHO = document.getElementById("txtUsernameYAHOO").value
	var passwordYHO = document.getElementById("txtPasswordYAHOO").value;
	var usernameJAB = document.getElementById("txtUsernameJAB").value
	var passwordJAB = document.getElementById("txtPasswordJAB").value;
	if ((usernameMSN=='') && (passwordMSN=='') && (usernameAOL=='') && (passwordAOL=='') && (usernameYHO=='') && (passwordYHO=='') && (usernameJAB=='') && (passwordJAB=='') && (usernameIT=='') && (passwordIT==''))	{
		ShowErrorMessage('At least one account should be configured')
		return false				
	}
	else {
		if ((isMSNDataOK())&&(isAOLDataOK())&&(isYAHOODataOK())&&(isITDataOK())&&(isJABDataOK())) {
			document.getElementById("Form1").submit()
		}
	}
}
function forgotPassword(){
    var username = document.getElementById("txtUsernameRegistered").value;
    if(!checkValidChars(username)){
	    ShowErrorMessage("Invalid characters in username");
	    return;
    }
    if(username == ""){
        ShowErrorMessage('Username and/or Password can not be blank');
        return;
    }
    if(query_vars['sk']!=undefined){
	    document.getElementById("SDKKey").value=query_vars['sk'].split("").reverse().join("");
	    var actualLogoffPage = document.getElementById("LogoffPage").value;
	    document.getElementById("LogoffPage").value = actualLogoffPage + "?sk=" + query_vars['sk'];
    }
    if(window.confirm("This action will reset your password and send it to the email address you provided during registration. Are you sure you want to proceed?")){
        document.getElementById("Form1").target = "forgotPasswordIframe";
        document.getElementById("Form1").action = baseURL + "forgotpassword.aspx";
        document.getElementById("Form1").submit();
    }
}

function showDiv(){
    document.getElementById("Image3").style.display = "none";
    document.getElementById("newUserButton").style.display = "none";
    document.getElementById("cancelButton").style.display = "";
    document.getElementById("divRegister").style.display = "";
	document.getElementById("divTexto").style.display = "none";
}
function hideDiv(){
    document.getElementById("divRegister").style.display = "none";
    document.getElementById("cancelButton").style.display = "none";
    document.getElementById("Image3").style.display = "";
    document.getElementById("newUserButton").style.display = "";
	document.getElementById("divTexto").style.display = "";
}
