var filterChars = new Array(
    "#", "A", "B", "C", "D", "E", "F", "G", "H", "I",
    "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S",
    "T", "U", "V", "W", "X", "Y", "Z");
var PAGE_DISPLAY = 5;
var initialTotalCount = null;

function checkAll() {
    var checkBoxes = document.getElementsByName('removeUserIds');
    for (i = 0; i < checkBoxes.length; ++i) {
        if (!checkBoxes[i].checked)
            checkBoxes[i].checked = true;
    }
}

function unCheckAll() {
    var checkBoxes = document.getElementsByName('removeUserIds');
    for (i = 0; i < checkBoxes.length; ++i) {
        if (checkBoxes[i].checked)
            checkBoxes[i].checked = false;
    }
}

function selectUser(i) {
    unCheckAll();
    var checkBoxes = document.getElementsByName('removeUserIds');
    checkBoxes[i].checked = true;
    if (confirm_delete()) {
        document.forms.userSubscriptionForm.submit();
    }
}

function getSubscription(paramType, paramFilterName, paramPage) {
    var params = {
    	type:paramType,
        filterName:paramFilterName,
        page:paramPage
    };

    new Ajax.Request("/servlet/mypage/getSubscription", {
        method:"post",
        parameters:$H(params).toQueryString(),
        onFailure:function(){
        },
        onComplete:function(res){
            dispSubscription(eval('(' + res.responseText + ')'), paramType, paramFilterName, paramPage);
        }
    });
}

