
(function($){
 $.fn.parsefivestarteaser = function(options) {  
   
    var defaults = {
      countryCode:"com",
      headlineSales:"Service",
      headlineService:"Service", 
      labelRatings:"Ratings",
      requestUrl: null,
      outletIds: null,
	  contentDIV:"id",
	  headlineDepartment:""
    };
        
   var base = this;          
   
   var options = $.extend(defaults, options);
   var countryCode = options.countryCode;
   var requestUrl = options.requestUrl;
   var outletIds = options.outletIds;
   var headlineSales = options.headlineSales;
   var headlineService = options.headlineService;
   var labelRatings = options.labelRatings;
   var departmentCount = 0;
   var countService=0;
	var countSales=0;
	var valueService=0;
	var valueSales=0;
	var serviceTrue="false";
	var salesTrue="false";
	var headlineDepartment=options.headlineDepartment;
	var contentDIV=options.contentDIV;
	var transGif="/_common/html/img/palette/1x1_trans.gif"
	
   this.writeDiv= function(headline, rating, ratingcount,stars){
     var starImg = "/cms/_common/shared/dealer/5star/img/"+stars+"_on.gif";  
     var htmlOutput = ""; 
      htmlOutput += "<div class=\"ratingRow\"><div  class=\"ratingCell55\">"+headline+"</div>";
      htmlOutput += "<div class=\"ratingCell70\">"+ratingcount+" "+labelRatings+"</div>";
      htmlOutput += "<div class=\"ratingCellImg\"><img src=\""+starImg+"\"></div>";
      htmlOutput += "<div class=\"ratingCell30\">"+rating+"</div></div>";
      return htmlOutput;
   }
      
   this.getHst= function(){
    var jsonHost="";
    if((document.location.href.indexOf("/bmw") > -1)||(document.location.href.indexOf("/bmw-cms-") > -1)) {
     jsonHost = "http://dealerorigin.bmw.com";
    }
    return jsonHost;
   }
   this.getStarImg= function(num){
   	var starNum="5";
	if(num < 1.5) starNum="1";
	if(num >= 1.5 && num < 2.0) starNum="1-5";
	if(num >= 2.0 && num < 2.5) starNum="2";
	if(num >= 2.5 && num < 3.0) starNum="2-5";
	if(num >= 3.0 && num < 3.5) starNum="3";
	if(num >= 3.5 && num < 4.0) starNum="3-5";
	if(num >= 4.0 && num < 4.5) starNum="4";
	if(num >= 4.5 && num < 4.7) starNum="4-5";
	return starNum;
   }
   this.writeHtml = function(dep){
   		var headDepartment = headlineDepartment.split("#");
		var backArr=0;
		var forArr=0;
		
		
   		var htmlOutput = "";
		if(departmentCount>1 && headDepartment.length==departmentCount){
			htmlOutput = "<span class=\"headline\" id=\"head"+dep+"\" >"+headDepartment[dep-1]+"</span>";
		}else{
			//htmlOutput = "<span class=\"headline\" id=\"head"+dep+"\" >&nbsp;</span>";
		}
		if((salesTrue!="false") || (serviceTrue!="false") ){
		  if(salesTrue!="false"){
			  htmlOutput += base.writeDiv(headlineSales, valueSales, countSales,base.getStarImg(valueSales));
			}
			if(serviceTrue!="false"){
			   htmlOutput += base.writeDiv(headlineService, valueService, countService,base.getStarImg(valueService));
			}
			if(departmentCount>1 && headDepartment.length==departmentCount){
				backArr=dep-1;
				forArr=dep+1;				
				if(backArr==0)backArr=departmentCount;
				if(forArr>departmentCount)forArr=1;
				htmlOutput += "<div id=\"starTeaserBrowseContainerL\">"
				htmlOutput += "<div class=\"starTeaserBrowseContainer\"><a href=\"javascript://\" onclick=\"changeStarTeaser("+backArr+")\" class=\"arrow_back backwardArrow\"><img src=\""+transGif+"\">&nbsp;</a><span id=\"starTeaserLeftCurrentPage\">"+dep+"</span>/<span id=\"starTeaserLeftAllPages\">"+departmentCount+"</span><a href=\"javascript://\" onclick=\"changeStarTeaser("+forArr+")\" class=\"arrow forwardArrow\">&nbsp;<img src=\""+transGif+"\"></a></div>"
				htmlOutput += "</div>"
			}
			$("#"+contentDIV+dep).append(htmlOutput);			
		}
   }
   this.initSlides = function(data){    
     outletIds = outletIds.split(',');
     departmentCount =  outletIds.length;	 
	 var z=1;
    $.each(outletIds, function(index, value) {
      var outletId = value;
      var currentTime = new Date();
      var outletUrl = requestUrl+countryCode+"/outlets/"+outletId+".js?prmt=" + currentTime.getTime();
      $.getScript(outletUrl, function(data, textStatus){	  	
         var jsonObjService = null;
		 var jsonObjSales =null;
		 if(typeof serviceRating!='undefined'){
		 	jsonObjService=serviceRating.RatingAverage;
		 }
		 if(typeof salesRating!='undefined'){
         	jsonObjSales= salesRating.RatingAverage;      
		 } 
		 if(jsonObjService!=null) {
		 	serviceTrue="true";
			countService=parseFloat(jsonObjService.count)
			valueService=jsonObjService.value
			valueService=valueService.toString().replace(/\,/, '.');
		 	valueService=parseFloat(valueService)
		}
		 if(jsonObjSales!=null){
		 	salesTrue="true";
			countSales=parseFloat(jsonObjSales.count)
			valueSales=jsonObjSales.value
		 	valueSales=valueSales.toString().replace(/\,/, '.');
		 	valueSales=parseFloat(valueSales)
		}  
		
		 base.writeHtml(z);
		 z++; 
        });
	}); 
	  
    
  };
  
   return base.each(function() {
    base.initSlides();
   });

        
 };
})(jQuery);
