﻿var tabParameters = new Array();

function x_tabs_init(tab, params) {
    tabParameters = params;
    var page = 1;

    if (params["page"] > 1)
        page = parseInt(params["page"]);

    if (tab == "repair") {
        if (params["ctg"])
            $("repair_CurrentCategory").value = params["ctg"];
        if (params["zipcode"])
            $("repair_CurrentZip").value = params["zipcode"];

        if (page > 1 || params["zipcode"] || params["ctg"])
            JSPaging_Repair_movePage(page);
    }
    else if (tab == "rnr") {
        if (page > 1)
            JSPaging_Experts_movePage(page);
    }
    else if (tab == "problems") {
        if (page > 1)
            JSPaging_Solutions_movePage(page);
    }
    else if (tab == "manuals") {
        if (page > 1)
            JSPaging_Manuals_movePage(page);
    }
}

function x_tabs_click(tab) {
    if (isFirstPage && tab != "products") {
        window.location.href = sLinkFirstPage + "#" + tab;
        return false;
    }
    return true;
}

function x_tabs_switch(tab) {
}

function uploadManual() {
    var error = false;
    var filename = $F("uploadManualFile");
    var ext;
    var errText_File = $("ManualUpload_Err_File");
    var errText_Prod = $("ManualUpload_Err_Product");
    var divProduct = $("manualUploadProductSection");

    if (divProduct)
        divProduct.style.borderStyle = "none";
    $("manualUploadFileSection").style.borderStyle = "none";
    errText_File.innerHTML = "";
    if (errText_Prod)
        errText_Prod.innerHTML = "";

    if ($F("hdnPrdIdManuals") == "" || $F("hdnPrdIdManuals") == "0") {
        if (errText_Prod)
            errText_Prod.innerHTML = "Please select a product from the list.";
        if (divProduct)
            divProduct.style.borderStyle = "solid";
        error = true;
    }

    ext = filename.substring(filename.length - 3).toLowerCase();
    if (filename == "") {
        if (errText_Prod)
            errText_File.innerHTML = "Please select a file to upload.";
        $("manualUploadFileSection").style.borderStyle = "solid";
        error = true;
    } else if (ext != "pdf" && ext != "txt" && ext != "doc") {
        errText_File.innerHTML = "Valid file types are PDF, TXT and DOC.";
        $("manualUploadFileSection").style.borderStyle = "solid";
        error = true;
    }

    if (error)
        return;

    var form = $("FormSubmitManual");
    form.action = "/UploadManual.aspx?prdid=" + ($("hdnPrdIdManuals").value);
    if ($("inputsearchManuals"))
        $("manualUploadTitle").value = ($("inputsearchManuals").value) + " Manual";
    else
        $("manualUploadTitle").value = "Manual";
    form.submit();
}

function doUploadManuals() {
}

function repairSelectCategory(ctg, ctgName) {
    $("repair_CurrentCategory").value = ctg;
    $("repair_CurrentZip").value = "";
    tabParameters["ctg"] = ctg;
    tabParameters["zipcode"] = null;
    JSPaging_Repair_movePage(1);

    var oTitle = $("repairTitle");
    if (oTitle) {
        if (ctgName != "") {
            ctgName = " for " + ctgName;
        }
        oTitle.innerHTML = "Top Repair Providers" + ctgName;
    }
}

function repairSearch() {
    var zip = $F("repair_zip");
    if (zip == $('repair_zip').defaultValue) {
        $('divRepairZip').className = 'p_repair_zip_error';
        return;
    }
    else 
        $('divRepairZip').className = 'p_repair_zip';
    var oDropdown = $("repair_dropdown");
    $("repair_CurrentCategory").value = oDropdown.value;
    $("repair_CurrentZip").value = $F("repair_zip");
    tabParameters["ctg"] = $F("repair_dropdown");
    tabParameters["zipcode"] = zip;
    JSPaging_Repair_movePage(1);

    var oTitle = $("repairTitle");
    var ctgName = oDropdown.options[oDropdown.selectedIndex].text;
    if (oTitle) {
        if (ctgName != "") {
            ctgName = " for " + ctgName;
        }
        oTitle.innerHTML = "Top Repair Providers" + ctgName;
    }
}