function dispSubscription(items, paramType, paramFilterName, paramPage) {
    if (initialTotalCount == null) {
        initialTotalCount = items.totalCount;
    }

    while ($("totalCount").hasChildNodes()) {
        $("totalCount").removeChild($("totalCount").lastChild);
    }
    while ($("filterLink").hasChildNodes()) {
        $("filterLink").removeChild($("filterLink").lastChild);
    }
    while ($("pageLinkTop").hasChildNodes()) {
        $("pageLinkTop").removeChild($("pageLinkTop").lastChild);
    }
    while ($("pageLinkBottom").hasChildNodes()) {
        $("pageLinkBottom").removeChild($("pageLinkBottom").lastChild);
    }
    while ($("eachUser").hasChildNodes()) {
        $("eachUser").removeChild($("eachUser").lastChild);
    }
    while ($("unscribedBtnLink").hasChildNodes()) {
        $("unscribedBtnLink").removeChild($("unscribedBtnLink").lastChild);
    }
    
    // display total count
    var title1 = document.createElement("div");
    title1.className = "title1";
    if (paramType == "live") {
        title1.appendChild(document.createTextNode("Edit Live Notification"));
    } else if (paramType == "calendar") {
        title1.appendChild(document.createTextNode("Edit Calendar Subscriptions"));
    } else if (paramType == "subscriber") {
        title1.appendChild(document.createTextNode("Edit My Subscribers"));
    }
    var total = document.createElement("span");
    total.appendChild(document.createTextNode(" - Total:"));
    title1.appendChild(total);
    var countText = document.createElement("b");
    countText.appendChild(document.createTextNode(items.totalCount));
    title1.appendChild(countText);
    $("totalCount").appendChild(title1);

    var msMenu1 = document.createElement("div");
    msMenu1.className = "msMenu1";

    if (initialTotalCount > 0) {
        // display filter char link
        var sortAlphabet = document.createElement("div");
        sortAlphabet.className = "sortAlphabet";
        var currentPage = document.createElement("span");
        if (paramFilterName == '') {
            currentPage.className = "currentPage";
            currentPage.appendChild(document.createTextNode("All"));
        } else {
            var allLink = document.createElement("a");
            allLink.href = "javascript:getSubscription('" + paramType + "','', '0')";
            allLink.appendChild(document.createTextNode("All"));
            currentPage.appendChild(allLink);
        }
        sortAlphabet.appendChild(currentPage);
        var vLine = document.createElement("span");
        vLine.className = "vLine";
        vLine.appendChild(document.createTextNode("|"));
        sortAlphabet.appendChild(vLine);
        for (i = 0; i < filterChars.length; i++) {
            var eachFilterLink = null;
            if (filterChars[i] != paramFilterName) {
                eachFilterLink = document.createElement("a");
                eachFilterLink.href = "javascript:getSubscription('" + paramType + "','" + filterChars[i] + "', '0')";
            } else {
                eachFilterLink = document.createElement("span");
                eachFilterLink.className = "currentPage";
            }
            eachFilterLink.appendChild(document.createTextNode(filterChars[i]));
            sortAlphabet.appendChild(eachFilterLink);
        }
        msMenu1.appendChild(sortAlphabet);
        if (paramType == "live") {
            msMenu1.appendChild(document.createTextNode("Receive Live Notifications For"));
        } else if (paramType == "calendar") {
            msMenu1.appendChild(document.createTextNode("Receive Calendar Notifications For"));
        } else if (paramType == "subscriber") {
            msMenu1.appendChild(document.createTextNode("My Subscribers"));
        }
    } else {
        if (paramType == "live") {
            msMenu1.appendChild(document.createTextNode("There are no subscribed live notifications"));
        } else if (paramType == "calendar") {
            msMenu1.appendChild(document.createTextNode("There are no subscribed calendars"));
        } else if (paramType == "subscriber") {
            msMenu1.appendChild(document.createTextNode("You have no Subscribers"));
        }
    }
    $("filterLink").appendChild(msMenu1);

    if (items.totalCount > 0) {
        // display top and bottom page link
        var msMenu2Top = createPageLink(items, paramType, paramFilterName);
        msMenu2Top.appendChild(document.createTextNode(items.startPos + " - " + items.endPos + " of " + items.totalCount));
        $("pageLinkTop").appendChild(msMenu2Top);

        var msMenu2Bottom = createPageLink(items, paramType, paramFilterName);
        var checkAllLink = document.createElement("a");
        checkAllLink.href = "javascript:checkAll()";
        checkAllLink.appendChild(document.createTextNode("Check All"));
        msMenu2Bottom.appendChild(checkAllLink);
        msMenu2Bottom.appendChild(document.createTextNode(" | "));
        var unCheckAllLink = document.createElement("a");
        unCheckAllLink.href = "javascript:unCheckAll()";
        unCheckAllLink.appendChild(document.createTextNode("Clear All"));
        msMenu2Bottom.appendChild(unCheckAllLink);
        $("pageLinkBottom").appendChild(msMenu2Bottom);

        // display each user
        var msBoxs = document.createElement("div");
        msBoxs.id = "msBoxs";
        for (i = 0; i < items.users.length; i++) {
            var msBox = document.createElement("div");
            msBox.className = "msBox";

            var msImg = document.createElement("div");
            msImg.className = "msImg";
            var imgLink = document.createElement("a");
            imgLink.href = "/profile/" + items.users[i].userName;
            var profileImg = document.createElement("img");
            profileImg.src = items.users[i].profileImageUrl;
            profileImg.height = "60";
            profileImg.width = "80";
            profileImg.border = "0";
            imgLink.appendChild(profileImg);
            msImg.appendChild(imgLink);
            msBox.appendChild(msImg);

            var msCheck = document.createElement("div");
            msCheck.className = "msCheck";
            var removeCheckBox = document.createElement("input");
            removeCheckBox.type = "checkbox";
            removeCheckBox.id = "removeUserIds";
            removeCheckBox.name = "removeUserIds";
            removeCheckBox.value = items.users[i].userId;
            msCheck.appendChild(removeCheckBox);
            msBox.appendChild(msCheck);

            var msDname = document.createElement("div");
            msDname.className = "msDname";
            var nameLink = document.createElement("a");
            nameLink.href = "/profile/" + items.users[i].userName;
            nameLink.appendChild(document.createTextNode(items.users[i].screenName));
            msDname.appendChild(nameLink);
            msBox.appendChild(msDname);

            if (paramType == "subscriber") {
                var msStatus = document.createElement("div");
                msStatus.className = "msStatus";
                var subscribeType = items.users[i].subscribeType;
                if (subscribeType == "2" ||
                    subscribeType == "3" ||
                    subscribeType == "6" ||
                    subscribeType == "7") {
                    var statusImgLive = document.createElement("img");
                    statusImgLive.src = "/images/en/member/subscription/icon_live.gif";
                    msStatus.appendChild(statusImgLive);
                }
                if (subscribeType == "4" ||
                    subscribeType == "5" ||
                    subscribeType == "6" ||
                    subscribeType == "7") {
                    var statusImgEvent = document.createElement("img");
                    statusImgEvent.src = "/images/en/member/subscription/icon_event.gif";
                    msStatus.appendChild(statusImgEvent);
                }
                if (subscribeType == "1" ||
                    subscribeType == "3" ||
                    subscribeType == "5" ||
                    subscribeType == "7") {
                    var statusImgCal = document.createElement("img");
                    statusImgCal.src = "/images/en/member/subscription/icon_calendar.gif";
                    msStatus.appendChild(statusImgCal);
                }
                msBox.appendChild(msStatus);
            }

            var msUnsubscribe = document.createElement("div");
            msUnsubscribe.className = "msUnsubscribe";
            var unsubscribeLink = document.createElement("a");
            unsubscribeLink.href = "javascript:selectUser('" + i + "')";
            var unsubscribeImg = document.createElement("img");
            unsubscribeImg.src ="/images/en/member/subscription/icon_unsubscribe.gif";
            unsubscribeImg.title = "Unscribe this user";
            unsubscribeLink.appendChild(unsubscribeImg);
            msUnsubscribe.appendChild(unsubscribeLink);
            msBox.appendChild(msUnsubscribe);

            msBoxs.appendChild(msBox);
        }
        $("eachUser").appendChild(msBoxs);

        // display unsubscribe button
        var unscribedBtn = document.createElement("div");
        unscribedBtn.className = "unscribedBtn";
        var submitLink = document.createElement("a");
        submitLink.href = "javascript:document.forms.userSubscriptionForm.submit()";
        submitLink.appendChild(document.createTextNode("Unsubscribe Selected"));
        unscribedBtn.appendChild(submitLink);
        $("unscribedBtnLink").appendChild(unscribedBtn);
    }
}

