var Password,Email;

function SignInUser(IsEmployer)
{
	if(!checkSignInForm(true))return;
	
	if(typeof(IsEmployer) != 'undefined')
		var IsRememberMe = false;
	else
		var IsRememberMe = $('input:checkbox[@id$="chkRememberMe"]').get(0).checked;
	
	$('#divLoad').show();
	
	var params = "action=SignInUser&Email=" + Email + "&Pass=" + escape(Password) + "&RememberMe=" + IsRememberMe;
	
	$.ajax({
		type: "POST",
		url:  "/User/SignIn/SignInActions.aspx",
		data: params,
		success: function(Res){
				$('#divLoad').hide();
				//IsEmployer : Come From Sign In From PreAddJob.aspx Page
				// 0: Wrong UserName/Password , 1: User ,2: Admin User,3: AdminDictionary User,4: Employer
				switch(Res)
				{
					case "0":		
								$('span[@id$="spnMsgSignIn"]').html("שם משתמש/סיסמא לא נכונים");
								break;
					case "1":	
								if(typeof(SignInIsEmployer)!= 'undefined')
									parent.location = "/Employer/JobAdd.aspx";
								else
									document.location.reload(true);	
									
								return false;
								break;
					case "2":	
								var d_reg =  location.href;
								if(d_reg.indexOf("localhost")>0  || d_reg.indexOf("qa.alljobs.co.il")>0)
									location.href = "/AdminHome.aspx";
								else
									location.href = "http://admin.alljobs.co.il/AdminHome.aspx";
								return false;
								break;

					case "3":	
								location.href = "/AdminDictionary.aspx";
								return false;
								break;
					case "4":	
								parent.location = "/Employer/JobsPanel/Default.aspx";
								return false;
								break;
				}
			}
		});
}

function SetAuthCookie()
{
	var expires = new Date();
	expires.setTime(expires.getTime() + (1000 * 60 * 60 * 24 * 30));
	setCookie(".ASPXAUTH", "1", "/", expires);
}

function SetEmailCookie()//4 month cookie
{ 
	var expires = new Date();
	expires.setTime(expires.getTime() + 120*(1000 * 60 * 60 * 24 * 30));
	setCookie("AllJobsUserEmail", Email, "/", expires);
}

function ForgotPassword()
{
	if(!checkSignInForm(false))return;
	
	var params = "action=ForgotPassword&Email=" + Email;
	
	$('#divLoad').show();
	//$('#divContent').block($('#domMessage'),{opacity:'0.5'}); 
	
	$.ajax({
		type: "POST",
		url:  "/User/SignIn/SignInActions.aspx",
		data: params,
		success: function(Res){
				$('#divLoad').hide();
				//$('#divContent').unblock();
				if(Res == "1")
					$('span[@id$="spnMsgSignIn"]').html("הסיסמא נשלחה לכתובת האי-מייל שלך");
				else
					$('span[@id$="spnMsgSignIn"]').html("אי-מייל לא נמצא במערכת");
				
			}
		});
}

function checkSignInForm(checkPass)
{
	 
	Email = trim($('input[@id$="txtEmailSignIn"]').val());
	
	//Empty Email Field
	if (Email == '')
	{
		$('span[@id$="spnMsgSignIn"]').html("אנא הכנס את כתובת האי-מייל שלך");
		return false;
	}
	
	//Email RegEx Validation
	//var MailExp = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ ;
	var MailExp = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	var isGoodMail = MailExp.test(Email) ;
	if(!isGoodMail)
		{
			$('span[@id$="spnMsgSignIn"]').html("כתובת אי-מייל לא תקינה");
			return false;
		}
		
	if(checkPass)
	{
		Password = $('input:password[@id$="txtPasswordSignIn"]').val();
		if(Password == '')
		{
			$('span[@id$="spnMsgSignIn"]').html("הכנס סיסמא");
			return false;
		}
	}
	return true;
}

function WriteSignIn(obj,flag)
{
	if (flag)
	{
		$('#' + obj.id).hide();
		$('#' + obj.id + 'In').show();
		$('#' + obj.id + 'In').select();
	}
	else
	{
		if($('#' + obj.id + 'In').val() == '')
			{
				$('#' + obj.id + 'In').hide();
				$('#' + obj.id).show();
			}
	}
}


//Enter Key Handler
function FireSignIn(event, target) 
{
	if ((event.keyCode == 13 || event.which == 13) && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == 'textarea'))) 
	{
		var defaultButton = $('input:button[@id$="'+ target +'"]');
		if (defaultButton && typeof(defaultButton.click) != 'undefined') 
		{
			defaultButton.click();
			event.cancelBubble = true;
			if (event.stopPropagation) event.stopPropagation();
			return false;
		}
	}
	return true;
}


