/**
 * @author obuladon
 */
// slide images
var slideImg = new Array();
slideImg[0] = 'images/slide_image/1.jpg';
slideImg[1] = 'images/slide_image/2.jpg';
slideImg[2] = 'images/slide_image/3.jpg';
slideImg[3] = 'images/slide_image/4.jpg';
slideImg[4] = 'images/slide_image/5.jpg';
slideImg[5] = 'images/slide_image/6.jpg';
slideImg[6] = 'images/slide_image/7.jpg';

// 預先載入load圖示
var loadingImg = new Image();
loadingImg.src = 'images/ajax-loader.gif';

var timeId = null;

// 預設第一張輪播圖
var currentImgIndex = 0;

// 輪播間隔時間
var slideTimeout = 15;

// 預設選擇的menu
var currentSelectedMenu = 'news';

var menuTimer = null;

var currentPlayingSong = 2;

var totalSongs = 10;

var fileLoadingStatus = false;

// 將原始String類別加入去空白功能
String.prototype.trim = function(){
	this.replace('　', '');
	return this.replace(/(^\s*)|(\s*$)/g, "");  
};

function loadPopImage()
{
	 $('pop_image').hide();
	new Effect.Appear('pop_image');
	new Draggable('pop_image');
}

function closePopImage()
{
	 $('pop_image').hide();
}

function startSlide(){
    preload_img(slideImg);
    
    timeId = setInterval('swrapImg();', slideTimeout * 1000);
}

function swrapImg(){
    Effect.Fade($('slide_img'), {
        to: 0.05
    });
    
    currentImgIndex++;
    
    if (currentImgIndex > (slideImg.length - 1)) {
        currentImgIndex = 0;
    }
    
    setTimeout(function(){
        $('slide_img').src = slideImg[currentImgIndex];
        ;
        Effect.Appear($('slide_img'), {
            duration: 1
        })
    }, 1000);
    
}

function getPageContent(param){
    //預先載入圖片
    var title_img = new Image();
    
    var args = param.split("&");
    
    var img_src;
    
    if (args.length > 1) {
        img_src = args[0];
    }
    else {
        img_src = param;
    }
    
//    title_img.src = 'images/title/' + img_src.replace('?page=', '') + '.png';
    
    // 變更主題圖片
//    $('title_img').src = title_img.src;
    
    var url = 'get_page_content.php' + param + '&dummy=' + new Date().getTime();
    
	$('content').innerHTML = '<div align="center" style="width:100%;"><img style="margin-top:80px;margin-bottom:80px;" src="images/ajax-loader.gif" /></div>';
	
    new Ajax.Request(url, {
        method: 'get',
        onComplete: function(transport){
            if (200 == transport.status) {
				$('content').hide();
                $('content').innerHTML = transport.responseText;
                Effect.Appear($('content'));
            }
        }
    });
}

function menuSelector(obj){

    var selectedMenu = currentSelectedMenu;
    
    $(selectedMenu).src = 'images/menu/' + selectedMenu + '.jpg';
    
    $(selectedMenu).onmouseout = function(){
        $(selectedMenu).src = 'images/menu/' + selectedMenu + '.jpg';
        stopMenuMove()
    }
    
    currentSelectedMenu = obj.id;
    
    obj.src = 'images/menu/' + obj.id + '_hover.jpg';
    obj.onmouseout = function(){
        obj.src = 'images/menu/' + obj.id + '_hover.jpg';
        stopMenuMove()
    }
}

function initMenuSensor(objId){
    var pauseTime = 0.3;
    menuTimer = setTimeout(function(){
        startMoveMenu(objId)
    }, pauseTime * 1000);
}

function startMoveMenu(objId){
//    var pos = Position.cumulativeOffset($(objId));
    var pos = Position.positionedOffset($(objId));
    
    // 修正定位
    pos[1] = pos[1] + 1;
    
    new Effect.Move($('menu_sensor'), {
//        x: 33,
        x: -25,
        y: pos[1],
        mode: 'absolute',
        duration: 0.3
    });
    
    $('menu_sensor').onclick = function(){
        getPageContent('?page=' + objId);
        menuSelector($(objId));
    }
}

function stopMenuMove(){
    clearTimeout(menuTimer);
    menuTimer = null;
}

