﻿function openHelpPopup(page)
{
    var w = 755;
    var h = 575;
    var winl = (screen.width - w) / 2;
    var wint = (screen.height - h) / 2;
    var settings = 'height=' + h + ',';
    settings += 'width=' + w + ',';
    settings += 'top=' + wint + ',';
    settings += 'left=' + winl + ',';
    settings += 'scrollbars=no,';
    settings += 'resizable=no,';
    settings += 'toolbar=no,';
    settings += 'status=no,';
    settings += 'menubar=no,';
    settings += 'titlebar=no';
    childWindow = window.open(page, 'location', settings);
    if (childWindow != null)
        childWindow.window.focus();
}

function openHelpPopupSmall(page, width, height)
{
    var w = width;
    var h = height;
    var winl = (screen.width - w) / 2;
    var wint = (screen.height - h) / 2;
    var settings = 'height=' + h + ',';
    settings += 'width=' + w + ',';
    settings += 'top=' + wint + ',';
    settings += 'left=' + winl + ',';
    settings += 'scrollbars=no,';
    settings += 'resizable=no,';
    settings += 'toolbar=no,';
    settings += 'status=no,';
    settings += 'menubar=no,';
    settings += 'titlebar=no';
    childWindow = window.open(page, 'location', settings);
    if (childWindow != null)
        childWindow.window.focus();
}
function helpCancel()
{
    window.close();
}

var helpCategory;
var helpSubCategory;
var pleaseSelect ;
function InitDropdownCall_Back(val)
{
    var browsers = val;
}

var xmlGlbDoc;
function getXml()
{
    var xmlDoc;
    var xmlPath = '../xml/HelpRequest.xml';
    try //Internet Explorer
    {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    }
    catch (e)
    {
        try
        {
            xmlDoc = document.implementation.createDocument("", "", null); //ff, etc
            
        }
        catch (e)
        {
            alert('Your browser can\'t handle this script');
        }
    }
    try
    {
        xmlDoc.async = false;
        xmlDoc.load(xmlPath);
    }
    catch (e) //This could be safari
    {
        try
        {
            var req = null;
            if (window.XMLHttpRequest)
            {
                req = new XMLHttpRequest();
                if (req != null)
                {
                    req.open("GET", xmlPath, false);
                    req.onreadystatechange = function() { if (req.readyState == 4) { if (req.status == 200) { xmlDoc = req.responseXML; } } }
                    req.setRequestHeader('Content-type', 'text/xml');
                    req.send("");
                }
            }
        }
        catch (e)
        {
            alert(e.message);
        }
    }
    return xmlDoc;
}