/****************************************
 js for User/SignIn/Register.ascx control
*****************************************/

function ExistsUserState()
{
	//Hide New User State & Show Exists User State
	$('div[@id$="divExistUser"]').fadeIn("slow").css('display','block');	
	$('div[@id$="divNewUser"]').css('display','none').fadeOut("slow");
	//Indication That It's In Exists User State
	$('input:hidden[@id$="hdnExistsUserState"]').val('1');
	//clear msg span
	$('#spnRegisterMsg').html('');
	$('#spnRegisterMsg').css('color','red');
	
	//Hide Quick Agent
	$('div[@id$="divAgent"]').css('display','none');
}

function NewUserState()
{
	//Show New User State & Hide Exists User State
	$('div[@id$="divExistUser"]').css('display','none').fadeOut("slow");	
	$('div[@id$="divNewUser"]').fadeIn("slow").css('display','block');
	//Indication That It's In New User State
	$('input:hidden[@id$="hdnExistsUserState"]').val('0');
	//clear msg span
	$('#spnRegisterMsg').html('&nbsp;');
	$('#spnRegisterMsg').css('color','red');
	
	//Show Quick Agent
	$('div[@id$="divAgent"]').css('display','block');
}

function SendPasswordToUser()
{
	$('#spnRegisterMsg').html('');
	
	//Verify Mail Is Not Empty
	var Mail = $('input:text[@id$="txtMail"]').val();
	if(Mail == "")
	{
		$('#spnRegisterMsg').html("<img src='/images/Icons/Error.gif'> יש להגדיר מייל");
		return false;
	}
	
	//Verify Mail Is Valid
	var MailExp=/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ ;
	var isGoogMail=MailExp.test(Mail) ;
	if(!isGoogMail)
	{
		$('#spnRegisterMsg').html("<img src='/images/Icons/Error.gif'> מייל לא תיקני");
		return false;
	}	
	//Mail Is Valid >> Send Password
	//clear msg span
	$('#spnRegisterMsg').html('');
	
	$('#divLoadAjax').show();
	var Params = "Action=SendPass&el=" + Mail + "&JobID=-1";
	$.ajax({
		type: "GET",
		url: "/Search/SearchActions.aspx",
		data:Params,
		success: function(Res){
				if(Res == "1")
				{
					$('#spnRegisterMsg').html("<img src='/images/Icons/Success.gif'> הסיסמה נשלחה אליך למייל");
					$('#spnRegisterMsg').css('color','green');
				}
				else
				{
					$('#spnRegisterMsg').html("<img src='/images/Icons/Error.gif'> הסיסמה לא נשלחה אליך למייל");
					$('#spnRegisterMsg').css('color','red');
				}
				$('#divLoadAjax').hide();
			}
		});
		
}

//Agent Check
function CheckAgentForm()
{
	if($('div[@id$="divAgent"]').css('display') == "none")
		return true;
	
	$('span[@id$="spnSearchBoxMsg"]').html('');
	
	//Agent Check
	if (trim($('input:text[@id$="SearchBox"]').val()) == '')
	{
		$('span[@id$="spnSearchBoxMsg"]').html("<img src='/images/Icons/Error.gif'> יש לבחור מקצוע רצוי");
		return false;
	}
	
	if(!CheckCategoryFreetext())
	{
		$('span[@id$="spnSearchBoxMsg"]').html("<img src='/images/Icons/Error.gif'> יש לבחור תחום מתוך הרשימה בלבד");
		return false;
	}
	
	return true;
}

