// JavaScript Document
var xmlRegInsertHttp

var xmlPostCommentHttp;
function validation(dynamic,str,filename) {

    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="";
				//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="";
				//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="";
				//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="";
					//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="";
					//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="";
				//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="";
				//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="";
				//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="";
				//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) {
						
					
					
					
					
					//Album Add
					
					if(filename=='pcomment.php')
					{
						
						var url = filename + '?' + totData;
						//alert(url);
						xmlPostCommentHttp=GetXmlHttpObject();
						xmlPostCommentHttp.onreadystatechange=statePostComment;
						xmlPostCommentHttp.open("get",url,true);
						xmlPostCommentHttp.send(null);
						document.getElementById("comment_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;
}


//Load Function

var xmlBodyLoadHttp;
function body_load(blog_id)
{
		var url ="body_load.php";
		//alert(window.location.hash);
		xmlBodyLoadHttp=GetXmlHttpObject();
		xmlBodyLoadHttp.onreadystatechange=stateBodyLoad;
		xmlBodyLoadHttp.open("get",url,true);
		xmlBodyLoadHttp.send(null);
		document.getElementById("blogs").style.display="block";
		document.getElementById("blogs").innerHTML="<img src=images/loader.gif>";
		return false;		
	
}

function stateBodyLoad()	
{
	if (xmlBodyLoadHttp.readyState==4)
	{
		
		var load_res = xmlBodyLoadHttp.responseText.split("####");
		//alert(load_res[0]);
		//blog list
		
		if(load_res[0]=="bloglist")
		{
			BlogList(load_res[1]);
		}
		else if(load_res[0]=="recent")
		{
			RecentBlogs(load_res[1]);
		}
		else if(load_res[0]=="archive")
		{
			archive(load_res[1]);
		}
		else if(load_res[0]=="search")
		{
			search_blog(load_res[1]);
		}
		else if(load_res[0]=="cms")
		{
			cms(load_res[1]);
		}
		
		
	}
}


//Recent blogs

var xmlRecentBlogHttp;
function RecentBlogs(blog_id)
{
		var url ="recent_blogs.php?blog_id="+blog_id;
		//alert(url);
		xmlRecentBlogHttp=GetXmlHttpObject();
		xmlRecentBlogHttp.onreadystatechange=stateRecentBlog;
		xmlRecentBlogHttp.open("get",url,true);
		xmlRecentBlogHttp.send(null);
		document.getElementById("blogs").style.display="block";
		document.getElementById("blogs").innerHTML="<img src=images/loader.gif>";
		return false;		
	
}

function stateRecentBlog()	
{
	if (xmlRecentBlogHttp.readyState==4)
	{
		
		//alert(xmlRecentBlogHttp.responseText);
		
		document.getElementById("blogs").innerHTML=xmlRecentBlogHttp.responseText;
		
		//List user comments
		ListComm();
	}
}



//Blog List Depend On Category
var xmlBlogListHttp;
function BlogList(cat_id)
{
	category_id=cat_id;
	
		var url ="blog_list.php?cat_id="+cat_id;
		//alert(url);
		xmlBlogListHttp=GetXmlHttpObject();
		xmlBlogListHttp.onreadystatechange=stateBlist;
		xmlBlogListHttp.open("get",url,true);
		xmlBlogListHttp.send(null);
		document.getElementById("blogs").style.display="block";
		document.getElementById("blogs").innerHTML="<img src=images/loader.gif border=0>";
		return false;		
	
}

function stateBlist()	
{
	if (xmlBlogListHttp.readyState==4)
	{
		
		//alert(xmlBlogListHttp.responseText);
		
		document.getElementById("blogs").innerHTML=xmlBlogListHttp.responseText;
		
	}
}


//CMS
var xmlcmsHttp;
function cms(id)
{
		var url ="cms.php?id="+id;
		//alert(url);
		xmlcmsHttp=GetXmlHttpObject();
		xmlcmsHttp.onreadystatechange=statecms;
		xmlcmsHttp.open("get",url,true);
		xmlcmsHttp.send(null);
		document.getElementById("blogs").style.display="block";
		document.getElementById("blogs").innerHTML="<img src=images/loader.gif>";
		return false;		
	
}

function statecms()	
{
	if (xmlcmsHttp.readyState==4)
	{
		
		//alert(xmlcmsHttp.responseText);
		
		document.getElementById("blogs").innerHTML=xmlcmsHttp.responseText;
		
	}
}


// post user comments
function statePostComment()	
{
	if (xmlPostCommentHttp.readyState==4)
	{
		
		//alert(xmlPostCommentHttp.responseText);
		document.getElementById("name").value="";
		document.getElementById("email").value="";
		document.getElementById("comm").value="";
		document.getElementById("comment_result").innerHTML="<font color=red>Successfully post</font>";
		
		//List the User Comments
		ListComm();
		
	}
}


//List the user comments
var xmlListCommHttp;
function ListComm()
{
		var url ="comment_list.php";
		//alert(url);
		xmlListCommHttp=GetXmlHttpObject();
		xmlListCommHttp.onreadystatechange=stateListComm;
		xmlListCommHttp.open("get",url,true);
		xmlListCommHttp.send(null);
		
		document.getElementById("comment_list").innerHTML="<img src=images/loader.gif>";
		return false;		
	
}

function stateListComm()	
{
	if (xmlListCommHttp.readyState==4)
	{
		
		//alert(xmlListCommHttp.responseText);
		
		document.getElementById("comment_list").innerHTML=xmlListCommHttp.responseText;
		
	}
}


//Search Blogs
var xmlSearchBlogHttp;
function search_blog(search_value)
{
		var url ="search.php?search_value="+search_value;
		//alert(url);
		xmlSearchBlogHttp=GetXmlHttpObject();
		xmlSearchBlogHttp.onreadystatechange=stateSearchBlog;
		xmlSearchBlogHttp.open("get",url,true);
		xmlSearchBlogHttp.send(null);
		document.getElementById("blogs").style.display="block";
		document.getElementById("blogs").innerHTML="<img src=images/loader.gif>";
		return false;		
	
}

function stateSearchBlog()	
{
	if (xmlSearchBlogHttp.readyState==4)
	{
		
		//alert(xmlSearchBlogHttp.responseText);
		
		document.getElementById("blogs").innerHTML=xmlSearchBlogHttp.responseText;
		
	}
}



//Archives
var xmlArchiveHttp;
function archive(month)
{
		var url ="archive.php?month_value="+month;
		//alert(url);
		xmlArchiveHttp=GetXmlHttpObject();
		xmlArchiveHttp.onreadystatechange=stateArchive;
		xmlArchiveHttp.open("get",url,true);
		xmlArchiveHttp.send(null);
		document.getElementById("blogs").style.display="block";
		document.getElementById("blogs").innerHTML="<img src=images/loader.gif>";
		return false;		
	
}

function stateArchive()	
{
	if (xmlArchiveHttp.readyState==4)
	{
		
		//alert(xmlArchiveHttp.responseText);
		document.getElementById("blogs").innerHTML=xmlArchiveHttp.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;
}