function populateDropdowns()
{
    var browsers = ['IE8', 'IE7', 'IE6', 'IE5', 'FIREFOX', 'SAFARI'];
    var browserNames = ['Internet Explorer 8', 'Internet Explorer 7', 'Internet Explorer 6', 'Internet Explorer 5', 'Firefox', 'Safari'];
    var os = ['WIN7', 'WINVISTA', 'WINXP', 'WIN2000', 'WIN98', 'WIN95', 'OSX'];
    var osNames;
    if (LanguageID == "FR")
    {
        osNames = ['Windows 7', 'Windows Vista', 'Windows XP', 'Windows 2000', 'Windows 98', 'Windows 95', 'Mac OS', 'Windows 7'];
    }
    else
    {
       osNames=['Windows 7', 'Windows Vista', 'Windows XP', 'Windows 2000', 'Windows 98', 'Windows 95', 'OS X'];
    }
    

    var helpOS = $get(helpOSID);
    var helpBrowser = $get(helpBrowserID);

    helpOS.options.length = 0;
    helpBrowser.options.length = 0;
    helpOS.options[0] = new Option(pleaseSelect, '');
    helpBrowser.options[0] = new Option(pleaseSelect, '');

    for (var i = 0; i < browsers.length; i++)
    {
        helpBrowser.options[i + 1] = new Option(browserNames[i], browsers[i]);
    }
    for (var i = 0; i < os.length; i++)
    {
        helpOS.options[i + 1] = new Option(osNames[i], os[i]);
    }
    xmlGlbDoc = getXml();

    
    if (xmlGlbDoc != null && typeof (xmlGlbDoc) != 'undefined')
    {
    //--this my code--
        var languages = xmlGlbDoc.getElementsByTagName('Language');
        var cat;
        for (var m = 0; m < languages.length; m++)
        {
            var langID = languages[m].getAttribute('id');
            if (langID == LanguageID)
            {
                LanguageName = languages[m].getAttribute('name');
                cat = languages[m];
            }
        }
    //-- Setup Interface
        var intFace = cat.getElementsByTagName('Interface');
        if (intFace[0].childNodes.length > 0)
        {
            for (var i = 0; i < intFace[0].childNodes.length; i++)
            {
                var node = intFace[0].childNodes[i];
                var nodeName = node.nodeName;
                var nodeValue = node.nodeTypedValue ? node.nodeTypedValue : node.textContent;
             
                var elem = $get(nodeName);
                if (elem != null)
                {
                    if (elem.tagName == "LABEL")
                    {
                        elem.innerHTML = nodeValue;
                    }
                    else if (elem.tagName == "IMG")
                    {
                        var url = window.location.href;
                        var urlparts = url.split("/");
                        elem.src = RootUrl  + nodeValue;
                    }
                    else
                    {
                        var name2 =window.location +"/" + elem.tagName;
                    }
                }
                if (nodeName == "PleaseSelect")
                {
                    pleaseSelect = node.nodeTypedValue ? node.nodeTypedValue : node.textContent;
                }
                if (nodeName == "Invalid")
                {
                    ValidationMessage = node.nodeTypedValue ? node.nodeTypedValue : node.textContent;
                }
            }
        }
      //--  SetUp Categories 
        helpCategory.options[0] = new Option(pleaseSelect, '');
        helpSubCategory.options[0] = new Option(pleaseSelect, '');
       //-- here is end of my code
        var categories = cat.getElementsByTagName('CategoryItem');
        var j = 0;
        for (var i = 0; i < categories.length; i++)
        {
            var enabled = categories[i].getAttribute('enabled');
            if (enabled.toUpperCase() == 'TRUE')
            {
                j++;
                var id = categories[i].getAttribute('id');
                var name = categories[i].getAttribute('name');
                helpCategory.options[j] = new Option(name, id);
            }
        }
    }

    var subCategoryNode = getXmlNodeById('EU-AP');
    if (subCategoryNode != null)
    {

    }
    firefoxModalPopupfix();
}
var subCategoryHighPriority = ['false'];
function getCategorySubItems(sender, onload)
{
    var categories = sender;
    subCategoryHighPriority = [];
    if (categories[categories.selectedIndex].value != '')
    {
        if (categories != null && categories.length != 0)
        {
            var nodeId = categories[categories.selectedIndex].value;
            var subNode = getXmlNodeById(nodeId);
            
            var subCategories = subNode.getElementsByTagName('SubCategoryItem');
            helpSubCategory.length = 0;
            helpSubCategory.options[0] = new Option(pleaseSelect, '');
            subCategoryHighPriority[0] = "";
            var j = 0;
            for (var i = 0; i < subCategories.length; i++)
            {
                var enabled = subCategories[i].getAttribute('enabled');
                if (enabled.toUpperCase() == 'TRUE')
                {
                    j++;
                    var id = subCategories[i].getAttribute('id');
                    var name = subCategories[i].getAttribute('name');
                    helpSubCategory.options[j] = new Option(name, id);
                    subCategoryHighPriority[j] = subCategories[i].getAttribute('highPriority');
                }
            }
        }
    }
    if (!onload)
        validatePage();
}