//Register Check
function CheckRegisterForm(MailCheckAjaxCall)
{
	CheckMailIsValid = true;
	var NewUser = 1;
	var strMail = "";
	
	//clear msg span
	$('#spnRegisterMsg').html('&nbsp;');
	$('#spnRegisterMsg').css('color','red');
	
	var NewMail = $('input:text[@id$="txtNewMail"]').val();
	
	//Register New User State
	if($('input:hidden[@id$="hdnExistsUserState"]').val() == "0")
	{
		//Verify Mail Is Not Empty
		if(NewMail == "")
		{
			$('#spnRegisterMsg').html("<img src='/images/Icons/Error.gif'> יש להגדיר מייל");
			CheckMailIsValid = false;
			return false;
		}
		
		//Verify Mail Is Valid
		var MailExp = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ ;
		var isGoogMail = MailExp.test(NewMail) ;
		if(!isGoogMail)
		{
			$('#spnRegisterMsg').html("<img src='/images/Icons/Error.gif'> מייל לא תיקני");
			CheckMailIsValid = false;
			return false;
		}
		
		//Mail Is Valid >> Check If Mail Exists Or New
		//clear msg span
		$('#spnRegisterMsg').html('&nbsp;');
		
		$('#divLoadAjax').show();
		var Params = "Action=CheckMail&el=" + NewMail + "&JobID=-1";
		$.ajax({
			type: "GET",
			url: "/Search/SearchActions.aspx",
			data:Params,
			async: false,
			success: function(Res){
					if(Res == "1")
					{
						//Mail Exists >> Show Login to Insert Password
						ExistsUserState();
						$('input:text[@id$="txtMail"]').val(NewMail);
						
						$('#spnMsgMail1').hide();
						$('#spnMsgMail2').show();
						
						CheckMailIsValid = false;
					}
				}
			});
		
		$('#divLoadAjax').hide();
		//Mail Not Exists >> New User
		NewUser = 1;
		//Set The 'hdnIsNewUser' To Know If New User Or Exists User
		$('input:hidden[@id$="hdnIsNewUser"]').val(NewUser);
		return CheckMailIsValid;
	}
	else //Exists User State
	{
		var Mail = $('input:text[@id$="txtMail"]').val();
		var Pass = $('input:password[@id$="txtPass"]').val();
		
		//Verify Mail Is Not Empty
		if(Mail == "")
		{
			$('#spnRegisterMsg').html("<img src='/images/Icons/Error.gif'> יש להגדיר מייל");
			CheckMailIsValid = false;
			return false;
		}
	
		//Verify Password Is Not Empty
		if(Pass == "")
		{
			$('#spnRegisterMsg').html("<img src='/images/Icons/Error.gif'> יש למלא סיסמה");
			CheckMailIsValid = false;
			return false;
		}
		
		//Verify Mail Is Valid
		var MailExp = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
		var isGoogMail=MailExp.test(Mail) ;
		if(!isGoogMail)
		{
			$('#spnRegisterMsg').html("<img src='/images/Icons/Error.gif'> מייל לא תיקני");
			CheckMailIsValid = false;
			return false;
		}
		
		//Mail Is Valid >> Check If Password Match The Email
		//clear msg span
		$('#spnRegisterMsg').html('&nbsp;');
	
		$('#divLoadAjax').show();
		
		if(typeof(MailCheckAjaxCall) == 'undefined')
			//Https Check mail 3 steps
			SignIn_IframeCall('CheckMail', Mail, Pass);
		else
		{
			//Ajax Check Mail
			var AjaxRes = -1;
			$('#divLoadAjax').show();
			var Params = "Action=CheckMail&el="+ Mail +"&JobID=-1&Pass=" + Pass;
			$.ajax({
				type: "GET",
				url: "/Search/SearchActions.aspx",
				data:Params,
				async:false,
				success: function(Res){
						if(Res == "3")
						{
							//Failed : Password & Email Does Not Match
							$('#spnRegisterMsg').html("<img src='/images/Icons/Error.gif'> סיסמה איננה תואמת את המייל");
							AjaxRes = 3;							
						}
					}
				});
		}	
		
		$('#divLoadAjax').hide();
		
		//Success: It's Exists User 
		NewUser = 0;
		//Set The 'hdnIsNewUser' To Know If New User Or Exists User
		$('input:hidden[@id$="hdnIsNewUser"]').val(NewUser);
		
		//Empty Pass so it wont send to server (security)
		$('input:password[@id$="txtPass"]').val('');

		if(typeof(MailCheckAjaxCall) == 'undefined')
			//Https Check mail 3 steps
			return false;
		else
			//Ajax Check Mail
			if(AjaxRes == 3)
				return false;
			else
				return true;
	}
}

function CheckCategoryFreetext()
{	
	var FreeText = trim($('input:text[@id$="SearchBox"]').val());
	var CatID = "";
	var isCatID = false;	 
	if(FreeText.length > 0)
	{
		for(i=0;i<CatNames.length;i++)	
			if(CatNames[i] == FreeText)
			{ 
					CatID = CatIDs[i];	
					isCatID = true;
			}		
	}

	//If There Is Category like the user search: Insert catID (position)
	//Else >> Insert Into FreeText (freetxt)
	if (isCatID)
		$('input:hidden[@id$="hdnCatID"]').val(CatID);
	else
		return false;//$('input:hidden[@id$="hdnFreeText"]').val(FreeText);
		
	return true;
}

