/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    
    Generation 1: Keep for backward compatibility.
                  Convention impelementation provided by Omniture SiteCatalyst Manual
                  
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

// JavaScript Document
var s_movieName = "";

function Flash_embedSWF(srcURL,srcID,swfbgColor,sW,sH,sfv) {
s_movieName = srcID;

var defaultColor = (document.bgColor != null) ? document.bgColor :"#ffffff";
var bgcolor = (swfbgColor != null) ? swfbgColor : defaultColor;

var objectStr = '<OBJECT classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' +
'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"' +
'ID="' + srcID + '" WIDTH="' + sW + '" HEIGHT="' + sH + '">' +
'<PARAM NAME="movie" VALUE="' + srcURL + '">' +
'<PARAM NAME="allowScriptAccess" VALUE="sameDomain">' +
'<PARAM NAME="quality" VALUE="high">' +
'<PARAM NAME="wmode" VALUE="transparent">'+
'<PARAM NAME="flashvars" VALUE="'+sfv+'&s_movieID='+srcID+'">'+
'<PARAM NAME="autostart" VALUE="false">'+
'<PARAM NAME="bgcolor" VALUE=' + bgcolor + '>' +
'<embed src="' + srcURL + '" quality="high"' + 'bgcolor="' +
bgcolor + '"' + 'width="' + sW + '" height="' + sH + '"wmode="transparent" swLiveConnect="true" flashvars="'+sfv+'&s_movieID='+srcID+'"' + 'type="application/x-shockwave-flash" allowScriptAccess="sameDomain" NAME="' + srcID + '"' +'pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></OBJECT>';

document.write(objectStr);
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    
    Generation 2: SWFObject implemenation.
                   - For SEO friendly
                   - Does not have double byte input issue problem unlike previous(Gen 1) implementation
                  
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    
var isTrackingAllow = false;

var flashvars  = {}; // flashvars for flash
var params     = {}; // params for flash
var attributes = {}; // attributes for flash

var STG = "stg"; // Staging environment
var DEV = "dev"; // Development environment
var ADM = "adm"  // Sony Admin User environment
var PRD = "prd"; // Production environment

var PARAM_CID  = "cid";  //Internal Campaign
var PARAM_HPID = "hpid"; //External Campaign

var SITE_PROP4     = "hp";          // Brand.
var SITE_PROP5     = "i"            // "i" for internet audience
var SITE_CHARSET   = "UTF-8";       // character set
var SITE_CHANNEL   = "microsite";   // site section
var SITE_NAMESPACE = "sonypanasia"; // name space. WARNING:Highly not recommend to change!

var aryCompany      = new Array(); // Array for list of sales company
var C_COUNTRY_CODE  = 0;
var C_LANGUAGE      = 1;
var C_CURRENCY      = 2;
var C_DOMAIN        = 3;
var C_SUITE_ID      = 4;
var C_COUNTRY_NAME  = 5;

addCompany(STG , ""  , "USD", ""             , "sonypahpstg"    ,""                    ); // Staging suite
addCompany(DEV , ""  , "USD", ""             , "sonypahpdev"    ,""                    ); // Deveploment suite
addCompany(ADM , ""  , "USD", ""             , "sonypamsdev"    ,""                    ); // Sony Admin User only
addCompany("AP", "en", "USD", "sony-asia.com", "sonypahpasia"   ,"Asia Pacific"        ); 
addCompany("SG", "en", "SGD", "sony.com.sg"  , "sonypahpsg"     ,"Singapore"           );
addCompany("TH", "th", "USD", "sony.co.th"   , "sonypahpththai" ,"Thailand"            );
addCompany("TH", "en", "USD", "sony.co.th"   , "sonypahpthen"   ,"Thailand"            );
addCompany("IN", "en", "USD", "sony.co.in"   , "sonypahpin"     ,"India"               );
addCompany("ME", "ar", "USD", "sony-mea.com" , "sonypahpmeaarab","Middle East & Africa");
addCompany("ME", "en", "USD", "sony-mea.com" , "sonypahpmea"    ,"Middle East & Africa");
addCompany("VN", "vi", "USD", "sony.com.vn"  , "sonypahpvnviet" ,"Vietnam"             );
addCompany("VN", "en", "USD", "sony.com.vn"  , "sonypahpvnen"   ,"Vietnam"             );
addCompany("IR", "fa", "USD", "sony.co.ir"   , "sonypahpir"     ,"Iran"                );
addCompany("ID", "en", "USD", "sony.co.id"   , "sonypahpid"     ,"Indonesia"           );
addCompany("MY", "en", "USD", "sony.com.my"  , "sonypahpmy"     ,"Malaysia"            );
addCompany("PH", "en", "USD", "sony.com.ph"  , "sonypahpph"     ,"Philippines"         );
addCompany("ZA", "en", "USD", "sony.co.za"   , "sonypahpza"     ,"South Africa"        );
addCompany("AU", "en", "USD", "sony.com.au"  , "sonypahpau"     ,"Australia"           );
addCompany("NZ", "en", "USD", "sony.co.nz"   , "sonypahpnz"     ,"New Zealand"         );

function run_SWFObject()
{
    if(s_Environment != PRD) // then it must be either DEV or STG or ADM
    {
        var account  = getSuiteId(s_Environment , "");
        var currency = getCurrency(s_Environment, "");
    }
    else // production suite.
    {
        var account  = getSuiteId(flashvars.s_prop2 , flashvars.s_prop3);
        var currency = getCurrency(flashvars.s_prop2, flashvars.s_prop3);
    }
    
    flashvars.s_referrer         = escape(document.referrer.toString().toLowerCase());
    flashvars.s_rawurl           = escape(document.location.toString().toLowerCase());
    flashvars.s_suiteid          = account;
    flashvars.s_currency         = currency;
    flashvars.s_prop4            = SITE_PROP4;
    flashvars.s_prop5            = SITE_PROP5;
    flashvars.s_charSet          = SITE_CHARSET;
    flashvars.s_channel          = SITE_CHANNEL;
    flashvars.s_visitorNamespace = SITE_NAMESPACE;
    flashvars.s_cid              = getParam(PARAM_CID);
    flashvars.s_hpid             = getParam(PARAM_HPID);
    
    attributes.id   = s_DivID;
    attributes.name = s_DivID;
    
    if(s_SonyDomain && s_Environment == PRD) // Tracking allow only on Sony URL and when microsite deploy on Produciton server
    {
        if(flashvars.s_rawurl.indexOf(getDomain(flashvars.s_prop2, flashvars.s_prop3)) >= 0)
            isTrackingAllow = true;
    }
    else // does not require domain protection since it is either set to false or not on production environment.
        isTrackingAllow = true;

    if(!isTrackingAllow) // Do not assign report suite since tracking is not approve due to Domain protection.
        flashvars.s_suiteid = "";
    
    swfobject.embedSWF(s_URL, s_DivID, s_Width, s_Height, s_FlashVersion, false, flashvars, params, attributes);  //create SWFObject  
}

function addCompany(jvarCountryCode, jvarLanguage, jvarCurrency, jvarDomain, jvarSuiteId, jvarCountryName) // function for aryCompany
{
    aryCompany.push(new Array(jvarCountryCode, jvarLanguage, jvarCurrency, jvarDomain, jvarSuiteId, jvarCountryName));    
}

function getSuiteId(jvarCountry, jvarLanguage) // function for aryCompany
{    
    for(var i = 0; i < aryCompany.length; i++)
    {
        if(jvarCountry == aryCompany[i][C_COUNTRY_CODE] && jvarLanguage == aryCompany[i][C_LANGUAGE])
            return aryCompany[i][C_SUITE_ID];
    }
}

function getCurrency(jvarCountry, jvarLanguage) // function for aryCompany
{    
    for(var i = 0; i < aryCompany.length; i++)
    {
        if(jvarCountry == aryCompany[i][C_COUNTRY_CODE] && jvarLanguage == aryCompany[i][C_LANGUAGE])
            return aryCompany[i][C_CURRENCY];
    }
}

function getCountryName(jvarCountry, jvarLanguage) // function for aryCompany
{    
    for(var i = 0; i < aryCompany.length; i++)
    {
        if(jvarCountry == aryCompany[i][C_COUNTRY_CODE] && jvarLanguage == aryCompany[i][C_LANGUAGE])
            return aryCompany[i][C_COUNTRY_NAME];
    }
}

function getDomain(jvarCountry, jvarLanguage) // function for aryCompany
{    
    for(var i = 0; i < aryCompany.length; i++)
    {
        if(jvarCountry == aryCompany[i][C_COUNTRY_CODE] && jvarLanguage == aryCompany[i][C_LANGUAGE])
            return aryCompany[i][C_DOMAIN];
    }
}

function getParam(jvarParamId) // case in-sensitive, get parameter from URL
{
    var currentURL = document.location.toString().toLowerCase();
    var paramId    = jvarParamId.toLowerCase() + "=";
    var paramValue = "";
    
    if(currentURL.indexOf(paramId) > 0)
    {
        paramValue = currentURL.substring(currentURL.indexOf(paramId) + paramId.length);
        
        if(paramValue.indexOf("&") > 0)
            paramValue = paramValue.substring(0 ,paramValue.indexOf("&"));
    }
    
    return paramValue;
}

function debug_setting()
{
    var aryEnvi   = new Array();    
    var E_ID      = 0;
    var E_MESSAGE = 1;
	
    aryEnvi.push(new Array(STG, "Staging Suite"    ));
    aryEnvi.push(new Array(DEV, "Development Suite"));
    aryEnvi.push(new Array(ADM, "Sony Admin Suite" ));
    aryEnvi.push(new Array(PRD, "Production Suite" ));
        
    var MSG_UNDEFINED   = "not found";
    
    var d_environment = MSG_UNDEFINED;
    var d_cid         = flashvars.s_cid;
    var d_hpid        = flashvars.s_hpid;
	var d_suiteid     = flashvars.s_suiteid;
    
    for(var i = 0; i < aryEnvi.length; i++)
    {
        if(s_Environment == aryEnvi[i][E_ID])
        {
            d_environment = aryEnvi[i][E_MESSAGE];
            break;
        }
    }
	
	if(d_suiteid == "")
		d_suiteid = "Domain Protection Activated";
    
    if(d_cid == "")
        d_cid = MSG_UNDEFINED;
    
    if(d_hpid == "")
        d_hpid = MSG_UNDEFINED;
        
    var infor  = "----- Important Information ----- \n";
        infor += "Environment    : "    + d_environment                                        +"\n";
        infor += "Suite ID           : "+ d_suiteid                                            +"\n";
        infor += "Tracking Allow : "    + isTrackingAllow                                      +"\n\n";
      //infor += "Currency         : "  + flashvars.s_currency                                 +"\n";
        infor += "Domain            : " + getDomain(flashvars.s_prop2, flashvars.s_prop3)      +"\n";
        infor += "Country           : " + getCountryName(flashvars.s_prop2, flashvars.s_prop3) +"\n";
		infor += "Language        : " + flashvars.s_prop3                                      +"\n";
        infor += "\n ----- Optional Information ------ \n";
        infor += "External Campaign : " + d_cid                                                +"\n";
        infor += "Internal Campaign  : "+ d_hpid                                               +"\n";
    
    alert(infor);
}
