function validateusername(str,name) 
{
	var txt=str.value;
	var retval=true;
	if (/^[a-z][a-z0-9._-]{0,25}[a-z0-9]$/i .test(txt))	
	 retval=true;		
	else
	 retval=false;		
	if(!retval)
	{
		alert(name);
		str.focus();
	}
	return retval;
}

function validateadminusername(str,name)
{
var validchar="abcdefghijklmnopqrstuvwxyz1234567890_-.@";
	var txt=str.value;
	var retval=true;
	for (var i=0;i<txt.length;i++)
	{
		var ex=validchar.indexOf(txt.substring(i,i+1));
		if(ex==-1)
		{
		alert (name);
		retval=false;		
		str.focus();
		break;
		}	
	}
	return retval;
}
function validatealphanumeric(str,name)
{
	var validchar="abcdefghijklmnopqrstuvwxyz";
	var txt=str.value;
	var val1=0;
	var val2=0;
		
	var retval=true;
	
	for (var i=0;i<txt.length;i++)
	{
		var ex=validchar.indexOf(txt.substring(i,i+1));
		if(ex > -1)
			val1=1;
	}
	var validchar="0123456789";
	var txt=str.value;
	for (var i=0;i<txt.length;i++)
	{
		var ex=validchar.indexOf(txt.substring(i,i+1));
		if(ex > -1)
			val2=1;
	}
	
	if(val1==0 || val2==0)
	{
		alert(name);
		str.focus();
	}
	else
		return true;
	
	
}
function validatepassword(str,name) 
{
	var txt=str.value;
	var retval=true;
	if(txt=="")
	{
		alert(name);
		str.focus();
		retval=false;				
	}
	if (/^[a-z0-9]{0,25}$/i .test(txt))	
	 retval=true;		
	else
	 retval=false;		
	if(!retval)
	{
		alert(name);
		str.focus();
	}
	return retval;
}

function validatemail(str,name) 
{
	var txt=str.value;
	var retval=true;
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(txt))	
	 retval=true;		
	else
	 retval=false;		
	if(!retval)
	{
		alert(name);
		str.focus();
	}
	return retval;
}

function validatemultiplemail(str,name,focusing) 
{
	var txt=str;
	var retval=true;
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(txt))	
	 retval=true;		
	else
	 retval=false;		
	if(!retval)
	{
		alert (name);
		focusing.focus();
	}
	return retval;
}

function validateintegers(str,name) 
{
	var validchar="1234567890";
	var txt=str.value;
	var retval=true;
	for (var i=0;i<txt.length;i++)
	{
		var ex=validchar.indexOf(txt.substring(i,i+1));
		if(ex==-1)
		{
		alert (name);
		retval=false;		
		str.focus();
		break;
		}	
	}
	return retval;	
}

function validatephone(str,name) 
{
	var validchar="1234567890+-";
	var txt=str.value;
	var retval=true;
	for (var i=0;i<txt.length;i++)
	{
		var ex=validchar.indexOf(txt.substring(i,i+1));
		if(ex==-1)
		{
		alert (name);
		retval=false;		
		str.focus();
		break;
		}	
	}
	return retval;	
}

function validateempcode(str,name) 
{
	var validchar="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var txt=str.value;
	var retval=true;
	for (var i=0;i<txt.length;i++)
	{
		var ex=validchar.indexOf(txt.substring(i,i+1));
		if(ex==-1)
		{
		alert (name);
		retval=false;		
		str.focus();
		break;
		}	
	}
	return retval;	
}

function validatename(str,name) 
{
	var validchar="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ. ";
	var txt=str.value;
	var retval=true;
	for (var i=0;i<txt.length;i++)
	{
		var ex=validchar.indexOf(txt.substring(i,i+1));
		if(ex==-1)
		{
			alert(name);
			retval=false;		
			str.focus();
			break;
		}	
	}
	return retval;	
}



function validatefax(str,name) 
{
	var validchar="1234567890-";
	var txt=str.value;
	var retval=true;
	for (var i=0;i<txt.length;i++)
	{
		var ex=validchar.indexOf(txt.substring(i,i+1));
		if(ex==-1)
		{
			alert (name);
			retval=false;		
			str.focus();
			break;
		}	
	}
	return retval;	
}

function validateprice(str,name) 
{
	var validchar="1234567890.";
	var txt=str.value;
	var retval=true;
	for (var i=0;i<txt.length;i++)
	{
		var ex=validchar.indexOf(txt.substring(i,i+1));
		if(ex==-1)
		{
		alert (name);
		retval=false;		
		str.focus();
		break;
		}	
	}
	return retval;	
}

