function loadVideo(playerURL, homeURL, videoId, targetId) 
{
	var so = new SWFObject(playerURL+"?playerURL="+playerURL+"&amp;homeURL="+homeURL+"&amp;video_id="+videoId, "flashvideo", "511", "319", "8", "#000000");
	so.addParam("allowScriptAccess", "sameDomain");
	so.addParam("wmode", "transparent");
	so.write(targetId);
}

function toggleDropDownSet(openBox, closeBoxes)
{
	opener = dojo.byId(openBox);
	
	for(i=0; i<closeBoxes.length; i++) { 
	   
	   	if(document.getElementById(closeBoxes[i]).style.display != 'none')
		{
			closerDiv = closeBoxes[i];
			
		}
	}

	//new Effect.BlindUp(closer, {duration: 0.6, queue: 'front' });
	//new Effect.BlindDown(opener, {duration: 0.6, queue: 'end' });
	
	var wipeOut = dojo.fx.wipeOut({node: closerDiv,duration: 250});
  	var wipeIn = dojo.fx.wipeIn({node: opener,duration: 350});

	currentAnimation = dojo.fx.chain([wipeOut, wipeIn]);
	currentAnimation.play();	
}

function toggleHorizontalSet(openBox, closeBoxes)
{
	opener = dojo.byId(openBox);
	
	for(i=0; i<closeBoxes.length; i++) { 
	   
	   
	    //parseInt(dojo.byId('h_videolist_full_view').style.width); 
	   
	   	if(parseInt(document.getElementById(closeBoxes[i]).style.width) != 0)
		{
			closerDiv = closeBoxes[i];
			
		}
	}

	var makeSmaller = dojo.animateProperty(
    {
      node: closerDiv,duration: 250,
      properties: {
        width: {start: 400, end: 0	}
      },
      beforeBegin: function() {
       	  dojo.byId(closerDiv+'_content').style.display = "none";
      }
    });	
	
	var makeWider = dojo.animateProperty(
    {
      node: opener,duration: 500,
      properties: {
        width: {start: 0, end: 444	}
      },
      onEnd: function() {
       	  dojo.byId(openBox+'_content').style.display = "";
       }
    });

	currentAnimation = dojo.fx.chain([makeSmaller,makeWider]); //makeSmaller
	currentAnimation.play();	
	
}


function loginModal(destinationUrl)
{
	 
	var username = dojo.byId('modal_username');
	var password = dojo.byId('modal_password');
	
	contentParams = { "username":username.value,
					  "password":password.value,
					  "targetMessageId":"login_modal_message",
					  "hideId":"login_modal"};
	
	runPost(destinationUrl,contentParams, 'login_loader', 'modal_login_button');
	
	return false; //ensures dialog box doesn't close automatically
	
}

function loadLoginModal()
{
	dijit.byId('login_modal').show();
}

function loadRegistrationModal(destinationUrl)
{
	var params = { };
	
	var postParams = { url: destinationUrl,
					   content: params, 
					   load: function(data) {
					   			dojo.eval(data);
					   			
					   },
					   error: function(data) {
					   			console.debug("An error occurred: ", data);
					   },
					   timeout: 20000,
					   headers: { "X-Requested-With": "XMLHttpRequest" }
	};
	

	dojo.xhrPost(postParams);
		
}

function runPost(destinationUrl, params, loaderId, submitId)
{
	var useAjaxLoader= true;
	var hideSubmitAction = true;
	
	
	if (loaderId===undefined) {	useAjaxLoader = false; }
	if (submitId===undefined) {	hideSubmitAction  = false; }
	
	
	var postParams = { url: destinationUrl,
					   content: params, 
					   load: function(data) {
					   			dojo.eval(data);
					   			//hide ajax loader
								if (useAjaxLoader)    {dojo.byId(loaderId).style.display = "none";}
								if (hideSubmitAction) {dojo.byId(submitId).style.display = "";} //block
					   },
					   error: function(data) {
					   			console.debug("An error occurred: ", data);
					   },
					   timeout: 20000,
					   headers: { "X-Requested-With": "XMLHttpRequest" }
	};
	
	//show ajax loader
	if (hideSubmitAction) {dojo.byId(submitId).style.display = "none";}
	if (useAjaxLoader)    {dojo.byId(loaderId).style.display = "";} //block
	dojo.xhrPost(postParams);
}


