/*
 * Global Footer for the Mattel Websites.
 * Dynamically checks the domain from which this script and loads the related HTML and CSS
 **/



// Add the list of domain.
var folder = new Array();

// Assign new domains in the below format
/*
 * folder[folder_name] = Array('domain name 1', 'domain name 2', ... );
 *
 * folder_name : Represents the physical folder name that it should look for the into and terms-condition JS file.
 * domain name1, domain name 2 etc represents the domains that should read this folder for fetching contents.
 * Each domain should be seperated by comma.
 **/
folder['mymeebas']=   Array('dev.mymeebas.net', 'stageteentrendsgirls.mattel.net/', 'mymeebas.com');
folder['teentrends']=   Array('dev.teentrendsgirls.everythinggirl.net', 'stageteentrendsgirls.mattel.net/', 'teentrendsgirls.everythinggirl.com');
folder['everythinggirl']=   Array('estwr-25-50', 'estwr-25-50/highschoolmusical/', 'www.everythinggirl.com');
folder['localhost']     =   Array('localhost', 'www.mattel.com', 'origin.mattel.com');
folder['barbie']        =   Array('barbie.com', 'www.barbie.com', 'icanbe.barbie.com');
folder['mattel_dev']    =   Array('dev.mattel.net');
folder['battleforce5']  =   Array('dev.battleforce5.net', 'www.battleforce5.com', 'battleforce5.com', 'stagebattleforce5.mattel.net',  'www.stagebattleforce5.mattel.net',  'origin.battleforce5.com');
folder['matchbox']      =   Array('www.matchbox.com', 'matchbox.com', 'dev.matchbox.net','stagematchbox.mattel.net');
folder['xtractaurs']    =   Array('www.xtractaurs.com', 'stagextractaurs.mattel.net', 'dev.xtractaurs.net');
folder['barbiestyle']   =   Array('estwr-25-59', 'barbiestyle.barbie.com', 'www.barbiestyle.barbie.com', 'stagebarbiestyle.barbie.mattel.net');
folder['masterorprey']  =   Array('dev.masterorprey.net', 'www.masterorprey.com', 'masterorprey.com', 'stagemasterorprey.mattel.net');
folder['myscene']       =   Array('dev.myscene.everythinggirl.net', 'myscene.everythinggirl.com', 'www.myscene.everythinggirl.com', 'stagemyscene.mattel.net');
folder['loopz']         =   Array('dev.playloopz.net', 'www.playloopz.com', 'playloopz.com', 'aktfiles.com');
folder['mattel']        =   Array('content.mattel.workatplay.com', 'www.mattel.com', 'mattel.com', 'origintest.mattel.com');
folder['stealthrides']  =   Array('dev.stealthrides.net', 'www.stealthrides.com', 'mattel.com','stealthrides.com','stagestealthrides.mattel.net');
folder['uno']        	=   Array('dev.letsplayuno.net', 'www.letsplayuno.com', 'letsplayuno.com','stageletsplayuno.mattel.net');
folder['bezzerwizzer']        	=   Array('devbezzerwizzer.mattel.net', 'www.bezzerwizzer.com', 'bezzerwizzer.com');
folder['tycorc']        	=   Array('estwr-25-80', 'www.tycorc.com', 'tycorc.com');
folder['mattelgamefinder']      =   Array('dev.mattelgamefinder.net', 'www.mattelgamefinder.com', 'mattelgamefinder.com');
folder['avataritag']            =   Array('dev.signaturecreative.com', 'www.avataritag.com', 'avataritag.com');
folder['fijit']            =   Array('fijitfriendsarecoming.smithbrosagency.com', 'fijit-stage.smithbrosagency.com', 'www.fijitfriendsarecoming.com', 'fijitfriendsarecoming.com', 'fijitfriends.com', 'origin.fijitfriends.com', 'www.fijitfriends.com','dev.fijitfriends.net', 'stagefijitfriends.mattel.net');
folder['pollypocket']            =   Array('stage-content-pollypocket.mattel.net','dev-content-pollypocket.mattel.net','content.pollypocket.com','dev.pollypocket.net', 'http://stagepollypocket.mattel.net' ,'stagepollypocket.mattel.net', 'beta.pollypocket.com', 'origin.pollypocket.com', 'www.pollypocket.com', 'pollypocket.com');
folder['freakyfab13']            =   Array('stage-freakyfab13.mattel.net','dev-freakyfab13.mattel.net','www.freakyfab13.com');


// Add new folder name and domain list above this.




// Get the current path of the JS file called.
var myScript        =   document.getElementById('globalfooter');
var myScriptSrc     =   myScript.getAttribute('src');


// Function that will parse the URL in parts
function parseReferrer(data, part) {

    //var e = /((http|ftp|https|file):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+\.[^#?\s]+)(#[\w\-]+)?/;
    var e = /((http|ftp|https|file):\/)?\/?([^:\/\s]+)((\/\w+)*)([\w\-\.]+\.[^#?\s]+)?/;
    if (data.match(e)) {
        if(part == 1) return RegExp.$3;
        else if(part == 2) return RegExp.$2 + "://" + RegExp.$3 + RegExp.$4;
    }
    else {
        return 'default'
    }
    
}


// Get the referer and current site URL.

var domain          = parseReferrer(window.location.href, 1);
var script_path     = parseReferrer(myScriptSrc, 2);
script_path         = script_path.substr(0, script_path.length - 11);    // Strip the file name.

var stage   = domain.indexOf("stage");
var dev     = domain.indexOf("dev");
var estwr     = domain.indexOf("estwr");
if(stage >= 0 || dev >= 0 || estwr>=0){
  script_path   =    "http://dev.mattel.net/mdn/footer/";
  
}

if(script_path == '')   script_path = 'http://corporate.mattel.com/mdn/footer/';

// Initiallizing variables
var file_folder     = 'default';
var css_file        = 'default/footer.css';
var intro           = 'default/intro.js';
var tac             = 'default/terms-condition.js';
var fat_footer      = 'fat-footer.js';


//Loop through mapping array to find the referrer file folder.
for (var id in folder)  {
    for (var attrib in folder[id])   {
        if(folder[id][attrib] == domain) {
            file_folder = id;       // Assign the folder name.
        }
    }
}


// If got the file folder, get the respective files.
if(file_folder) {
    css_file    =   file_folder + '/footer.css';
    intro       =   file_folder + '/intro.js';
    tac         =   file_folder + '/terms-condition.js';
}

/* Call the CSS respective of the site. */
var fileref =   document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", script_path + css_file);
document.getElementsByTagName("head")[0].appendChild(fileref);

// Load the footer content on the site.
document.write('<div id="footer_position">');
// Call the intro message
document.write('<script type="text/javascript" src="'+ script_path + intro +'"></script>');
// Calling the fat footer content
document.write('<script type="text/javascript" src="'+ script_path + fat_footer + '"></script>');
//Call the terms and condition text.
document.write('<script type="text/javascript" src="'+ script_path + tac +'"></script>');

document.write('</div>');

