var baseurl = "http://www.gocashless.co.za/";

function hide_message(event) {
    $(event.data).fadeOut('slow');
}

function validate_video() {
    var file = $('#file').val();
    var description = $('#description').val();
     
    if (file == "") {
	$('#video_error').hide();
	$('#video_error').html("Please select a file to upload");
	$('#video_error').show();
	return false;
    }

    if (description == "") {
	$('#video_error').hide();
	$('#video_error').html("Please give your image a description");
	$('#video_error').show();
	return false;
    }
    return true;
}

function photo_vote(count) {
    $('#vote' + count).hide();    
    $('#vote_loading' + count).show();

    var imageid = $('#imageid' + count).val();

    urlsegment = "http://www.gocashless.co.za/multimedia/vote_photo";
    path = "";

    $.ajax({
        url     : urlsegment,
        type    : "post",
        timeout : 20000,
        data    : ({imageid : imageid }),
        dataType: "json",
        error   : function(XMLHttpRequest, textStatus, errorThrown) {
                    alert("An error has occurred, please try again later");
                    $('#vote_loading' + count).hide();
                    $('#vote' + count).show();
                  },
        success : function(response) {
                    if (response.success == false) {
                        $('#generate_error').html("<table width='100%'><tr><td style='padding: 12px 0px 12px 0px; font-size: 1.2em; font-weight: bold;'>You have already voted for this photo!&nbsp;&nbsp;&nbsp;</td><td><span class='hide'><a id='hide_error' href='javascript:;'>Hide</a></span></td></tr></table>");
                        $('#generate_error').fadeIn('slow');
                        $('#vote_loading' + count).hide();
                        $('#vote' + count).show();
                        $('#hide_error').bind("click", $('#generate_error'), hide_message);
                    } else {
                        $('#generate_error').html("<table width='100%'><tr><td style='padding: 12px 0px 12px 0px; font-size: 1.2em; font-weight: bold;'>You have successfully voted for this photo!&nbsp;&nbsp;&nbsp;</td><td><span class='hide'><span class='hide'><a id='hide_error' href='javascript:;'>Hide</a></span></td></tr></table>");
                        $('#generate_error').fadeIn('slow');
			$('#vote_count' + count).hide();
			$('#vote_count' + count).html("<b>Votes: " + response.votecount + "</b>");
			$('#vote_count' + count).fadeIn('slow');
                        $('#vote_loading' + count).hide();
                        $('#vote' + count).show();
                        $('#hide_error').bind("click", $('#generate_error'), hide_message);
                    }
                  }
    });
    return true;
}

