﻿$.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 (!sendAjaxRequestGoToTop(url, params, this.targetContainerId, true));
        };
    }
}
function ajaxifyLinksForArticle(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 (!sendAjaxRequestGoToTopForArticle(url, params, this.targetContainerId, true));
        };
    }
}

function ajaxifyLinks1(sourceContainerId, targetContainerId, additionalParams, strTitle, strDescription, strKeywords) {
    if (!document.getElementById) return false;
    if (!document.getElementById(sourceContainerId)) return false;
    if (!document.getElementById(targetContainerId)) return false;
    document.title = strTitle;
  
    changeMetaDescription(strDescription, strKeywords);
    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 (!sendAjaxRequestGoToTop(url, params, this.targetContainerId, true));
        };
    }
    var meta;
    if (document.createElement &&
    (meta = document.createElement('meta'))) {

    meta.name = "description";
    meta.content = strDescription;
    document.getElementsByTagName('head').item(0).appendChild(meta);

    meta.name = "keywords";
    meta.content = strKeywords;
    document.getElementsByTagName('head').item(0).appendChild(meta);
}
}

function changeMetaDescription(strDescription, strKeywords) {
    metatags = document.getElementsByTagName("meta");
    for (cnt = 0; cnt < metatags.length; cnt++) {
        var name = metatags[cnt].getAttribute("name");
        var content = metatags[cnt].getAttribute("content");
        if (metatags[cnt].getAttribute("name") == "Description") {
            metatags[cnt].setAttribute("content", strDescription);
        }
        else if (metatags[cnt].getAttribute("name") == "Keywords") {
            metatags[cnt].setAttribute("content", strKeywords);
        }
    }

}
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 sendAjaxRequestGoToTopForArticle(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);


            var full_url = location.href;
            //get the top offset of the target anchor
            if ($("#gototop").length) { // implies *not* zero

                var target_offset = $("#gototop").offset();
                var target_top = target_offset.top;

                //goto that anchor by setting the body scroll top to anchor top
                $('html, body').animate({ scrollTop: target_top }, 500);
            }
            changeCssForAllArticlesPage();
            
        }

    });

    return true;
}
function sendAjaxRequestGoToTop(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);


            var full_url = location.href;
            //get the top offset of the target anchor
            if ($("#gototop").length) { // implies *not* zero

                var target_offset = $("#gototop").offset();
                var target_top = target_offset.top;

                //goto that anchor by setting the body scroll top to anchor top
                $('html, body').animate({ scrollTop: target_top }, 500);
            }
        }

    });
	
    return true;
}

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) {
	var newUrl = url.replace("{sort}", getDDLValue(ddlSortId));
	newUrl = newUrl.replace("{display}", getDDLValue(ddlDisplayId));
	newUrl = newUrl.replace("{page}", "1");
    sendAjaxRequest(newUrl,"", 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";

   	var newUrl = url.replace("{sort}", getDDLValue(ddlSortId));
	newUrl = newUrl.replace("{display}", getDDLValue(ddlDisplayId));
	newUrl = newUrl.replace("{page}", "1");
	
   sendAjaxRequest(newUrl, "reviewId=" + reviewId + "&feedback=" + feedback + "&feedbackCount=" + feedbackCount, targetContainerId, true);
}


function watchVideo(videoId, previousVideoId, targetContainerId, url) {
   sendAjaxRequest(url, "videoId=" + videoId + "&previousVideoId=" + previousVideoId, targetContainerId, true);

}
function changeCssForAllArticlesPage() {

    $('#art1').removeClass('HL_FirstArtHightlight');
    $('#latest_articles_section').attr('id', 'WpAllArticles');

    $('.WpLatestArticleSection').addClass('allArticlesBlock');

    $('.WpLatestArticleSection').removeClass('LineSeperation');

    $('.allArticlesBlock').removeClass('WpLatestArticleSection');

    $('.allArticlesBlock').addClass('LineSeperation');

    $('h3').remove();

}
