



// ------------------------ AJAX ----------------------------------------


CandtAjax = {};
CandtAjax._count = 0;
CandtAjax._bWorkArchiveShown = false;
CandtAjax._sHandlerUrl = '/_site/include/ajax.php'; 
CandtAjax._xArgs = {};

//FIXME - clean up args data later, remove m= param

CandtAjax.makeAjaxCall = function() {
	
	
	CandtAjax.doAjax(CandtAjax._count);
}

	
CandtAjax.doAjax = function(countVar){
	
	if(CandtAjax._xArgs.returnDiv){
		l_nTempHeight = $(CandtAjax._xArgs.returnDiv).height();
		$(CandtAjax._xArgs.returnDiv).height(l_nTempHeight);
	}
	$('#ajaxhelper').animate({ opacity: .9999}, 0001, '', function() { 
		if(CandtAjax._xArgs.noloader){
			CandtAjax._xArgs.noloader = false;
		}
		else{
			$(CandtAjax._xArgs.returnDiv).html('<img src="/_site/images/_loading.gif" >');	
		}
		if(CandtAjax._xArgs.bypassCall)
			CandtAjax.onAjaxCallReturned(CandtAjax._xArgs.returnVar);
		else{
			$.ajax({
				type:       "POST",
				url:        CandtAjax._sHandlerUrl,
				data:       CandtAjax._xArgs.data,
				success:    function(p_sMsg) {
					if(countVar == CandtAjax._count){
						CandtAjax.onAjaxCallReturned(p_sMsg);
					}
					else{}
				}
			});
		}
		
	 });

    
	
}


CandtAjax.onAjaxCallReturned = function(p_sMsg) {
	 
	CandtAjax._xArgs.returnVar	= p_sMsg;
						
		if(CandtAjax._xArgs.returnDiv){
			$(CandtAjax._xArgs.returnDiv).empty();
			
			if ( jQuery.browser.safari ){
				p_sMsg = p_sMsg.replace(/\/>/g,'>');
			}
			if(CandtAjax._xArgs.cover) {
				$(CandtAjax._xArgs.cover).css('display','block');
				$(CandtAjax._xArgs.returnDiv).addClass('hideMe');
				
//				$('#ajaxhelper').animate({ opacity: 1}, 0001, '', function() { 						   
					$(CandtAjax._xArgs.returnDiv).html(p_sMsg);
					$(CandtAjax._xArgs.returnDiv).height('auto');
					$(CandtAjax._xArgs.cover).height( $(CandtAjax._xArgs.returnDiv).height() );
					$(CandtAjax._xArgs.returnDiv).removeClass('hideMe');
					
					$('#ajaxhelper').animate({ opacity: 1}, 0001, '', function() { 
						$(CandtAjax._xArgs.cover).fadeOut(300);
						CandtAjax._xArgs.cover = null;
					});
					
//				});
			}
			else{
				$(CandtAjax._xArgs.returnDiv).html(p_sMsg);
				$(CandtAjax._xArgs.returnDiv).height('auto');
			}
			CandtAjax._xArgs.returnDiv = null;
		}
		
		if(CandtAjax._xArgs.callBack) {
			CandtAjax._xArgs.callBack();
			CandtAjax._xArgs.callBack = null;
		}
		CandtAjax._xArgs.data = null;
					
}
	

CandtAjax.getNews = function(p_nPosition) { 
    CandtAjax._xArgs.data = 'a=getNews';
    CandtAjax._xArgs.data += '&m=news';
    CandtAjax._xArgs.data += '&p_nPosition='+p_nPosition;
	CandtAjax._xArgs.returnDiv = '#home_news';
	CandtAjax._xArgs.bypassCall = false;
    CandtAjax.makeAjaxCall();
}

CandtAjax.getSections_content = function( p_sPage, p_sSecSlug, p_sCatSlug ) {
    CandtGlobal.changeSectionNav(p_sSecSlug, p_sCatSlug);
    CandtAjax._xArgs.data = 'a=getSections_content';
    CandtAjax._xArgs.data += '&m=section';
    CandtAjax._xArgs.data += '&p_sPage='+p_sPage;
    CandtAjax._xArgs.data += '&p_sCatSlug='+p_sCatSlug;
    CandtAjax._xArgs.data += '&p_sSecSlug='+p_sSecSlug;
	CandtAjax._xArgs.returnDiv =  '#sections_content';
	CandtAjax._xArgs.cover =  '#sections_content_cover';
	CandtAjax._xArgs.bypassCall = false;
    CandtAjax.makeAjaxCall();
}

CandtAjax.viewWorkArchive = function(p_sService) {
    CandtAjax._xArgs.data = 'a=viewWorkArchive';
    CandtAjax._xArgs.data += '&service='+p_sService;
    CandtAjax._xArgs.callBack = CandtWork.setArchiveHovers;
	CandtAjax._xArgs.returnDiv =  '#workArchive';
    CandtAjax._bWorkArchiveShown = true;
	CandtAjax._xArgs.bypassCall = false;
    CandtAjax.makeAjaxCall();
}

CandtAjax.changeWorkServiceType = function(p_sService) {
    CandtAjax._xArgs.data = 'a=changeWorkServiceType';
    CandtAjax._xArgs.data += '&service='+p_sService;
    CandtAjax._xArgs.data += '&archived='+CandtAjax._bWorkArchiveShown;
    CandtAjax._xArgs.callBack = CandtWork.updateWorkContents;
    CandtAjax._xArgs.returnDiv =  '#work_contents';
	CandtAjax._xArgs.bypassCall = false;
    CandtAjax.makeAjaxCall();
}

