﻿/*--------------------------------------------------------------------------
Error messages
--------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------
Utility Functions
--------------------------------------------------------------------------*/

//-------------------------------------------------------------------
//function hideLayer(layerName)
//-------------------------------------------------------------------
function hideLayer(layerName)
{
	if (document.getElementById) 
	{
		var targetElement = document.getElementById(layerName);
		
		targetElement.style.visibility = 'hidden';
		targetElement.style.display='none';
	}
}

/*-------------------------------------
function queryString()
-------------------------------------*/
function queryString(key){
    var page = new PageQuery(window.location.search);
    return unescape(page.getValue(key));
}

/*-------------------------------------
function PageQuery(q)
-------------------------------------*/
function PageQuery(q) {
    if(q.length > 1) this.q = q.substring(1, q.length);
    else this.q = null;
    this.keyValuePairs = new Array();
    if(q) {
        for(var i=0; i < this.q.split("&").length; i++) {
            this.keyValuePairs[i] = this.q.split("&")[i];
        }
    }
    this.getKeyValuePairs = function() { return this.keyValuePairs; }
    this.getValue = function(s) {
    for(var j=0; j < this.keyValuePairs.length; j++) {
        if(this.keyValuePairs[j].split("=")[0] == s)
        return this.keyValuePairs[j].split("=")[1];
    }
    return false;
    }
    this.getParameters = function() {
        var a = new Array(this.getLength());
        for(var j=0; j < this.keyValuePairs.length; j++) {
            a[j] = this.keyValuePairs[j].split("=")[0];
        }
        return a;
    }
    this.getLength = function() { return this.keyValuePairs.length; }
}

/*-------------------------------------
function showLayer(layerName)
-------------------------------------*/
function showLayer(layerName)
{
	if (document.getElementById) 
	{
		var targetElement = document.getElementById(layerName);
		
		targetElement.style.visibility = 'visible';
		targetElement.style.display='block';
	}
}


/*--------------------------------------------------------------------------
Validation Functions
--------------------------------------------------------------------------*/

/*-------------------------------------
function validateLogin()
-------------------------------------*/
function validateLogin(frmName){

    if(!HasData(frmName, "stremail", "email", "Please enter a valid email address"))
        return false;
    if(!HasData(frmName, "strpassword", "textbox", "Please enter your password"))
        return false;
    return true;
    
}

//****************  COOKIES  ****************
function createCookie(c_name,value,expiredays) {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
	
function readCookie(c_name) {
    if (document.cookie.length>0) {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1) { 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        } 
    }
    return "";
}
	
function eraseCookie(name) {
	createCookie(name,"",-1);
}


//****************  VOTING - CAST ****************
var currentPostVote = 0; 

function castVote (bid, uid, qid)    {       
    if(readCookie('votedFor'+bid) != 'set') {
        PollQuestionAnswerInfo = new Object();
        PollQuestionAnswerInfo.BlogItemId = bid;
        PollQuestionAnswerInfo.UserId = uid;
        PollQuestionAnswerInfo.QuestionId= qid;
        PollQuestionAnswerInfo.Answer = 1;  
        awLibrary.voteCast("returnOfcastVote", PollQuestionAnswerInfo);
        createCookie('votedFor'+bid,"set",365);
        currentPostVote = bid;
    }
    else{	   		
        alert('You have already recommended this post.')
    }
}

function returnOfcastVote(result, detail, id) {
    if (result == awLibraryResult.SUCCESS){
        alert("The post has been recommended.");
        awLibrary.voteGetRatingResults("returnOfPostGetRatingResults2",currentPostVote,"",50,"");
    }
}

function returnOfPostGetRatingResults2(obj) {
    if (obj[0].Result == awLibraryResult.SUCCESS) {
        if (document.getElementById("rpwresults"+obj[1][0].BlogItemId)){
            document.getElementById("rpwresults"+obj[1][0].BlogItemId).innerHTML = "<i>Recommended " + obj[1][0].NumYes + " time(s)</i>";
        }
        document.getElementById("a1"+obj[1][0].BlogItemId).title = "Recommended " + obj[1][0].NumYes + " time(s)";
        document.getElementById("a2"+obj[1][0].BlogItemId).title = "Recommended " + obj[1][0].NumYes + " time(s)";
    }
}

//****************  VOTING - GET ****************
var postsDiplayed = '';

function setPostId(id){
    postsDiplayed += '|' + id;
}

function getAllPostRatingResults() {
    var arrPostsDiplayed = postsDiplayed.split("|");
    var numItems = 0;
    while (numItems < arrPostsDiplayed.length) {    
        if (arrPostsDiplayed[numItems] != ''){
          getPostRatingResults(arrPostsDiplayed[numItems]);
        } 
        numItems+=1;
    }
}

function getPostRatingResults (bid) {
   awLibrary.voteGetRatingResults("returnOfPostGetRatingResults",bid,"",50,"");
}  

function returnOfPostGetRatingResults(obj) {
   if (obj[0].Result == awLibraryResult.SUCCESS) {
         document.getElementById("a1"+obj[1][0].BlogItemId).title = "Recommended " + obj[1][0].NumYes + " time(s)";
         document.getElementById("a2"+obj[1][0].BlogItemId).title = "Recommended " + obj[1][0].NumYes + " time(s)";
   }
}
