//########################################################
function checkAddBasketform(Formname,ItemID)
{
MyChecked=false
if (document.all) { 
	SelectName=eval("document.all."+Formname+"."+ItemID);
}
else
{
	SelectName=eval("document."+Formname+"."+ItemID);
}

for (var i=0;i<SelectName.length;i++)
{
	var e = SelectName.ItemID[i].checked;
	if (e)
		{
			MyChecked=true;
		}
}

if (!MyChecked)
{
	alert("Please select an Item")
}
return MyChecked;
}
//########################################################
function checkform(TheFormName){
TrueFormName=TheFormName;


//alert(TrueFormName)


if (document.all) { 
TheFormName=eval("document.all."+TheFormName);
}
else
{
TheFormName=eval("document."+TheFormName);
}


//alert(TheFormNameElmReq=TheFormName.elements[2].attributes.req);
//return false;
//}
//function stst()
//{



var itsok;
itsok=true;
number=TheFormName.elements.length-1;

//for(OBJ in TheFormName.elements[1].item)
//{
//alert(OBJ);
//alert(TheFormName.elements[1].item);
//}
//alert(TheFormName.elements[1]);


for (var i=0; i < number; i++)	
{

	fieldName = TheFormName.elements[i].name;
	
	fields=TheFormName.fieldName;
	if (document.all) 
		{ 
			TheFormNameElmReq=TheFormName.elements[i].req;
		}
	else
		{
			if (TheFormName.elements[i].attributes.req)
			{
			TheFormNameElmReq=TheFormName.elements[i].attributes.req.value;
			}
			else
			{
			TheFormNameElmReq=0;
			}
		}
		
	
	
	
	if 	((TheFormName.elements[i].type=='checkbox' || (TheFormName.elements[i].type=="radio"))&& (TheFormNameElmReq==1))
	{	var FieldName;
		var FieldNumber;
		var Checked;
		Checked=false;
	//alert (TheFormName.elements[i].type);
		FieldName=TheFormName.elements[i].name;
		FieldNumber=i;
	//alert((TheFormName.elements[i].type=='checkbox') );
//		alert( (TheFormName.elements[i].name==FieldName) );
		while (((TheFormName.elements[i].type=='checkbox') || (TheFormName.elements[i].type=="radio") ) && (TheFormName.elements[i].name==FieldName) && (i < number))
		{
			//alert (TheFormName.elements[i].checked);
			if (TheFormName.elements[i].checked)
			{
				Checked=true;
			}
			if  ((i+1) < number)
			{	
				if (TheFormName.elements[i+1].name==FieldName)
				{
					FieldName=TheFormName.elements[i].name		
				}
			}
			i++;
		}
		itsok=Checked;
		//alert (itsok + '     fuad' )
		if (itsok==false)		
			{
				//alert('fuad');
				alert (TheFormName.elements[i-1].msg);
				TheFormName.elements[FieldNumber].focus();
				return false;
				break;
			}	
		
		//alert ('Fuad');
		
	}
	else
		{
		
		if (TheFormNameElmReq==1)     
			{
				
			itsok=checkexist(TheFormName.elements[i]);
			if (TheFormName.elements[i].type=='text' || TheFormName.elements[i].type=='textarea') 
			{	
			if (TheFormName.elements[i].value!='')
			{
				

					
			}
				
			}
			if (itsok==false)		
				{break;
				}	
			}
		else
			{

			if ((TheFormName.elements[i].value!="") && (TheFormName.elements[i].value!="0"))
				{
				itsok=checkexist(TheFormName.elements[i]);
				if (TheFormName.elements[i].type=='text' || TheFormName.elements[i].type=='textarea') 
				{	
				//if (TheFormName.elements[i].value!='')
				//{

					//alert (TheFormName.elements[i].type);

					
						
				//}
					
				}
				if (itsok==false)		
					{break;
					}
				}
			}
		}	
//			

//
}
//alert(hex_md5(TheFormName.Password.value));

//alert(fieldName)
//alert(itsok);
if (itsok)
{
			if (TrueFormName=="MemberRegistration")
				{
						if(typeof TheFormName.USRCONFEMAIL != "undefined")
						{
							if (TheFormName.USREMAIL1.value != TheFormName.USRCONFEMAIL.value)
							{
								alert(TheFormName.USRCONFEMAIL.msg)
								TheFormName.USRCONFEMAIL.select();
								return false;
							}
						}		
				}
			if (TrueFormName=="MemberRegistration")
				{
					if(typeof TheFormName.USR_PASSWORD1 != "undefined")
					{
						if (TheFormName.USR_PASSWORD1.value != TheFormName.USRCONFPASSWORD.value)
						{
							alert(TheFormName.USRCONFPASSWORD.msg)
							TheFormName.USRCONFPASSWORD.select();
							return false;
						}
					}
				}				
			if (TrueFormName=="MemberRegistration")
				{
					if(typeof TheFormName.USR_PASSWORD1!="undefined")
					{
					if (TheFormName.USR_PASSWORD1.value.length < 6)
					{
						alert("Password Must be at least 6 characters or more !!!")
						TheFormName.USR_PASSWORD1.select();
						return false;
					}
				}
				
			}





for (var i=0; i < number; i++)	
{
	fieldName = TheFormName.elements[i].name;
	fields=TheFormName.fieldName;

	if ((TheFormName.elements[i].type=="password") && (fieldName!="USRCONFPASSWORD"))
		{
		if (TheFormName.elements[i].value !="")
			{
				//TheFormName.elements[i].value=hex_md5(TheFormName.elements[i].value);
				
			}
		}
}
//alert("OK");
//alert (checkCheckbox(TheFormName,number));
return true;

//return (true&&checkCheckbox(TheFormName,number));
//return (true);
}
else
{

//alert (checkCheckbox(TheFormName,number));
return false;
}

}
//########################################################
function checkform_Old(TheFormName){
TrueFormName=TheFormName;


//alert(TrueFormName)


if (document.all) { 
TheFormName=eval("document.all."+TheFormName);
}
else
{
TheFormName=eval("document."+TheFormName);
}


//alert(TheFormNameElmReq=TheFormName.elements[2].attributes.req);
//return false;
//}
//function stst()
//{



var itsok;
itsok=true;
number=TheFormName.elements.length-1;

//for(OBJ in TheFormName.elements[1].item)
//{
//alert(OBJ);
//alert(TheFormName.elements[1].item);
//}
//alert(TheFormName.elements[1]);


for (var i=0; i < number; i++)	
{

	fieldName = TheFormName.elements[i].name;
	
	fields=TheFormName.fieldName;
	if (document.all) 
		{ 
			TheFormNameElmReq=TheFormName.elements[i].req;
		}
	else
		{
			if (TheFormName.elements[i].attributes.req)
			{
			TheFormNameElmReq=TheFormName.elements[i].attributes.req.value;
			}
			else
			{
			TheFormNameElmReq=0;
			}
		}
		
	if (TheFormNameElmReq==1)     
		{
			
		itsok=checkexist(TheFormName.elements[i]);
		if (itsok==false)		
			{break;
			}	
		}
	else
		{
		if ((TheFormName.elements[i].value!="") && (TheFormName.elements[i].value!="0"))
			{
			itsok=checkexist(TheFormName.elements[i]);
			if (itsok==false)		
				{break;
				}
			}
		}
		
}
//alert(hex_md5(TheFormName.Password.value));




//alert(fieldName)
//alert(itsok)


if (itsok)
{
			if (TrueFormName=="MemberRegistration")
				{
						if(typeof TheFormName.USRCONFEMAIL != "undefined")
						{
							if (TheFormName.USREMAIL1.value != TheFormName.USRCONFEMAIL.value)
							{
								alert(TheFormName.USRCONFEMAIL.msg)
								TheFormName.USRCONFEMAIL.select();
								return false;
							}
						}		
				}
			if (TrueFormName=="MemberRegistration")
				{
					if(typeof TheFormName.USR_PASSWORD1 != "undefined")
					{
						if (TheFormName.USR_PASSWORD1.value != TheFormName.USRCONFPASSWORD.value)
						{
							alert(TheFormName.USRCONFPASSWORD.msg)
							TheFormName.USRCONFPASSWORD.select();
							return false;
						}
					}
				}				
			if (TrueFormName=="MemberRegistration")
				{
					if(typeof TheFormName.USR_PASSWORD1!="undefined")
					{
					if (TheFormName.USR_PASSWORD1.value.length < 6)
					{
						alert("Password Must be at least 6 characters or more !!!")
						TheFormName.USR_PASSWORD1.select();
						return false;
					}
					}
				}






for (var i=0; i < number; i++)	
{
	fieldName = TheFormName.elements[i].name;
	fields=TheFormName.fieldName;

	if ((TheFormName.elements[i].type=="password") && (fieldName!="USRCONFPASSWORD"))
		{
		if (TheFormName.elements[i].value !="")
			{
				//TheFormName.elements[i].value=hex_md5(TheFormName.elements[i].value);
				
			}
		}
}
//alert("OK")
//return false;
return (true&&checkCheckbox(TheFormName,number));
//return (true);
}
else
{
return false;
}

}
//########################################################
function checkexist(field)
{

if (document.all) { 
TheFormNameElmReq=field.req;
message=field.msg;
fieldtrtypr=field.trtypr
}
else
{
			if (field.attributes.req)
			{
			TheFormNameElmReq=field.attributes.req.value;
			fieldtrtypr=field.attributes.trtypr.value;
			message=field.attributes.msg.value;
			}
			else
			{
			TheFormNameElmReq=0;
			message="";
			fieldtrtypr=1;
			}



}


if (Trim(field.value) =="")
{ 

		field.focus();

		field.style.backgroundColor="dddddd"
            alert (message);
		//field.select();

            return false;
}           
else
{ 

		
		if(fieldtrtypr==2)
			{
			if(isNaN(field.value)||(field.value==0)||(field.value < 0))
				{
				alert(message);
			             	field.select();
			             	return false;
				}
				else
				{
				return true;
				}
			}
		if(fieldtrtypr==3)
			{
			if(checkemail(field))
				{
					return true;
				}
				else
				{
					return false;
				}
			}
		if(field.trtypr==4)
			{			
			if(isDate(field.value))
				{
					return true;
				}
				else
				{
					field.select();
					field.style.backgroundColor="dddddd"
					return false;
				}
			}
		if(field.trtypr==6)
					{
		
					if(isPassword(field.value))
						{
							return true;
						}
						else
						{
							field.style.backgroundColor="dddddd";
							field.select();
							return false;
						}
					}		
return true;
}
}