function getQueryStringFromParams(params) {
    var result = "";
    if (params["page"])
        result += "&page=" + params["page"];
    if (params["ctg"])
        result += "&ctg=" + params["ctg"];
    if (params["zipcode"])
        result += "&zipcode=" + params["zipcode"];

    return result;
}

function doRepairMovePage(page) {
    JSPaging_Repair_WaitingToLoad = true;
    var url = "/HttpHandlers/rprdir/GetAdverts.ashx?page=" + page + "&advctg=" + $F("repair_CurrentCategory") + "&zipcode=" + $F("repair_CurrentZip");
    var resultDiv = $("repairResults");
    tabParameters["page"] = page;
    var qString = getQueryStringFromParams(tabParameters);
    if (page == 1)
        qString = "";

    location.hash = "tabs";
    location.replace("#repair" + qString);

    resultDiv.innerHTML = "<img src='/images/icons/ajax_loader.gif' class='p_ajaxLoader' />";
    new Ajax.Request(url,
        {
            method: 'post',
            postBody: '',
            onSuccess: function(oHttp) { repairMovePageRender(oHttp); },
            onFailure: function(oHttp) { JSPaging_Repair_WaitingToLoad = false; }
        }
    );
}

function repairMovePageRender(tran) {
    eval('var ret_obj = ' + tran.responseText);
    var div = $("repairResults");
    var i, oResult, RightNoticeHtml, totalPages;

    totalPages = ret_obj[0];
    if (totalPages != JSPaging_Repair_TotalPages) {
        JSPaging_Repair_changeTotalResults(totalPages);
    }

    if (ret_obj.length <= 1)
        $("p_repair_showDefault").style.display = "inline";
    else
        $("p_repair_showDefault").style.display = "none";

    div.innerHTML = "";
    for (i = 1; i < ret_obj.length; i++) {
        oResult = ret_obj[i];

        RightNoticeHtml = oResult.RightNoticeHtml

        div.innerHTML += "" +
        "<div class=\"slnitm\" style=\"padding-bottom: 0;\">" +
            "<div class=\"mainFrm  mainFrmNoPic\">" +
                "<div class=\"title\">" +
	                "<a lang=\"5442\" href=\"" + oResult.Url + "\">" + oResult.Title + "</a>" +
                "</div>" +
                "<div class=\"itmLnk\">" +
	                oResult.BodyHtml +
                "</div>" +
                "<div class=\"itmFoot\">" +
	                oResult.StatusHtml +
                "</div>" +
            "</div>" +
            RightNoticeHtml +
            "<br class=\"br\"/>" +
        "</div>";
    }

    JSPaging_Repair_WaitingToLoad = false;
}

function expertsSelectCategory(ctgid, brdid) {
    var divCoE = $("CategoryOfExperts");

    pExpertsBrandId = brdid;
    if (ctgid > 0) {
        pExpertsCategoryId = ctgid;
        JSPaging_Experts_movePage(1);
    }

    if (divCoE) {
        divCoE.innerHTML = "";
    }
}

function expertsSelectCategoryDropdown(oDropdown) {
    var ctgid = oDropdown.value;
    var divCoE = $("CategoryOfExperts");

    if (ctgid > 0) {
        pExpertsCategoryId = ctgid;
        pExpertsBrandId = 0;
        JSPaging_Experts_movePage(1);
    }
    if (divCoE) {
        divCoE.innerHTML = oDropdown.options[oDropdown.selectedIndex].getAttribute("ctgname");
    }
}

function expertsSelectBrand(brdid) {
    pExpertsBrandId = brdid;
    JSPaging_Experts_movePage(1);
}

function doExpertsMovePage(page) {
    JSPaging_Experts_WaitingToLoad = true;
    var url = "/HttpHandlers/experts/GetExperts.ashx?page=" + page + "&ctgid=" + pExpertsCategoryId + "&brdid=" + pExpertsBrandId;
    var resultDiv = $("expertsResults");
    tabParameters["page"] = page;
    var qString = "&page=" + page;
    if (page == 1)
        qString = "";

    location.hash = "tabs";
    location.replace("#experts" + qString);
    resultDiv.innerHTML = "<img src='/images/icons/ajax_loader.gif' class='p_ajaxLoader' />";
    new Ajax.Request(url,
        {
            method: 'post',
            postBody: '',
            onSuccess: function(oHttp) { JSPaging_Experts_WaitingToLoad = false; expertsMovePageRender(oHttp); },
            onFailure: function(oHttp) { JSPaging_Experts_WaitingToLoad = false; }
        }
    );
}