function createPageLink(items, paramType, paramFilterName) {
    var msMenu2 = document.createElement("div");
    msMenu2.className = "msMenu2";
    var pagenation = document.createElement("div");
    pagenation.className = "pagenation";
    
    if (items.page > 0) {
        var pageNavArrow = document.createElement("span");
        pageNavArrow.className = "pageNavArrow";
        pageNavArrow.appendChild(document.createTextNode("<<"));
        pagenation.appendChild(pageNavArrow);
        var prevLink = document.createElement("a");
        prevLink.href = "javascript:getSubscription('" + paramType + "','" + paramFilterName + "', '" + (items.page - 1) + "')";
        prevLink.appendChild(document.createTextNode("Previous"));
        pagenation.appendChild(prevLink);
        var vLine = document.createElement("span");
        vLine.className = "vLine";
        vLine.appendChild(document.createTextNode("|"));
        pagenation.appendChild(vLine);
    }

    var dot = false;
    if (items.page > 0) {
    for (i = 0; i < items.pageCnt; i++) {
        if (i == items.page) {
            pagenation.appendChild(document.createTextNode((i + 1) + " "));
        } else if (i == 0 || i == (items.pageCnt - 1) || (i > items.page - PAGE_DISPLAY && i < items.page + PAGE_DISPLAY)) {
            var eachPageLink = document.createElement("a");
            eachPageLink.href = "javascript:getSubscription('" + paramType + "','" + paramFilterName + "', '" + i + "')";
            eachPageLink.appendChild(document.createTextNode((i + 1) + " "));
            pagenation.appendChild(eachPageLink);
            dot = false;
        } else if(!dot) {
            pagenation.appendChild(document.createTextNode("..."));
            dot = true;
        }
    }
    }

    if (items.page != (items.pageCnt - 1)) {
        var vLine = document.createElement("span");
        vLine.className = "vLine";
        vLine.appendChild(document.createTextNode("|"));
        pagenation.appendChild(vLine);
        var nextLink = document.createElement("a");
        nextLink.href = "javascript:getSubscription('" + paramType + "','" + paramFilterName + "', '" + (items.page + 1) + "')";
        nextLink.appendChild(document.createTextNode("Next"));
        pagenation.appendChild(nextLink);
        var pageNavArrow = document.createElement("span");
        pageNavArrow.className = "pageNavArrow";
        pageNavArrow.appendChild(document.createTextNode(">>"));
        pagenation.appendChild(pageNavArrow);
    }

    msMenu2.appendChild(pagenation);

    return msMenu2;
}


function overlayclose(subobj){
	document.getElementById(subobj).style.display="none";
}

function getposOffset(overlay, offsettype){
	var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
	var parentEl=overlay.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function overlay(curobj, subobjstr, opt_position){
	if (document.getElementById){
		var subobj=document.getElementById(subobjstr)
		subobj.style.display=(subobj.style.display!="block")? "block" : "none"
		var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0) 
		var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
		subobj.style.left=xpos+"px"
		subobj.style.top=ypos+"px"
		return false
	} 
	else
		return true
}