function ajaxFormPost(destinationUrl, formId, params, loaderId, submitId)
{
	var useAjaxLoader= true;
	var hideSubmitAction = true;
	
	
	if (loaderId===undefined) {	useAjaxLoader = false; }
	if (submitId===undefined) {	hideSubmitAction  = false; }
	if (params===undefined)   { params = { }; }
	
	var postParams = { url: destinationUrl,
					   content: params, 
					   load: function(data) {
					   			dojo.eval(data);
					   			//hide ajax loader
								if (useAjaxLoader)    {dojo.byId(loaderId).style.display = "none";}
								if (hideSubmitAction) {dojo.byId(submitId).style.display = "";} 
					   },
					   error: function(data) {
					   			console.debug("An error occurred: ", data);
					   },
					   form:formId,
					   timeout: 20000,
					   headers: { "X-Requested-With": "XMLHttpRequest" }
	};
	
	//show ajax loader
	if (hideSubmitAction) {dojo.byId(submitId).style.display = "none"; }
	if (useAjaxLoader)    {dojo.byId(loaderId).style.display = "block";} 
	dojo.xhrPost(postParams);
	
	return false;
}

function vote(destinationUrl, videoId, targetId, targetButtonId, votedClass)
{
	var params = { "video_id": videoId,
				   "target_id": targetId,
				   "target_votebutton_id":targetButtonId,
				   "voted_class":votedClass};
	var postParams = { url: destinationUrl,
					   content: params, 
					   load: function(data) {
				   			dojo.eval(data);
				   			hideSiteLoader();
					   },
					   error: function(data) {
					   			console.debug("An error occurred: ", data);
					   },
					   timeout: 20000,
					   headers: { "X-Requested-With": "XMLHttpRequest" }
	};
	
	showSiteLoader();
	dojo.xhrPost(postParams);
	
	//return false;
}

function showBox(divId)
{
	dojo.byId(divId).style.display = 'block';
}

function fadeInBox(divId)
{
	dojo.fadeIn({
    node: divId,
    duration: 500,
    beforeBegin: function() {
        var node = dojo.byId(divId);
        
        dojo.style(node, "opacity", 0);
        dojo.style(node, "display", "block");
    }
	}).play();
	
}

function loadCommentsModal(destinationUrl, videoId)
{
	var params = { "video_id": videoId};
	
	var postParams = { url: destinationUrl,
					   content: params, 
					   load: function(data) {
					   			dojo.eval(data);
					   			
					   },
					   error: function(data) {
					   			console.debug("An error occurred: ", data);
					   },
					   timeout: 20000,
					   headers: { "X-Requested-With": "XMLHttpRequest" }
	};
	

	dojo.xhrPost(postParams);
		
}

function wipeOutIn(divOutId,divInId, speed)
{
	var wipeOut = dojo.fx.wipeOut({node: divOutId,duration: speed});
	var wipeIn = dojo.fx.wipeIn({node: divInId,duration: speed});
	currentAnimation = dojo.fx.chain([wipeOut, wipeIn]);
	currentAnimation.play();	
	
	
}

function wipeIn(divId,speed)
{
	var wipeIn = dojo.fx.wipeIn({node: divId,duration: speed});
	wipeIn.play();
	
}

function wipeOut(divId,speed)
{
	var wipeOut = dojo.fx.wipeOut({node: divId,duration: speed});
	wipeOut.play();	
}

/*Start - Video List */

