﻿function randomShowDiv(divID,classID) {
	this.divID = divID;
	this.classID = classID;
	this.divOrderArray = new Array();
	this.showDivNum = 0;
	this.isRandom = false;
	this.tid = null;
	this.interval = 3000;
}

randomShowDiv.prototype.init = function () {
		var self = this;
		var ctls = $$('#'+this.divID+' .'+this.classID);
		ctls.each(function(ctl) {
		    self.divOrderArray.push(ctl.id);
		});
		
		if(this.isRandom) this.showDivNum = parseInt(Math.random()*100)%self.divOrderArray.length;
		this.start(this.showDivNum);
}


randomShowDiv.prototype.pause = function () {
		if(this.tid != null) clearInterval(this.tid);
}

randomShowDiv.prototype.resume = function () {
		if(this.tid != null) clearInterval(this.tid);
}


randomShowDiv.prototype.start = function (n) {
		for(i=0;i<this.divOrderArray.length;i++)
		{
			tmpDiv = $(this.divOrderArray[i]);
			if(i==n) {
			    tmpDiv.setStyle({display:'block'});
		    }
			else tmpDiv.setStyle({display:'none'});
		}
}

randomShowDiv.prototype.next = function () {
		this.showDivNum++;
		if(this.showDivNum >= this.divOrderArray.length) this.showDivNum = 0;
		this.start(this.showDivNum);
}

randomShowDiv.prototype.prev = function () {
		this.showDivNum--;
		if(this.showDivNum < 0) this.showDivNum = this.divOrderArray.length-1;
		this.start(this.showDivNum);
}

function AjaxShowDiv(divid,sectionid,content,partCount,paperCount,isAuto) {
	this.divId = divid;
	this.sectionID = sectionid;
	this.PartCount = partCount;
	this.PaperCount = paperCount;
	this.IsAuto = isAuto;
	this.content = content;
	this.divOrderArray = new Array();
	this.showDivNum = 0;
	this.isRandom = false;
	this.tid = null;
	this.interval = 3000;
}

AjaxShowDiv.prototype.OpenDiv = function() {
    var self = this;
    var divGroup = $$('div .shadowBox');
    divGroup.each(function(ctl){
        if(ctl.getStyle('visibility') == "visible") {
            ctl.setStyle({visibility:'hidden'});
        }
        if(ctl.id == self.divId) ctl.setStyle({visibility:'visible'});
    });

    var content = $(self.content);
    if(content.innerHTML != '') return;
    content.innerHTML = '<br/><br/><div style="padding:30px 0px 30px 0px;margin-left:0px;text-align: center;"><img src="http://image.aladdin.co.kr/img/main/img_book/loading_on.gif" width="16" height="16"/></div>';
    new Ajax.Request("/remotepage/sectionGetItems.aspx?isAuto="+self.IsAuto+"&sectionid="+self.sectionID+"&partCount="+self.PartCount+"&paperCount="+self.PaperCount,
            {
                onComplete: function(transport) {
                    content.innerHTML = transport.responseText;
                    var ctls = content.select('.partDiv');
                    
                    var index = 0;
                    var divTemplate = new Template("<div id='#{id}' class='contentDiv' style='display:none;'>#{content}</div>");
                    var divHtml = '';
                    var tempContent = '';
                    for(var i=0;i<ctls.length;i++)
                    {
                        if(i != 0 && i % 2 == 0) //받아온 items항목을 2개 단위로 끊어서 보여준다.
                        {
                            tempContent += divTemplate.evaluate({id:self.divId+'_'+index++,content:divHtml});
                            divHtml = '';
                        }
                        divHtml += "<div style='float:left;padding-bottom: 10px;'>" + ctls[i].innerHTML + '</div>';
                    }
                    if(divHtml != '')
                        tempContent += divTemplate.evaluate({id:self.divId+'_'+index++,content:divHtml});
                    content.innerHTML = tempContent;
                    
                    var ctls = content.select('.contentDiv').each(function(ctl){;
                        self.divOrderArray.push(ctl.id);
                    });
                    if(self.isRandom) self.showDivNum = parseInt(Math.random()*100)%self.divOrderArray.length;
                    self.start(self.showDivNum);
                }
            }
    );
    
}
AjaxShowDiv.prototype.start = function (n) {
		for(i=0;i<this.divOrderArray.length;i++)
		{
			tmpDiv = $(this.divOrderArray[i]);
			if(i==n) {
			    tmpDiv.setStyle({display:'block'});
		    }
			else tmpDiv.setStyle({display:'none'});
		}
}

