//########################################################

function checkform(TheFormName){

//TheFormName=eval("document.all."+TheFormName)

TheFormName=document.getElementById(TheFormName);



var itsok;
itsok=true;

number=TheFormName.elements.length-1;
//alert(number);
for (var i=0; i < number; i++)
{

    fieldName = TheFormName.elements[i].id;
        fields=TheFormName.fieldName;
     //   alert(fields);
//alert(TheFormName.elements[i].getAttribute('req'))

        if ((TheFormName.elements[i].type=='checkbox' || (TheFormName.elements[i].type=="radio"))&& (TheFormName.elements[i].getAttribute('req')==1))
        {

             var FieldName;
             var FieldNumber;
             var Checked;
             Checked=false;
             FieldName=TheFormName.elements[i].getAttribute('group');
             FieldNumber=i;
             while (((TheFormName.elements[i].type=='checkbox') || (TheFormName.elements[i].type=="radio") ) && (TheFormName.elements[i].getAttribute('group')==FieldName) && (i < number))
                {
                      if (TheFormName.elements[i].checked)
                        {
                                Checked=true;
                        }
                        if  ((i+1) < number)
                        {
                                if (TheFormName.elements[i+1].getAttribute('group')==FieldName)
                                {
                                        FieldName=TheFormName.elements[i].getAttribute('group')
                                }
                        }
                        i++;
                }
                itsok=Checked;
                if (itsok==false)
                        {
                                //alert('fuad');
                                alert (TheFormName.elements[i-1].getAttribute('msg'));
                                TheFormName.elements[FieldNumber].focus();
                                return false;
                                break;
                        }
                                else
                                {
                                i--
                                }
             }
        else
        {

        if (TheFormName.elements[i].getAttribute('req')==1)
                {

                       // alert (TheFormName.elements[i].getAttribute('name'));
                        itsok=checkexist(TheFormName.elements[i]);
                        if (itsok==false)
                                                        {break;}
                                                else
                                                        {
                                                                itsok=lookUpLang(TheFormName.elements[i])
                                                                if (itsok==false) {break;}
                                                        }
                }
        else {

        if(TheFormName.elements[i].getAttribute('lang')=='e')
        {

                        itsok=true;
                        if (itsok==false)
                                                        {break;}
                                                else
                                                        {
                                                               //  alert(TheFormName.elements[i].getAttribute('lang')+TheFormName.elements[i].getAttribute('name')+TheFormName.elements[i].getAttribute('type'));
                                                                itsok=lookUpLang(TheFormName.elements[i])
                                                                if (itsok==false) {break;}
                                                        }}
        else
                {
                if (typeof TheFormName.elements[i].value !='undefined')
                {
                if ((Trim(TheFormName.elements[i].value)!="") && (TheFormName.elements[i].value!="0"))
                        {
                        itsok=checkexist(TheFormName.elements[i]);
                        if (itsok==false)                {break;}
                        }
                   }

                }}

                }
}
//alert (itsok);




                                        if(typeof TheFormName.usr_password != "undefined")
                                        {
                                                if (TheFormName.usr_password.value != TheFormName.ConfPassword.value)
                                                {
                                                        alert(TheFormName.ConfPassword.getAttribute('msg'))
                                                        TheFormName.ConfPassword.select();
                                                        TheFormName.ConfPassword.style.backgroundColor="#dddddd"
                                                        itsok=false;
                                                }
                                        }


if (itsok==true)
{
return true;
}
else
{
return false;

}
}
//########################################################
function lookUpLang(field)
{
var checkstr =" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-(){}[ ]\n\r\f<>\"'\\:,;.*/|$#@!&^()?%_";
if (field.type=='text' || field.type=='textarea')
{

                                         //   alert(field.getAttribute('lang')+field.getAttribute('name')+field.getAttribute('type'));
                                            if (typeof field.getAttribute('lang')== 'string' )
                                            {

                                                if (field.getAttribute('lang')=='e')
                                                {
                                                var badchars = "";
                                                for (var j=0; j<field.value.length; j++)
                                                        {
                                                                theFieldIsOk=0;
                                                                //alert(typeof field.getAttribute('lang') + "\nlang")
                                                                for (var k=0; k<checkstr.length; k++)
                                                                {
                                                                if (field.value.charAt(j) == checkstr.charAt(k))
                                                                                {
                                                                                        theFieldIsOk=1;
                                                                                }
                                                                }

                                                                if(theFieldIsOk==0) {
                                                                    alert (field.getAttribute('msg'));
                                                                    //field.focus();
                                                                                field.style.backgroundColor="#dddddd"
                                                                                return false;
                                                                                }
                                                        }
                                            }
                                             else
                                            {
                                             return true;
                                            }}
                                             else
                                            {
                                             return true;
                                            }
}
}
//########################################################
function checkexist(field)
{
var charsize;
message=field.getAttribute('msg');
sizeMsg=field.getAttribute('sizeMsg');
trtypr=field.getAttribute('trtypr');

//alert(Trim(field.value))
//if (Trim(field.value) =="<p> </p>") {alert ("ss");}
if (Trim(field.value) =="" || Trim(field.value) =="<p> </p>")
{
            alert (message);
            field.focus();
                        field.style.backgroundColor="#dddddd"
                if (field.type=='text' || field.type=='textarea')
                {
                   field.select();
                }
                    return false;
}
else
{
if (field.type=='password')
{
                                         if (field.value.length<6)
                                            {
                                                alert ('كلمة السر يجب ان لا تقل عن 6 احرف او ارقام');
                                                field.focus();
                                                field.style.backgroundColor="#dddddd"
                                                field.select();
                                                return false;
                                            }
                                         if (field.value.length>16)
                                            {
                                                alert ('password should be at most 16 charachters..!');
                                                field.focus();
                                                field.style.backgroundColor="#dddddd"
                                                field.select();
                                                return false;
                                            }
                                                if ((field.value.indexOf(" ")!=-1) || (field.value.indexOf("\"")!=-1) || (field.value.indexOf("'")!=-1))
                                                {
                                                        alert ('Can not use a space, \', or " in Password..!');
                                                        field.focus();
                                                        field.style.backgroundColor="#dddddd"
                                                        field.select();
                                                        return false;

                                                }
}//password
if (field.type=='text' || field.type=='textarea')
{
	                                            
//alert(Trim(field.value));					
if (typeof field.charsize=='undefined')
                                            {
                                             charsize=3000;
                                            }
                                             else
                                            {
                                             charsize=field.charsize
                                            }
//alert(charsize +'\n' +field.name)
//alert(charsize + '     --After --    '+ field.value.length);
                                           if ((field.value.length> charsize ) || (field.value.length< field.minsize ))
                                           {
                                                alert(Trim(field.value));
						alert(sizeMsg);
                                                field.focus();
                                                field.style.backgroundColor="#dddddd"
                                                field.select();
                                                return false;

                                           }
}//text and texarea
//alert(field.name +'\n'  + trtypr)
                if(trtypr==2)
                        {
                       // if(isNaN(field.value)||(field.value=="0")||(field.value < 0))
//alert(field.name)
                 if(!chkNumeric(field,0,9999999999999,"+","-",""))
                                {
                                alert(message);
                                             field.select();
                                             return false;
                                }
                                else
                                {
                                return true;
                                }
                        }
                if(trtypr==3)
                        {
                        if(checkemail(field))
                                {
                                        return true;
                                }
                                else
                                {
                                        return false;
                                }
                        }
return true;
}
}
//########################################################
function checkemail(mfield){
 var str=mfield.value
//alert(str)
message=mfield.getAttribute('msg');
 //var filter=/^.+@.+\..{2,3}$/
var filter=/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/
 if (filter.test(str))
 {
      if (str.indexOf(" ")!=-1)
     {
         alert(message)
         mfield.focus();
         mfield.select();
         return false
     }
     else
     {
         return true
     }
}
 else {
    alert(message)
        mfield.focus();
        mfield.select();
            return false
}
}
//#########################################################

