﻿var sessionID;var bType;var lang;
function getElementsByClassName(oElm, strTagName, strClassName)
{	
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");var oElement;
	for(var i=0; i<arrElements.length; i++)
	{
		oElement = arrElements[i];      
		if(oRegExp.test(oElement.className))
		{arrReturnElements.push(oElement);}   
	}
	return (arrReturnElements);
}
function DoLoginBoxClick(Type , LanguageId1 , sessionID1 , e)
{	
	if(e.which || event.keyCode)
	{
		if(e.which == 13 || event.keyCode == 13)
		{
			switch(Type)
			{
				case '0':
					ValidateLogin(LanguageId1 , sessionID1 );
					return false;
					break;
				case '1':
					SendPassToEmail(LanguageId1);
					return false;
					break;
			}
		}
	}		
}
function ValidateLogin(LanguageId,sessionID1)
{	
    lang=LanguageId;
    sessionID = sessionID1;	
	ClearErrorCrtl1();
	var TxtEmail = getElementsByClassName(document,"input","txtEmail")[0];
	var TxtPass = getElementsByClassName(document,"input","txtEmail")[2];
	if(TxtEmail.value != "" && TxtPass.value != "")
	{
	    if(IsEmailValid(TxtEmail.value))
		{
			ClearErrorCrtl1();			
			AjaxPro.timeoutPeriod = 60*1000;
			AjaxWrapper.DoLogin(TxtEmail.value, TxtPass.value, LanguageId,GetMemberDetailsCallBack,null,null, null, LoginTimeout, null);
		}
		else
		{
		    //Invalid email
		    ShowErrorMsg(2033);
		}
	}
	else
	{
		if(TxtEmail.value == "")
		{
		    //Fill email		    
			ShowErrorMsg(2830);
		}
		else if(!IsEmailValid(TxtEmail.value))
		{
		    //Invalid email		    
			ShowErrorMsg(2033);
		}
		else if(TxtPass.value == "")
		{
		    //Fill pass
			ShowErrorMsg(2034);
		}
	}
}
function ShowErrorMsg(labelId)
{    
    document.getElementById('errorRow').style.display = 'block';
    document.getElementById('dummyRow').style.display = 'none';	
	getElementsByClassName(document,"span","errorMessage")[0].innerHTML = AjaxWrapper.GetLabel(labelId).value;
}
function GetMemberDetailsCallBack(ret)
{
	if(ret.value[0] == 1 )
	{
		if(bType)
		{
			createCookie("DtfLoginSessionId", sessionID, 1);
			createCookie("DtfLoginMemberId", ret.value[2], 1);		
			//Remember PassWord 
			var RememberPassWord  = getElementsByClassName(document,"span","remMe");   
			if(RememberPassWord[0].getElementsByTagName("input")[0].checked == true)
			{   
				var strEmail = getElementsByClassName(document,"input","txtEmail")[0].value;
				var strPassword = getElementsByClassName(document,"input","txtEmail")[2].value;

				createCookie("email", strEmail , 7);  
				createCookie("password", strPassword , 7);      
			}
			else
			{
				removeCookie("email");
				removeCookie("password");
			}
		}		
		//Show logged in
		getElementsByClassName(document,"tr","loggedinRow")[0].style.display = 'block';
		getElementsByClassName(document,"tr","loginRow")[0].style.display = 'none';
	    getElementsByClassName(document,"span","medBlackTxt")[1].innerHTML = ret.value[1];
	    location.href = ret.value[3];
		
	}
	//Wrong Password
	else if( ret.value[0] == -1 )
	{
		ShowErrorMsg(2035);
	}
	//If Member Inactive
	else if( ret.value[0] == 2 )
	{
		ShowErrorMsg(2014);
	}
	//If Email is not found in DB
	else
	{
		ShowErrorMsg(2349);
	}
}
function ClearErrorCrtl1()
{
    document.getElementById('errorRow').style.display = 'none';	
    document.getElementById('dummyRow').style.display = 'block';	
}
function IsEmailValid(EmailId)
{			
     var objRegex = new RegExp(/^.+@.+\..{2,4}$/);
     return objRegex.test(EmailId);
}
function LoginTimeout(ret){alert('Logged in');}
// Switch the password fields so the user can type his actual password
function PasswordControlSwap(OriginalId, FakeId, aForce)
{
	var original = document.getElementById(OriginalId); 
	var fake = document.getElementById(FakeId); 
	// force the switch
	if (aForce)
	{
		fake.style.display = "none";
		original.style.display = "block";
		original.focus();
	}

	// Did the user already type the password
	if (original.value != "")
	{
		return;
	}
	else
	{
		// Show/hide the real password field
		if (fake.style.display == "" || fake.style.display == "block")
		{
			fake.style.display = "none";
			original.style.display = "block";
			original.focus();
		}
		else
		{
			fake.style.display = "block";
			original.style.display = "none";
		}
	}
}
function PrepareText(objSender, strText)
{
	if(objSender.value == strText)
	{
		objSender.value = "";
	}
	else{
		if(objSender.value == "")
		{
			objSender.value = strText;
		}
		else
		{
			objSender.value = objSender.value;
		}
	}
}
function readCookie(name)
{
   var ca = document.cookie.split(';');
   var nameEQ = name + "=";
   for(var i=0; i < ca.length; i++) 
   {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1, c.length); //delete spaces
		if (c.indexOf(nameEQ) == 0) 
		{
			return c.substring(nameEQ.length, c.length);    
		}
   }
   return null;
}  
function removeCookie(name)
{   createCookie(name, "", -1); }	
function createCookie(name, value , days)
{
   if (days)
   {    var date = new Date();
   		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = ";expires="+date.toGMTString();
   }
   else 
	var expires = "";     
	
   document.cookie = name+"="+value+expires+"; path=/";
}
function LoadLogin(type)
{
	bType = type;
	var Containers1 = getElementsByClassName(document,"input","txtEmail");		
	if(bType)
	{
		var RememberPassWord  = getElementsByClassName(document,"span","remMe");        
		//Remember PassWord 
		if(readCookie("email") != null && readCookie("email") != "" && readCookie("password") != null && readCookie("password") != "" )
		{
			var Containers1 = getElementsByClassName(document,"input","txtEmail");   
			Containers1[0].value = readCookie("email");     
			Containers1[2].value = readCookie("password");  
			Containers1[2].style.display = "block";
			Containers1[1].style.display = "none";
			RememberPassWord[0].getElementsByTagName("input")[0].checked = true;
		}
	}
}
function LogOut()
{
    AjaxWrapper.LogOut(LOCallBack,null,null, null, LoginTimeout, null);
}
function LOCallBack(ret)
{
    if(ret != null && ret.value[0] == 1 )
	{
	    //Show login
	    getElementsByClassName(document,"tr","loggedinRow")[0].style.display = 'none';
		getElementsByClassName(document,"tr","loginRow")[0].style.display = 'block';	
		location.href = ret.value[1];		    
	}
}
function showFP()
{
    ClearErrorCrtl1();
    getElementsByClassName(document,"tr","loginRow")[0].style.display = 'none';
    document.getElementById("fpRow").style.display = 'block';	
    document.getElementById("fpMessage").style.display = 'none';
}
function showLogin()
{
    ClearErrorCrtl1();
    getElementsByClassName(document,"tr","loginRow")[0].style.display = 'block';
    document.getElementById("fpRow").style.display = 'none';
    document.getElementById("fpMessage").style.display = 'none';
}
function SendPassToEmail(languageId)
{
	ClearErrorCrtl1();
	var strEmail="";		
	if (getElementsByClassName(document,"input","txtFp")[0].value != "" )
	{
		strEmail = getElementsByClassName(document,"input","txtFp")[0].value;
		if(IsEmailValid(strEmail))
		{
			//If the entered Email id is correct					
			var ret = AjaxWrapper.SendPassword(strEmail, languageId);
			if( ret.value == 1 ) // password send
			{
			    document.getElementById("fpRow").style.display = 'none';
                document.getElementById("fpMessage").style.display = 'block';					
			}
			else if( ret.value == 2) // Error - Member withdrawn
			{			
				ShowErrorMsg(2033);
			}
			else if( ret.value == 3) // Error - Member Inactive
			{				
				ShowErrorMsg(2033);
			}			
			else if( ret.value == -2)// Error - Member not found
			{				
				ShowErrorMsg(2033);
			}
			else // Error - Wrong param
			{				
				ShowErrorMsg(2831);
			}
		}
		else
		{
			ShowErrorMsg(2033);
		}		
	}
	else
	{		
		ShowErrorMsg(2830);
	}	
}