function order_multimedia(event) {
    $('#vidsHolder').hide();    
    $('#loading_blog').show();

    if (event.data[1] == 'photo') {
	urlsegment = "http://www.gocashless.co.za/multimedia/order_photo";
    } else {
	urlsegment = "http://www.gocashless.co.za/multimedia/order_video";
    }
    
    if (event.data[0] == "most_votes") {
	$("#most_recent").css("font-size", "1.0em");
	$("#most_recent").css("color", "#008BCC");
	$("#most_comments").css("font-size", "1.0em");
	$("#most_comments").css("color", "#008BCC");
	$("#most_votes").css("font-size", "1.2em");
	$("#most_votes").css("color", "#0e4798");
    } else if (event.data[0] == "most_comments") {
	$("#most_recent").css("font-size", "1.0em");
	$("#most_recent").css("color", "#008BCC");
	$("#most_comments").css("font-size", "1.2em");
	$("#most_comments").css("color", "#0e4798");
	$("#most_votes").css("font-size", "1.0em");
	$("#most_votes").css("color", "#008BCC");
    } else {
	$("#most_recent").css("font-size", "1.2em");
	$("#most_recent").css("color", "#008BCC");
	$("#most_comments").css("font-size", "1.0em");
	$("#most_comments").css("color", "#008BCC");
	$("#most_votes").css("font-size", "1.0em");
	$("#most_votes").css("color", "#0e4798");
    }
    
    
    path = "";

    $.ajax({
        url     : urlsegment,
        type    : "post",
        timeout : 20000,
        data    : ({order : event.data[0]}),
        dataType: "json",
        error   : function(XMLHttpRequest, textStatus, errorThrown) {
                    alert("An error has occurred, please try again later");
                    $('#loading_blog').hide();
                    $('#blog_holder').show();
                  },
        success : function(response) {
                    var str = "";
                    pages = parseInt(response.totalcount) / 6;
                    pages = Math.ceil(pages);
		    var type = event.data[1];
                    if (pages > 1) {
                        if (parseInt(response.pagination) > 0) {
                            str += "<a id='page_back' href='javascript:;'>&laquo;</a>&nbsp;";
                        }
                        var current = parseInt(response.pagination) + 6;
                        current = current / 6;
                        if (current < pages) {
                            str += "<a id='page' onClick=\"page(" + current + ", '" + type + "')\" href='javascript:;'>" + current + "</a>&nbsp;";
                            if (pages > 2) {
                                var next = current + 1;
                                if (next < pages) {
                                    str += "<a id='page' onClick=\"page(" + next + ", '" + type + "')\" href='javascript:;'>" + next + "</a>&nbsp;";
                                }
                            }

                            str += "....&nbsp;";
                            str += "<a id='page_total' onClick=\"page(" + pages + ", '" + type + "')\" href='javascript:;'>" + pages + "</a>&nbsp;";
                            str += "<a id='next_page' href='javascript:;'>&raquo;</a>";
                        } else {
                            str += "<a id='page_total' onClick=\"page(" + pages + ", '" + type + "')\" href='javascript:;'>" + pages + "</a>&nbsp;";
                        }
                    }
                    $('.blogPagin').hide();
                    $('.blogPagin').html(str);
                    
                    str = "";
		    if (event.data[1] == "photo") {
			str = getPhotoContent(response, event.data[0]);
		    } else {
			str = getVideoContent(response, event.data[0]);
		    }
                    
                    $('#loading_blog').hide();
                    $('#vidsHolder').html(str);
                    $('#vidsHolder').fadeIn('slow');
                    $('.blogPagin').fadeIn('slow');

                    $('#pagination').val(parseInt(response.pagination));
		    $('#current_order').val(event.data[0]);

                    $('#page_back').bind('click', [event.data[1]], prev_page);
                    $('#next_page').bind('click', [event.data[1]], next_page);
					tb_init('a.thickbox, area.thickbox, input.thickbox');
                  }
    });
    return true;
}

function next_page(event) {
    $('#vidsHolder').hide();    
    $('#loading_blog').show();
    var pagination = parseInt($('#pagination').val()) + 6;
    var order = $('#current_order').val();

    path = "";

    if (event.data == 'photo') {
	urlsegment = "http://www.gocashless.co.za/multimedia/page_photos";
    } else {
	urlsegment = "http://www.gocashless.co.za/multimedia/page_videos";
    }

    $.ajax({
        url     : urlsegment,
        type    : "post",
        timeout : 20000,
        data    : ({pagination : pagination,
		   order : order}),
        dataType: "json",
        error   : function(XMLHttpRequest, textStatus, errorThrown) {
                    alert("An error has occurred, please try again later");
                    $('#loading_blog').hide();
                    $('#vidsHolder').show();
                  },
        success : function(response) {
                    var str = "";
                    pages = parseInt(response.totalcount) / 6;
                    pages = Math.ceil(pages);
		    var type = event.data;
                    if (pages > 1) {
                        if (parseInt(response.pagination) > 0) {
                            str += "<a id='page_back' href='javascript:;'>&laquo;</a>&nbsp;";
                        }
                        var current = parseInt(response.pagination) + 6;
                        current = current / 6;
                        if (current < pages) {
                            str += "<a id='page' onClick=\"page(" + current + ", '" + type + "')\" href='javascript:;'>" + current + "</a>&nbsp;";
                            if (pages > 2) {
                                var next = current + 1;
                                if (next < pages) {
                                    str += "<a id='page' onClick=\"page(" + next + ", '" + type + "')\" href='javascript:;'>" + next + "</a>&nbsp;";
                                }
                            }

                            str += "....&nbsp;";
                            str += "<a id='page_total' onClick=\"page(" + pages + ", '" + type + "')\" href='javascript:;'>" + pages + "</a>&nbsp;";
                            str += "<a id='next_page' href='javascript:;'>&raquo;</a>";
                        } else {
                            str += "<a id='page_total' onClick=\"page(" + pages + ", '" + type + "')\" href='javascript:;'>" + pages + "</a>&nbsp;";
                        }
                    }
                    $('.blogPagin').hide();
                    $('.blogPagin').html(str);
                    
                    str = "";
		    if (event.data == "photo") {
			str = getPhotoContent(response, order);
		    } else {
			str = getVideoContent(response, order);
		    }
                    
                    $('#loading_blog').hide();
                    $('#vidsHolder').html(str);
                    $('#vidsHolder').fadeIn('slow');
                    $('.blogPagin').fadeIn('slow');

                    $('#pagination').val(parseInt(response.pagination));

                    $('#page_back').bind('click', [event.data], prev_page);
                    $('#next_page').bind('click', [event.data], next_page);
		    
                  }
    });
    return true;
}

