// JavaScript Document
var xmlRegInsertHttp

var xmlAlbumAddHttp;
function validation(dynamic,str,filename) {
	//alert(dynamic);
	

    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':
			//alert(element.value);
			if(element.value=="")
			{
		document.getElementById(element.name+"_err").innerHTML="<img src=images/delete.png>";
				//document.getElementById(element.name+"_label").className="err_content";
				FirstError += element.name + ",";
				
			}  
			else
			{
				totData += element.name + '=' + escape(element.value) + '&';
				document.getElementById(element.name+"_err").innerHTML="<img src=images/checkmark.gif>";
				//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 color=red> Not valid Email!!</font>";
							//document.getElementById(element.name+"_label").className="err_content";
							FirstError += element.name + ",";
					}
					if(element.value!="" && prvEmail!="") {
						if(document.getElementById(prvEmail).value!=element.value) {
							document.getElementById(element.name+"_err").innerHTML=" Email Doesn't Match!!";
							//document.getElementById(element.name+"_label").className="err_content";
							FirstError += element.name + ",";
						}
						
					}
					
				}
				
				if(myval.search("phone")!=-1)
				{
					
					if(isNaN(element.value) || !element.value.match(/^\d{10}$/) )
					{
						
						document.getElementById(element.name+"_err").innerHTML=" Enter valid 10 Numbers!!";
						//	document.getElementById(element.name+"_label").className="err_content";
							FirstError += element.name + ",";
							
					} 
				}
				
				if(myval.search("dob")!=-1)
				{
					
					if(!element.value.match(/^\d{4}-\d{2}-\d{2}$/))
					{
						
						document.getElementById(element.name+"_err").innerHTML="<font color=red>Invalid Format</font>";
						//	document.getElementById(element.name+"_label").className="err_content";
							FirstError += element.name + ",";
							
					} 
				}
				
				
				if(element.name=="uname") {
				var unameValue = element.value;
				}
				
				
				
				
			}
			
			
				
			break;
			
			case 'textarea':
        	if(element.value=="")
			{
				document.getElementById(element.name+"_err").innerHTML="<img src=images/delete.png>";
				//document.getElementById(element.name+"_label").className="err_content";
				FirstError += element.name + ",";
				
			}
			else
			{
				totData += element.name + '=' + escape(element.value)+ '&';
				document.getElementById(element.name+"_err").innerHTML="<img src=images/checkmark.gif>";
				//document.getElementById(element.name+"_label").className="content";
			}
            break;
			
			case 'file':
        	if(element.value=="")
			{
				document.getElementById(element.name+"_err").innerHTML="<img src=images/delete.png>";
				//document.getElementById(element.name+"_label").className="err_content";
				FirstError += element.name + ",";
				
			}
			else
			{
				totData += element.name + '=' + escape(element.value)+ '&';
				document.getElementById(element.name+"_err").innerHTML="<img src=images/checkmark.gif>";
				//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 color=red>Not match</font>";
					//document.getElementById(element.name+"_label").className="err_content";
					FirstError += element.name + ",";
					
				} else {
					
					QueryString += element.name + "=" + element.value + "&";
					document.getElementById(element.name+"_err").innerHTML="<img src=images/checkmark.gif>";
					//document.getElementById(element.name+"_label").className="content";
				}
			
			} else {
				if(element.value=="")
				{
					document.getElementById(element.name+"_err").innerHTML="<img src=images/delete.png>";
					//document.getElementById(element.name+"_label").className="err_content";
					FirstError += element.name + ",";
					
				} else if(element.value.length<4) {
					
					document.getElementById(element.name+"_err").innerHTML="<font color=red>4 chars </font>";
					//document.getElementById(element.name+"_label").className="err_content";
					FirstError += element.name + ",";
				}
				else
				{
					totData += element.name + '=' + escape(element.value) + '&';
					document.getElementById(element.name+"_err").innerHTML="<img src=images/checkmark.gif>";
					//document.getElementById(element.name+"_label").className="content";
					prvPass = element.name;
				}
				
			}
			
			break;
			
			case 'hidden':
        	if(element.value=="")
			{
				document.getElementById(element.name+"_err").innerHTML="<img src=images/delete.png>";
				//document.getElementById(element.name+"_label").className="err_content";
				FirstError += element.name + ",";
				
			}
			else
			{
				totData += element.name + '=' + escape(element.value)+ '&';
				document.getElementById(element.name+"_err").innerHTML="<img src=images/checkmark.gif>";
				//document.getElementById(element.name+"_label").className="content";
			}
            break;
			
			case 'select-one':
        	if(element.value=="")
			{
				document.getElementById(element.name+"_err").innerHTML="<img src=images/delete.png>";
				//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="<img src=images/checkmark.gif>";
				//document.getElementById(element.name+"_label").className="content";
			}	
            break;
            case 'radio':
				if (element.checked)
				{
				
              	 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="<img src=images/checkmark.gif>";
				//document.getElementById(element.name+"_label").className="content";
				
			} else {
			
					document.getElementById(element.name+"_err").innerHTML="<img src=images/delete.png>";
					//document.getElementById(element.name+"_label").className="err_content";
							
				if(FirstError.search(element.name)==-1) {
				FirstError += element.name + ",";
				}
				
				
				
			}
			
			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="<img src=images/checkmark.gif>";
				//document.getElementById(element.name+"_label").className="content";
				
			} else {
				document.getElementById(element.name+"_err").innerHTML="<img src=images/delete.png>";
				//document.getElementById(element.name+"_label").className="err_content";
				
							
				if(FirstError.search(element.name)==-1) {
				FirstError += element.name + ",";
				}
				
			}
			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) {
						
					
					//alert(cap_res);
					//Capcha Test
					/*if( && filename=='reg_insert.php')
					{*/
							
						if(filename=='reg_insert.php')
						{
							if(cap_res==1){
							var url = filename + '?' + totData;
							//alert(url);
							xmlRegInsertHttp=GetXmlHttpObject();
							xmlRegInsertHttp.onreadystatechange=stateRegInsert;
							xmlRegInsertHttp.open("get",url,true);
							xmlRegInsertHttp.send(null);
							document.getElementById("reg_result").innerHTML="<img src=images/ajax-loader.gif>";
							return false;	
							}else{
								document.getElementById('txtCaptcha_err').innerHTML="<font color=red>Invalid code</font>";
							return false;
							}
						}
					
					
					//Album Add
					
					if(filename=='albumname_add.php')
					{
						
						var url = filename + '?' + totData;
						//alert(url);
						xmlAlbumAddHttp=GetXmlHttpObject();
						xmlAlbumAddHttp.onreadystatechange=stateAlbumInsert;
						xmlAlbumAddHttp.open("get",url,true);
						xmlAlbumAddHttp.send(null);
						document.getElementById("album_result").innerHTML="<img src=images/ajax-loader.gif>";
						return false;	
					}
					
					
					
					//alert("correct");
				return false;
				}
				
				
			break;
		}
    }else{ // (non mantadory fields)
		totData += element.name + '=' + escape(element.value)+ '&';
		//alert(totData);	
	     }
	}

}



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;
}


