﻿var CompanyMovie={
	show:function(){
		CompanyMovie._showLightBox();
	},
	
	_showLightBox:function(){
		var body = document.getElementsByTagName('body')[0];
		var overlay = document.createElement('div');
		overlay.id = 'overlay';
		body.appendChild(overlay);
	}
};

var Distributers={
	distributersCache:$H(),
	regionsCache:$H(),
	countriesCache:$H(),
	ddlCountriesId:'',
	ddlRegionsId:'',
	distributerTypesCount:0,

	AddRegionsToCache:function(list){
		list.each(function(region){
			Distributers.regionsCache.set("Region"+region.RegionId,region);
		});
	},
	AddDistributersToCache:function(list){
		list.each(function(distributer){
			Distributers.distributersCache.set("Distributer"+distributer.DistributerId,distributer);
		});
	},
	AddCountriesToCache:function(list){
		list.each(function(country){
			Distributers.countriesCache.set("Country"+country.CountryId,country);
		});
	},
	RegisterEvents:function(rId, cId){
		Distributers.ddlRegionsId=rId;
		Distributers.ddlCountriesId=cId;

		$(rId).observe("change",function(e){Distributers.RegionChanged(null,true);});
		$(cId).observe("change",function(e){Distributers.CountryChanged(null,true);});
		
		if($("linkButton")) $("linkButton").observe("click",function(e){Distributers.GoToLink();});
	},
	
	GetRegionId:function(queryName){
		var id = 0;
		var regions = Distributers.regionsCache.values();
		for (var i=0,len=regions.length;i<len;i++){
			if (regions[i].QueryName == queryName){
				id = regions[i].RegionId;
				break;
			}
		}
		return id;
	},

	GetCountryId:function(codeName){
		var id = 0;
		var countries = Distributers.countriesCache.values();
		for (var i=0,len=countries.length;i<len;i++){
			if (countries[i].CodeName == codeName){
				id = countries[i].CountryId;
				break;
			}
		}
		return id;
	},

	RegionChanged:function(regionId){
		var o = $(Distributers.ddlRegionsId);

		if (regionId){
			o.value=regionId;
		}else{
			regionId = o.value;
		}
	
		Distributers.FilterCountries(regionId);
	},
	CountryChanged:function(countryId){
		var o = $(Distributers.ddlCountriesId);

		if (countryId){
			o.value=countryId;
		}else{
			countryId = o.value;
		}
	},
	FilterCountries:function(regionId){
	    var o = null;
	    if($(Distributers.ddlCountriesId).getStyle("display")=="none")
	        o = $(Distributers.ddlCitiesId);
	    else
	        o = $(Distributers.ddlCountriesId);
		var iterations = 0;
		var option;

		o.length=1;

		countries = Distributers.countriesCache.values();

		for (var i=0,len=countries.length;i<len;i++){
			if (countries[i].Region != null && countries[i].Region.RegionId==regionId){
				option = document.createElement("option");
				option.text = countries[i].Header;
				if(countries[i].Url.indexOf("caesarstoneus.com")>-1){
					option.value = countries[i].Url;
				}
				else option.value = countries[i].CountryId;
				if (is_ie){
					o.add(option);
				}else{
					o.add(option,null);
				}
			}
		}
	},
	GoToLink:function(url){
		if(url==null) url="where_to_buy.aspx";
		
		var o = $(Distributers.ddlRegionsId);
		var newWindow = false;
		if(o.value)
		{
			url+="?regionId="+o.value;
				
			o = $(Distributers.ddlCountriesId);
			if(o.value.indexOf("www") > -1){
				if(o.value.indexOf("http") == -1) url = "http://"+o.value;
				else url = o.value;
				newWindow = true;
			}
			else
			{
				if(o.value)
				{
					url+="&countryId="+o.value;
				}
			}
		}
		
		if(newWindow) window.open(url);
		else window.location.href=url;
	}
};