function validatePage()
{
    try
    {
        if (Page_ClientValidate('HelpRequest'))
            $get('divValidation').style.display = 'none';
        else
            $get('divValidation').style.display = '';
    }
    catch (e) { }

}
function getXmlNodeById(nodeId)
{
    var languages = xmlGlbDoc.getElementsByTagName('Language');
    var cat;
    for (var m = 0; m < languages.length; m++)
    {
        var langID = languages[m].getAttribute('id');
        if (langID == LanguageID)
        {
            cat = languages[m];
        }
    }
    var node_tags = cat.getElementsByTagName('CategoryItem');
    for (i = 0; i < node_tags.length; i++)
    {
        if (node_tags[i].getAttribute('id') == nodeId)
            return node_tags[i];
    }
    return null;
}
var xml;
var EmailFrom;
function buildXml()
{
    //var retailerid = '<%=RetailerID %>';
    crmfilingemail = 'helprequest@photochannel.com';
    var contactid = '';
    var firstname = $get(helpFirstNameID).value;
    var lastname = $get(helpLastnameID).value;
    var EmailFrom = $get(helpEmailID).value;
    var helpOS = $get(helpOSID);
    var os = helpOS[helpOS.selectedIndex].value;
    var helpBrowser = $get(helpBrowserID);
    var browser = helpBrowser[helpBrowser.selectedIndex].value;
    var helpCategory = $get(helpCategoryID);
    var helpSubCategory = $get(helpSubCategoryID);
    var category = helpCategory[helpCategory.selectedIndex].value;
    var subcategory = helpSubCategory[helpSubCategory.selectedIndex].value;
    var notes = $get(helpMessageID).value;
    var orderNum = $get(helpOrderNumberID).value;
    var phone = $get(helpPhoneID).value;
    var highPriority = subCategoryHighPriority[helpSubCategory.selectedIndex];
    if (highPriority.toUpperCase() == 'False')
        priority = 'Normal';
    else
        priority = 'High';
    if (crmfilingemail.trim() == '')
        crmfilingemail = email;
    var sb = new Sys.StringBuilder();
    //sb.append('<helprequest>');
    sb.append('CRM Filing Email: '); sb.append(crmfilingemail); sb.append('\r\n');
    sb.append('RetailerID: '); sb.append(retailerid); sb.append('\r\n');
    sb.append('ContactID: '); sb.append(contactid); sb.append('\r\n');
    sb.append('First Name: '); sb.append(firstname); sb.append('\r\n');
    sb.append('Last Name: '); sb.append(lastname); sb.append('\r\n');
    sb.append('Email: '); sb.append(EmailFrom); sb.append('\r\n');
    sb.append('OS: '); sb.append(os); sb.append('\r\n');
    sb.append('Browser: '); sb.append(browser); sb.append('\r\n');
    sb.append('Category: '); sb.append(category); sb.append('\r\n');
    sb.append('Sub Category: '); sb.append(subcategory); sb.append('\r\n');
    sb.append('Notes: '); sb.append(notes); sb.append('\r\n');
    sb.append('Type: '); sb.append('EndUser'); sb.append('\r\n');
    sb.append('Source: '); sb.append('Web'); sb.append('\r\n');
    sb.append('Language: '); sb.append(LanguageName); sb.append('\r\n');
    sb.append('Ordernum: '); sb.append(orderNum); sb.append('\r\n');
    sb.append('Phone: '); sb.append(phone); sb.append('\r\n');
    sb.append('Priority: '); sb.append(priority); sb.append('\r\n');
    //sb.append('</helprequest>');

    return sb.toString();
}
function sendXml()
{
    //Should be uncommented only for testing purpose.
    var testEmail = "";
    EmailFrom = "";
    var EmailTo = "";
    if (!Page_ClientValidate('HelpRequest'))
    {
        //$get('divValidation').style.display = '';
        return;
    }
    else
    {
        var SubmitButton = $get(submitButtonID);
        var SubmitLink = $get(submitLinkID);
        var xml = buildXml();
        EmailFrom = $get(helpEmailID).value;
        if (SubmitButton != null)
        {
            SubmitButton.disabled = true;
        }
        if (SubmitLink != null)
        {
            SubmitLink.style.display = "none";
        }
        PageMethods.SendXml(xml, EmailFrom, EmailTo, testEmail, sendXml_Callback);
    }
}
function sendXml_Callback(result)
{
    if (result)
    {
        showRequestSubmittedForm();
        clearForm();

    }
    else
    {

    }
}
function clearForm()
{
    $get(helpFirstNameID).value = "";
    $get(helpLastnameID).value = "";
    $get(helpEmailID).value = "";
    var helpOS = $get(helpOSID);
    helpOS.selectedIndex = 0;
    $get(helpBrowserID).selectedIndex = 0;
    $get(helpCategoryID).selectedIndex = 0;
    $get(helpSubCategoryID).selectedIndex = 0;
    $get(helpMessageID).value = "";
    $get(helpOrderNumberID).value = "";
    $get(helpPhoneID).value = "";
}
function getOS()
{
    var userAgent = navigator.userAgent.toLowerCase();
    userAgent = userAgent.toString();
    if (userAgent.indexOf("windows nt 6.1") > -1)
        return "WIN7";
    if (userAgent.indexOf("windows nt 6.0") > -1)
        return "WINVISTA";
    else if (userAgent.indexOf("windows nt 5.1") > -1)
        return "WINXP";
    else if (userAgent.indexOf("windows nt 5") > -1)
        return "WIN2000";
    else if (userAgent.indexOf("98") > -1)
        return "WIN98";
    else if (userAgent.indexOf("95") > -1)
        return "WIN95";
    else if (userAgent.indexOf("linux") > -1)
        return "Linux";
    else if (userAgent.indexOf("x11") > -1)
        return "Unix";
    else
        return "";

}
function getBrowser()
{
    // Note: On IE5, these return 4, so use is_ie5up to detect IE5.
    var is_major = parseInt(navigator.appVersion);
    var is_minor = parseFloat(navigator.appVersion);

    var agt = navigator.userAgent.toLowerCase();
    var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    var is_ie3 = (is_ie && (is_major < 4));
    var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 4") != -1));
    var is_ie4up = (is_ie && (is_major >= 4));
    var is_ie5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0") != -1));
    var is_ie5_5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") != -1));
    var is_ie5up = (is_ie && !is_ie3 && !is_ie4);
    var is_ie5_5up = (is_ie && !is_ie3 && !is_ie4 && !is_ie5);
    var is_ie6 = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.") != -1));
    var is_ie6up = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);
    var is_ie7 = (is_ie && agt.indexOf("msie 7.0") != -1);

    if (is_ie5 || is_ie5_5)
        return "IE5";
    else if (is_ie6)
        return "IE6"
    else if (is_ie7)
        return "IE7";
    else if (Sys.Browser.agent == Sys.Browser.Firefox)
        return "FIREFOX";
    else if (Sys.Browser.agent == Sys.Browser.Safari)
        return "SAFARI";
    else if (Sys.Browser.agent == Sys.Browser.Opera)
        return "OPERA";
    else
        return "";
}
function selectDefaults()
{
    var os = getOS();
    var browser = getBrowser();
    selectfromDropdown(helpOS, os);
    selectfromDropdown(helpBrowser, browser);
}
function selectfromDropdown(dropDown, value)
{
    for (var i = 0; i < dropDown.options.length; i++)
    {
        var val = dropDown[i].value.toLowerCase();
        if (value.toLowerCase() == val)
        {
            dropDown.selectedIndex = i;
            break;
        }
    }
}
function firefoxModalPopupfix()
{
    if (Sys.Browser.agent == Sys.Browser.Firefox)
    {
        var inputs = document.getElementsByTagName('input');
        for (var i = 0; i < inputs.length; i++)
        {
            var input = inputs[i];
            if (input.type == 'text' || input.type == 'textarea')
            {
                input.onfocus = function() { this.className = 'modalHighlight'; }
                input.onblur = function() { this.className = ''; }
            }
        }
        $get(helpMessageID).onfocus = function() { this.className = 'modalHighlight'; }
        $get(helpMessageID).onblur = function() { this.className = ''; }
    }
}

function closeHelpFormPopup()
{
    var pageURL = location.href;

    if (pageURL.indexOf("help") != -1)
        helpCancel();
}