﻿$.ajaxSetup ({
    /* Disable caching of AJAX responses */
    cache: false
});

function ajaxifyTabLinks(sourceContainerId, targetContainerId) {
    if (!document.getElementById) return false;
    if (!document.getElementById(sourceContainerId)) return false;
    if (!document.getElementById(targetContainerId)) return false;

    var links = document.getElementById(sourceContainerId).getElementsByTagName("a");

    for (var i = 0; i < links.length; i++) {
        links[i].targetContainerId = targetContainerId;
        links[i].onclick = function () {
			var url = this.getAttribute("href").split("?")[0];
            var params = this.getAttribute("href").split("?")[1];

            for (var u = 0; u < links.length; u++) {
                $(links[u]).removeClass('active');
            }

            $(this).addClass('active');

            return (!sendAjaxRequest(url, params, this.targetContainerId, true));
        };
    }
}

function ajaxifyLinks(sourceContainerId, targetContainerId, additionalParams) {
    if (!document.getElementById) return false;
    if (!document.getElementById(sourceContainerId)) return false;
    if (!document.getElementById(targetContainerId)) return false;

    var links = document.getElementById(sourceContainerId).getElementsByTagName("a");

    for (var i = 0; i < links.length; i++) {
        links[i].targetContainerId = targetContainerId;
		links[i].additionalParams = additionalParams;
        links[i].onclick = function () {
			var url = this.getAttribute("href").split("?")[0];
            var params = this.getAttribute("href").split("?")[1];
			if (additionalParams != "")
				params = params + "&" + this.additionalParams;

            return (!sendAjaxRequest(url, params, this.targetContainerId, true));
        };
    }
}
function ajaxifyLinksExtended(sourceContainerId, targetContainerId, additionalParams, loadingDivId, loadingProgressMarginPercent) {
    if (!document.getElementById) return false;
    if (!document.getElementById(sourceContainerId)) return false;
    if (!document.getElementById(targetContainerId)) return false;

    var links = document.getElementById(sourceContainerId).getElementsByTagName("a");

    for (var i = 0; i < links.length; i++) {
        links[i].targetContainerId = targetContainerId;
		links[i].additionalParams = additionalParams;
		links[i].loadingDivId = loadingDivId;
		links[i].loadingProgressMarginPercent = loadingProgressMarginPercent;
        links[i].onclick = function () {
			var url = this.getAttribute("href").split("?")[0];
            var params = this.getAttribute("href").split("?")[1];
			if (additionalParams != "")
				params = params + "&" + this.additionalParams;

            return (!sendAjaxRequestExtendedWithLoadingDiv(url, params, this.targetContainerId, this.loadingDivId, this.loadingProgressMarginPercent));
        };
    }
}

function sendAjaxRequest(url, params, targetContainerId, displayLoadingProgress) {
	
	if (displayLoadingProgress)
	{	

		HeightController($(".coBlockTab").height());
	}

	function HeightController(h) {
		var a= (h/2)+5;
		$("#loading").prepend("<div style='margin: "+ a +"px 50%; display: block; position:absolute;'><img src='/ITGCFiles/Common/Images/ajax-loader.gif' alt='loading'/></div>");
		
		if ($.browser.msie && $.browser.version < 7)
			$("#" + targetContainerId).html("").css( { height:h } ); //IE6
		else
			$("#" + targetContainerId).css( { position:"relative", opacity: 0.3 } );
    }
	
	$.ajax({
		type: "POST",
		data: "",
		dataType: "html",
		url: url + "?" + params + "&ajax=true",
		success: function (output) {

			if (displayLoadingProgress)
				$("#loading").html('');
			
			if ($.browser.msie && $.browser.version < 7) //IE6
				$("#" + targetContainerId).css({ height:"auto" });
			else
				$("#" + targetContainerId).css({ opacity: 1 });
			$("#" + targetContainerId).html(output);
		}
	});
	
    return true;
}

function sendAjaxRequestExtended(url, params, targetContainerId, displayLoadingProgress) {
	
	if (displayLoadingProgress)
	{	

		HeightController($("#" + targetContainerId).height());
	}

	function HeightController(h) {
		var a= (h/2)+5;
		$("#loading").prepend("<div style='margin: "+ a +"px 43%; display: block; position:absolute;'><img src='/ITGCFiles/Common/Images/ajax-loader.gif' alt='loading'/></div>");
    }

	$.ajax({
		type: "POST",
		data: "",
		dataType: "html",
		url: url + "?" + params + "&ajax=true",
		success: function (output) {
			$("#" + targetContainerId).html(output);

			if (displayLoadingProgress)
			{

				$("#loading").html('');
			}
		}
	});
	
    return true;
}