function prev_page(event) {
    $('#loading_blog').show();
    $('#vidsHolder').hide();
    
    var pagination = parseInt($('#pagination').val()) - 6;
    var order = $('#current_order').val();
    path = "";
    
    if (event.data == 'photo') {
	urlsegment = "http://www.gocashless.co.za/multimedia/page_photos";
    } else {
	urlsegment = "http://www.gocashless.co.za/multimedia/page_videos";
    }
    
    $.ajax({
        url     : urlsegment,
        type    : "post",
        timeout : 20000,
        data    : ({pagination : pagination,
		   order : order}),
        dataType: "json",
        error   : function(XMLHttpRequest, textStatus, errorThrown) {
                    alert("An error has occurred, please try again later");
                    $('#loading_blog').hide();
                    $('#vidsHolder').show();
                  },
        success : function(response) {
                    var str = "";
			    pages = parseInt(response.totalcount) / 6;
			    pages = Math.ceil(pages);
			    var type = event.data;
			    if (pages > 1) {
				if (parseInt(response.pagination) > 0) {
				    str += "<a id='page_back' href='javascript:;'>&laquo;</a>&nbsp;";
				}
                                var current = parseInt(response.pagination) + 6;
				current = current / 6;
				
                                if (current < pages) {
                                    str += "<a id='page' onClick=\"page(" + current + ", '" + type + "')\" href='javascript:;'>" + current + "</a>&nbsp;";
                                    if (pages > 2) {
                                        var next = current + 1;
                                        if (next < pages) {
                                            str += "<a id='page' onClick=\"page(" + next + ", '" + type + "')\" href='javascript:;'>" + next + "</a>&nbsp;";
                                        }
                                    }

                                    str += "....&nbsp;";
                                    str += "<a id='page_total' onClick=\"page(" + pages + ", '" + type + "')\" href='javascript:;'>" + pages + "</a>&nbsp;";
                                    str += "<a id='next_page' href='javascript:;'>&raquo;</a>";
                                } else {
                                    str += "<a id='page_total' onClick=\"page(" + pages + ", '" + type + "')\" href='javascript:;'>" + pages + "</a>&nbsp;";
                                }
			    }
                    $('.blogPagin').hide();
                    $('.blogPagin').html(str);
                    
                    str = "";
		    if (event.data == "photo") {
			str = getPhotoContent(response, order);
		    } else {
			str = getVideoContent(response, order);
		    }
                    
                    $('#vidsHolder').html(str);
                    $('#loading_blog').hide();
                    $('#vidsHolder').fadeIn('slow');
                    $('.blogPagin').fadeIn('slow');

                    $('#pagination').val(parseInt(response.pagination));
                    
                    $('#page_back').bind('click', [event.data], prev_page);
                    $('#next_page').bind('click', [event.data], next_page);
                  }
    });
    return true;
}

