//request common.js


function trim(str)
{
	str = str.replace(/^\s+|\s+$/g, '');
	str = str.replace(/\s+/g, ' ');
	return str;
}
var passcheck = true;
function checkReg(){
	passcheck = true;
	var form = document.forms[arguments[0]];
	for (var i = 1; i < arguments.length; i += 3) {
		var formid = arguments[ i ];
		var tableid = arguments[ i + 1 ];
		var type = arguments[ i + 2 ];
		var setred = false;
		var obj = document.getElementById(formid);
		switch(type){
			case 'lgn':
				if(!checkNotNull(obj) || !isvalid_lgn(obj.value)
					|| obj.value.length<3 || obj.value.length>16 ){ setred = true;}
				break;
			case 'txt':
			case 'radio':
			case 'chk':
			case 'sel':
				if(!checkNotNull(obj)) {setred = true;}
				break;
			case 'pwd':
				var pwd = obj.value;
				var rpwd = document.getElementById(arguments[i+3]).value;
				var rpwdid = arguments[i+4];
				if ((pwd.length > 16 || pwd.length < 6)){
					setred = true;
				}
				changecolor(form,rpwdid,(pwd != rpwd || pwd.length > 16 || pwd.length < 6));
				i += 2;
				break;
			case 'mail':
				var flag=(arguments[i + 3]=='y'?false:true);
				if(!isEmail(obj.value, flag)){setred = true;}
				i++;
				break;
			case 'digit':
				var flag=(arguments[i + 3]=='y'?false:true);
				if(!ckNumber(obj.value, flag, 0)){setred = true;}
				i++;
				break;
			case 'phn':
				var flag=(arguments[i + 3]=='y'?false:true);
				var phone = obj.value;
				var phone_ccode = document.getElementById(arguments[i+4]).value;
				var area_code = document.getElementById(arguments[i+5]).value;
				var ext = document.getElementById(arguments[i+6]).value;
				if(!ckNumber(phone_ccode, true, 0)||!ckNumber(area_code, true, 0)
					||!ckNumber(phone, flag, 0)||!ckNumber(ext, true, 0)){
					setred = true;
				}
				else if(trim(phone)&&!trim(phone_ccode)){
					setred = true;
				}
				i+=4;
				break;
			case 'cel':
				var flag=(arguments[i + 3]=='y'?false:true);
				var cell = obj.value;
				var cell_ccode = document.getElementById(arguments[i+4]).value;

				if(!ckNumber(cell_ccode, flag, 0)||!ckNumber(cell, flag, 0)){
					setred = true;
				}
				else if(trim(cell) && !trim(cell_ccode)){
					setred = true;
				}
				i+=2;
				break;
			case 'phn_cel':
				var phone = obj.value;
				var phone_ccode = document.getElementById(arguments[i+3]).value;
				var area_code = document.getElementById(arguments[i+4]).value;
				var ext = document.getElementById(arguments[i+5]).value;
				var cell = document.getElementById(arguments[i+6]).value;
				var cell_i = arguments[i+7];
				var cell_ccode = document.getElementById(arguments[i+8]).value;
				var cel_setred = false;

				if(!ckNumber(phone_ccode, true, 0)||!ckNumber(area_code, true, 0)
					||!ckNumber(phone, true, 0)||!ckNumber(ext, true, 0)){
					setred = true;
				}
				else if(trim(phone)&&!trim(phone_ccode)){
					setred = true;
				}
				if(!ckNumber(cell_ccode, true, 0)||!ckNumber(cell, true, 0)){
					cel_setred = true;
				}
				else if(trim(cell) && !trim(cell_ccode)){
					cel_setred = true;
				}
				if(!setred && !cel_setred){
					if(!trim(phone) && !trim(cell)){
						setred = true;
						cel_setred = true;

					}
				}
				changecolor(form,cell_i,cel_setred);
				i+=6;
				break;
		}
		changecolor(form,tableid,setred);
		setred = false;
	}
	return passcheck;

}

function changecolor(form,tableid,setred){
	var obj = document.getElementById(tableid);
	if(setred) {
		obj.style.color="#FF0000"; //red
	} else {
		obj.style.color="#3F3F3F"; //black
	}
	if(passcheck){passcheck = !setred;}
}

function isvalid_lgn(txt)
{
		 var reg = /^([_0-9a-zA-Z@.-]*)$/;
		 if(txt.search(reg) == -1){
            return false;
		 }
		 return true;
}