function showPic(url){
	if(!$('bigPic')){
		new Insertion.Top(document.body, '<div id="bigPic" style="border:5px #BBBBBB solid; background-color:#FFFFFF; padding:20px;z-index:1000;"></div>');
	}
    
    blockScreen('on');
    
    $('bigPic').innerHTML = '<img src="images/img-loader.gif" />';
    
    $('bigPic').style.display = 'block';
    
    setMiddle($('bigPic'));
    
    var img = new Image();
    img.src = url;
    loadImg(img);
}

function getDetail(id){
    blockScreen('on');
    
    var url = 'get_page_content.php?page=accommodation&mode=detail&id=' + id + '&dummy=' + new Date().getTime();
    
    new Ajax.Request(url, {
        method: 'get',
        onSuccess: function(transport){
            $('detail').innerHTML = transport.responseText;
			
			setMiddle($('detail'));
			
			$('detail').style.top = parseInt($('detail').style.top) + document.documentElement.scrollTop + 'px';
			
            Effect.Appear($('detail'));
			
        }
    });
}

function galleryDetail(id, openVote){
	blockScreen('on');
    
	if(!$('gallery_detail')){
		new Insertion.Top(document.body, '<div id="gallery_detail" style="z-index:2001;position:fixed;_position: absolute; border:5px #BBBBBB solid; background-color:#FFFFFF; padding:20px; overflow-y:auto"><div id="gallery_detail_content" style="display:none"></div></div>');
	}
	
	$('gallery_detail').style.width = '100' + 'px';
	$('gallery_detail').style.height = '100' + 'px';
	
	$('gallery_detail_content').innerHTML = '<img src="images/img-loader.gif" />';
	
	setMiddle($('gallery_detail'));
	
	$('gallery_detail_content').show();
	
	$('gallery_detail').style.display = 'block';
	
    var url = 'get_page_content.php?page=gallery&mode=detail&id=' + id + '&dummy=' + new Date().getTime();
    
    new Ajax.Request(url, {
        method: 'get',
        onSuccess: function(transport){
			$('gallery_detail_content').hide();
			 
			growUp($('gallery_detail'), '600px', '600px');
			
			setTimeout(function(){
				 $('gallery_detail_content').innerHTML = transport.responseText;
				 
				 if(!openVote){
				 	if($('vote_area')){
						$('vote_area').remove();
					}
				 	
				 }
				 
				Effect.Appear($('gallery_detail_content'));
			}, 1000);
            
        }
    });
    
}

function growUp(obj, toWidth, toHeight){
	
	var startWidthPixel = obj.style.width;
	var startHeightPixel = obj.style.height;
	
	if(startWidthPixel < toWidth){
		obj.style.width = parseInt(obj.style.width) + 25 + 'px';
		setMiddle(obj, 'x');
		setTimeout(function(){growUp(obj, toWidth, toHeight)}, 15);
	}
	
	if(startWidthPixel >= toWidth && startHeightPixel < toHeight){
		obj.style.height = parseInt(obj.style.height) + 25 + 'px';
		setMiddle(obj, 'y');
		setTimeout(function(){growUp(obj, toWidth, toHeight)}, 30);
	}
}

function blockScreen(mode){
	if(!$('blockScreen')){
		new Insertion.Top(document.body, '<div id="blockScreen" style="display:none" onclick="closePic()"></div>')
	}
	
	//setMiddle($('blockScreen'));
	
    switch (mode) {
        case 'on':
        	/*
			if($('video_area')){
				$('video_area').style.display = 'none';
			}
			*/
			Effect.Appear('blockScreen', {duration:0.5, to:0.7});
            break;
            
        case 'off':
            Effect.Fade('blockScreen', {duration:0.5});
            
			//$('video_area').style.display = 'block';
            break;
    }
}

function loadImg(img){
    if (img.complete) {
        $('bigPic').hide();
        $('bigPic').innerHTML = '<img src = "' + img.src + '" />';
        setMiddle($('bigPic'));
        Effect.Grow($('bigPic'));
    }
    else {
        setTimeout(function(){
            loadImg(img)
        }, 1000);
    }
}

function closePic(){
    blockScreen('off');
	
	if($('bigPic')){
		$('bigPic').style.display = 'none';
	}
	
	if($('detail')){
		$('detail').style.display = 'none';
	}
    
	if($('gallery_detail')){
		$('gallery_detail').style.display = 'none';
	}
}

