var UserManager = (function() {
    //var _countriesLB;
    //var _languagesLB;
    function init() {

        $$(".user-login").addReplacingEvent("click", function(e) {
            UserManager.openLogin();
        });
        $$(".user-logout").addReplacingEvent("click", function(e) {
            UserManager.logout();
        });

        var sTextF = $("searchText");

        if (sTextF != null) {
            $("searchButton").addReplacingEvent("click", function(e) {
                UserManager.search(sTextF);
            });

            sTextF.addReplacingEvent("click", function(e) {
                if ((sTextF.value == "") || (sTextF.value == $("EnterKeyword").innerHTML)) {
                    sTextF.value = "";
                }
            });
            sTextF.addEvent("keypress", function(e) {
                if (e.key && !e.shift) switch (e.key) {
                    case "enter":
                        UserManager.search(sTextF);
                        return;
                }
            });
        }

        //setUpCountriesLB();

        if ($("languagesDD") != null) {
            $("languagesDD").hide();
            $("langs").addReplacingEvent('click', function() {
                $("languagesDD").show();
            });
        }
    }


    $domready(init);

    function setUpCountriesLB() {
        var tempId1;
        var tempId2;
        var countriesList = $("countries-lightbox").getElements(".country-link");
        var languagesList = $("languages-lightbox").getElements(".lang-link");
        UserManager._countriesLB = new Lightbox($("countries-lightbox"), { opacity: 0.5, backgroundColor: '#04234b', containerClass: '', hideOnEnter: false, hideOnEsc: false });
        UserManager._languagesLB = $("languages-lightbox");
        if (UserManager._languagesLB) {
            UserManager._languagesLB.hide();
            UserManager._languagesLB.getElements("ul").each(function(item, index) {
                item.hide();

                tempId1 = item.id.split("-")[0];
                item.getElement("a").addReplacingEvent("click", function(item) {
                    UserManager.setUpCookie(tempId1, item.id);
                });
            });
        }
        //		countriesList.each(function(item,index){
        //			item.addReplacingEvent("click",function(){
        //				setUpCurrentCountry(item);
        //			});
        //		});

        //make check if country + language was selected:
        //if not - show LB & save in cookie;
        var currCountry = UserManager._get_cookie("country");
        var currLang = UserManager._get_cookie("language");

        //if no cookie & more then 1 site is online
        if ((countriesList.length > 1) && (languagesList.length > 1) && ((!currCountry) || (!currLang))) {
            UserManager._countriesLB.show();
        }

        //else
        //retrive from cookie

        $("languagesDD").getElements("li").each(function(item) {
            tempId1 = item.id.split("-")[0];
            item.getElement("a").addReplacingEvent("click", function() {
                tempId2 = this.id.split("-")[0];
                UserManager.setUpCookie2(tempId1, tempId2);
            });
        });

    }

    function setUpCurrentCountry(t) {
        UserManager._languagesLB.hide();
        countriesList.each(function(item, index) {
            item.removeClass("on");
            if (item.id + "-code") $(item.id + "-code").hide();
        });
        t.addClass("on");
        if (t.id + "-code") {
            UserManager._languagesLB.setStyle("top", t.offsetTop + 25 + "px");
            $(t.id + "-code").show();
            UserManager._languagesLB.show();
        }

    }

    function loginLoaded() {
        new Lightbox(UserManager._loginFormElement).show();
    }


    return {
        openLogin: function() {
            // if already got source
            if (UserManager._loginFormElement) loginLoaded();
            // otherwise fetch source from server
            else Mantis.Web.Services.UserService.GetLoginFormSource(function(source) {
                UserManager._loginFormElement = Element.fromMarkup(source);
                loginLoaded();
            });
        },
        openResetPassword: function() {
            UserManager.openLogin();
        },
        logout: function() {
            WebService.AuthenticationService.logout();
        },
        sendPassword: function(userName, callback) {
            Mantis.Web.Services.UserService.SendPassword(userName, function(success) {
                if (callback) callback(success);
            });
        },
        search: function(textField) {
            var sText = textField;

            if ((sText.value == "") || (sText.value == $("EnterKeyword").innerHTML)) {
                sText.value = $("EnterKeyword").innerHTML;
            }
            else {
                //alert(Config.siteUrl + "search-results.aspx?" + escape(sText.value));
                location.href = Config.siteUrl + "search-results/" + escape(sText.value);
            }
        },

        _get_cookie: function(cookie_name) {
            var results = document.cookie.match('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
            if (results)
                return (unescape(results[2]));
            else
                return null;
        }
		,
        setUpCookie: function(country, language) {
            var currCountry = UserManager._get_cookie("country");
            var currLang = UserManager._get_cookie("language");
            if ((currCountry != country) || (currLang != language)) {
                var dateIt = new Date("January 1, 2030");
                var expires = "expires=" + dateIt.toGMTString();
                document.cookie = "country=" + country + ";" + expires + "; ";
                document.cookie = "language=" + language + ";" + expires + "; ";
            }

            if (UserManager._languagesLB) UserManager._languagesLB.hide();
            if (Lightbox != null) Lightbox.hide();

            location.href = location.href; //TODO:don't work;\
        },
        setUpCookie2: function(country, language) {
            //alert(country+"---"+language);
            var currCountry = UserManager._get_cookie("country");
            var currLang = UserManager._get_cookie("language");
            if ((currCountry != country) || (currLang != language)) {
                var dateIt = new Date("January 1, 2030");
                var expires = "expires=" + dateIt.toGMTString();
                document.cookie = "country=" + country + ";" + expires + "; ";
                document.cookie = "language=" + language + ";" + expires + "; ";
            }
            $("languagesDD").hide();
            location.href = location.href; //TODO:don't work;\
        }

    }
})();



//$DL(function () {
//	loadHP();
//	//startFeaturedRotate();
//});

var customerDisplayAr = ['','',''];
var pagingDisplayAr = ['customerDisplay1','customerDisplay2','customerDisplay3'];
var customersArCurrentIndex = 0;
/*timers*/
var rotateCustomersSetTimeout;
var selectCustomerIdSetTimeout;
var firstSetTimeout;
var lastItem = 2;
var timer = 7000;

function disablePaging(){
	var i = lastItem+1;
	while(i<3){
		$(pagingDisplayAr[i]).href="javascript:noCustomer();";
		$(pagingDisplayAr[i]).removeClass("number");
		$(pagingDisplayAr[i]).addClass("numberHide");
		i++;
	}



}

function switchCustomers(divAr,pagingAr,displayId){

	for(var i=0;i < divAr.length;i++){
		if ((divAr[i]!="")&&($(divAr[i])))
			$(divAr[i]).setStyle("opacity","0");
	}
	for(i=0;i < pagingAr.length;i++){
		if ($(pagingAr[i]))
			$(pagingAr[i]).removeClass("on");
	}
	if ($(divAr[displayId])) $(divAr[displayId]).fade('in');
	if ($(pagingAr[displayId]))	$(pagingAr[displayId]).addClass("on");
}

function noCustomer(){

}

function selectCustomerId(customerId){

	clearTimeout(firstSetTimeout);
	clearTimeout(rotateCustomersSetTimeout);
	clearTimeout(selectCustomerIdSetTimeout);
	customersArCurrentIndex = customerId;

	switchCustomers(customerDisplayAr,pagingDisplayAr, customerId);

	selectCustomerIdSetTimeout = setTimeout ('rotateCustomers('+timer+')',5000);
}

function rotateCustomers(timeOutToNextChange){
	var customersArNextIndex = (customersArCurrentIndex == lastItem) ? 0 : customersArCurrentIndex + 1;

	switchCustomers(customerDisplayAr,pagingDisplayAr, customersArNextIndex);

	customersArCurrentIndex = customersArNextIndex;
	rotateCustomersSetTimeout = setTimeout ('rotateCustomers('+timer+')',timeOutToNextChange);

}

function startFeaturedRotate(){

	firstSetTimeout = setTimeout ('rotateCustomers('+timer+')',timer);
	return true;
}

function loadHP(){

    var customerTestimonials = $("promotedProducts").getElements(".item");
    
	customerTestimonials[0].setStyle("opacity","1");
	lastItem = customerTestimonials.length - 1;
	
	customerTestimonials.each(function(handle, j) {
	    customerDisplayAr[j] = customerTestimonials[j].id;
	    pagingDisplayAr[j] = $("pager").getElements("a")[j].id;
	});
     //disablePaging();
}