function nextVideoSet(destinationUrl, stepAction)
{
	
	var pageStart;
	var pageEnd;
	var contestName;
	var numLoaded;
	var params;  
	var loaderId = 'h_videolist_loader';

	pageStart = dojo.byId('page_start').innerHTML;
	pageEnd = dojo.byId('page_end').innerHTML;
	contestName = dojo.byId('h_videolist_contest_name').innerHTML;
	numLoaded = dojo.byId('num_loaded').innerHTML;
	
	params = {"step_action":stepAction,
			  "page_start":pageStart,
			  "page_end":pageEnd,
			  "contest_name": contestName,
			  "num_loaded": numLoaded};
	
	var postParams = { url: destinationUrl,
					   content: params, 
					   load: function(data) {
					   			dojo.eval(data);
					   			//dojo.byId(loaderId).style.display = "none"; 
					   			hideSiteLoader();
					   			
					   },
					   error: function(data) {
					   			console.debug("An error occurred: ", data);
					   },
					   timeout: 20000,
					   headers: { "X-Requested-With": "XMLHttpRequest" }
	};
	
	showSiteLoader();
	//dojo.byId(loaderId).style.display = "block"; 
	dojo.xhrPost(postParams);
	
}
function loadVideoSet(destinationUrl, selectedPage)
{
	
	var pageStart;
	var pageEnd;
	var contestName;
	var params;  
	var loaderId = 'h_videolist_loader';
	var stepAction = "";
	
	pageStart = dojo.byId('page_start').innerHTML;
	pageEnd = dojo.byId('page_end').innerHTML;
	contestName = dojo.byId('h_videolist_contest_name').innerHTML;
	
	params = {"step_action":stepAction,
			  "selected_page": selectedPage,
			  "page_start":pageStart,
			  "page_end":pageEnd,
			  "contest_name": contestName};
	
	var postParams = { url: destinationUrl,
					   content: params, 
					   load: function(data) {
					   			dojo.eval(data);
					   			dojo.byId(loaderId).style.display = "none"; 
					   			
					   },
					   error: function(data) {
					   			console.debug("An error occurred: ", data);
					   },
					   timeout: 20000,
					   headers: { "X-Requested-With": "XMLHttpRequest" }
	};
	
	
	dojo.byId(loaderId).style.display = "block"; 
	dojo.xhrPost(postParams);
	
}

function slideVideoSet(divId, amount, overAmount)
{
	var slider = dojo.byId(divId);
	var newPosition;
	var tooMuchPosition;
	var currentPosition = dojo.byId('current_position');
	var slideTooMuch;
	var slideTo;
	
	//adjust currentPosition 
	currentPosition.innerHTML = parseInt(currentPosition.innerHTML) + parseInt(amount);
	newPosition = currentPosition.innerHTML;
	tooMuchPosition = parseInt(newPosition) + overAmount;
	slideTooMuch = dojo.fx.slideTo({node: slider,duration: 250, left: tooMuchPosition, top:0});
	slideTo = dojo.fx.slideTo({node: slider,duration: 250, left: newPosition, top:0});

    currentAnimation = dojo.fx.chain([slideTooMuch, slideTo]); 
	currentAnimation.play();

	
}

function setVideoListWidth(divId, amount)
{
	//to-do: consider removing this function and setting widht statically to number of pages * base width.
	//var currWidth = parseInt(dojo.byId('h_videolist_full_view').style.width); 
	
	
	//alert(currWidth+amount);
	var makeWider = dojo.animateProperty(
    {
      node: divId,duration: 10,
      properties: {
        width: {end: amount	}
      }
    });
    
    makeWider.play();
	
}
/*End - Video List */

function showElement(elementId)
{
	dojo.byId(elementId).style.display = "";	
}
function hideElement(elementId)
{
	dojo.byId(elementId).style.display = "none";
}

function loadEditAccountModal(baseUrl)
{
	// content: params, 
		
	var postParams = { url: baseUrl + "/registration/loadeditaccountmodal",
					   load: function(data) {
					   			dojo.eval(data);
					   },
					   error: function(data) {
					   			console.debug("An error occurred: ", data);
					   },
					   timeout: 20000,
					   headers: { "X-Requested-With": "XMLHttpRequest" }
	};
	
	//if (hideSubmitAction) {dojo.byId(submitId).style.display = "none";}
	//if (useAjaxLoader)    {dojo.byId(loaderId).style.display = "";} //block
	dojo.byId('edit_account_form_loader').style.display = "";
	dojo.byId('modal_edit_account_form').style.display = "none";
	dojo.xhrPost(postParams);
	dijit.byId('edit_account_modal').show();	
}

function loadRulesModal(baseUrl, contestName)
{
	var params = { "contest_name": contestName};
	
	var postParams = { url: baseUrl + "/contestinfo/loadrulesmodal",
					   content:params,
					   load: function(data) {
					   			dojo.eval(data);
					   },
					   error: function(data) {
					   			console.debug("An error occurred: ", data);
					   },
					   timeout: 20000,
					   headers: { "X-Requested-With": "XMLHttpRequest" }
	};
	
	dijit.byId('rules_modal').show();	dojo.byId('rules_loader').style.display = "";
	dojo.byId('rules_modal_body').style.display = "none";	
	dojo.xhrPost(postParams);

}

function showSiteLoader()
{
	dijit.byId('loading_modal').show();
}

function hideSiteLoader()
{
	dijit.byId('loading_modal').hide();
}
