var url = "http://www.mozilla.cat/navegaencatala/update-json.php?callback=bridge"; // URL of the external script
var script = document.createElement('script');
script.setAttribute('src', url);
// Create CSS
document.write("<style type='text/css'>.avis_firefox img{border:none}.avis_firefox .firefox{margin:0 auto;text-align:center}.avis_firefox,.avis_firefox_prima,.avis_firefox_inter{width:180px;font-size:10.5px;text-align:center}.avis_firefox a{color:#0489B7;text-decoration:none;font-size:12px}.avis_firefox_inter a,.avis_firefox_prima a{color:red;font-weight:700;text-decoration:none;font-size:12px}a.navega_download-addon {background: url('http://www.mozilla.cat/navegaencatala/imatges/download-button.png') no-repeat scroll 0 0 transparent;color: #09700B;display: block;height: 50px;padding: 5px 5px 5px 5px;}ul.navega_home_download{padding:0px;}p.sub{line-height:10px;margin-right: 15px;margin-top: 0;padding-top: 0;text-align: right;width: 180px;}p.sub a {color: #09700B;font-size: 10px;}</style>");
// Create HTML
document.write("<div class='contenidor_ff'><div class='avis_firefox'></div></div>");
// load the script
document.getElementsByTagName('head')[0].appendChild(script); 
// Bridge function
var bridge = function( json ) {
   process_args(json.name, json.version, json.lang, json.mob);
}
// Get all Tags
var allTags = new Array();
var allTags=document.getElementsByTagName("*");
var stablever = '9.0';
var betaver = '10.0';
var mozillaver = '9.0';

//Strings
var strFFcat = "<div class='firefox'><a href='http://www.firefox.cat'><img src='http://www.mozilla.cat/navegaencatala/imatges/Firefox-ico.png' alt='Què és el Firefox' title='Què és el Firefox' /></a></div><p><strong>No utilitzeu el Firefox?</strong><br />Proveu el<br /><a href='http://www.firefox.cat'>Firefox en català</a>!</p>";
var strFF = "<div class='firefox'><a href='http://www.firefox.cat'><img src='http://www.mozilla.cat/navegaencatala/imatges/Firefox-ico.png' alt='Què és el Firefox' title='Què és el Firefox' /></a></div><p><strong>Enhorabona!</strong><br />Ja utilitzeu el<br /><a href='http://www.firefox.cat'>Firefox</a>!</p>";
var strmFFcat = "<div class='firefox'><a href='http://www.firefox.cat/m'><img src='http://www.mozilla.cat/navegaencatala/imatges/Firefox-ico.png' alt='Què és el Firefox' title='Què és el Firefox' /></a></div><p><strong>El Firefox també és mòbil</strong></p><a href='http://www.firefox.cat/m'>Proveu-lo en català</a>!</p>";

var antiga = "<div class='firefox'><a href='http://www.firefox.cat'><img src='http://www.mozilla.cat/navegaencatala/imatges/Firefox-ico.png' alt='Què és el Firefox' title='Què és el Firefox' /></a></div><p><strong>Teniu una versió antiga<br />del Firefox.</strong><br />Baixeu-vos el nou <br /><a href='http://www.firefox.cat'>Firefox en català</a>!</p>";

var mantiga = "<div class='firefox'><a href='http://www.firefox.cat/m'><img src='http://www.mozilla.cat/navegaencatala/imatges/Firefox-ico.png' alt='Què és el Firefox' title='Què és el Firefox' /></a></div><p><strong>No teniu el nou Firefox mòbil?</strong><br />Proveu-lo ara i en <br /><a href='http://www.firefox.cat/m'>en català</a>!</p>";

var other = "<div class='firefox'><a href='http://www.firefox.cat'><img src='http://www.mozilla.cat/navegaencatala/imatges/Firefox-ico.png' alt='Què és el Firefox' title='Què és el Firefox' /></a></div><p><strong>Enhorabona!</strong><br />Ja utilitzeu el<br /><a href='http://www.firefox.cat'>Firefox en català</a>!</p>";

// Print results
function process_args(browser, version, prilang, mob) {

	version = processversion(version);

	// Language code (ca.* for Catalan)
	cat = new RegExp("^ca.*");
	if ((browser != 'Firefox') && (browser != 'Mozilla')) {

			//Mobile version
			if (mob != '') {
				changeByClass(allTags, "avis_firefox", strmFFcat);
			}
			else {
				changeByClass(allTags, "avis_firefox", strFFcat);
			}
	}
	else {
		//Check alpha, beta, pre in versions
		var exprpre  =  new RegExp("a|b|p|r");
		var pre = 0;
		if (version.search(exprpre) > 0) {
			var prearray = version.split(exprpre);
			version = prearray[0];
			pre = 1;
		}

	
		if ((browser == 'Firefox' && (compareVersion(stablever, version)<0)) || (browser == 'Mozilla' && (version.compareVersion(mozillaver)<0))) {
			if (mob != '') {
                                changeByClass(allTags, "avis_firefox", mantiga);
                        }

			else {
				changeByClass(allTags, "avis_firefox", antiga);
			}
		}
	
		else {

			if (pre==1 || pre==0) {
				if (compareVersion(stablever, version)<0 ) {
					changeByClass(allTags, "avis_firefox", antiga);
				}

				else {
					changeByClass(allTags, "avis_firefox", "<div class='firefox'><a href='http://www.firefox.cat'><img src='http://www.mozilla.cat/navegaencatala/imatges/Firefox-ico.png' alt='Què és el Firefox' title='Què és el Firefox' /></a></div><p><strong>Enhorabona!</strong><br />Ja utilitzeu el<br /><a href='http://www.firefox.cat'>Firefox en català</a>!</p>");
				}
			}

			if (!cat.test(prilang)) {

                                changeByClass(allTags, "avis_firefox", '<div class="firefox"><p><strong>El Firefox no navega en català</strong>?</p><div style="width:185px" class="navega_applist"><ul style="list-style-type:none;" class="navega_home_download"><li class=""><a class="navega_download-addon" onclick="http://www.softcatala.cat/pub/softcatala/mozilla-extensions/navegaencatala/navegaencatala.xpi" href="http://www.softcatala.cat/pub/softcatala/mozilla-extensions/navegaencatala/navegaencatala.xpi"><div class="navega_app_container"><div class="navega_app_desc"><img style="border:0;" title="Navega en català" alt="Navega en català" src="http://www.mozilla.cat/navegaencatala/imatges/navega-en-catala.png"></div></div></a></li></ul><p class="sub"><a href="http://www.mozilla.cat/navega-en-catala">Més informació…</a></p></div>');

			}
			else {

			}
		}	
	}

}

function changeByClass(ttags, tclass, tstring) {

	for (i=0; i<ttags.length; i++) {

		if (ttags[i].className==tclass) {
			ttags[i].innerHTML=tstring;
		}		
	}
}

function compareVersion(refversion, curversion) {

	if (curversion - refversion > 0) {
		return(1);
	}

	else if (curversion - refversion < 0 ) {
		return(-1);
	}

	else {return(0);}
}

function processversion(version) {

        var arr = version.split("\.");
        var num = arr[0]+"."+arr[1];

        return(num);
}