//For blockUI
function HideTextMsg(obj,dir)
{
	obj.value="";
	obj.style.color= "#000";
	obj.style.direction = dir;
	
	obj.onkeydown = function(){};
}
 
 
function NewRegisterFromBlockUI(SupportType)
{
	
	// get selected details
	var email = ($('input:text[@id="txtBUIEmailIn"]').val()),
		freeText = trim($('input:text[@id="txtBUISearchBox"]').val());
	var	cRecievedEmail = "1",//($('input:checkbox[@id="chkBUIRecievedEmail"]').get(0).checked)?"1":"0",
		cLessonsEmail = ($('input:checkbox[@id="chkBUILessonsEmail"]').get(0).checked)?"1":"0",
		cAdvertiseEmail = ($('input:checkbox[@id="chkBUIAdvertiseEmail"]').get(0).checked)?"1":"0";		
	var CatId = RequestQueryString("position");
	var Region = RequestQueryString("region");
	var Type = RequestQueryString("type");
	var City = RequestQueryString("city");
	($('img[@id="imgBlockUIAjax"]').hide());
	var displayFreeText = ($('input:text[@id="txtBUISearchBox"]').css('display') != "none");
	
	// validations
	($('span[@id="spnERRBlockUIEmail"]').html(''));
	
	if(displayFreeText)
	{
		if(freeText == 'התפקיד שאתה מחפש')
			freeText = '';
			
		if(freeText == '')
		{	
			($('span[@id="spnERRBlockUIEmail"]').html('יש לבחור מקצוע רצוי'));
			return;
		}
		
		//--------convert to category-----------------------------//
		else // has some freeText
		{
				var isCatID = false; // indicate if the current free text is alljobs category
				for(i=0;i<CatNames.length;i++)	
					if(CatNames[i] == freeText)
					{ 
							CatId = CatIDs[i];
							isCatID = true;
							freeText = '';
					}
						
				if(!isCatID) // user do not select text from the list - cann't convert to category!!
				{
					($('span[@id="spnERRBlockUIEmail"]').html('יש לבחור תחום מתוך הרשימה בלבד'));
					return;
				}
		}
		//----------------------------------------------------------//
	}
	else
		freeText = '';
	
	if(email == '')
	{
		($('span[@id="spnERRBlockUIEmail"]').html('ציין כתובת אימייל'));
		return;
	}
	
	var MailExp = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	var isGoodMail = MailExp.test(email) ;
	if(!isGoodMail)
	{
		($('span[@id="spnERRBlockUIEmail"]').html('כתובת אימייל לא תיקנית'));
		return;
	}
		
	// Register new user
	var URL = "/User/SignIn/SignInActions.aspx";
	var Params = "action=RegisterNewUser&Email=" + email + "&cRecievedEmail="+cRecievedEmail+"&cLessonsEmail="+cLessonsEmail+"&cAdvertiseEmail="+cAdvertiseEmail+"&FreeText="+escape(freeText)+"&CatId="+CatId+"&Region="+Region+"&Type="+Type+"&City="+City + "&SupportType=" + SupportType;
	
	//alert(URL+"?"+Params);
	($('img[@id="imgBlockUIAjax"]').show());
	$.ajax({
	    type: "POST",
	    url: URL,
	    data: Params,
	    success: function (Res)
	    {
	        ($('img[@id="imgBlockUIAjax"]').hide());
	        if (Res == "1") // success
	        {
	            ReportGoogleGoal("/User/Register/RegisterGoogleGoal.aspx");
	            document.location.reload(); // load again - now user is populated
	        }
	        else if (Res == "2") // exists email
	            ($('span[@id="spnERRBlockUIEmail"]').html('אימייל זה קיים במערכת'));
	        else	//failure
	            ($.unblockUI());
	    },
	    error: function (e) { window.status = 'ERROR'; }
	});
}

 // TRIM
function trim(value) 
{	
	return LTrim(RTrim(value));	
}

function LTrim(str) { 
	for(var k = 0; k<str.length && isWhitespace(str.charAt(k)); k++);
	return str.substring(k, str.length);
}
function RTrim(str) {
	for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;
	return str.substring(0,j+1);
}

function isWhitespace(charToCheck) {
	var whitespaceChars = " \t\n\r\f";
	return (whitespaceChars.indexOf(charToCheck) != -1);
}


/** Used in /Employer/Default.aspx for /Employer/UsersCtrls/SignInPreAddJob.ascx control**/
function ShowEmailByCookie()
{
	if(!checkCookie(".ASPXAUTH"))
		setEmailInSignIn();
}

function setEmailInSignIn()
{
	var Email =  getCookie("AllJobsUserEmail");
	
	if(Email == "" || Email == null)
		return;
		
	$('#txtEmailSignIn').val(Email);
	$('#txtEmailSign').hide();
	$('#txtEmailSignIn').show();
	//$('#txtPasswordSign').focus();
}
/** Used in /Employer/Default.aspx for /Employer/UsersCtrls/SignInPreAddJob.ascx control**/