//#################################################################
// DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
// Declaring valid date character, minimum year and maximum year
	var dtCh= "/";
	var minYear=1900;
	var maxYear=2100;
//#################################################################
	function isInteger(s)
	{
		var i;
	    for (i = 0; i < s.length; i++){   
	        // Check that current character is number.
	        var c = s.charAt(i);
	        if (((c < "0") || (c > "9"))) return false;
	    }
	    // All characters are numbers.
	    return true;
	}//end of function

//#################################################################
	function stripCharsInBag(s, bag)
	{
		var i;
	    var returnString = "";
	    // Search through string's characters one by one.
	    // If character is not in bag, append to returnString.
	    for (i = 0; i < s.length; i++){   
	        var c = s.charAt(i);
	        if (bag.indexOf(c) == -1) returnString += c;
	    }
	    return returnString;
	}

//#################################################################
	function daysInFebruary (year)
	{
		// February has 29 days in any year evenly divisible by four,
	    // EXCEPT for centurial years which are not also divisible by 400.
	    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
	}

//#################################################################
	function DaysArray(n) 
	{
		for (var i = 1; i <= n; i++) {
			this[i] = 31
			if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
			if (i==2) {this[i] = 29}
	   } 
	   return this
	}//end of function
//#################################################################

//#################################################################
	function isDate(dtStr)
	{
		var myDate=new Date()
		var tday, tmon, tyear, today, entdate
		
		var daysInMonth = DaysArray(12)
		var pos1=dtStr.indexOf(dtCh)
		var pos2=dtStr.indexOf(dtCh,pos1+1)
		var strDay=dtStr.substring(0,pos1)
		var strMonth=dtStr.substring(pos1+1,pos2)
		var strYear=dtStr.substring(pos2+1)
		strYr=strYear
		
		if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
		if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
		for (var i = 1; i <= 3; i++) {
			if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
		}
		month=parseInt(strMonth)
		day=parseInt(strDay)
		year=parseInt(strYr)
		
		
		tday = myDate.getDate();
		tmon = myDate.getMonth()+1;
		tyear = myDate.getFullYear();
		today = tday+"/"+tmon+"/"+tyear;
		entdate = day+"/"+month+"/"+year;
		today = Date(today)
		entdate = Date(entdate)
		
		
		if(entdate<today)
		{
			alert("Course date should be greater than today's date")
			return false
		}
		
		if (pos1==-1 || pos2==-1){
			alert("The date format should be : dd/mm/yyyy")
			return false
		}
		if (strMonth.length<1 || month<1 || month>12){
			alert("Please enter a valid month")
			return false
		}
		if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
			alert("Please enter a valid day")
			return false
		}
		if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
			alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
			return false
		}
		if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
			alert("Please enter a valid date")
			return false
		}
	return true
	}// end of function

