var xmlHttp;
var loaderImg = (new Image()).src = '/imgs/ajax-loader.gif';

function getVote(int,id)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 } 
var url="/lyrics/lyrics_vote.php"
url=url+"?vote="+int+"&id="+id
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function getTotalVote(id)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 } 
var url="/lyrics/lyrics_total_vote.php?id="+id
xmlHttp.onreadystatechange=stateChanged1 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
} 

function getArtistVote(artist)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 } 
var url="/lyrics/artists_vote.php"
url=url+"?vote="+artist
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged2 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function getArtistTotalVote(artist)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 } 
var url="/lyrics/artists_total_vote.php?id="+artist
xmlHttp.onreadystatechange=stateChanged2 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
} 

function stateChanged() 
{ 
 if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById("poll").
 innerHTML=xmlHttp.responseText;
 } 
} 

function stateChanged1() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	 {
		 if (xmlHttp.responseText.substring(5,7)=='id')
		 {
			 document.getElementById("vote_dash_none").
			 innerHTML=xmlHttp.responseText;
		 }
		 else
		 {
			 document.getElementById("poll").
			 innerHTML=xmlHttp.responseText;
		 } 
	 }
} 

function stateChanged2() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	 {
		 document.getElementById("artist_poll").
		 innerHTML=xmlHttp.responseText;
	 }
} 

function GetXmlHttpObject()
{ 
var objXMLHttp=null
if (window.XMLHttpRequest)
 {
 objXMLHttp=new XMLHttpRequest()
 }
else if (window.ActiveXObject)
 {
 objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
 }
return objXMLHttp
}

/* this part is for adding comments */
function addComment()
{
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	} 
	var url="/lyrics/add-comment.php"
	name = document.forms['commentForm'].txtemailName.value;
	email = document.forms['commentForm'].txtemail.value;
	comment = document.forms['commentForm'].areaComment.value;
	lyricsid = document.forms['commentForm'].hidLyricsID.value;
	xmlHttp.onreadystatechange=stateChanged4
	xmlHttp.open("POST",url,true)
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
	xmlHttp.send('commenttxt='+comment+'&emailU='+name+'&emailid='+email+'&lyid='+lyricsid)
	//xmlHttp.send(null)
} 
function stateChanged3() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("usercomments").
		innerHTML=xmlHttp.responseText;
	} 
}

function stateChanged4() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("usercomments").
		innerHTML=xmlHttp.responseText;
		document.getElementById("loader").
		innerHTML="<input type='submit' value='Share Comments'>";
	} 
	else if(xmlHttp.readyState==3 || xmlHttp.readyState==2 || xmlHttp.readyState==1)
	{
		document.getElementById("loader").
		innerHTML="<img src='/imgs/ajax-loader.gif'>";
	}
} 

/* this part is for getting comments */
function getComments(int)
{
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	}
	var url="/lyrics/get-comments.php"
	url=url+"?id="+int
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=stateChanged3
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}

/*verify form fields*/

function verify(formField) 
{
	var passed = false;
	var blnRetval, intAtSign, intDot, intComma, intSpace, intLastDot, intDomain, intStrLen;


	if (formField){
	
	  	EmailAddresses = formField.value.split(",");
	  	
	  	for (var i = 0; i < EmailAddresses.length; i++) {
			
			var EmailAddress = EmailAddresses[i];
			
			intAtSign=EmailAddress.indexOf("@");

			intDot=EmailAddress.indexOf(".",intAtSign);

			intComma=EmailAddress.indexOf(",");

			intSpace=EmailAddress.indexOf(" ");

			intLastDot=EmailAddress.lastIndexOf(".");

			intDomain=intDot-intAtSign;

			intStrLen=EmailAddress.length;

			// *** CHECK FOR BLANK EMAIL VALUE
			if (EmailAddress == "" ) 
			{
			alert("You have not entered a valid email address.");
			formField.focus();
			passed = false;
			break;
			}
			// **** CHECK FOR THE  @ SIGN?	
			else if (intAtSign == -1)
			{

			alert("Your email address is missing the \"@\".");
			formField.focus();
			passed = false;
			break;

			}
			// **** Check for commas ****

			//else if (intComma != -1)
			//{
			//alert("Email address cannot contain a comma.");
			//formField.focus();
			//passed = false;
			//break;
			//}

			// **** Check for a space ****

			else if (intSpace != -1)
			{
			alert("Email address cannot contain spaces.");
			formField.focus();
			passed = false;
			break;
			}

			// **** Check for char between the @ and dot, chars between dots, and at least 1 char after the last dot ****

			else if ((intDot <= 2) || (intDomain <= 1)  || (intStrLen-(intLastDot+1) < 2) || intDot==0 || intAtSign==0) 
			{
			alert("Please enter a valid Email address.\n" + EmailAddress + " is invalid.");						
			formField.focus();							
			passed = false;
			break;
			}		

			else {
				passed = true;	
			}
		}
	}
	else	{
		passed = true;
	}
	return passed;
  }
  
function validateForm() {
        var rv = false;
	var formObj = document.commentForm;

    var v = new RegExp();
    v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");
    if (v.test(formObj.areaComment.value)) {
        alert("Please do not provide any link.");
        return false;
    } 
	if (formObj.txtemail.value == "") 
		alert("Your e-mail address is required.");
	else if (formObj.txtemailName.value == "")
		alert("Please enter your name.");
	else if (!verify(formObj.txtSenderemail))
	 	;
	else if (!verify(formObj.txtemail))
	 	;
	else
	{
		addComment();return false;
		rv = true;
	}

	formObj.txtemail.value = "";
	formObj.txtemailName.value = "";
	formObj.areaComment.value = "";
	return rv;
	//document.commentForm.reset();
}