var opt_position = 'leftbottom';
var horizentalPosition = '';
var verticalPosition = '';
var horizentalOffset = 0;
var verticalOffset = 0;
var curObjId;

function setOverlayPosition(objId,hPos,vPos,hOffset,vOffset) {
	if (hPos == 'left')
		opt_position = 'right';
	else
		opt_position = 'left';
	if (vPos == 'top')
		opt_position += 'bottom';
	else
		opt_position += 'top';
		
	curObjId = objId;
	horizentalPosition = hPos;
	verticalPosition = vPos;
	horizentalOffset = hOffset;
	verticalOffset = vOffset
}

function showHideSubscribeBox() {
	if (get_cookie2("login") == "" && get_cookie2("rememberme") == "") {
    	document.getElementById('subscribeDiv').style.display="none";
    	document.getElementById('ajaxLoginDiv').style.display="block";
    } else {
    	document.getElementById('subscribeDiv').style.display="block";
    	document.getElementById('ajaxLoginDiv').style.display="none";
    }
    
    var subObj=document.getElementById('subscribeBox');
    subObj.style.display=(subObj.style.display!="block")? "block" : "none";
    
    var xpos = 0;;
    var ypos = 0;
    
    if (curObjId && curObjId != ''){
    	var curObj = document.getElementById(curObjId);
    
    	xpos=getposOffset(curObj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(-curObj.offsetWidth) : 0); 
   		ypos=getposOffset(curObj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curObj.offsetHeight : 0);
   	
   		if (horizentalPosition == 'left')
   			xpos -= subObj.clientWidth;
   		if (verticalPosition == 'top')
			ypos -= subObj.clientHeight;
	}
		
    subObj.style.left=(xpos+horizentalOffset)+"px";
    subObj.style.top=(ypos+verticalOffset)+"px"; 
}


function addSubscription(userId) {
    var addCalendar = document.subscriptionForm.addCalendar.checked;
    var addLive = document.subscriptionForm.addLive.checked;

    var params = {
    	userId:userId,
        addCalendar:addCalendar,
        addLive:addLive
    };

    new Ajax.Request("/servlet/profile/addSubscription", {
        method:"post",
        parameters:$H(params).toQueryString(),
        onFailure:function(){
        },
        onComplete:function(res){
        }
    });
}

function dispAddScheduleButton(scheduleId) {
    document.write(createAddScheduleButtonStr(scheduleId));
}

function createAddScheduleButtonStr(scheduleId) {
    var str = "";
    if (get_cookie2("login") == "" && get_cookie2("rememberme") == "") {
        str = '<span class="addEvent"><a href="javascript:;" onclick="alert(\'Please login before adding this event.\')"><b>+</b>Add Event</a></span>';
    } else {
        str = '<span class="addEvent"><a href="javascript:addUserSchedule(' + scheduleId + ')"><b>+</b>Add Event</a></span>';
    }
    return str;
}

function addUserSchedule(scheduleId) {
    var params = {
    	scheduleId:scheduleId
    };

    new Ajax.Request("/servlet/addUserSchedule", {
        method:"post",
        parameters:$H(params).toQueryString(),
        onFailure:function(){
        },
        onComplete:function(res){
        }
    });
}

function getUserSchedule(onlyMine, past, func) {
    var params = {
    	onlyMine:onlyMine,
        past:past
    };

    new Ajax.Request("/servlet/mypage/getUserSchedule", {
        method:"post",
        parameters:$H(params).toQueryString(),
        onFailure:function(){
        },
        onComplete:function(res){
            func(eval('(' + res.responseText + ')'));
        }
    });
}