AjaxShowDiv.prototype.next = function () {
		this.showDivNum++;
		if(this.showDivNum >= this.divOrderArray.length) this.showDivNum = 0;
		this.start(this.showDivNum);
}

AjaxShowDiv.prototype.prev = function () {
		this.showDivNum--;
		if(this.showDivNum < 0) this.showDivNum = this.divOrderArray.length-1;
		this.start(this.showDivNum);
}

function ImageBannerScroll() {
    this.name = "ImageBannerScroll";
    this.item = new Array();
    this.currentspeed = 0;
    this.scrollspeed = 50;
    this.pausedelay = 1000;
    this.width = 100;
    this.height = 100;
    this.itemcount = 0;
    this.targetDiv = "";
    this.scrolltype = 1; //1 Horizontal, 2 Vertical
    this.rowCount = 1;
    this.stop = false;
    this.pause = true;
    
    this.addItem = function () {
        this.item[this.itemcount] = arguments[0];
        this.itemcount ++;
    };

    this.start = function () 
    {
        document.getElementById(this.targetDiv).innerHTML = this.htmImageDiv();
        this.currentspeed = this.scrollspeed;
        if(this.itemcount > 1) {
	        setTimeout(this.name+'.scroll()',this.currentspeed);
	    }
	    window.setTimeout(this.name+".stop = false", this.pausedelay);
    };
    
    this.htmImageDiv = function()
    {
        var strTemp = '';
        strTemp = '<div id="'+this.name+'" style="height:'+this.height+'; width:'+this.width+'; position:relative; overflow:hidden; " >';
        for(var i = 0; i < this.itemcount; i++) 
        {
	        if(this.scrolltype == 1)
	            strTemp += '<div id="'+this.name+'item'+i+'"style="left:'+(this.width*i)+'px; width:'+this.width+'; position:absolute; top:0px; ">';
	        else
	            strTemp += '<div id="'+this.name+'item'+i+'"style="left:0px; width:'+this.width+'; position:absolute; top:'+((this.height/this.rowCount)*i)+'px; ">';
	            
	        strTemp += this.item[i] + '</div>';
        }
        strTemp += '</div>';
        return strTemp;
    };
    
    
    this.scroll = function () 
    {
        if (this.pause == true) {
	        window.setTimeout(this.name+".scroll()",this.pausedelay);
	        this.pause = false;
        }
        else
        {
            this.currentspeed = this.scrollspeed;
	        
            for (i = 0; i < this.itemcount; i++) {
	            obj = document.getElementById(this.name+'item'+i).style;
	            if(this.scrolltype == 1) {
	                obj.left = parseInt(obj.left) - 2;
	                if ( parseInt(obj.left) <= this.width * (-1) ) obj.left = this.width * (this.itemcount-1);
	                if ( parseInt(obj.left) == 0 ) this.currentspeed = this.pausedelay;
	            }
	            else {
	                obj.top = parseInt(obj.top) - 2;
				    if ( parseInt(obj.top) <= this.height/this.rowCount * (-1) ) obj.top = this.height/this.rowCount * (this.itemcount-1);
				    if ( parseInt(obj.top) == 0 ) this.currentspeed = this.pausedelay;
	            }
            }
            window.setTimeout(this.name+".scroll()",this.currentspeed);
        }
    };
}



