﻿// Ajax Rating File
var req,process,output,responseHandler,ajaxParams,cat_id;

/*------------------------------------------------------------------------------*/
                             // Clear Cache  //
/*------------------------------------------------------------------------------*/

function noCache(url)
{
	var sep = (-1 < url.indexOf("?")) ? "&" : "?"	
	url = url + sep + "__=" + encodeURIComponent((new Date()).getTime());	
	return url;
}

/*------------------------------------------------------------------------------*/
                        // Ajax Request Post Method //
/*------------------------------------------------------------------------------*/

function ajaxPostRequest(url,postData)
{ 
	if(window.XMLHttpRequest) 
	{
		req = new XMLHttpRequest;
	}
	else if (window.ActiveXObject)
	{
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	req.open("POST",noCache(url),true);
	req.setRequestHeader('Content-Type','application/x-www-form-urlencoded;');
	
	req.onreadystatechange = getData_Callback;	
	req.send(postData);
}

/*----------------------------------------------------------------------------*/
                      // Get Result Method //
/*----------------------------------------------------------------------------*/

function getData_Callback()
{
	if(req.readyState==4)
	{		
		if(req.status==200)
		{
			if(output == 'text')
			{
				eval(responseHandler + '(req.responseText)');
			}
			else if(output == 'xml')
			{
				eval(responseHandler + '(req.responseXML)');
			}
		}
	}
}


function Rating(rating,catId)
{  
    var cookVal = readCookie("catId"+catId);
    if(cookVal != catId)
    {
    cat_id = catId;
    process		=	'Rating';
	output		=	'text';
	url			=	"RateAEvent.aspx";
	fields		=	new Array();
	responseHandler	=	"RateAEventResult";
	fields.push("catId="+catId);
	fields.push("rating="+rating);
	ajaxParams	=	fields.join('&');
	ajaxPostRequest(url, ajaxParams);
	return false;
	}
	else
	{
	    alert("You have already rated this artist");
	    return false;
	}
}

//send mail result

function RateAEventResult(responseText)
{
    var objUl = document.getElementById("ulRating");
    var objAvg = document.getElementById("cRate_avgRating");
    var objrated = document.getElementById("cRate_lblTimesRated");
    objrated.innerHTML = parseFloat(objrated.innerHTML)+1;
    if(responseText == -2)
    {
        alert("Rating Failed.Try Again.");
        return false;
    }
    else 
    {
        objAvg.innerHTML = "<b>AVERAGE RATING: " + responseText + " </b> ";
        if(responseText ==1)
        {
            objUl.className = "rating onestar fltlft";
        }
        else if(responseText ==2)
        {
            objUl.className = "rating twostar fltlft";
        }
        else if(responseText ==3)
        {
            objUl.className = "rating threestar fltlft";
        }
        else if(responseText ==4)
        {
            objUl.className = "rating fourstar fltlft";
        } 
        else if(responseText ==5)
        {
            objUl.className = "rating fivestar fltlft";
        }  
        else 
        {
            objUl.className = "rating nostar fltlft";
        }
        alert("Thank you for rating this artist");
         createCookie("catId"+cat_id,cat_id,1);
    }
}


function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}