var dispScheduleBox = function(items) {
    var MAX_CNT = 10;

    while ($("calDetails").hasChildNodes()) {
        $("calDetails").removeChild($("calDetails").lastChild);
    }
    if (items.length == 0) {
        var noEvent = document.createElement("div");
        noEvent.className = "noEvent";
        noEvent.appendChild(document.createTextNode("Hit the plus button and add an event to let your friends and fans know when you will be live in the future."));
        $("calDetails").appendChild(noEvent);
    }
    for (i = 0; i < items.length && i < MAX_CNT; i++) {
        var calEvent = document.createElement("div");
        calEvent.className = "calEvent";
        var lBox = document.createElement("div");
        lBox.className = "lBox";
        var profileImage = document.createElement("div");
        profileImage.className = "profileImage";
        var imageLink = document.createElement("a");
        imageLink.href = "/profile/" + items[i].userName;
        var image = document.createElement("img");
        image.src = items[i].profileImageUrl;
        imageLink.appendChild(image);
        profileImage.appendChild(imageLink);
        lBox.appendChild(profileImage);
        var userName = document.createElement("div");
        userName.className = "userName";
        var userNameLink = document.createElement("a");
        userNameLink.href = "/profile/" + items[i].userName;
        userNameLink.appendChild(document.createTextNode(items[i].screenName));
        userName.appendChild(userNameLink);
        lBox.appendChild(userName);

        var rBox = document.createElement("div");
        rBox.className = "rBox";
        var removeEvent = document.createElement("div");
        removeEvent.id = "removeEvent";
        removeEvent.className = "removeEvent";
        var removeLink = document.createElement("a");
        removeLink.href = "javascript:removeUserSchedule('" + items[i].scheduleId + "','" + items[i].mySchedule + "')";
        var removeImage = document.createElement("img");
        removeImage.src = "/images/en/member/mypage_062007/minusicon.gif";
        removeImage.title = "Remove Event";
        removeLink.appendChild(removeImage);
        removeEvent.appendChild(removeLink);
        rBox.appendChild(removeEvent);
        var dateDiv = document.createElement("div");
        dateDiv.className = "date";
        dateDiv.appendChild(document.createTextNode(dispScheduleDate(items[i].startTime)));
        var timeSpan = document.createElement("span");
        timeSpan.className = "time";
        timeSpan.appendChild(document.createTextNode(dispScheduleTime(items[i].startTime, items[i].endTime)));
        dateDiv.appendChild(timeSpan);
        rBox.appendChild(dateDiv);
        var title = document.createElement("div");
        title.id = "title";
        title.className = "title";
        title.innerHTML = decodeHTML(items[i].title);
        rBox.appendChild(title);
        var description = document.createElement("div");
        description.className = "description";
        description.innerHTML = decodeHTML(items[i].description);
        rBox.appendChild(description);

        calEvent.appendChild(lBox);
        calEvent.appendChild(rBox);
        $("calDetails").appendChild(calEvent);
    }
}

function removeUserSchedule(scheduleId, mySchedule) {
    if (!confirm_delete()) {
        return;
    }
    var params = {
    	scheduleId:scheduleId,
        mySchedule:mySchedule
    };

    new Ajax.Request("/servlet/removeUserSchedule", {
        method:"post",
        parameters:$H(params).toQueryString(),
        onFailure:function(){
        },
        onComplete:function(res){
            getUserSchedule(false, true, createCalendar);
            getUserSchedule(false, false, dispScheduleBox);
        }
    });
}

function dispScheduleDate(startTime) {
    var parseStartDate = eval(startTime);
    var startDate = new Date();
    startDate.setTime(parseStartDate);
    return startDate.formatDate("m/d/Y");
}

function dispScheduleTime(startTime, endTime) {
    var parseStartDate = eval(startTime);
    var parseEndDate = eval(endTime);
    var startDate = new Date();
    startDate.setTime(parseStartDate);
    var endDate = new Date();
    endDate.setTime(parseEndDate);
    return " " + startDate.formatDate("g:i a") + " - " + endDate.formatDate("g:i a");
}

function decodeHTML(str){
    return str.replace(/&nbsp;/ig, " ").
               replace(/&quot;/ig, "\"").
               replace(/&gt;/ig, ">").
               replace(/&lt;/ig, "<").
               replace(/&amp;/ig, "&");
}

function get_cookie2(Name) {
    var ck = document.cookie;
    var ck_tmp = ck.split(";");

    // for (var i in ck_tmp) {
    // since this didn't work well i modified like below.
    for (i = 0; i < ck_tmp.length; i++) {
        var ar = ck_tmp[i].split("=");
        if (Name == ar[0].replace(" ", "") ) return ar[1];
    }

    return "";
}

/*
var profileCalendar = null;

var createCalendar = function(items) {
    profileCalendar = new CalendarHelper();
    profileCalendar.createCalendarMap(items);
	Event.observe(window, "load", profileCalendar.loadCalendar, false);
}
*/

var subscribedUserId;
var subscriptionAction;

var ajaxSubscribeToUser = new sack();
var ajaxUnsubscribeToUser = new sack();

var divSubscribeToUserName;
var divUnsubscribeToUserName;

