// Temporary JavaScript code which generates the Licensee
// Branding parameters until the PageManager generates it for
// in-line embedded object definitions.

function getLicId () {
    var sPageURL = location.href;
    var licParam = "";

    myPos = sPageURL.lastIndexOf("?");
    myParams = sPageURL.substr(myPos+1, sPageURL.length);
    licPos = myParams.lastIndexOf("lic=");

    // Use entire parameter line following the ? delimiter.
    myParams = myParams.substr(licPos, myParams.length);
    // alert ("myParams= " + myParams);

    licPosEnd = myParams.indexOf("&");

    if (licPos >= 0) {
        licStart = myParams.lastIndexOf("lic=");
        licParam = myParams.substr(licStart+4, licPosEnd-4);
    }
    else {
        licParam=1;
    }
    // alert ("returning licParam= " + licParam);
    return (licParam);
 
}

// common methods for obtaining the current URL parameters.

function getFullLicParams()
{
    var sPageURL = location.href;
    var licParam = "";

    var myPos = sPageURL.lastIndexOf("?");

    var myParams = sPageURL.substr(myPos+1, sPageURL.length);

    var licPos = myParams.lastIndexOf("lic=");

    // Use entire parameter line following the ? delimiter.
    // myParams = myParams.substr(licPos, myParams.length);
    // alert ("myParams= " + myParams);

    // licPosEnd = myParams.indexOf("&");

   if (licPos >= 0) {
    // licParam = myParams.substr(0, licPosEnd);
        licParam=myParams;
   }
   else {
    licParam = "lic=1";
   }
   return licParam;
}


function getLicBrandParams() {

       var licId = getLicId();
       // alert ("licId= " + licId);

       // Build Branding Information.

       // Default, all off. Initial setting for XML partners.
       var brandingVal="off";      // branding
       var brandDisplayPathVal=""; // brand_display_path
       var brandXmlVal="off";      // brand_xml
       var brandXmlUrlVal="";      // brand_xml_url
       var brandLogoPathVal="";    // brand_logo_path
     
       if (licId == "1") {
          brandingVal="on";
          brandDisplayPathVal="/misc/movie/branding/";
          brandLogoPathVal="/licensees/licensee1/images/";
          brandXmlVal="off";
          brandXmlUrlVal="";
       }
       else  { // lic != 1 and lic != 3 
          brandingVal="on";
          brandDisplayPathVal="/misc/movie/branding/";
          brandLogoPathVal="/licensees/licensee" + licId + "/images/";
          brandXmlVal="on";
          var fullUrl=location.href;
          var baseUrl="http://" + location.host;
          var pa=fullUrl.split(baseUrl);
          var brandXmlParams=pa[1];
          // alert("licParams= " + brandXmlParams);

          // Special case for EHC, need to make a PageManager call without
          // id= and cachedate= request parameters preserving the other
          // request parameters.

          brandXmlParams = brandXmlParams.replace(/id=.*cachedate=/g, "cachedate=");
          // brandXmlParams = brandXmlParams.replace(/cachedate=.*&lic=/g, "lic=");
          // Manually remove the cachedate parameter because the pattern
          // matching is not working.
          
          datePos = brandXmlParams.indexOf("cachedate=");
          if (datePos >= 0) {
             xmlUrlParams = brandXmlParams.substr(datePos, brandXmlParams.length);
             nextParamPos = xmlUrlParams.indexOf("&");

             xmlUrlParams = xmlUrlParams.substr(nextParamPos+1, xmlUrlParams.length);
             // alert ("xmlUrlParams= " + xmlUrlParams);
             brandXmlParams="/PageManager.jsp?"+ xmlUrlParams;
          }

          // alert ("Ehc replace: brandXmlParams= " + brandXmlParams);

          // Remove pre-existing id value
          // brandXmlParams = brandXmlParams.replace(/&ps=[1-9][0-9][0-9]/g, "");
 
          // Remove pre-existing ps value
          brandXmlParams = brandXmlParams.replace(/&ps=[1-9][0-9][0-9]/g, "");

          // Remove pre-existing cat_id value 
          brandXmlParams = brandXmlParams.replace(/&cat_id=[0-9]*[0-9]/g, "");

          // Add ps=107 (PFV) and xml_debug=on parameters
          brandXmlParams=brandXmlParams+ "&ps=107&xml_debug=on";
          // alert ("brandXmlParams= " + brandXmlParams);

          // Need to encode the brandXmlUrlVar because of special characters.
          // Must manually encode the ampersands(&) as #26 because encodeURI
          // does properly encode them.

          var encodedParams = new String(encodeURI(brandXmlParams));
          encodedParams = encodedParams.replace (/&/g,"%26");
          // alert ("encodedParams= " + encodedParams);
          brandXmlUrlVal=encodedParams;
          // Temporarily don't set to see if error is generated.
          // brandXmlUrlVal="";
       }

       var brandingParams="&lic=" + licId + 
                          "&branding=" + brandingVal +
                          "&brand_display_path=" + brandDisplayPathVal +
                          "&brand_logo_path=" + brandLogoPathVal + 
                          "&brand_xml=" + brandXmlVal + 
                          "&brand_xml_url=" + brandXmlUrlVal; 

       // alert ("brandingParams= " + brandingParams);
       return (brandingParams);
}