function trim(inputString) 
{
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") 
   {
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ")
    {
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1)
    {
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue;
}

function validempty(txt,name)
{
	val=txt.value;
	var retval=true;
	if (trim(val)=="")
	{
	alert (name);
	txt.focus();
	retval=false;
	}
	return retval; 
}

function validemptyCombo(cbo,name)
{
	val = -1;
	val=cbo.value;
	var retval=true;
	if (val == 0 || val == -1)
	{
		alert (name);
		cbo.focus();
		retval=false;
	}
	return retval; 
}

function validcompare(txt1,txt2,name)
{
	var val1=txt1.value;
	var val2=txt2.value;
	var retval=true;
	if (val1!=val2)
	{
	alert (name);
	txt2.focus();
	retval=false;
	}
	return retval; 
}

function CheckUncheckAll(form)
{
	var SelectAll=form.SelectAll;
	for (var i=0;i<form.elements.length;i++)
	{
		var e=form.elements[i];
		if (SelectAll.checked)
			e.checked=true;
		else
			e.checked=false;
	}
}

function validemptyCheck(txt,name)
{
	var retval=true;
	if (!txt.checked)
	{
	alert ("Please You Must "+name);
	txt.focus();
	retval=false;
	}
	return retval; 
}

function validemptyherefor(txt1,txt2,txt3,name)
{
	var retval=true;
	if ( (!txt1.checked)&&(!txt2.checked)&&(!txt3.checked) )
	{
	alert ("Please You Must "+name);
//	txt.focus();
	retval=false;
	}
	return retval; 
}

// getting the selected index of the radio group

function getSelectedIndex(radgroup)
{
	var j = -1;
	for( i=0; i < radgroup.length; i++ )
	{
		if( radgroup[i].checked )
		{
			j = i;
		}
	}
	return j;
}

function validateimage(txt,name)
{
	filename=txt.value;
	var retval=true;
	var extension;
	var Img1 = new Image();
	if (filename != '')
	{  
	  extension = filename.substring(filename.length - 3, filename.length);
	  if ((extension.toUpperCase() != 'JPG') && (extension.toUpperCase() != 'GIF') && (extension.toUpperCase() != 'PNG') && (extension.toUpperCase() != 'BMP'))
	  {
		retval = false;
		alert(name);
		txt.focus();
	  }
	}
	return retval;
}

function validatedocument(txt,name)
{
	filename=txt.value;
	var retval=true;
	var extension;
	var Img1 = new Image();
	if (filename != '')
	{  
	  extension = filename.substring(filename.length - 3, filename.length);
	  if ((extension.toUpperCase() != 'DOC') && (extension.toUpperCase() != 'DOCX') && (extension.toUpperCase() != 'XLS') && (extension.toUpperCase() != 'PPT') && (extension.toUpperCase() != 'PDF') && (extension.toUpperCase() != 'TXT'))
	  {
		retval = false;
		alert(name);
		txt.focus();
	  }
	}
	return retval;
}

function validatecontactusupload(txt,name)
{
	filename=txt.value;
	var retval=true;
	var extension;
	var Img1 = new Image();
	if (filename != '')
	{  
	  extension = filename.substring(filename.length - 3, filename.length);
	  if ((extension.toUpperCase() != 'DOC') && (extension.toUpperCase() != 'DOCX') && (extension.toUpperCase() != 'XLS') && (extension.toUpperCase() != 'JPG') && (extension.toUpperCase() != 'JPEG'))
	  {
		retval = false;
		alert(name);
		txt.focus();
	  }
	}
	return retval;
}

function validateprojectdocument(txt,name)
{
	filename=txt.value;
	var retval=true;
	var extension;
	var Img1 = new Image();
	if (filename != '')
	{  
	  extension = filename.substring(filename.length - 3, filename.length);
	  if ((extension.toUpperCase() != 'PDF') && (extension.toUpperCase() != 'PPS') && (extension.toUpperCase() != 'JPG') && (extension.toUpperCase() != 'GIF') && (extension.toUpperCase() != 'PNG') && (extension.toUpperCase() != 'BMP'))
	  {
		retval = false;
		alert(name);
		txt.focus();
	  }
	}
	return retval;
}
function validatedocimage(txt,name)
{
	filename=txt.value;
	var retval=true;
	var extension;
	var Img1 = new Image();
	if (filename != '')
	{  
	  extension = filename.substring(filename.length - 3, filename.length);
	  if ((extension.toUpperCase() != 'PDF') && (extension.toUpperCase() != 'JPG') && (extension.toUpperCase() != 'GIF') && (extension.toUpperCase() != 'PNG') && (extension.toUpperCase() != 'BMP') && (extension.toUpperCase() != 'DOC') && (extension.toUpperCase() != 'DOCX') && (extension.toUpperCase() != 'XLS') && (extension.toUpperCase() != 'JPG'))
	  {
		retval = false;
		alert(name);
		txt.focus();
	  }
	}
	return retval;
}

function validatepdf(txt,name)
{
	filename=txt.value;
	var retval=true;
	var extension;
	var Img1 = new Image();
	if (filename != '')
	{  
	  extension = filename.substring(filename.length - 3, filename.length);
	  if ((extension.toUpperCase() != 'PDF'))
	  {
		retval = false;
		alert(name);
		txt.focus();
	  }
	}
	return retval;
}

function validatedocument(txt,name)
{
	var filename=txt.value;
	var retval=true;
	var extension;
	var Img1 = new Image();
	if (filename != '')
	{  
	  extension = filename.substring(filename.length - 3, filename.length);
	  if ((extension.toUpperCase() != 'DOC') && (extension.toUpperCase() != 'PDF') && (extension.toUpperCase() != 'TXT') && (extension.toUpperCase() != 'HTML') && (extension.toUpperCase() != 'XLS'))
	  {
		retval = false;
		alert(name);
		txt.focus();
	  }
	}
	return retval;
}

//ajax Functions--------------------------
function createRequestObject() {
	req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	return req;
}

function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
			var response = req.responseText;
			//alert(response);
			var resarray = response.split("|");
			if(resarray[0] != "")
			{
				if(resarray[3] == "regform")
					document.getElementById('city').value   = resarray[0];
				else
					document.getElementById('location').value = resarray[0];
			}
			if(resarray[1] != "")
			document.getElementById('region').value = resarray[1];
			if(resarray[2] != "")
			document.getElementById('country').value= resarray[2];
			//document.getElementById('zipcode_cage').innerHTML = response;
        } else {
	           alert("There was a problem retrieving the data:\n" +
                req.statusText);
        }
    }
}

