/**
 * @author Mawi
 */
/**
 * Show/Hide div wtih CSS
 * @param {Object} Parent
 * @param {Object} Child
 */
function HideCloaps(Parent, Child){
    var P = document.getElementById(Parent);
    var C = document.getElementById(Child);
    if (C != null) {
        if (C.style.display == 'none') {
            C.style.display = 'block';
        }
        else {
            C.style.display = 'none'
        }
    }
}


/**
 * Set cookie value
 */
function SetCookie(){
    if (arguments.length < 2) {
        return;
    }
    var n = arguments[0];
    var v = arguments[1];
    var d = 0;
    if (arguments.length > 2) {
        d = parseInt(arguments[2]);
    }
    var exp = '';
    if (d > 0) {
        var now = new Date();
        then = now.getTime() + (d * 24 * 60 * 60 * 1000);
        now.setTime(then);
        exp = '; expires=' + now.toGMTString();
    }
    document.cookie = n + "=" + escape(String(v)) + '; path=/' + exp;
}

/**
 * Read cookie value
 * @param {Object} n
 */
function ReadCookie(n){
    var cookiecontent = new String();
    if (document.cookie.length > 0) {
        var cookiename = n + '=';
        var cookiebegin = document.cookie.indexOf(cookiename);
        var cookieend = 0;
        if (cookiebegin > -1) {
            cookiebegin += cookiename.length;
            cookieend = document.cookie.indexOf(";", cookiebegin);
            if (cookieend < cookiebegin) {
                cookieend = document.cookie.length;
            }
            cookiecontent = document.cookie.substring(cookiebegin, cookieend);
        }
    }
    return unescape(cookiecontent);
}

/**
 * The method to call when a new WSG report generation finishes
 */
function reportGenerated(){
    jQuery('#generateReport').removeAttr("disabled");
    ScrollToElement(document.getElementById("ProgCont"));
}


var emailReportPopUp = {
    panel: null,
    init: function(){
        var id = "#dialog";
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();
        $('#mask').css({
            'width': maskWidth,
            'height': maskHeight
        });
        $('#mask').fadeTo(100, 0.55, function(){
            $('#mask').show();
        });
        var winH = $(window).height();
        var winW = $(window).width();
        $(id).css('top', winH / 2 - $(id).width() / 2);
        $(id).css('left', winW / 2 - $(id).width() / 2);
        $(id).fadeIn(100);
    },
    hide: function(){
        $('#mask, .window').hide();
    }
}

function sendReportLinkByMail(){

    var userEmail = $("#txtReportEmail").val();
    if (userEmail != "") {
        var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
        var regex = new RegExp(emailReg);
        if (!regex.test(userEmail)) {
            jQuery("#SendLinkStatus").toggleClass("message info", false);
            jQuery("#SendLinkStatus").toggleClass("message correct", false);
            jQuery("#SendLinkStatus").toggleClass("message alert", true);
            jQuery("#SendLinkStatus").html("Invalid email address");
            return;
        }
    }
    else {
        jQuery("#SendLinkStatus").toggleClass("message info", false);
        jQuery("#SendLinkStatus").toggleClass("message correct", false);
        jQuery("#SendLinkStatus").toggleClass("message alert", true);
        jQuery("#SendLinkStatus").html("Please enter your email");
        return;
    }
    
    var postedData = {
        url: jQuery("#ReportLink").attr("url"),
        email: userEmail,
        reportLink: jQuery("#ReportLink").attr("href"),
        reportGrade: jQuery("#wsgScore").text()
    };
    ajaxUrl = cbhUrl + "sendReportLink/";
    var progressTemplate = "<table cellspacing='0' cellpadding='0' style='border-bottom:none !important; border-right:hidden !important;border:none !important'>" +
    "<tr><td width='5%' style='border-bottom:none !important; border-right:hidden !important;border:none !important' valign='top' align='left'width='20%'>" +
    "<img src='http://www.websitegrader.com/hsimages/hubspot_load5.gif'></td>" +
    "<td style='border-bottom:none !important; border-right:hidden !important;border:none !important' valign='center' align='left' id='progTextHolder'>Sending report to " +
    userEmail +
    "...</td></tr></table>";
    jQuery("#SendLinkStatus").toggleClass("message alert", false);
    jQuery("#SendLinkStatus").toggleClass("message correct", false);
    jQuery("#SendLinkStatus").toggleClass("message info", true);
    jQuery("#SendLinkStatus").html(progressTemplate);
    jQuery.post(ajaxUrl, postedData, function(data){
        if (data == null || data.Status == null || data.Status == false || data.Status == "false") {
            jQuery("#SendLinkStatus").toggleClass("message info", false);
            jQuery("#SendLinkStatus").toggleClass("message correct", false);
            jQuery("#SendLinkStatus").toggleClass("message alert", true);
            jQuery("#SendLinkStatus").html("Failed to send report to " + userEmail);
        }
        else {
            jQuery("#SendLinkStatus").toggleClass("message alert", false);
            jQuery("#SendLinkStatus").toggleClass("message info", false);
            jQuery("#SendLinkStatus").toggleClass("message correct", true);
            jQuery("#SendLinkStatus").html("Report sent to " + userEmail);
        }
        
    }, "json");
}

function getIndustryGrade(){
    var naicsCode = jQuery("#naicsCode").val();
    var website = jQuery("#naicsCode").attr("website");
    var grade = jQuery("#naicsCode").attr("grade");
	
	var postedData = {
        url: website,
        naics: naicsCode,
        reportGrade: grade
    };
    ajaxUrl = cbhUrl + "industryGrade/";
	 jQuery.post(ajaxUrl, postedData, function(data){
        if (data == null || data.Status == null || data.Status == false || data.Status == "false") {
        }
        else {
        }
        
    }, "json");
}

function logSafely(message){
    try {
        if (window.console) {
            window.console.log(message);
        }
    } 
    catch (error) {
    }
}

function ScrollToElement(theElement){

    var selectedPosX = 0;
    var selectedPosY = 0;
    
    while (theElement != null) {
        selectedPosX += theElement.offsetLeft;
        selectedPosY += theElement.offsetTop;
        theElement = theElement.offsetParent;
    }
    
    window.scrollTo(selectedPosX, selectedPosY);
    
}

function attachUsageTracking(elementId, logMessage){
    try {
        hubspot.tracker.log(logMessage, 98);
        window.setTimeout(function(){
            window.location.href = jQuery(elementId).attr("href");
        }, delayTimeout);
        return false;
    } 
    catch (error) {
        alert(error.message);
    }
    return false;
}