// Testing on virtual web server on PC/MAC
function getLicBrandParamsTest(my_url, lic_id) {

       // LOCAL TESTING CHANGE
       // var licId = getLicId();
       var licId = lic_id;
       alert ("getLicBrandParamsTest:licId= " + licId);
      

       // Build Branding Information.

       // Default, all off. Initial setting for XML partners.
       var brandingVal="off";      // branding
       var brandDisplayPathVal=""; // brand_display_path
       var brandXmlVal="off";      // brand_xml
       var brandXmlUrlVal="";      // brand_xml_url
       var brandLogoPathVal="";    // brand_logo_path
     
       if (licId == "1") {
          brandingVal="on";
          brandDisplayPathVal="/misc/movie/branding/";
          brandLogoPathVal="/licensees/licensee1/images/";
          brandXmlVal="off";
          brandXmlUrlVal="";
       }
       else if (licId == "3") {
         // Test case where no Branding exists and should fall through
         // to the no Branding logic case but substitutible strings.
         brandingVal="off";
         brandDisplayPathVal="/misc/movie/branding/";
         brandXmlVal="off";
         brandXmlUrlVal="";
         brandLogoPathVal="";
       }
       // else if (licId == "29") {
          // Testing XML Partner with alternative branding swf file location.
          // brandingVal="on";
          // brandDisplayPathVal="/test/branding/";
          // brandXmlVal="off";
          // brandXmlUrlVal="";
          // brandLogoPathVal="";
       // }
       else  { // lic != 1 and lic != 3 
          brandingVal="on";
          brandDisplayPathVal="/misc/movie/branding/";
          brandLogoPathVal="/licensees/licensee" + licId + "/images/";
          brandXmlVal="on";
          // var fullUrl=location.href;
          var fullUrl=my_url;
          // LOCAL TESTING CHANGE
          var baseUrl="http://" + location.host;
          // var baseUrl="http://fugazi-dev3.kidshealth.org:8003";
          var pa=fullUrl.split(baseUrl);
          alert ("pa= " + pa);
     
          var brandXmlParams=pa[1];
          alert("brandXmlParams= " + brandXmlParams);

          // START - Alter for EHC case:

          // Special case for EHC, need to make a PageManager call without
          // id= and cachedate= request parameters preserving the other
          // request parameters.

          brandXmlParams = brandXmlParams.replace(/id=.*cachedate=/g, "cachedate=");
          alert ("Ehc id replace: brandXmlParams= " + brandXmlParams);

          // brandXmlParams = brandXmlParams.replace(/cachedate=.*&lic=/g, "lic=");
          // Manually remove the cachedate parameter because the pattern
          // matching is not working.
          
          datePos = brandXmlParams.indexOf("cachedate=");
          if (datePos >= 0) {
             xmlUrlParams = brandXmlParams.substr(datePos, brandXmlParams.length);
             nextParamPos = xmlUrlParams.indexOf("&");

             xmlUrlParams = xmlUrlParams.substr(nextParamPos+1, xmlUrlParams.length);
             // alert ("xmlUrlParams= " + xmlUrlParams);
             brandXmlParams="/PageManager.jsp?"+ xmlUrlParams;
          }

          alert ("Ehc replace: brandXmlParams= " + brandXmlParams);

          // END - Alter for EHC case:
 
          // Remove pre-existing ps value
          brandXmlParams = brandXmlParams.replace(/&ps=[1-9][0-9][0-9]/g, "");

          // Remove pre-existing cat_id value 
          brandXmlParams = brandXmlParams.replace(/&cat_id=[0-9]*[0-9]/g, "");

          // Add ps=107 (PFV) and xml_debug=on parameters
          brandXmlParams=brandXmlParams+ "&ps=107&xml_debug=on";
          alert ("brandXmlParams= " + brandXmlParams);

          // Need to encode the brandXmlUrlVar because of special characters.
          // Must manually encode the ampersands(&) as #26 because encodeURI
          // does properly encode them.

          var encodedParams = new String(encodeURI(brandXmlParams));
          encodedParams = encodedParams.replace (/&/g,"%26");
          alert ("encodedParams= " + encodedParams);
          brandXmlUrlVal=encodedParams;
       }

       var brandingParams="&lic=" + licId + 
                          "&branding=" + brandingVal +
                          "&brand_display_path=" + brandDisplayPathVal +
                          "&brand_logo_path=" + brandLogoPathVal + 
                          "&brand_xml=" + brandXmlVal + 
                          "&brand_xml_url=" + brandXmlUrlVal; 

       alert ("brandingParams= " + brandingParams);
       return (brandingParams);
}