//#################################################################
//#################################################################
//**********************************
//allows only 6-16 characters of password
function isPassword(string) 
{
	var st=string;
	if (st.length<6)
	{
		alert("Password Must be at least 6 characters or more !!!")
		return false;
	}
	if (st.length>16)
	{
		alert("Password should not be greater than 16 Characters");
		return false;
	}
	//\w+(\w+)?
	if (st.search(/^[A-Za-z0-9_]+$/) != -1)
	    {
	        return true;
	    }
	    else
	    {
	    alert("Only letters,_(Underscore) and numbers allowed")
	        return false;
        }

	return true;
}
//########################################################
function checkemail(mfield){
 var str=mfield.value
if (document.all) { 
	TheFormNameElmReq=mfield.req;
	message=mfield.msg;
	fieldtrtypr=mfield.trtypr
}
else
{
	TheFormNameElmReq=mfield.attributes.req.value;
	message=mfield.attributes.msg.value;
	fieldtrtypr=mfield.attributes.trtypr.value;
}

 var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
 if (filter.test(str))
{
var emailIsOk=0;

						var IncomData=mfield.value;
						var incomeFiledName=mfield.name
						for (k=0;k<=(IncomData.length-1);k++)
						{
							if ( !((IncomData.charCodeAt(k)>=37 && IncomData.charCodeAt(k)<=126)  ))
							{
								mfield.focus();
								mfield.style.backgroundColor="dddddd"
								emailIsOk=1;

							}
							
							
						}


	if (emailIsOk==0)
	{
	    return true
	}
	else
	{
	    	alert(message)
		mfield.focus();
		mfield.select();
    		return false
	}
}
 else {
    alert(message)
	mfield.focus();
	mfield.select();
    	return false

}
}
//########################################################     	
//This function implements the validation on checkboxes and radio buttons, and it is invoked from within
//the checkform function.
function checkCheckbox(TheFormName,number)
{	
	var chk;
	chk=true;
	var i;
	//TheFormName=eval("document.all."+TheFormName)
	//number=TheFormName.elements.length-1;
	for (i=0; i < number; i++)	
	{			
		
		if (((TheFormName.elements[i].type=="checkbox")||(TheFormName.elements[i].type=="radio"))&&(TheFormName.elements[i].req==1))	
		{	
			chk = false;
			var j;
			fieldName = TheFormName.elements[i].name;
			//alert(fieldName);			
			ObjCheckBox=document.getElementsByName(fieldName);
	
			//alert(ObjCheckBox[9].name);
	
			for (j=0;j<ObjCheckBox.length;j++)
			{				
				if (ObjCheckBox[j].checked)
				{
					chk=true;
				}				
			}
			
			if (!(chk))
			{
				alert(ObjCheckBox[0].msg);
				//alert(j);
				ObjCheckBox[0].focus();
				break;
			}
			
			i=i+j;
			//alert(TheFormName.elements[i].name);
		}		
	}
	//alert(chk);
	return chk;
}
//##############################################################
    function textLimitCheck(thisArea, showArea,maxLength)
	{

		AreaValue=thisArea.value;
		TempLength=AreaValue.split(/\n/).length;
		//jjj = AreaValueV.split(/\n/)
		//alert()
		//AreaValue=AreaValueV.replace(/\n/,"~")
		AeraLength=AreaValue.length+TempLength;
		//alert(AreaValue)
		if (AeraLength > maxLength)
		{
			alert(maxLength + ' characters limit. \r Excessive data will be truncated.');
			thisArea.value = thisArea.value.substring(0, maxLength-TempLength);
			thisArea.focus();
		}
		//showArea.value=showArea.value-thisArea.value.length;
		showArea.value=maxLength-AeraLength;
	}
	
	function ResizablePopupWindow(url,ww,hh) {
			window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+ ww +',height='+ hh +',screenX=150,screenY=150,top=150,left=150')
		}


//#################################################################
//The following is the code of the Trim function.

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

//#################################################################