function page(page, type) {
    $('#loading_blog').show();
    $('#vidsHolder').hide();
    
    var pagination = parseInt(page) * 6;
    pagination = pagination - 6;
    var order = $('#current_order').val();
    path = "";
    
    if (type == 'photo') {
	urlsegment = "http://www.gocashless.co.za/multimedia/page_photos";
    } else {
	urlsegment = "http://www.gocashless.co.za/multimedia/page_videos";
    }

    $.ajax({
        url     : urlsegment,
        type    : "post",
        timeout : 20000,
        data    : ({pagination : pagination,
		   order : order}),
        dataType: "json",
        error   : function(XMLHttpRequest, textStatus, errorThrown) {
                    alert("An error has occurred, please try again later");
                    $('#loading_blog').hide();
                    $('#vidsHolder').show();
                  },
        success : function(response) {
                    var str = "";
                    pages = parseInt(response.totalcount) / 6;
                    pages = Math.ceil(pages);

                    if (pages > 1) {
                        if (parseInt(response.pagination) > 0) {
                            str += "<a id='page_back' href='javascript:;'>&laquo;</a>&nbsp;";
                        }
                        var current = parseInt(response.pagination) + 6;
                        current = current / 6;
                        if (current < pages) {
                            str += "<a id='page' onClick=\"page(" + current + ", " + type + ")\" href='javascript:;'>" + current + "</a>&nbsp;";
                            if (pages > 2) {
                                var next = current + 1;
                                if (next < pages) {
                                    str += "<a id='page' onClick=\"page(" + next + ", " + type + ")\" href='javascript:;'>" + next + "</a>&nbsp;";
                                }
                            }

                            str += "....&nbsp;";
                            str += "<a id='page_total' onClick=\"page(" + pages + ", " + type + ")\" href='javascript:;'>" + pages + "</a>&nbsp;";
                            str += "<a id='next_page' href='javascript:;'>&raquo;</a>";
                        } else {
                            str += "<a id='page_total' onClick=\"page(" + pages + ", " + type + ")\" href='javascript:;'>" + pages + "</a>&nbsp;";
                        }
                    }
                    $('.blogPagin').hide();
                    $('.blogPagin').html(str);
                    
                    str = "";
		    if (type == "photo") {
			str = getPhotoContent(response, order);
		    } else {
			str = getVideoContent(response, order);
		    }
                    
                    $('#loading_blog').hide();
                    $('#vidsHolder').html(str);
                    $('#vidsHolder').fadeIn('slow');
                    $('.blogPagin').fadeIn('slow');

                    $('#pagination').val(parseInt(response.pagination));
                    
                    $('#page_back').bind('click', [type], prev_page);
                    $('#next_page').bind('click', [type], next_page);
                  }
    });
    return true;
}

function getVideoContent(response, order) {
    str = "";
    arraycount = response.videos.length;
    if (response.videos) {
		for (var i=0; i < arraycount; i++) {
			var location = baseurl + "multimedia/video/" + response.videos[i]['id'] + "/" + order;
		str += "<div class='videoHolder' id='videoHolder" + i + "' style=\"background-image: url(../images/vidsBg.jpg); cursor: pointer; \" onmouseover=\"changeon(" + i + ");\" onmouseout=\"changeout(" + i + ");\"><table width='100%' border='0' cellspacing='0' cellpadding='0'>" + 
			  "<tr><td colspan='2' height='145' class='vidImageHolder'>" +
			  "<img src='" + response.videos[i]['thumbnail'] + "' title='" + response.videos[i]['caption'] + "' onclick=\"javascript: location.href='" + location + "';\" width='190' />" + 
			  "<form action='javascript:;' method='post'>" +
			  "<input type='hidden' id='imageid" + i + "' name='imageid' value='" + response.videos[i]['id'] + "' />" +
			  "</form></td></tr>" +
			  "<tr><td height='20' class='vidTableTitle'><div id='vote_count" + i + "'><b>Votes: " + response.videos[i]['votecount'] + " </b></div>" +
			  "<div id='comment_count'><b>Comments: " + response.videos[i]['commentcount'] + "</b></div></td>" + 
			  "<td height='20' class='vidTableVote'>" +
			  "<img id='vote_loading" + i + "' src='http://www.gocashless.co.za/resources/indicator.gif' alt='loading...' style='display: none;' />";
			  if (response.loggedin == true) {
				str += "<a id='vote" + i + "' href='javascript:;' onclick='javascript: photo_vote(" + i + ");' style='text-decoration: none;'><img src='http://www.gocashless.co.za/images/voteSmallBtn.png' alt='Vote Now' border='0' /></a>";
			  } else {
				str += "<a href='#TB_inline?height=180&width=340&inlineId=loggedin' class='thickbox' style='text-decoration: none;'><img src='http://www.gocashless.co.za/images/voteSmallBtn.png' alt='Vote Now' border='0' /></a>";
			  }
			  str += "</td></tr><tr><td colspan='2' height='35' class='vidTableSpace'>" + response.videos[i]['caption'] + "</td></tr></table></div>";
		}
    }
    str += "<br clear='all' />";
    return str;
}