function subscribeToUser(userId) {
	divSubscribeToUserName = 'subscribeToUser' + userId ;
	divUnsubscribeToUserName = 'unsubscribeToUser' + userId;

	if (get_cookie2("login") == "" && get_cookie2("rememberme") == "") {
		subscribedUserId = userId;
		subscriptionAction = "subscribe";
		showHideSubscribeBox();
		return;
	}
		
	ajaxSubscribeToUser.reset();
	ajaxSubscribeToUser.encVar("userId" , userId);
	ajaxSubscribeToUser.encVar("addCalendar" , true);
	ajaxSubscribeToUser.encVar("addLive" , true);
	ajaxSubscribeToUser.requestFile = "/servlet/profile/addSubscription";
	ajaxSubscribeToUser.method = 'POST';
	ajaxSubscribeToUser.onLoading = whenLoading;
	ajaxSubscribeToUser.onCompletion = completeSubscriptionToUser;
	ajaxSubscribeToUser.runAJAX();
}

function completeSubscriptionToUser(){
	var response = ajaxSubscribeToUser.response;
	if (response == 'succeed') {
		switchSubscribeButton('unsubscribe');
	}
	else if (response == 'update preferences'){
		showHideSubscribeBox();
		switchSubscribeButton('unsubscribe');
	}
	else if (response == 'failed'){
		alert("Failed.");
	}
	else if (response == 'User does not allow subscriptions'){
		alert("User does not allow subscriptions.");
	}
}

function unsubscribeToUser(userId) {
	divSubscribeToUserName = 'subscribeToUser' + userId ;
	divUnsubscribeToUserName = 'unsubscribeToUser' + userId;
	
	if (get_cookie2("login") == "" && get_cookie2("rememberme") == "") {
		subscribedUserId = userId;
		subscriptionAction = "unsubscribe";
		showHideSubscribeBox();
		return;
	}
	
	ajaxUnsubscribeToUser.reset();
	ajaxUnsubscribeToUser.encVar("userId" , userId);
	ajaxUnsubscribeToUser.encVar("removeCalendar" , true);
	ajaxUnsubscribeToUser.encVar("removeLive" , true);
	ajaxUnsubscribeToUser.requestFile = "/servlet/profile/removeSubscription";
	ajaxUnsubscribeToUser.method = 'POST';
	ajaxUnsubscribeToUser.onLoading = whenLoading;
	ajaxUnsubscribeToUser.onCompletion = completeUnsubscriptionToUser;
	ajaxUnsubscribeToUser.runAJAX();
}

function completeUnsubscriptionToUser(){
	var response = ajaxUnsubscribeToUser.response;
	if (response == 'succeed') {
		switchSubscribeButton('subscribe');
	}
	else if (response == 'failed'){
		alert("Failed.");
	}
}

function switchSubscribeButton(mode) {
	
		var subscribeToUserDiv = document.getElementById('subscribeToUser');
		var unsubscribeToUserDiv = document.getElementById('unsubscribeToUser');
		
		if (subscribeToUserDiv && unsubscribeToUserDiv) {
			subscribeToUserDiv.style.display = (mode == 'unsubscribe') ? "none" : "block";
			unsubscribeToUserDiv.style.display = (mode == 'unsubscribe') ? "block" : "none";
		}
		else {
			var subscribeToUserDivs = getElementsByName_iefix('div',divSubscribeToUserName);
			var subscribeToUserDivsCount = subscribeToUserDivs.length;
			for (var i=0 ; i<subscribeToUserDivsCount ; i++){
				var subscribeToUserDiv = subscribeToUserDivs[i];
				subscribeToUserDiv.style.display = (mode == 'unsubscribe') ? "none" : "block";
			}		
			
			var unsubscribeToUserDivs = getElementsByName_iefix('div',divUnsubscribeToUserName);
			var unsubscribeToUserDivsCount = unsubscribeToUserDivs.length;
			for (var i=0 ; i<unsubscribeToUserDivsCount ; i++){
				var unsubscribeToUserDiv = unsubscribeToUserDivs[i];
				unsubscribeToUserDiv.style.display = (mode == 'unsubscribe') ? "block" : "none";
			}	
		}	
}

function getElementsByName_iefix(tag, name) {    
     	var elem = document.getElementsByTagName(tag);
     	var arr = new Array();
     	for(i = 0,iarr = 0; i < elem.length; i++) {
          	att = elem[i].getAttribute("name");
          	if(att == name) {
               	arr[iarr] = elem[i];
               	iarr++;
          	}
     	}
     	return arr;
}