function Trim(TRIM_VALUE){

if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function
//#########################################################
function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function
//#########################################################
function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function
//#########################################################s
function chkNumeric(objName,minval,maxval,comma,period,hyphen)
{
// only allow 0-9 be entered, plus any values passed
// (can be in any order, and don't have to be comma, period, or hyphen)
// if all numbers allow commas, periods, hyphens or whatever,
// just hard code it here and take out the passed parameters
var checkOK = "0123456789" + comma + period + hyphen;
var checkStr = objName;
var allValid = true;
var decPoints = 0;
var allNum = "";
//alert(checkStr.value);
        for (i = 0;  i < checkStr.value.length;  i++)
        {
                        ch = checkStr.value.charAt(i);
                        for (j = 0;  j < checkOK.length;  j++)
                                        if (ch == checkOK.charAt(j))
                                        break;
                        if (j == checkOK.length)
                                {
                                        allValid = false;
                                        break;
                                }
                        if (ch != ",")
                                allNum += ch;
        }
        if (!allValid)
        {
                alertsay = "Please enter only these values \""
                alertsay = alertsay + checkOK + "\" in the \"" + checkStr.name + "\" field."
                //alert(alertsay);
                return (false);
        }


        // set the minimum and maximum
        var chkVal = allNum;
        var prsVal = parseInt(allNum);
        //alert (prsVal);
        if (chkVal != "" && !(prsVal >= minval && prsVal <= maxval))
        {
                alertsay = "Please enter a value greater than or "
                alertsay = alertsay + "equal to \"" + minval + "\" and less than or "
                alertsay = alertsay + "equal to \"" + maxval + "\" in the \"" + checkStr.name + "\" field."
                //alert(alertsay);
                return (false);
        }

return (true)
}
function SubEmailsForm(TheFormName,actionfile)
{
	TheFormName=document.getElementById(TheFormName);
	TheFormName.action=actionfile
	if(actionfile=="pdf/print_all.php")
		{
			TheFormName.target="_blank"
			}
	TheFormName.submit();
}

//  End -->