//ajax Functions--------------------------
function validyear(dd,mm,yy,date,month,year)
{
		var validchar="1234567890";
		var txt=yy.value;

		if(dd.value=="")
		{
			alert(date);
			dd.focus();
			return false;
		}
		if(mm.value=="")
		{
			alert(month);
			mm.focus();
			return false;
		}
		if(yy.value=="")
		{
			alert(year);
			yy.focus();
			return false;
		}
		if(yy.value.length!=4)
		{
			alert (year);
			yy.focus();
			return false;
		}
		for (var i=0;i<yy.value.length;i++)
		{
			var ex=validchar.indexOf(yy.value.substring(i,i+1));
			if(ex==-1)

			{
				alert (year);
				yy.focus();
				return false;
				break;
			}	
		}
		if((parseInt(yy.value/100) !=19) && (parseInt(yy.value/100)!=20))
		{
			alert('year'+year);
			yy.focus();
			return false;
		}
		if((yy.value%4!=0) && (mm.value==2) && (dd.value>28))
		{
			alert(date);
			dd.focus();
			return false;
		}
		if((yy.value%4==0) && (mm.value==2) && (dd.value>29))
		{
			alert(date);
			dd.focus();
			return false;
		}
		if((mm.value==4) || (mm.value==6) || (mm.value==9) || (mm.value==11))
		{
			if(dd.value>30)
			{
				alert(date);
				dd.focus();
				return false;
			}
		}
	return true;			
}
function datediff(d1,m1,y1,d2,m2,y2,mesg1,mesg2,mesg3)
{
	if(y2.value<y1.value)
	{
		alert(mesg3);		
		y2.focus();
		return false;
	}
	if(y2.value==y1.value)
	{
		if(m2.value < m1.value)
		{
			alert(mesg2);
			m2.focus();
			return false;
		}
		else if(m1.value==m2.value)
		{
			if(d2.value < d1.value)
			{
				alert(mesg1);
				d2.focus();
				return false;
			}
		}
	}
	return true;
}

function datedifference(d1,m1,y1,d2,m2,y2,mesg1,mesg2,mesg3)
{
	if(y2<y1.value)
	{
		alert(mesg3);		
		y1.focus();
		return false;
	}
	if(y2==y1.value)
	{
		if(m2 < m1.value)
		{
			alert(mesg2);
			m1.focus();
			return false;
		}
		else if(m1.value==m2)
		{
			if(d2 < d1.value)
			{
				alert(mesg1);
				d1.focus();
				return false;
			}
		}
	}
	return true;
}