/** 置中元素 */
function setMiddle(div){
	var args = setMiddle.arguments;
    var midX = parseInt(document.documentElement.clientWidth - div.getWidth()) / 2;
    var midY = parseInt(document.documentElement.clientHeight - div.getHeight()) / 2;
    
    if (midX < 0) {
        midX = 0;
    }
    
    if (midY < 0) {
        midY = 0;
    }
    
    if (document.documentElement.scrollTop > 0) {
        if (window.navigator.appVersion.indexOf('MSIE 6') > 0) {
            midY += document.documentElement.scrollTop;
        }
    }
    
    switch(args[1]){
		case 'x':
			div.style.left = midX + 'px';
		break;
		
		case 'y':
			div.style.top = midY + 'px';
		break;
		
		default:
			div.style.left = midX + 'px';
			div.style.top = midY + 'px';
		break;
	}
	
}

function formCheck(){
	
	$('form1').request({   
		onComplete: function(trans){ 
			alert(trans.responseText);
			
			if(trans.responseText == '訊息已成功寄出，感謝您的留言'){
				getPageContent('?page=message');
			} else {
				$('rnd_code').src = $('rnd_code').src + '?rnd=' + Math.random();
				$('checknum').value = '';
			}
	 } });
}

function voteSend(){
 	var url = '?page=vote&mode=vote';
    
	var subject_id = $('subject_id').value;
	
	var obj = document.getElementsByName('gallery_id');
	
	var gallery_id = 0;
	
	var args = voteSend.argumants;
	
	if(args){
		gallery_id = args[0];
	} else {
		for(i=0; i<obj.length; i++){
			if(obj[i].checked){
				gallery_id = obj[i].value; 
			}
		}
	}
	
	
	
    new Ajax.Request(url, {
        method: 'post',
		parameters: {
			'subject_id': subject_id,
			'gallery_id': gallery_id
		},
        onSuccess: function(trans){ 
			if(trans.responseText == 'vote success'){
				getPageContent('?page=vote&mode=vote_result&id=' + subject_id);
			} else {
				alert(trans.responseText);
			}
	 } });
}

//換page_view
function ChangePageView(no){
    
    var bgNo = ChangePageView.tmpNo || 1;
    
    $('page_view_imgbg').src = 'images/page_view/page_view' + bgNo + '.jpg';
    $('page_view_img').hide();
    
    setTimeout(function(){
        $('page_view_img').src = 'images/page_view/page_view' + no + '.jpg';
		Effect.Appear($('page_view_img'));
	}, 200);
	
	ChangePageView.tmpNo = no;
}

//投票 2011/03/01版
function voteSendV2(){
    $j.ajax({
        dataType : "json",
        type: "POST",
        url: "get_page_content.php?page=vote_v2&mode=vote",
        data : $j("#vate_form").serialize(),
        success : function(j){
            alert(j.msg);
            if(j.res) getPageContent('?page=vote_v2&mode=result&id=' + j.id);
        }
    });
}
//展開投票照片內容 2011/03/02版
function OpenVotePicture(id){
    
    blockScreen('on');
    
	if(!$('gallery_detail')){
		new Insertion.Top(document.body, '<div id="gallery_detail" style="z-index:2001;position:fixed;_position: absolute; border:5px #BBBBBB solid; background-color:#FFFFFF; padding:20px; overflow-y:auto"><div id="gallery_detail_content" style="display:none"></div></div>');
	}
	
	$j("#gallery_detail").css({width:"100px",height:"100px"});
	
	$j('#gallery_detail_content').html('<img src="images/img-loader.gif" />').show();
	
	setMiddle($('gallery_detail'));
	
	$j('#gallery_detail').show();
    
    $j.ajax({
        dataType : "json",
        type: "GET",
        url: "get_page_content.php?page=vote_v2&mode=picture&id=" + id,
        success : function(j){
            
            $j('#gallery_detail_content').hide();
            growUp($('gallery_detail'), '600px', '600px');
            
            setTimeout(function(){
                $('gallery_detail_content').innerHTML = j.detail;
				Effect.Appear($('gallery_detail_content'));
			}, 1000);
        }
    });
}
