function validateusername(str,name) 
{
	var txt=str.value;
	var retval=true;

	
	//if (/^[a-z][a-z0-9._-]{0,14}$/i .test(txt))	
	if (/^[a-z][a-z0-9._-]{0,13}[a-z0-9]$/i .test(txt))	
	 retval=true;		
	else
	 retval=false;		
	
	 
	if(!retval)
	{
		alert (name);
		str.focus();
	}
	return retval;
}

function validatepassword(str,name) 
{
	var txt=str.value;
	var retval=true;

	
	if (/^[a-z0-9]{0,14}$/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 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 ("Please Enter Numerics only "+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 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)=="")
	{
		name1="Please Enter the "+name;
	alert (name1);
	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)
{
	/* Returns back the id of selected radio button in a radio button group  */
	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() != 'PDF') && (extension.toUpperCase() != 'TXT') && (extension.toUpperCase() != 'TML'))
	  {
		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] != "")
				//document.getElementById('city').value = resarray[0];
			   if(resarray[1]!= "" && resarray[1]!= "0")
				document.getElementById('region').value = resarray[1];
				if(resarray[2] != "" && resarray[2]!= "0" )
				 document.getElementById('country').value= resarray[2];
				 
		 
		
        } 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;
			}
		}
		else
		{
			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;
			}
		}
	}
}

