




var MG_Competition = {
	Version: '1.2.0',
	submitCoregLoaded: false,
    callback: null,
    maxWait: 5000,
    waitStep: 50,
    currentWait: 0,
	load: function(){
		MG_Competition.insertCSS();
		MG_Competition.writeCompetition();
	},
	thisScript: function(){
		var scripts = document.getElementsByTagName("script");
		var pattern = /mg_competition\.js\.jsp\?partnerId=.*/i
		for(var i=0; i< scripts.length; i++)
			if(scripts[i].src.search(pattern)>=0)
				return scripts[i];
	},
	insertCSS: function(){
        var siteId = '29';
		var url = 'http://topfox.co.uk:80/script/mg_competition.css.jsp?siteId=29&coregId=9';
		var css = document.createElement("link");
		css.rel = "stylesheet";
		css.type = "text/css";
		css.href = url;
		document.getElementsByTagName("head")[0].appendChild(css);
	},
	writeCompetition: function() {
        var siteId = '29';
		var script = MG_Competition.thisScript();
		if(document.getElementById("MG_COMPETITION") == null){
			var div = document.createElement("div")
			div.id = "MG_COMPETITION";			
			
				script.parentNode.insertBefore(div,script);
			
		}
		document.getElementById("MG_COMPETITION").innerHTML = MG_Competition.getContent();
    },
	writeAdLoader: function() {
		//var adScript = '<' + 's' + 'cript language="javascript" src="http://topfox.co.uk:80/script/mg_ad.js.jsp?siteId=29&coregId=9' + MG_Competition.getTargetInfo() + '"></' + 'scrip' + 't' + '>';
		var script = document.createElement('script');
		script.type = 'text/javascript';
		script.src = 'http://topfox.co.uk:80/script/mg_ad.js.jsp?siteId=29&coregId=9' + MG_Competition.getTargetInfo();
		document.getElementById("MG_COMPETITION").appendChild(script);
    },
	getContent: function(){
		var s = '<div id="mg_text_link"><span>Would you like a chance to Win a Year\'s Free Shopping at Tesco?</span><span id="mgx_optin"><input style="margin: 0px 5px 0px 5px" onclick="MG_Competition.toggleCompetition();" type="checkbox" name="mgx_enable" id="mgx_enable"/>&nbsp;<span>Yes, please</span></span> \
            <br/><b>fish4prizes</b> is pleased to offer this <b>free</b> competition. Simply tick the box and we will send an email to confirm your entry. Best wishes and good luck! \
            <a href="http://fish4prizes.co.uk:80/terms_and_conditions.jsp?prizeId=295" onclick="return MG_Competition.popup(\'http://fish4prizes.co.uk:80/terms_and_conditions.jsp?prizeId=295\');" target="_blank" class="text"> \
                Terms &amp; Conditions</a> | \
            <a href="http://fish4prizes.co.uk:80/privacy_policy.jsp?prizeId=295" onclick="return MG_Competition.popup(\'http://fish4prizes.co.uk:80/privacy_policy.jsp?prizeId=295\');" target="_blank" class="text"> \
                Privacy Policy</a> \
  </div> \
		<input type="hidden" id="mg_terms_and_conditions" name="mg_terms_and_conditions" value="no"/> \
	    <input type="hidden" id="mg_ad" name="mg_ad" value=""/> \
	    <input type="hidden" id="mg_comp_id" name="mg_comp_id" value="295"/> \
        <div id="mg_newsletter" style="display:none; height: 0; font-size: 0;"></div> \
';
		return s;
	},
	getTargetInfo: function() {
		var s = "";
		var fields = new Array();
        fields[0] = new Array('title','title');
fields[1] = new Array('email_address','email');
fields[2] = new Array('first_name','firstname');

        for (x=0; x < fields.length;x++) {
            for (i=0; i < document.forms.length;i++) {
                for (j=0; j < document.forms[i].elements.length;j++) {
                    if (document.forms[i].elements[j].name == fields[x][1]) {
                        s += "&" + fields[x][0] + "=" + document.forms[i].elements[j].value;
                        break;
                    }
                }
            }
        }
        return s;
    },
    termsAndConditions: function(opted_in) {
        if(opted_in){
            MG_Competition.writeAdLoader();
            document.getElementById('mg_newsletter').style.display='';
            if (document.getElementById('mg_yesplease')) {
            	document.getElementById('mg_yesplease').src='http://topfox.co.uk:80/images/checkbox_checked.gif';
	            document.getElementById('mg_nothanks').src='http://topfox.co.uk:80/images/checkbox_unchecked.gif';
            }
            document.getElementById('mg_terms_and_conditions').value='on';
        }else{
            document.getElementById('mg_newsletter').style.display='none';
            if (document.getElementById('mg_yesplease')) {
	            document.getElementById('mg_nothanks').src='http://topfox.co.uk:80/images/checkbox_checked.gif';
	            document.getElementById('mg_yesplease').src='http://topfox.co.uk:80/images/checkbox_unchecked.gif';
            }
            document.getElementById('mg_terms_and_conditions').value='';
        }
    },
    toggleCompetition: function() {
    	if (document.getElementById('mg_terms_and_conditions') && document.getElementById('mg_terms_and_conditions').value == 'on'){
	    	MG_Competition.termsAndConditions(false);
	    	if (document.getElementById('mg') != null) {
	        	document.getElementById('mg').style.display='none';
	        }
	    } else {
	    	if (document.getElementById('mg') != null) {
	        	document.getElementById('mg').style.display='';
	        }
	    	MG_Competition.termsAndConditions(true);
	    }
    },
    getElementsByTagNames: function(tag_names, parent_node) {
		if( typeof parent_node == 'undefined' ) {
    		parent_node = document;
		}
		var elems = new Array();
		for( var i = 0; i < tag_names.length; i++ ) {
			elemsFound = parent_node.getElementsByTagName(tag_names[i]);
			for (var j = 0; j < elemsFound.length; j++) {
        	    elems.push( elemsFound[j] );
        	}
	    }
        return elems;
    },
    setLoaded: function() {
        MG_Competition.submitCoregLoaded = true;
    },
    checkLoaded: function() {
        if (MG_Competition.submitCoregLoaded == true || MG_Competition.currentWait > MG_Competition.maxWait ) {
            if (typeof MG_Competition.callback == 'object') {
                MG_Competition.callback.submit();
            } else if (typeof MG_Competition.callback == 'function') {
                MG_Competition.callback();
            }
            return false;
        }
        MG_Competition.currentWait += MG_Competition.waitStep;
        setTimeout("MG_Competition.checkLoaded()",MG_Competition.waitStep);
        return false;
    },
	eventPush: function(obj, event, handler) {
		if (obj.addEventListener) {
    		obj.addEventListener(event, handler, false);
		} else if (obj.attachEvent) {
	  	    obj.attachEvent('on'+event, handler);
		}
	},
    submitCoreg: function(callback, doReturn) {
        if (typeof MG_Ads != 'undefined' && document.getElementById('mg_terms_and_conditions').value=='on') {
			var mg_args = "http://topfox.co.uk:80/feeds?";
            var mg_process_fields = document.getElementById('mg_process').value.split(',');
            mg_args += "mg_site_id=" + document.getElementById('mg_site_id').value + "&";
            mg_args += "mg_ad=" + document.getElementById('mg_ad').value + "&";
            mg_args += "mg_comp_id=" + document.getElementById('mg_comp_id').value + "&";
            mg_args += "mg_terms_and_conditions=on&";
            var fields = MG_Competition.getElementsByTagNames(['input','textarea','select','password']);
            var loop1, loop2;
            for (loop2 = 0; loop2 < fields.length; loop2++) {
	            for (loop1 = 0; loop1 < mg_process_fields.length; loop1++)
	            {
	                if (fields[loop2].name == mg_process_fields[loop1] && fields[loop2].value != "") {
	                    mg_args += encodeURI(mg_process_fields[loop1]) + "=" + encodeURI(fields[loop2].value) + "&";
	                }
	            }
            }
            mg_args = mg_args.substring(0, mg_args.length - 1);
            var myFrame = document.createElement('iframe');
            myFrame.height = '0px';
            myFrame.width = '0px';
            myFrame.style.border = 'none';
            myFrame.src = mg_args;
            MG_Competition.eventPush(myFrame,'load',MG_Competition.setLoaded);
            document.getElementById("MG_COMPETITION").appendChild(myFrame);
            MG_Competition.callback = callback;
            MG_Competition.checkLoaded();
        } else if (typeof callback == 'object') {
                callback.submit();
        } else if (typeof callback == 'function') {
                callback();
        }
        //to support legacy calls
        if (typeof doReturn == 'undefined' || typeof doReturn == 'boolean' && doReturn){
        	return false;
        }
    },
    popup: function(url) {
        window.open(url,'mg_popup','height=500,width=790,location=no,menubar=no,status=no,toolbar=no,scrollbars=yes,resize=yes');
        return false;
    }    
}
MG_Competition.load();