function expertsMovePageRender(tran) {

    eval('var ret_obj = ' + tran.responseText);

    var div = $("expertsResults");
    var divNoE = $("NumberOfExperts");
    var i, oResult, totalPages, totalResults, staff, brand, moderator, ctgExpert;

    totalPages = ret_obj[0][0];
    totalResults = ret_obj[0][1];
    if (totalPages != JSPaging_Experts_TotalPages) {
        JSPaging_Experts_changeTotalResults(totalPages);
    }

    if (divNoE) {
        divNoE.innerHTML = totalResults + " ";
    }

    div.innerHTML = "";
    for (i = 1; i < ret_obj.length; i++) {
        oResult = ret_obj[i];

        if (oResult.Staff.length > 0) {
            staff = "<div style=\"float: left; font-weight: bold; padding-right: 15px;\">" +
                        "<img style=\"vertical-align: bottom; padding-right: 5px;\" alt=\"\" src=\"/images/icons/icon_staffBadge.gif\"/>" + oResult.Staff + " Staff" +
                    "</div>";
        }
        else {
            staff = "";
        }

        if (eval(oResult.isModerator)) {
            moderator = "<img src=\"/images/icons/badge_expertModerator.gif\" alt=\"Expert Moderator\" style=\"vertical-align: bottom; padding-left: 5px;\" />";
        }
        else {
            moderator = "";
        }


        if (oResult.Brand.length > 0 && (!(pageCtgId > 0 && pExpertsBrandId == 0))) {
            brand = "<div class=\"p_expert_badge\">" + oResult.Brand + "</div>";
        } else {
            brand = "";
        }
        if (typeof (oResult.isCategoryExpert) != 'undefined' && typeof (oResult.expertySrc) != 'undefined')
            if (oResult.isCategoryExpert) {
            ctgExpert = "<div style=\"float: left; font-weight: bold; padding-right: 15px;\">" +
                        "<img style=\"vertical-align: bottom; padding-right: 5px;\" alt=\"\" src=\"" + oResult.expertySrc + "\"/>" + "Expert" +
                    "</div>";
        }
        else {
            ctgExpert = "";
        }
            
        div.innerHTML += "" +
        "<div style=\"padding: 0pt;\" class=\"c_srch_prem\">" +
            "<div style=\"border-right: 1px solid rgb(204, 204, 204); float: left;\">" +
	            "<div class=\"imgavatar\">" +
		            "<a href=\"" + oResult.Url + "\"><img alt=\"" + oResult.ExpertName + "\" src=\"" + oResult.Avatar + "\" class=\"img\"/></a>" +
	            "</div>" +
	            "<div style=\"padding-top: 0px; width: 362px;\" class=\"mdl\">" +
		            "<div style=\"font-weight: bold; float: left; margin-top: 0px; padding-top: 3px;\">" +
			            "#" + oResult.Position + ":" +
		                "<a href=\"" + oResult.Url + "\">" + oResult.ExpertName + "</a>" + moderator +
		            "</div>" +
		            "<br class=\"br\"/>" +
		            "<div style=\"height: 1%;\">" +
			            "<div style=\"float: left; padding-right: 15px;\">" +
				            "<strong>Rank:</strong> <img class=\"rnk\" alt=\"" + oResult.Rank + "\" src=\"/images/icons/" + oResult.RankIcon + "_s_bl.png\"/><span>" + oResult.Rank + "</span>" +
			            "</div>" +
			            staff +
		                brand +
		                ctgExpert +
			            "<br class=\"br\"/>" +
		            "</div>" +
		            "<div>" +
			            "<strong>Rating:</strong> " +
			            Math.round(oResult.Rating) + "%, " + oResult.Votes +
		            "</div>" +
		            "<div>" +
			            "<strong>Solutions:</strong> " +
			            oResult.Solutions + " (" + oResult.SolutionsLastMonth + " Vote" + ((oResult.SolutionsLastMonth == 1) ? "" : "s") + " in the last 30 days)" +
		            "</div>" +
	                "<div class=\"exprc\">" +
		                "<strong>Experience:</strong>" +
		                oResult.Experience +
	                "</div>" +
	            "</div>" +
	            "<br class=\"br\"/>" +
	        "</div>" +
	        "<div class=\"mdr\">" +
	            "<a class=\"exp_ask\" href=\"/postquestionpremium.aspx?ctgid=" + pExpertsCategoryId + "&ref=asktop2\">Ask An Expert</a>" +
            "</div>" +
            "<br class=\"br\"/>" +
        "</div>";
    }

    JSPaging_Experts_WaitingToLoad = false;
}

