document.write('<div id="tinkerWidget" style="line-height:1em"></div>');

/* add window onload handler */
function addEvent(obj, evType, fn){
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false);
   return true;
 } else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
 } else {
   return false;
 }
}
if(size == "300x250") {
addEvent(window, 'load', glamInit);
} else {
    glamInit();
}

var gResizeHeight;

var getLocation = function(href) {
    var l = document.createElement("a");
    l.href = href;
    return l
}


function glamInit() {
	var initialHeight = 250;
	var initialWidth = 300;
	var ifrImgSrc;

    /* Do widgetwrapper.js stuff */

    var configvars = [ 'id', 'pubid' , 'ad'];

    var params = '';
    var devid = "420783101";

    for (var i in configvars) {
        var name = configvars[i];
        if (typeof window[name] != "undefined") {
            if (params)
                params += '&';
            params += name +"="+encodeURIComponent(window[name]);
        }
    }

    // set devid and iid
    params += (params)? "&devid=" : "devid=";
    params += devid + "&iid=0";

    if(params) {params += '&'}
    params += "mid=914300"; // set mid

    if(params) {params += '&'}
    params += "idtype=t"; // set idtype

    if(params) {params += '&'}
    params += "view=tinkerwidget";  // set view

    if(params) {params += '&'}
    params += "refer=";  // set refer

    // use size to set appid
    switch(size) {
        case "300x250":
            if(params) {params += '&'}
            params += "appid=420783564";
            break;
        case "300x250Expandable":
            if(params) {params += '&'}
            params += "appid=420783567";
            break;
        case "300x600":
            if(params) {params += '&'}
            params += "appid=420783569";
            break;
        case "475x600":
            if(params) {params += '&'}
            params += "appid=420947916";
            break;
        case "820x685":
            if(params) {params += '&'}
            params += "appid=420783573";
            break;
    }

    /* END widgetwrapper.js */
    if(size == "300x250") {
        /* get image from this domain */
        for (var i=0;i<document.images.length;i++) {
            var image = document.images[i];
            if (image.src.indexOf('?') > -1) {
                continue;
            }
            if (image.height < 10) {
                continue;
            }
            if (image.width < 10) {
                continue;
            }
            if(getLocation(image.src).hostname == window.location.hostname) {
                ifrImgSrc = image.src;
                break;
            }
        }
        /* create glam widget Iframe */
        try {
              var tempIFrame=document.createElement('iframe');
              tempIFrame.setAttribute('id','glamIframe');
              tempIFrame.setAttribute('name','glamIframe');
              tempIFrame.setAttribute('src','http://www4.tinker.com/fashionweek/widget_300x250.html' + '?imgsrc=' + ifrImgSrc + "&" + params);
              tempIFrame.setAttribute('allowTransparency','true');
              tempIFrame.setAttribute('frameBorder', '0'); //IE is case-sensitive, need capital 'B'
              //tempIFrame.setAttribute('marginheight', '0');
              //tempIFrame.setAttribute('marginwidth', '0');
              //tempIFrame.setAttribute('hspace', '0');
              //tempIFrame.setAttribute('vspace', '0');
              tempIFrame.setAttribute('scrolling', 'no');
              tempIFrame.setAttribute('height', initialHeight);
              tempIFrame.setAttribute('width', initialWidth);
              tempIFrame.style.border = '0px';
              tempIFrame.style.width = initialWidth + 'px';
              tempIFrame.style.height = initialHeight + 'px';
              IFrameObj = document.getElementById('tinkerWidget').appendChild(tempIFrame);
        } catch(e) {
            if (window.console) console.log(e);
        }
    } else {
        var width = size.substr(0, 3);
        var height = size.substr(4, 3);
        var tempIFrame=document.createElement('iframe');
        tempIFrame.setAttribute('id','glamIframe');
        tempIFrame.setAttribute('name','glamIframe');
        tempIFrame.setAttribute('src','http://www4.tinker.com/fashionweek/widget_' + size + '.html' + '?' + params);
        tempIFrame.setAttribute('allowTransparency','true');
        tempIFrame.setAttribute('frameBorder', '0'); //IE is case-sensitive, need capital 'B'
        tempIFrame.setAttribute('scrolling', 'no');
        tempIFrame.setAttribute('height', width);
        tempIFrame.setAttribute('width', height);
        tempIFrame.style.border = '0px';
        tempIFrame.style.width = width + 'px';
        tempIFrame.style.height = height + 'px';
        IFrameObj = document.getElementById('tinkerWidget').appendChild(tempIFrame);
    }
/* poll for helper iframe location if browser doesn't support postMessage */
	function pollIfr() {
		try {
			var ifr = window.frames.glamIframe.frames.rpcIframe;
			if (ifr && ifr.location.hash) {
				gResizeHeight = ifr.location.hash.slice(1);
			}
			resizeIfr();
		} catch(e) {
			if (window.console) console.log(e);
		}
	}

	if (!window.postMessage && (size == "300x250")) {
		var sizePoll = window.setInterval(pollIfr, 200);
	}
}

/* postmessage for more current browsers */
function receiveMessage(event) {
    msgs = event.data.split(';'); //make sure we're not receiving a different postmessage
    if (msgs.length == 2 && msgs[0] == 'tinkerWidget') {
        gResizeHeight = msgs[1];
        resizeIfr();
    }
}

if (window.addEventListener) {
    window.addEventListener('message', receiveMessage, false);
} else { //IE 8
    window.attachEvent('onmessage', receiveMessage);
}

/* resize iframe */
function resizeIfr() {
		document.getElementById('glamIframe').style.height = gResizeHeight + 'px';
}