function sendAjaxRequestExtendedWithLoadingDiv(url, params, targetContainerId, loadingDivId, loadingProgressMarginPercent) {
	

	HeightController($("#" + targetContainerId).height());

	function HeightController(h) {
		var a= (h/2)+5;
		$("#" + loadingDivId).prepend("<div style='margin: " + a + "px " + loadingProgressMarginPercent + "%; display: block; position:absolute;'><img src='/ITGCFiles/Common/Images/ajax-loader.gif' alt='loading'/></div>");
    }

	$.ajax({
		type: "POST",
		data: "",
		dataType: "html",
		url: url + "?" + params + "&ajax=true",
		success: function (output) {
			$("#" + targetContainerId).html(output);

			$("#" + loadingDivId).html('');
			
		}
	});
	
    return true;
}

function getDDLValue(ddlId) {
    var ddl = document.getElementById(ddlId);
    var ddlIndex = ddl.selectedIndex;
    var ddlVal = ddl.options[ddlIndex].value;
    return ddlVal;
}

function onChangeReviewSettings(ddlSortId, ddlDisplayId, targetContainerId, url) {
    sendAjaxRequest(url, "sort=" + getDDLValue(ddlSortId) + "&display=" + getDDLValue(ddlDisplayId), targetContainerId, true);
}

function onChangeReviewSettingsRedirect(ddlSortId, ddlDisplayId, url) {
	window.location.href = url + "?sort=" + getDDLValue(ddlSortId) + "&display=" + getDDLValue(ddlDisplayId);
}

function onLostPasswordClick(url, email, divConfirmation, divLostPassword, divLogin, lblValidator, LabelErrorMsgLostPwd)
{

	HeightControl($(".maForm").height());
	
	function HeightControl(h) {
		var a= (h/2)+5;
		$("#loadingMaster").prepend("<div style='margin: "+ a +"px 50%; display: block; position:absolute;z-index:9999;'><img 	src='/ITGCFiles/Common/Images/ajax-loader.gif' alt='loading'/></div>");
    }
	
		$.ajax({
			type: "POST",
			data: "",
			dataType: "html",
			url: url + "?" + "lostPassword=1&email=" + document.getElementById(email).value + "&ajax=true",
			success: function (output) {
			
				if (output == "*")
				{
					document.getElementById(lblValidator).style.color = "red";
					document.getElementById(lblValidator).style.display = "inline";
				}
				else if (output == "invalid")
				{
					document.getElementById(lblValidator).style.display = "none";
					document.getElementById(LabelErrorMsgLostPwd).style.display = "inline";
				}
				else
				{
					document.getElementById(divLogin).style.display = "none";
					document.getElementById(divLostPassword).style.display = "none";
					document.getElementById(divConfirmation).style.display = "inline";
				}
			
				$("#loadingMaster").html('');
			}
		});

}

function sendReviewFeedBack(reviewId, feedback, lblIsUsefulId, ddlSortId, ddlDisplayId, usefulnessText, pnlYesNoLinksId, pageNumber, targetContainerId, url, lblFeedbackCount, feedbackCount) {
   
   usefulnessText = usefulnessText.replace("&quot;", "'");
   $('#' + lblIsUsefulId).text(usefulnessText);
   if (feedback == "1")
	$('#' + lblFeedbackCount).text(parseInt($('#' + lblFeedbackCount).text()) + 1);
   var pnlYesNoLinks = document.getElementById(pnlYesNoLinksId); 
   pnlYesNoLinks.style.visibility = "hidden";

   sendAjaxRequest(url, "page=" + pageNumber + "&sort=" + getDDLValue(ddlSortId) + "&display=" + getDDLValue(ddlDisplayId) + "&reviewId=" + reviewId + "&feedback=" + feedback + "&feedbackCount=" + feedbackCount, targetContainerId, true);
}


function watchVideo(videoId, previousVideoId, targetContainerId, url) {
   sendAjaxRequest(url, "videoId=" + videoId + "&previousVideoId=" + previousVideoId, targetContainerId, true);
}