function getPhotoContent(response, order) {
    str = "";
    arraycount = response.images.length;

    if (response.images) {
		for (var i=0; i < arraycount; i++) {
			var location = baseurl + "multimedia/photo/" + response.images[i]['id'] + "/" + order;
		str += "<div class='videoHolder' id='videoHolder" + i + "' style=\"background-image: url(../images/vidsBg.jpg); cursor: pointer; \" onmouseover=\"changeon(" + i + ");\" onmouseout=\"changeout(" + i + ");\"><table width='100%' border='0' cellspacing='0' cellpadding='0'>" + 
			  "<tr><td colspan='2' height='145' class='vidImageHolder'>" +
			  "<img src='../images/gallery/tile_" + response.images[i]['imagename'] + "' title='" + response.images[i]['caption'] + "' onclick=\"javascript: location.href='" + location + "';\" />" + 
			  "<form action='javascript:;' method='post'>" +
			  "<input type='hidden' id='imageid" + i + "' name='imageid' value='" + response.images[i]['id'] + "' />" +
			  "</form></td></tr>" +
			  "<tr><td height='20' class='vidTableTitle'><div id='vote_count" + i + "'><b>Votes: " + response.images[i]['votecount'] + " </b></div>" +
			  "<div id='comment_count'><b>Comments: " + response.images[i]['commentcount'] + "</b></div></td>" + 
			  "<td height='20' class='vidTableVote'>" +
			  "<img id='vote_loading" + i + "' src='http://www.gocashless.co.za/resources/indicator.gif' alt='loading...' style='display: none;' />";
			  if (response.loggedin == true) {
				str += "<a id='vote" + i + "' href='javascript:;' onclick='javascript: photo_vote(" + i + ");' style='text-decoration: none;'><img src='http://www.gocashless.co.za/images/voteSmallBtn.png' alt='Vote Now' border='0' /></a>";
			  } else {
				str += "<a href='#TB_inline?height=180&width=340&inlineId=loggedin' class='thickbox' style='text-decoration: none;'><img src='http://www.gocashless.co.za/images/voteSmallBtn.png' alt='Vote Now' border='0' /></a>";
			  }
			  str += "</td></tr><tr><td colspan='2' height='35' class='vidTableSpace'>" + response.images[i]['caption'] + "</td></tr></table></div>";
		}
    }
    str += "<br clear='all' />";
    return str;
}

function video_vote(count) {
    $('#vote' + count).hide();    
    $('#vote_loading' + count).show();

    var videoid = $('#imageid' + count).val();

    urlsegment = "http://www.gocashless.co.za/multimedia/vote_video";
    path = "";

    $.ajax({
        url     : urlsegment,
        type    : "post",
        timeout : 20000,
        data    : ({videoid : videoid }),
        dataType: "json",
        error   : function(XMLHttpRequest, textStatus, errorThrown) {
                    alert("An error has occurred, please try again later");
                    $('#vote_loading' + count).hide();
                    $('#vote' + count).show();
                  },
        success : function(response) {
                    if (response.success == false) {
                        $('#generate_error').html("<table width='100%'><tr><td style='padding: 12px 0px 12px 0px; font-size: 1.2em; font-weight: bold;'>You have already voted for this video!&nbsp;&nbsp;&nbsp;</td><td><span class='hide'><a id='hide_error' href='javascript:;'>Hide</a></span></td></tr></table>");
                        $('#generate_error').fadeIn('slow');
                        $('#vote_loading' + count).hide();
                        $('#vote' + count).show();
                        $('#hide_error').bind("click", $('#generate_error'), hide_message);
                    } else {
                        $('#generate_error').html("<table width='100%'><tr><td style='padding: 12px 0px 12px 0px; font-size: 1.2em; font-weight: bold;'>You have successfully voted for this video!&nbsp;&nbsp;&nbsp;</td><td><span class='hide'><span class='hide'><a id='hide_error' href='javascript:;'>Hide</a></span></td></tr></table>");
                        $('#generate_error').fadeIn('slow');
						$('#vote_count' + count).hide();
						$('#vote_count' + count).html("<b>Votes: " + response.votecount + "</b>");
						$('#vote_count' + count).fadeIn('slow');
                        $('#vote_loading' + count).hide();
                        $('#vote' + count).show();
                        $('#hide_error').bind("click", $('#generate_error'), hide_message);
                    }
                  }
    });
    return true;
}

