﻿// JavaScript Document
<!--

function submitForm(){ // begin

obj = document.referForm; // document variable

sname = obj.sname.value;
semail = obj.semail.value;

errCntr=0;
popmsg="";

//check sname
if (sname==""){	
	errCntr ++; 
	putArrow('err_sname'); 
	popmsg += "* 必須填寫傳送人姓名\n";
	}else{ 
	checkChars(obj.sname, 'err_sname'); 
	}

//check semail
if (semail==""){	
	errCntr ++; 
	putArrow('err_semail'); 
	popmsg += "* 必須填寫傳送人電郵地址\n";
	}else{
		
	checkCharsEmail(document.getElementById("semail"),'err_semail');
	
	if (emailCheck(semail)==false) { 
		errCntr ++; 
		putArrow('err_semail'); 
		popmsg += "* 請輸入正確電郵地址\n"; 
		}
		
		
}


friends =0;

for (i=1; i<=5; i++){
fn = "fname"+i;
fe = "femail"+i

	if (document.getElementById(fn)){  
	
		if (document.getElementById(fn).value!="" && document.getElementById(fe).value!=""){
							
			checkChars4(document.getElementById(fn),'err_refer');
			
			checkCharsEmail(document.getElementById(fe),'err_refer');
			
			emailVal = document.getElementById(fe).value;			
			
			if (emailCheck(emailVal)==false){ 
			errCntr ++; 
			popmsg += "* 請輸入正確的電郵地址\n"; 
			putArrow('err_refer');
			}else{ 
			  friends++;
			  noArrow('err_refer');
			}						
			
		}
		
	}
	
}

if (friends<2){
errCntr++;
putArrow('err_refer');
popmsg += "* 請傳遞至少兩個朋友\n"; 
}else{
noArrow('err_refer');
}


//Count Errors display error message
if (errCntr>0){
alert("請修改以下項目\n\n"+popmsg);	
return false;
}else{
obj.submit();
return true;
}



} // end submitForm()


// arrow functions

function putArrow(objId){
document.getElementById(objId).className='putArrow';
}

function noArrow(objId){
document.getElementById(objId).className='noArrow';
}

// checking illegal characters

function checkChars(newobj, objId){		
	var invChars = "!@#$%^&*+=-[]\\\';{}|\":<>?";
	for (var i = 0; i < newobj.value.length; i++){
		if (invChars.indexOf(newobj.value.charAt(i)) != -1){  					
		errCntr++;
		putArrow(objId);			
		popmsg +="Invalid characters are not allowed [" + newobj.value+"]\n";
		break;		
		}else{
		noArrow(objId);
		}						
	}
}

function checkChars2(newobj, objId){		
	var invChars = "!@#$%^&*+=-[]\\\'.,;/{}|\":<>?";
	for (var i = 0; i < newobj.value.length; i++){
		if (invChars.indexOf(newobj.value.charAt(i)) != -1){  					
		errCntr++;
		putArrow(objId);
		popmsg +="不允許無效的字符 [" + newobj.value+"]\n";
		break;		
		}else{
		noArrow(objId);
		}						
	}
}

function checkChars3(newobj, objId){		
	var invChars = "!@#$%^&*()+=[]\\\',;/{}|\":<>?";
	for (var i = 0; i < newobj.value.length; i++){
		if (invChars.indexOf(newobj.value.charAt(i)) != -1){  					
		errCntr++;
		putArrow(objId);			
		popmsg +="不允許無效的字符 [" + newobj.value+"]\n";
		break;		
		}else{
		noArrow(objId);
		}						
	}
}

function checkChars4(newobj, objId){		
	var invChars = "!#$%^&*+=-[]\\\',;/{}|\":<>?";
	for (var i = 0; i < newobj.value.length; i++){
		if (invChars.indexOf(newobj.value.charAt(i)) != -1){  					
		errCntr++;
		putArrow(objId);
		popmsg +="不允許無效的字符 [" + newobj.value+"]\n";
		break;		
		}else{
		noArrow(objId);
		}						
	}
}

function checkCharsEmail(newobj, objId){		
	var invChars = "!#$%^&*+=[]\\\',;/{}|\":<>?";
	for (var i = 0; i < newobj.value.length; i++){
		if (invChars.indexOf(newobj.value.charAt(i)) != -1){  					
		errCntr++;
		putArrow(objId);
		popmsg +="請輸入正確的電郵地址 [" + newobj.value+"]\n";
		break;		
		}else{
		noArrow(objId);
		}						
	}
}


function isValidEmailAddress(obj) {
		re = /^\S*\@\S*\.\S*$/;
		return re.test(obj.value);
	}

function isCheckedRadio(obj) {
		var isCheck = false;
		if (obj.length) {
			for (i=0;i<obj.length;i++) {
				if (obj[i].checked) {
					isCheck = true;
				}
			}
		} else {
			if (obj.checked) {
				isCheck = true;
			}
		}

		if (!isCheck) {
			return false;
		}
		return true;
	}



function emailCheck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

//-->