function validateEmail(email)
{
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
    var splitted = email.match("^(.+)@(.+)$");
    
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

function checkFrmValue(obj,objType,isEmpty){
	if (!obj) return isEmpty?false:true;
	var strVal=obj.value;
	
	if (isEmpty && !strVal.length) return false;

	switch(objType) {
		case "numeric":
				if (strVal.match(/^\d+$/)) return false;
				break;
		case "alpha":
				if (strVal.match(/^[a-z]+$/i)) return false;
				break;
		case "alphanum":
				if (strVal.match(/^[a-z0-9_\x20\"\'\/\\]+$/)) return false;
				break;
		case "eng":
				if (strVal.match(/^[a-z\x20\"\'\/\\]+$/i)) return false;
				break;
		case "hebalphanum":
				if (strVal.match(/^[אבגדהוזחטיכלמנסעפצקרשתךםןףץa-z0-9_\x20\"\'\/\\]+$/)) return false;
				break;
		case "hebalpha":
				if (strVal.match(/^[אבגדהוזחטיכלמנסעפצקרשתךםןףץa-z_\x20\"\'\/\\]+$/)) return false;
				break;
		case "heb":
				if (strVal.match(/^[אבגדהוזחטיכלמנסעפצקרשתךםןףץ\x20\"\'\/\\]+$/)) return false;
				break;
		case "email":
				if (validateEmail(strVal)) return false;
				break;
		case "phone":
				//if (strVal.length<6) return false;
				if (strVal.match(/^\d+$/) && (strVal.length>5 && strVal.length<8)) return false;
				break;
	}

	return true;
}

function registerCheck(isVerifyForm){
	var strMessage="";
	var frm=document.forms["login"];
	  
	if (checkFrmValue(frm.txtUserName,"email")) strMessage+="* נא למלא כתובת דואר אלקטרוני חוקית\n";
	
	if (frm.txtPassword)
		if (!frm.txtPassword.value || !checkFrmValue(frm.txtPassword,"numeric") || !checkFrmValue(frm.txtPassword,"alpha")) strMessage+="* סיסמא חייבת להיות הרכב של אותיות ומספרים\n";
	
	if (isVerifyForm)
		if (frm.txtCodeImut.value=="") strMessage+="* נא למלא שדה קוד אימות\n";
	
	return strMessage
}

function startCheck(isVerifyForm){
	
	var strMessage=registerCheck(isVerifyForm);
	
	if (strMessage){
		if (document.all)
			dErrorMsg.innerText=strMessage;
		else
			dErrorMsg.textContent=strMessage;
		return false;
		}
		
	if (document.forms["login"].CaptchaStr){
		if (!checkValidCaptcha(document.forms["login"].CaptchaStr.value)){
			setTextAlert('* קוד אבטחת האימות אינו תואם',dErrorMsg);
			return false;
		}
	}
	document.login.submit()
	return true;
}

function verifyMail(){
	document.login.FormAction.value='sendMail';
	
	if (startCheck())
		return true;
	else
		return false;
	
}

function perVerifyMail(){
	if (window.event)
		keyPressed = event.keyCode;
	else
		keyPressed = e.which;
	if (keyPressed!=13) return false;
	if (verifyMail())
		return true;
	else
		return false;
}

function checkLogin(isUpdateForm){
	
	setTextAlert('',dErrorMsgUpdate);
	var frm=document.forms["loginNew"];
	
	if (checkFrmValue(frm.txtFName,"hebalpha")){
		markField(frm.txtFName.name);
		setTextAlert('* נא מלא שם פרטי חוקי',dErrorMsgUpdate);
		alert('נא מלא שם פרטי חוקי');
		return false;
	}
	
	if (checkFrmValue(frm.txtLName,"hebalpha")){
		markField(frm.txtLName.name);
		setTextAlert('* נא מלא שם משפחה חוקי',dErrorMsgUpdate);
		alert('נא מלא שם משפחה חוקי');
		return false;
	}
		
	if (frm.txtPhone.value != "" || frm.phoneMain.selectedIndex > 0){
		if (checkFrmValue(frm.txtPhone,"phone") || frm.phoneMain.selectedIndex == 0){
			markField2(frm.txtPhone.name);
			setTextAlert('* נא מלא מספר טלפון חוקי',dErrorMsgUpdate);
			alert('נא מלא מספר טלפון חוקי');
			return false;
		}
		else
		frm.mainPhone.value = frm.phoneMain.options[frm.phoneMain.selectedIndex].value + '-' + frm.txtPhone.value;
	}
	
	if (frm.txtCellPhone.value != "" || frm.phoneMobile.selectedIndex > 0){
		if (checkFrmValue(frm.txtCellPhone,"phone") || frm.phoneMobile.selectedIndex == 0){
			markField2(frm.txtCellPhone.name);
			setTextAlert('* נא מלא מספר טלפון סלולארי חוקי',dErrorMsgUpdate);
			alert('נא מלא מספר טלפון סלולארי חוקי');
			return false;
		}
		else
		frm.cellPhone.value = frm.phoneMobile.options[frm.phoneMobile.selectedIndex].value + '-' + frm.txtCellPhone.value;
	}
	
	if (isUpdateForm)
		if (checkFrmValue(frm.txtUserName,"email")){
			markField(frm.txtUserName.name);
			setTextAlert('* נא למלא כתובת דואר אלקטרוני חוקית',dErrorMsgUpdate);
			alert('נא למלא כתובת דואר אלקטרוני חוקית');
			return false;
		}
		
	if (isUpdateForm)
		if (frm.txtPassword.value.length<4 || frm.txtPassword.value.length>8){
			markField(frm.txtPassword.name);
			setTextAlert('* הסיסמא חייבת להכיל בין 4 ל- 8 תווים',dErrorMsgUpdate);
			alert('הסיסמא חייבת להכיל בין 4 ל- 8 תווים');
			return false;
		}	
	
	if (isUpdateForm)
		if (!checkFrmValue(frm.txtPassword,"numeric") || !checkFrmValue(frm.txtPassword,"alpha") || !checkFrmValue(frm.txtPassword,"heb")){
			markField(frm.txtPassword.name);
			setTextAlert('* סיסמא חייבת להיות הרכב של אותיות ומספרים',dErrorMsgUpdate);
			alert('סיסמא חייבת להיות הרכב של אותיות ומספרים');
			return false;
		}	
	
	if (isUpdateForm)
		if (frm.txtSecPass.value.length<4 || frm.txtSecPass.value.length>8){
			markField(frm.txtSecPass.name);
			setTextAlert('* אימות הסיסמא חייבת להכיל בין 4 ל- 8 תווים',dErrorMsgUpdate);
			alert('אימות הסיסמא חייבת להכיל בין 4 ל- 8 תווים');
			return false;
		}	
	
	if (isUpdateForm)
		if (!checkFrmValue(frm.txtSecPass,"numeric") || !checkFrmValue(frm.txtSecPass,"alpha") || !checkFrmValue(frm.txtPassword,"heb")){
			markField(frm.txtSecPass.name);
			setTextAlert('* אימות סיסמא חייבת להיות הרכב של אותיות ומספרים',dErrorMsgUpdate);
			alert('אימות סיסמא חייבת להיות הרכב של אותיות ומספרים');
			return false;
		}	

	if (isUpdateForm)	
		if (frm.txtPassword.value != frm.txtSecPass.value){
			markField(frm.txtSecPass.name);
			setTextAlert('* סיסמא האימות שהזנתה אינה תואמת לסיסמא המקורית',dErrorMsgUpdate);
			alert('סיסמא האימות שהזנתה אינה תואמת לסיסמא המקורית');
			return false;
		}	
		
	if (isUpdateForm)
		if (!frm.agree.checked){
			setTextAlert('* יש לאשר כי קראת וקיבלת את תנאי השימוש באתר',dErrorMsgUpdate);
			alert('יש לאשר כי קראת וקיבלת את תנאי השימוש באתר');
			return false;
		}

	if (!checkValidCaptcha(frm.CaptchaStr.value)){
			setTextAlert('* קוד אבטחת האימות אינו תואם',dErrorMsgUpdate);
			alert('קוד אבטחת האימות אינו תואם');
			return false;
		}
		
	document.loginNew.submit()
	return true;
}

function setTextAlert(sMsg,divId)
{
	if (document.all)
		divId.innerText = sMsg;
	else
		divId.textContent = sMsg;
}
function markField(obj_name){
	document.getElementsByName(obj_name)[0].className='inputFocus';
	document.getElementsByName(obj_name)[0].focus();
}

function markField2(obj_name){
document.getElementsByName(obj_name)[0].className='inputFocus2';
document.getElementsByName(obj_name)[0].focus();
}

function swapTab(num){
	var mytab="";
	var mtrect=""
	var arrKoteretMessage = new Array()
	var arrType = new Array()
	
	arrKoteretMessage[1]="עדכון פרטים אישיים";
	arrKoteretMessage[2]="עדכון סיסמא";
	arrKoteretMessage[3]="עדכון דואר אלקטרוני";
	arrKoteretMessage[4]="ניתוק משירות מייל";
	arrType[1]="user";
	arrType[2]="password";
	arrType[3]="email";
	arrType[4]="cancel";
	
	dErrorMsgUpdate.innerText='';
	setTextAlert(arrKoteretMessage[num],lblKoteret);
	//lblKoteret.innerText=arrKoteretMessage[num];
	document.loginNew.SecFormAction.value=arrType[num];
	for (var i=1; i<=4; i++){
		mytab="tab"+i;
		myrect="rect0"+i;
		document.getElementById(mytab).style.display="none";
		document.getElementById(myrect).fillcolor="#B5CBDE";
	
		if (i==num){
		   document.getElementById(mytab).style.display="block";
		   document.getElementById(myrect).fillcolor="#102C4A";
		   }
		}
	if (num==4){
		document.getElementById("dAll3").style.visibility="hidden";
		document.getElementById("dLast1").style.visibility="visible";
	}
	else{
		document.getElementById("dAll3").style.visibility="visible";
		document.getElementById("dLast1").style.visibility="hidden";
	}

}

function checkLoginUpdate(type){
	setTextAlert("",dErrorMsgUpdate);
	
	var frm=document.forms["loginNew"];
	
	switch(type) {
		case "user":
				if (checkFrmValue(frm.txtFName,"hebalpha")){
					markField(frm.txtFName.name);
					setTextAlert('* נא מלא שם פרטי חוקי',dErrorMsgUpdate);
					return false;
				}
				if (checkFrmValue(frm.txtLName,"hebalpha")){
					markField(frm.txtLName.name);
					setTextAlert('* נא מלא שם משפחה חוקי',dErrorMsgUpdate);
					return false;
				}			
				if (frm.txtPhone.value != "" || frm.phoneMain.selectedIndex > 0){
					if (checkFrmValue(frm.txtPhone,"phone") || frm.phoneMain.selectedIndex == 0){
						markField2(frm.txtPhone.name);
						setTextAlert('* נא מלא מספר טלפון חוקי',dErrorMsgUpdate);
						return false;
					}
					else
					frm.mainPhone.value = frm.phoneMain.options[frm.phoneMain.selectedIndex].value + '-' + frm.txtPhone.value;
				}
	
				if (frm.txtCellPhone.value != "" || frm.phoneMobile.selectedIndex > 0){
					if (checkFrmValue(frm.txtCellPhone,"phone") || frm.phoneMobile.selectedIndex == 0){
						markField2(frm.txtCellPhone.name);
						setTextAlert('* נא מלא מספר טלפון סלולארי חוקי',dErrorMsgUpdate);
						return false;
					}
					else
					frm.cellPhone.value = frm.phoneMobile.options[frm.phoneMobile.selectedIndex].value + '-' + frm.txtCellPhone.value;
				}
				
				frm.SecFormAction.value='user';
				break;
		case "password":
				
				if (frm.txtPassword2.value.toUpperCase() != frm.txtPassword.value.toUpperCase()){
					markField(frm.txtPassword2.name);
					setTextAlert('* הסיסמא שגויה נא נסה שנית',dErrorMsgUpdate);
					return false;
				}	
				
				if (frm.txtPassword2.value.length<4 || frm.txtPassword2.value.length>8){
					markField(frm.txtPassword2.name);
					setTextAlert('* הסיסמא חייבת להכיל בין 4 ל- 8 תווים',dErrorMsgUpdate);
					return false;
				}
				if (!checkFrmValue(frm.txtPassword2,"numeric") || !checkFrmValue(frm.txtPassword2,"alpha")){
					markField(frm.txtPassword2.name);
					setTextAlert('* סיסמא חייבת להיות הרכב של אותיות ומספרים',dErrorMsgUpdate);
					return false;
				}		
				if (frm.txtPassword2New.value == frm.txtPassword2.value){
					markField(frm.txtPassword2New.name);
					setTextAlert('* הסיסמא חייבת להיות שונה מהסיסמא הנוכחית',dErrorMsgUpdate);
					return false;
				}
				if (frm.txtPassword2New.value.length<4 || frm.txtPassword2New.value.length>8){
					markField(frm.txtPassword2New.name);
					setTextAlert('* הסיסמא חייבת להכיל בין 4 ל- 8 תווים',dErrorMsgUpdate);
					return false;
				}
				if (!checkFrmValue(frm.txtPassword2New,"numeric") || !checkFrmValue(frm.txtPassword2New,"alpha")){
					markField(frm.txtPassword2New.name);
					setTextAlert('* סיסמא חייבת להיות הרכב של אותיות ומספרים',dErrorMsgUpdate);
					return false;
				}							
				if (frm.txtPassword2NewImut.value.length<4 || frm.txtPassword2NewImut.value.length>8){
					markField(frm.txtPassword2NewImut.name);
					setTextAlert('* הסיסמא חייבת להכיל בין 4 ל- 8 תווים',dErrorMsgUpdate);
					return false;
				}
				if (!checkFrmValue(frm.txtPassword2NewImut,"numeric") || !checkFrmValue(frm.txtPassword2NewImut,"alpha")){
					markField(frm.txtPassword2NewImut.name);
					setTextAlert('* סיסמא חייבת להיות הרכב של אותיות ומספרים',dErrorMsgUpdate);
					return false;
				}							
				if (frm.txtPassword2New.value != frm.txtPassword2NewImut.value){
					markField(frm.txtPassword2NewImut.name);
					setTextAlert('* סיסמא האימות שהזנתה אינה תואמת לסיסמא המקורית',dErrorMsgUpdate);
					return false;
				}	
				frm.SecFormAction.value='password';
				break;
		case "email":
				if (!checkFrmValue(frm.txtPassword3,"numeric") || !checkFrmValue(frm.txtPassword3,"alpha")){
					markField(frm.txtPassword3.name);
					setTextAlert('* סיסמא חייבת להיות הרכב של אותיות ומספרים',dErrorMsgUpdate);
					return false;
				}		
				if (frm.txtPassword3.value.length<4 || frm.txtPassword3.value.length>8){
					markField(frm.txtPassword3.name);
					setTextAlert('* הסיסמא חייבת להכיל בין 4 ל- 8 תווים',dErrorMsgUpdate);
					return false;
				}				
				if (frm.txtPassword3.value.toUpperCase() != frm.txtPassword.value.toUpperCase()){
					markField(frm.txtPassword3.name);
					setTextAlert('* הסיסמא שגויה נא נסה שנית',dErrorMsgUpdate);
					return false;
				}
				if (checkFrmValue(frm.txtEmail3,"email")){
					markField(frm.txtEmail3.name);
					setTextAlert('* נא למלא כתובת דואר אלקטרוני חוקית',dErrorMsgUpdate);
					return false;
				}	
				frm.SecFormAction.value='email';
				break;
		case "cancel":
				var blnRet = window.confirm("?האם הינך בטוח בביטול המנוי מהאתר");
				if (!blnRet) return false;
				frm.SecFormAction.value='unSubScribe';
				break;
	}
	
	document.loginNew.submit(type)
	return true;
}

function perCheckLoginUpdate(type){
	if (window.event)
		keyPressed = event.keyCode;
	else
		keyPressed = e.which;
	if (keyPressed!=13) return false;
	
	checkLoginUpdate(type)
	return true;
}

function preStartCheck(isVerifyForm){
	if (window.event)
		keyPressed = event.keyCode;
	else
		keyPressed = e.which;
	if(keyPressed!=13) return false;
	
	startCheck(isVerifyForm)
	return true;
}

function perCheckLogin(isUpdateForm,e){
	if (window.event)
		keyPressed = event.keyCode;
	else
		keyPressed = e.which;
	
	if(keyPressed!=13) return false;
	
	checkLogin(isUpdateForm)
	return true;
}

function checkValidCaptcha(k){
	var http = getHTTPObjects();
	
	http.open("GET","Captcha/CaptchCheckClient.asp?CaptchaStr="+k,false);
	http.send(null);
	
	var xml = getXMLObject(http.responseText);
	
	var xmlRet = document.all ? xml.documentElement.childNodes(0).text :xml.documentElement.childNodes[0].textContent;
	return (xmlRet==1)?true:false;
}

function getXMLObject(text)
{
	try //Internet Explorer
	  {
	  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	  xmlDoc.async="false";
	  xmlDoc.loadXML(text);
	  }
	catch(e)
	  {
	  try //Firefox, Mozilla, Opera, etc.
	    {
	    parser=new DOMParser();
	    xmlDoc=parser.parseFromString(text,"text/xml");
	    }
	  catch(e) {alert(e.message)}
	  }
	return xmlDoc;
}