function BadgeSelect() {
	
	this.defaultSize = "large";
	this.defaultLanguage = "hindi";
	this.defaultColor = "yellow";
	this.imagePath = "http://www.lipikaar.com/badges/"
	this.badgeLinkId = "lipikaar-badge-link";
	this.badgeIconId = "lipikaar-badge-img";
	this.badgeBrowserId = "lipikaar-browser-img";
	this.badgeCodeId = "badge-code";
	this.currentSize = this.defaultSize;
	this.currentLanguage = this.defaultLanguage;
	this.currentColor = this.defaultColor;
	this.desktopLink = "http://www.lipikaar.com/lipikaar-for-windows";
	this.firefoxLink = "http://www.lipikaar.com/lipikaar-for-firefox";
	this.ieLink = "http://www.lipikaar.com/lipikaar-for-internet-explorer";	
	this.lipikaarVersion = "windows";
	this.fileType = ".png";
	this.jsVersion = "";	
	this.badgeSize = {	
	starbadgesmall: {
		width: 125,
		height: 104
		},
	starbadgemedium: {
		width: 180,
		height: 150		
		},
	starbadgelarge: {
		width: 200,
		height: 167	
		},
	cylinderbadgesmall: {
		width: 125,
		height: 22
		},
	cylinderbadgemedium: {
		width: 180,
		height: 31
		},
	cylinderbadgelarge: {
		width: 180,
		height: 31
		}			
	};		
}

BadgeSelect.prototype = {	
	init: function (badgeBrowserType) {
		this.lipikaarVersion = badgeBrowserType;
		document.getElementById("b" + this.defaultSize).checked = "checked";
		document.getElementById("b" + this.defaultLanguage).checked = "checked";
		this.showBadge(this.defaultSize, this.defaultLanguage, this.defaultColor);		
	},	
	showBadge: function (size, lang, color) {
		var badgeFilename = this.imagePath + lang + '/' + "b-" + size + "-" + lang + "-" + color + this.fileType;
		document.getElementById(this.badgeIconId).src = badgeFilename;
		document.getElementById(this.badgeIconId).height = this.badgeSize ["starbadge" + size].height;
		document.getElementById(this.badgeIconId).width = this.badgeSize ["starbadge" + size].width;
		if(document.getElementById(this.badgeIconId).style.filter){
			document.getElementById(this.badgeIconId).style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ badgeFilename +"')";
		}
		
		var browserImgFilename = this.imagePath + "download" + '/' + "d-" + size + "-" + lang + "-" + this.lipikaarVersion + this.fileType;		
		document.getElementById(this.badgeBrowserId).src = browserImgFilename;
		document.getElementById(this.badgeBrowserId).height = this.badgeSize ["cylinderbadge" + size].height;
		document.getElementById(this.badgeBrowserId).width = this.badgeSize ["cylinderbadge" + size].width;
		if(document.getElementById(this.badgeBrowserId).style.filter){
			document.getElementById(this.badgeBrowserId).style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ browserImgFilename +"')";
		}		
		
		document.getElementById(this.badgeCodeId).value = this.getBadgeCode(badgeFilename,browserImgFilename, size);
		document.getElementById(this.badgeLinkId).href = this.getBadgeLink();
	},
	getBadgeCode: function (badgeImage, browserImage, size) {
		return "<div id='lipikaar-badge' align='center'>"
				+ "<a id='" + this.badgeLinkId + "' target='_blank' href='" + this.getBadgeLink() + "'><img id='" + this.badgeIconId + "' src='" + badgeImage + "' border='0' width='" + this.badgeSize ["starbadge" + size].width + "' height='"+ this.badgeSize ["starbadge" + size].height + "' /><br/>"
				+ "<img id='" + this.badgeBrowserId + "' src='" + browserImage + "' border='0' width='" + this.badgeSize ["cylinderbadge" + size].width + "' height='"+ this.badgeSize ["cylinderbadge" + size].height +"' /></a>"
				+ "</div>"
				+ "<script type='text/javascript' src='" + this.imagePath + "js/detect.js'></script>";
	},
	getBadgeLink: function() {
		switch(this.lipikaarVersion) {
			case 'firefox':
			return this.firefoxLink;

			case 'internet-explorer':
			return this.ieLink;
			
			
			case 'windows':
			default:
			return this.desktopLink;
		}
	},
	changeChoice: function (param, value) {
		switch(param) {
			case "size":
				this.currentSize = value;
				break;
				
			case "language":
				this.currentLanguage = value;
				break;
			
			case "color":
			default:
				this.currentColor = value;
				break;
		}
		this.showBadge(this.currentSize, this.currentLanguage, this.currentColor);
	}	
};
var badgeSelect = new BadgeSelect();