CandtAjax.changePlaylistPage = function(p_sProjectSlug, p_sDirection) {
    if ( CandtPlaylist._bTransitionInProgress ) {
        //alert ( 'queue: ' + p_sProjectSlug );
        CandtPlaylist._sQueuedProjectSlug = p_sProjectSlug;
        CandtPlaylist._sQueuedTransitionDirection = p_sDirection;
    }
    else {
        if ( p_sProjectSlug != CandtPlaylist._sCurrentProjectSlug ) {
            CandtAjax.changePlaylistPageInternal(p_sProjectSlug, p_sDirection);
        }
    }
}

CandtAjax.changePlaylistPageInternal = function(p_sProjectSlug, p_sDirection) {
    //alert ( 'changePlaylistPageInternal: ' + p_sProjectSlug );
    CandtPlaylist._sQueuedProjectSlug = null;
    CandtPlaylist._sQueuedTransitionDirection = null;
    CandtPlaylist._bTransitionInProgress = true;
    CandtPlaylist._sCurrentProjectSlug = p_sProjectSlug;
    CandtPlaylist._sTransitionDirection = p_sDirection;
    CandtAjax._xArgs.data = 'a=changePlaylistPage';
    CandtAjax._xArgs.data += '&projectSlug='+p_sProjectSlug+'&playerDivId=player_holder_'+CandtPlaylist.getOtherTransitionHolderIdSuffix()+'&sessionPlaylist='+CandtPlaylist._bSessionPlaylist;
    CandtAjax._xArgs.callBack = CandtPlaylist.transitionPlaylistPageContent;
    CandtAjax._xArgs.returnDiv =  '#playlist_work_details_'+CandtPlaylist.getOtherTransitionHolderIdSuffix();
	CandtAjax._xArgs.bypassCall = false;
    CandtAjax.makeAjaxCall();
}

CandtAjax.sendPlaylistEmail = function(l_aFormFields){
	CandtAjax._xArgs.data = 'a=sendPlaylistEmail';
	CandtAjax._xArgs.data += '&m=email';
    CandtAjax._xArgs.data += '&sender_name='+l_aFormFields['sender_name'];
    CandtAjax._xArgs.data += '&sender_email='+l_aFormFields['sender_email'];
    CandtAjax._xArgs.data += '&recip_name='+l_aFormFields['recip_name'];
    CandtAjax._xArgs.data += '&recip_email='+l_aFormFields['recip_email'];
    CandtAjax._xArgs.data += '&message='+l_aFormFields['message'];
    CandtAjax._xArgs.data += '&playlist='+l_aFormFields['playlist'];
	CandtAjax._xArgs.callBack = CandtGlobal.setIconHovers;
	CandtAjax._xArgs.returnDiv = '#email_submit';
	CandtAjax._xArgs.bypassCall = false;
	CandtAjax.makeAjaxCall();
}



CandtAjax.createPlaylistLink = function(){
	
	var l_aPlaylist = CandtPlaylist.getPlaylistFromCookie();
	l_aActualPlaylist = new Array();
    var l_nCounter = 0;
    if ( l_aPlaylist.length > 0 ) {
	    for ( var l_nPlaylistId in l_aPlaylist ) {
			l_aActualPlaylist[l_nCounter] = l_nPlaylistId;
	        l_nCounter++;
	    }
    }
	CandtAjax._xArgs.noloader = true;
	CandtAjax._xArgs.data = 'a=createPlaylistLink';
	CandtAjax._xArgs.data += '&playlist='+l_aActualPlaylist.toString();
	CandtAjax._xArgs.data += '&m=email';
	CandtAjax._xArgs.callBack = CandtAjax.setShareInput;
	CandtAjax._xArgs.bypassCall = false;
	CandtAjax.makeAjaxCall();
	
}

CandtAjax.setShareInput = function(){
	//alert('1');
	$('#sharelist .notnull').hide();
	$('#sharelist .notnull').removeClass('hover');
	$('#playlist_url').show();
	$('#playlist_url').attr('value',CandtAjax._xArgs.returnVar);
	$('#playlist_url').focus();
	$('#playlist_url').select();
	
}

CandtAjax.fixShareInput = function(){
	if(! $('#playlist_drop').is('.null') )
		$('#sharelist .notnull').show();
	$('#playlist_url').hide();
	
	$('#playlist_page_url').hide();
	$('#share_page').show();
}



CandtAjax.createPlaylistPageLink = function(){
	
	var l_aPlaylist = CandtPlaylist.getPlaylistFromCookie();
	l_aActualPlaylist = new Array();
    var l_nCounter = 0;
    if ( l_aPlaylist.length > 0 ) {
	    for ( var l_nPlaylistId in l_aPlaylist ) {
			l_aActualPlaylist[l_nCounter] = l_nPlaylistId;
	        l_nCounter++;
	    }
    }
	CandtAjax._xArgs.noloader = true;
	CandtAjax._xArgs.data = 'a=createPlaylistLink';
	CandtAjax._xArgs.data += '&playlist='+l_aActualPlaylist.toString();
	CandtAjax._xArgs.data += '&m=email';
	CandtAjax._xArgs.callBack = CandtAjax.setSharePageInput;
	CandtAjax._xArgs.bypassCall = false;
	CandtAjax.makeAjaxCall();
	
	
	
}

CandtAjax.setSharePageInput = function(){
	//alert('1');
	$('#share_page ').hide();
	$('#playlist_page_url').show();
	$('#playlist_page_url').attr('value',CandtAjax._xArgs.returnVar);
	$('#playlist_page_url').focus();
	$('#playlist_page_url').select();
	
}


