var xmlTransferHttp;
var xmlItemHttp;

function validation(dynamic,str,filename,itemid,cateid)
{
	updateId=itemid;
 	catid=cateid;

	var element;
   	var FirstError = '';
	var lastElement = '';
	var Content = '';
	var last = '';
	var lcon = '';
	var radioErr = '';
	var prvPass = '';
	var prvEmail = '';
	var QueryString = '';
	var totData = '';
	var xmlInsertHttp;
   	for (i = 0; i < dynamic.elements.length; i++) 
	{
    	element = dynamic.elements[i];		
		if(str.search(element.name)==-1)
		{				
			switch (element.type) 
			{			 
				case 'text':
				
				if(element.value=="")
				{
					document.getElementById(element.name+"_err").innerHTML="<font>Required  Field !!</font>";
					//document.getElementById(element.name+"_label").className="err_content";
					FirstError += element.name + ",";
					return false;				
				} 
				else
				{
					totData += element.name + '=' + escape(element.value) + '&';
					document.getElementById(element.name+"_err").innerHTML="";
					//document.getElementById(element.name+"_label").className="content";
					QueryString += element.name + "=" + element.value + "&";
					var myval = element.name;
					if(myval.search("email")!=-1 || myval.search("mail")!=-1)
					{
						if(isNotEmail(element.value))
						{
							document.getElementById(element.name+"_err").innerHTML="<font>Not valid Email!!</font>";
							//document.getElementById(element.name+"_label").className="err_content";
							FirstError += element.name + ",";
							return false;
						}
						if(element.value!="" && prvEmail!="")
						{
							if(document.getElementById(prvEmail).value!=element.value)
							{
								document.getElementById(element.name+"_err").innerHTML="<font>Email Doesn't Match!!</font>";
								//document.getElementById(element.name+"_label").className="err_content";
								FirstError += element.name + ",";
								return false;
							}					
						}				
					}
					
					if(myval.search("url")!=-1)
					{
						if(isNotUrl(element.value))
						{
							document.getElementById(element.name+"_err").innerHTML="<font>Not valid Url!! Continue with that</font>";
							document.getElementById(element.name).value="http://";
							FirstError += element.name + ",";
							return false;
						}
					}
			
					if(myval.search("contact")!=-1 || myval.search("price")!=-1)
					{					
						if(isNaN(element.value))
						{						
							document.getElementById(element.name+"_err").innerHTML="<font>Only number is required!</font>";
							//document.getElementById(element.name+"_label").className="err_content";
							FirstError += element.name + ",";
							return false;
						}
						/*else if(!element.value.match(/^\d{10}$/))
						{						   
							document.getElementById(element.name+"_err").innerHTML="<font>Enter 10 Digit mobile no!</font>";
							FirstError += element.name + ",";
							return false;
						}*/
					}
				}
				break;
		
				case 'textarea':
				
				if(element.value=="")
				{
					document.getElementById(element.name+"_err").innerHTML="<font>Required  Field !!</font>";
					//document.getElementById(element.name+"_label").className="err_content";
					FirstError += element.name + ",";
					return false;			
				}
				else
				{				   
					totData += element.name + '=' + escape(element.value)+ '&';
					document.getElementById(element.name+"_err").innerHTML="";
					//document.getElementById(element.name+"_label").className="content";
				}
				break;			
		
				case 'password':			
		
				if(element.name!=prvPass && prvPass!="")
				{
					if(document.getElementById(element.name).value!=document.getElementById(prvPass).value)
					{
						document.getElementById(element.name+"_err").innerHTML="<font>Password does't match!!</font>";
						//document.getElementById(element.name+"_label").className="err_content";
						FirstError += element.name + ",";
						return false;					
					}
					else
					{					
						QueryString += element.name + "=" + element.value + "&";
						document.getElementById(element.name+"_err").innerHTML="";
						//document.getElementById(element.name+"_label").className="content";
					}			
				}
				else
				{
					if(element.value=="")
					{
						document.getElementById(element.name+"_err").innerHTML=" <font>Required  Field !!</font>";
						//document.getElementById(element.name+"_label").className="err_content";
						FirstError += element.name + ",";
						return false;
					}
					else
					{
						document.getElementById(element.name+"_err").innerHTML="";
						//document.getElementById(element.name+"_label").className="content";
						prvPass = element.name;
					}			
				}		
				break;			
	
				/*case 'radio':
				alert(element.checked);
				var i=1;
				if (element.checked)
				{	i++;			
              	 	if (element.name == last)
			  	 	{				
				 		if (lcon.lastIndexOf('&') == lcon.length-1)
				 		{
							lcon = lcon.substr(0, lcon.length - 1);
				 		}
                 		lcon += ',' + escape(element.value);
					}
					else
					{
						lcon += element.name + '=' + escape(element.value);
					}
					lcon += '&';
					last = element.name;
					document.getElementById(element.name+"_err").innerHTML="";
					//document.getElementById(element.name+"_label").className="content";				
				}
				else
				{			
					document.getElementById(element.name+"_err").innerHTML="<font>Required  Field !!</font>";
					//document.getElementById(element.name+"_label").className="err_content";							
					if(FirstError.search(element.name)==-1)
					{
						FirstError += element.name + ",";
						return false;
					}				
				}
				break;*/                
		
				case 'checkbox':
				
				if (element.checked)
				{
					if (element.name == lastElement)
					{
						if (Content.lastIndexOf('&') == Content.length-1)
						{
							Content = Content.substr(0, Content.length - 1);
						}
						Content += ',' + escape(element.value);
					}
					else
					{
						Content += element.name + '=' + escape(element.value);
					}
					Content += '&';
					lastElement = element.name;
					document.getElementById(element.name+"_err").innerHTML="";
					//document.getElementById(element.name+"_label").className="content";				
				}
				else
				{
					document.getElementById(element.name+"_err").innerHTML="<font>Required  Field !!</font>";
					//document.getElementById(element.name+"_label").className="err_content";
					return false;							
					if(FirstError.search(element.name)==-1)
					{
						FirstError += element.name + ",";
					}				
				}
				
				case 'select-one':
				
				if(element.value=="")
				{
					document.getElementById(element.name+"_err").innerHTML="<font> This field is Required !!</font>";
					//document.getElementById(element.name+"_label").className="err_content";
					FirstError += element.name + ",";				
				}	
				else
				{
					totData += element.name + '=' + escape(element.value) + '&';
					QueryString += element.name + "=" + element.value + "&";
					document.getElementById(element.name+"_err").innerHTML="";
					//document.getElementById(element.name+"_label").className="content";
				}
				break;
				
				case 'file':
				
				if(element.value=="")
				{
					document.getElementById(element.name+"_err").innerHTML="<font>Required  Field !!</font>";
					//document.getElementById(element.name+"_label").className="err_content";
					FirstError += element.name + ",";
					return false;				
				}
				else
				{
					var ext = element.value;
	  				ext = ext.substring(ext.length-4,ext.length);
	  				ext = ext.toLowerCase();
	  				if(ext == '.jpg')
					{
						totData += element.name + '=' + escape(element.value)+ '&';
						document.getElementById(element.name+"_err").innerHTML="";
						//document.getElementById(element.name+"_label").className="content";	
					}
					else if(ext == '.gif') 
					{
						totData += element.name + '=' + escape(element.value)+ '&';
						document.getElementById(element.name+"_err").innerHTML="";
						//document.getElementById(element.name+"_label").className="content";	
					}
					else if(ext == '.png') 
					{
						totData += element.name + '=' + escape(element.value)+ '&';
						document.getElementById(element.name+"_err").innerHTML="";
						//document.getElementById(element.name+"_label").className="content";	
					}
					else if(ext == 'jpeg') 
					{
						totData += element.name + '=' + escape(element.value)+ '&';
						document.getElementById(element.name+"_err").innerHTML="";
						//document.getElementById(element.name+"_label").className="content";	
					}
	  				else
					{
	    				document.getElementById(element.name+"_err").innerHTML="<font>You selected a " + ext + " file; this is not allowed.</font>";
						//document.getElementById(element.name+"_label").className="err_content";
						FirstError += element.name + ",";
						return false; 
					}	
				}
				break;
				
				default:
				totData += lcon;
				totData += Content;
				QueryString += Content;
				var result = Content.split("&");
				for(a=0;a<result.length-1;a++) 
				{
					var newdata = result[a].split("=");
					if(newdata[1].length>0)
					{
						FirstError = FirstError.replace(newdata[0]+",","");
						document.getElementById(newdata[0]+"_err").innerHTML="";
						//document.getElementById(newdata[0]+"_label").className="content";						
					}
				}
				QueryString += lcon;
				var res = lcon.split("&");
				for(b=0;b<res.length-1;b++)
				{
					var data = res[b].split("=");
					if(data[1].length>0)
					{
						FirstError = FirstError.replace(data[0]+",","");
						document.getElementById(data[0]+"_err").innerHTML="";
						//document.getElementById(data[0]+"_label").className="content";						
					}
				}
				/*if(QueryString.length>255) {
					alert("QueryString is Grater than 255 :" + QueryString.length);
				}*/
				//alert(QueryString);
				if(FirstError.length>0)
				{
					var resErr = FirstError.split(",");
					document.getElementsByName(resErr[0])[0].focus();
					return false;
				}
				else if(filename.length>0)
				{
					return false;
				}
				break;
			}
		}
		else
		{ // (non mantadory fields)
			totData += element.name + '=' + escape(element.value)+ '&';
		}
	}
}