//Select article Vote

var xmlSelVoteHttp;
function selectVote(cat_id)
{
		category_id=cat_id;
		
		var url ="vote_select.php?cat_id="+category_id;
		//alert(url);
		xmlSelVoteHttp=GetXmlHttpObject();
		xmlSelVoteHttp.onreadystatechange=stateselectVote;
		xmlSelVoteHttp.open("get",url,true);
		xmlSelVoteHttp.send(null);
		document.getElementById("vote").innerHTML="<img src=admin/images/ajax-loader.gif>";
		return false;		
	
}

function stateselectVote()	
{
	if (xmlSelVoteHttp.readyState==4)
	{
		
		//alert(xmlSelVoteHttp.responseText);
		document.getElementById("vote").innerHTML=xmlSelVoteHttp.responseText;
		
	}
}



//Article Rating
//Insert New vote
var xmlArticleHttp;
function articleRating(article_id,form_name)
{
		//alert(form_name);
		form=form_name;
		var url ="article_rating.php?art_id="+article_id;
		//alert(url);
		xmlArticleHttp=GetXmlHttpObject();
		xmlArticleHttp.onreadystatechange=stateArticle;
		xmlArticleHttp.open("get",url,true);
		xmlArticleHttp.send(null);
		//document.getElementById("rate").innerHTML="<img src=admin/images/ajax-loader.gif>";
		return false;		
	
}

function stateArticle()	
{
	if (xmlArticleHttp.readyState==4)
	{
		form.submit();
		//alert(xmlArticleHttp.responseText);
		//alert(category_id);
		//selectVote(category_id);
		
		
			
		
	}
}




var xmlSelScriptHttp;

function content_feed(type,cat_id)
{
	
	
		var url ="sel_script.php?type="+type+"&cat_id="+cat_id;
		//alert(url);
		xmlSelScriptHttp=GetXmlHttpObject();
		xmlSelScriptHttp.onreadystatechange=statecontentfeed;
		xmlSelScriptHttp.open("get",url,true);
		xmlSelScriptHttp.send(null);
		//document.getElementById("rate").innerHTML="<img src=admin/images/ajax-loader.gif>";
		return false;		
	
}

function statecontentfeed()	
{
	if (xmlSelScriptHttp.readyState==4)
	{
		
		//alert(xmlSelScriptHttp.responseText);
		document.getElementById("con_feed").value=xmlSelScriptHttp.responseText;
	}
}










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;
}