function doSolutionsMovePage(page) {
    JSPaging_Solutions_WaitingToLoad = true;
    var url = "/HttpHandlers/GetSolutions.ashx?page=" + page + "&ctgid=" + pageCtgId + "&brdid=" + pageBrdId;
    var resultDiv = $("solutionsResults");
    tabParameters["page"] = page;
    var qString = getQueryStringFromParams(tabParameters);
    if (page == 1)
        qString = "";

    var divProblems = $("p_problems");
    if (divProblems)
        divProblems.style.display = "none";

    location.hash = "tabs";
    location.replace("#problems" + qString);

    resultDiv.innerHTML = "<img src='/images/icons/ajax_loader.gif' class='p_ajaxLoader' />";
    new Ajax.Request(url,
        {
            method: 'post',
            postBody: '',
            onSuccess: function(oHttp) { solutionsMovePageRender(oHttp); },
            onFailure: function(oHttp) { JSPaging_Solutions_WaitingToLoad = false; }
        }
    );
}

function solutionsMovePageRender(tran) {
    var res = tran.responseText;
    if (res != null) {
        res = res.replace(/\n\r/gi, ' ').replace(/\n/gi, ' ').replace(/\r/gi, ' ');
    }
    eval('var ret_obj = ' + res);
    
    var div = $("solutionsResults");
    var i, oResult, totalPages;
    totalPages = ret_obj[0];

    if (totalPages != JSPaging_Solutions_TotalPages) {
        JSPaging_Solutions_changeTotalResults(totalPages);
    }

    div.innerHTML = "";
    for (i = 1; i < ret_obj.length; i++) {
        oResult = ret_obj[i];

        div.innerHTML += "" +
        "<div class=\"c_gen_item c_gen_item_pic  \" onclick=\"window.location.href='" + oResult.TitleUrl + "';\">" +
            "<div class=\"c_gen_item_image\">" +
                "<a lang=\"0\" onclick=\"event.cancelBubble=true;\" href=\"" + oResult.ProductUrl + "\">" + oResult.ProductImage + "</a>" +
            "</div>" +
            "<div class=\"c_gen_item_body\">" +
                "<div class=\"c_gen_item_product\">" +
                    "<a lang=\"0\" style=\"text-align: center;\" onclick=\"event.cancelBubble=true;\" class=\"prdName\" href=\"" + oResult.ProductUrl + "\">" + oResult.ProductName + "</a>" +
                "</div>" +
                "<div class=\"c_gen_item_title\">" +
                    "<a lang=\"0\" onclick=\"event.cancelBubble=true;\" href=\"" + oResult.TitleUrl + "\">" + oResult.Title + "</a>" +
                "</div>" +
                "<div class=\"c_gen_item_text\">" +
                    "<a lang=\"0\" onclick=\"event.cancelBubble=true;\" class=\"g_regularTextLink\" href=\"" + oResult.TitleUrl + "\">" + oResult.Body + "</a>" +
                "</div>" +
            "</div>" +
            "<div class=\"c_gen_item_action\">" +
                "<a lang=\"5681\" target=\"\" onclick=\"event.cancelBubble=true; return true;; return false;\" href=\"" + oResult.TitleUrl + "\">" + oResult.Solutions + " Solution" + ((oResult.Solutions > 1) ? "s" : "") + "</a>" +
            "</div>" +
            "<br class=\"br\"/>" +
        "</div>";
    }

    JSPaging_Solutions_WaitingToLoad = false;
}