function isNotEmail(value)
{
    mailstr=value;
	
	a = mailstr.indexOf(".");

	b = mailstr.indexOf("@");

	c = mailstr.indexOf(" ");

	d = mailstr.lastIndexOf(".");

	e = mailstr.length;

	if( (a == -1) || (b == -1) || (c != -1) || (d < b) || ( d == e - 1) || (b+1 == a) )
	{
	  	return true
	}
	else
	return false;	
}

function isNotUrl(value)
{
    var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
    if (tomatch.test(value))
    {
        return true;
    }
    else
    {
	 	return false; 
    }
}

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
  	{
  		// Firefox, Opera 8.0+, Safari
  		xmlHttp=new XMLHttpRequest();
  	}
	catch (e)
  	{
  		// Internet Explorer
  		try
    	{
    		var aVersions = [ "MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Msxm12.XMLHTTP","Microsoft.XMLHttp"];
    		for (var i = 0; i < aVersions.length; i++) 
	 		{
        		try
				{
            		var xmlHttp = new ActiveXObject(aVersions[i]);
            		return xmlHttp;
            	} 
				catch (oError) 
		   		{
            		//Do nothing
           		}
    		}
    	}
  		catch (e)
    	{
    	}
  	}
  	if (xmlHttp==null)
  	{
  		alert ("Your browser does not support AJAX!");
  		return;
  	} 
	return xmlHttp;
}