function doManualsMovePage(page) {
    JSPaging_Solutions_WaitingToLoad = true;
    var url = "/HttpHandlers/GetManuals.ashx?page=" + page + "&ctgid=" + pageCtgId + "&brdid=" + pageBrdId;
    var resultDiv = $("manualsResults");
    tabParameters["page"] = page;
    var qString = getQueryStringFromParams(tabParameters);
    if (page == 1)
        qString = "";

    location.hash = "tabs";
    location.replace("#manuals" + qString);

    resultDiv.innerHTML = "<img src='/images/icons/ajax_loader.gif' class='p_ajaxLoader' />";
    new Ajax.Request(url,
        {
            method: 'post',
            postBody: '',
            onSuccess: function(oHttp) { manualsMovePageRender(oHttp); },
            onFailure: function(oHttp) { JSPaging_Manuals_WaitingToLoad = false; }
        }
    );
}

function manualsMovePageRender(tran) {
    eval('var ret_obj = ' + tran.responseText);
    var div = $("manualsResults");
    var i, oResult, oMan, totalPages, innerHTML;
    totalPages = ret_obj[0];

    if (totalPages != JSPaging_Manuals_TotalPages) {
        JSPaging_Manuals_changeTotalResults(totalPages);
    }

    div.innerHTML = "";
    for (i = 1; i < ret_obj.length; i++) {
        oResult = ret_obj[i];
        innerHTML = "";
        for (j = 0; j < oResult.Manuals.length; j++) {
            oMan = oResult.Manuals[j];
            innerHTML += "" +
		            "<div style=\"" + ((j == oResult.Manuals.length - 1) ? "border-bottom: medium none;" : "") + "width: 499px;\" class=\"c_srch_prb\">" +
			            "<div class=\"title\">" +
				            "<div class=\"leftTtl md_leftTtl\">" +
					            "<a onclick=\"\"" +
					            "href=\"" + oMan.Url + "\"" +
					            "class=\"txt\">" + oMan.Title + "</a>" +
				            "</div>" +
				            "<div class=\"rgtTtl\">" +
					            "<a style=\"border-bottom: 1px solid rgb(193, 193, 193); background-color: rgb(239, 245, 248); display: block; font-size: 15px; line-height: 27px; text-decoration: none; width: 80px; text-align: center;\"" +
					            "onclick='window.open(\"/ManualsDirectory/ViewPDF.aspx?itemid=" + oMan.Id + "\", \"ViewPDF\", \"toolbar=false, location=false, copyhistory=false, status=false, resizable=1\");'" +
					            "href=\"javascript:void(0);\">Download</a>" +
				            "</div>" +
			            "</div>" +
			            "<div class=\"content\"></div>" +
		            "</div>";
        }
        div.innerHTML += "" +
        "<div class=\"c_srch_res\">" +
	        "<div class=\"leftPane\">" +
		        "<div class=\"upper\">" +
			        "<div class=\"inner\">" +
				        "<div class=\"imgCont\">" +
					        "<a lang=\"5513\" href=\"" + oResult.ProductUrl + "\">" +
						        "<img onerror=\"this.src='/images/icons/404_118x100.png';return false;\"" +
						        "alt=\"" + oResult.ProductName + "\"" +
						        "src=\"" + oResult.ProductImage + "\"" +
						        "class=\"img\" />" +
					        "</a>" +
				        "</div>" +
				        "<div class=\"link\">" +
					        "<a lang=\"5513\"" +
					        "href=\"" + oResult.ProductUrl + "\"" +
					        "title=\"" + oResult.ProductName + "\">" + oResult.ProductName + "</a>" +
				        "</div>" +
			        "</div>" +
		        "</div>" +
	        "</div>" +
	        "<div class=\"rightPane\">" +
		        "<div style=\"float: left; height: 120px; width: 1px;\" ></div>" +
                innerHTML +
                "<br class=\"br\" />" +
            "</div>" +
            "<br class=\"br\" />" +
        "</div>";
    }

    JSPaging_Manuals_WaitingToLoad = false;
}

function p_showMoreSolutions(btn) {
    btn.parentNode.style.display = 'none';
    $('p_problems').style.display = 'none';
    $('p_viewMoreSolutions_Paging').style.display = 'block';

    doSolutionsMovePage(1);
}

function manSubmit() {
    var selectedValue = $F('txtSearchManual');
    if (selectedValue == null)
        return false;
    if (selectedValue.length < 2) {
        $('txtSearchManual').value = '';
        return false;
    }

    $('hdnManualssearch').value = selectedValue;
    if (selectedValue.indexOf('manual') == -1) {
        $('hdnManualssearch').value += ' manuals';
    }

    return true;
}