/*var foo = new dijit.Dialog({ title: "test dialog", content: "test content" });
dojo.body().appendChild(foo.domNode);
foo.startup();
*/
/*
 backStateObject: function(appName) {     
 // layerName will be used as app state     
 this.appName = appName;     
 // changeUrl is a bookmark that Dojo adds to the app url     
 this.changeUrl = appName; 
},
 // dojo.hitch returns a handle to func that does not require "this" 
 var backLayerFunc = dojo.hitch(this,"getScreenShotsByName"); 
 // Add the back function to the backStateObject using 
 dojo.extend dojo.extend(this.backStateObject, {     
		// Specify function to call when browser back button is pushed     
		back: function(){         
		// Can't use "this" in the function name, but can use it for func parameter         
		backLayerFunc(this.appName);     
} })
 
// Check if the app url has a bookmark #appName 
checkForBookMark: function( paramName ) {     
// Get full url    
var appUrl= window.location.href;     
var results = new Array();     
// Split url - bookmark starts with the # character     
results = appUrl.split("#");     
// console.log(results)     
// results[1] should hold the bookmark     
if( results[1] != null ) {         
// Lookup the screenshots specified by the bookmark         
this.getScreenShotsByName(results[1]);     
} },
 */
 function toogleAdvSearch()
{
	var wipeArgs = {
		node: 'advanced-search'
	};
	if(dojo.byId('advanced-search').style.display == 'none')
	{
		dojo.fx.wipeIn(wipeArgs).play();
		dojo.byId('adv-search-link').innerHTML = '&raquo; бързо търсене';
	}
	else
	{
		dojo.fx.wipeOut(wipeArgs).play();
		dojo.byId('adv-search-link').innerHTML = '&raquo; разширено търсене';
	}
}
function resetAdvSearch()
{
	if(dojo.byId('advanced-search').style.display == 'none')
	{
		dojo.byId('cat_id').value = 0;
		dojo.byId('cuisine_id').value = 0;
		dojo.byId('vegetarian').checked = false;
		dojo.byId('quick_easy').checked = false;
	}
	return true;
}
function showHideBrowse(field)
{
	if(dojo.byId(field+'_browse').style.display == 'none')
	{
		dojo.byId(field+'_browse').style.display = 'inline';
	}
	else
	{
		dojo.byId(field+'_browse').style.display = 'none';
	}
}
function rewriteCommentActions()
{
	var frm = dojo.byId('comment-form');
	dojo.query("input[type='submit']",frm).onclick(function(e)
	{
		e.preventDefault();
		var target_id = e.target.id;
		e.target.disabled = true;
		dojo.xhrPost({
			url: dojo.attr(frm, "action"),
			form: frm,
			content: {action:target_id},
			load: function(response,args)
			{
				var pos = response.indexOf('|');
				var id = response.substr(0,pos);
				//alert(id);
				if(id.length)
				{
					response = response.substr(pos+1);
					dojo.place(response, dojo.byId('comments'), 'first');
					dojo.byId("add-comment").disabled = false;
					dijit.byId('comment').attr('value','');
					//dojo.byId('post-'+id).style.display = 'block';
			        var wipeArgs = {
			            node: 'comment-'+id
			        };
			        dojo.fx.wipeIn(wipeArgs).play();
				}
			}
		});
		return false;
	});
}
function deletePhoto(photo_id)
{
	if(confirm('Сигурни ли сте, че искате да изтриете снимката?'))
	{
		dojo.xhrPost({
			url: '/recipes/delete-photo',
			content: {photo_id:photo_id},
			load: function(response,args)
			{
		        var wipeArgs = {
		            node: 'photo-'+response
		        };
		        dojo.fx.wipeOut(wipeArgs).play();
		        swfu.setFileUploadLimit(swfu.settings.file_upload_limit + 1);
		        alert(swfu.settings.file_upload_limit);
			}
		});
	}
}
function changeImg(img_id,src)
{
	if(dojo.byId(img_id).src != src)
	{
		dojo.byId('img-loader').style.display = 'block';
		dojo.byId('img-loader').style.paddingLeft = (dojo.byId(img_id).width/2 - 10)+'px';
		dojo.byId('img-loader').style.paddingTop = (dojo.byId(img_id).height/2 - 10)+'px';
		dojo.byId(img_id).src = src;
		dojo.byId(img_id).onload = function()
		{
			dojo.byId('img-loader').style.display = 'none';
		}
	}
}
function rewriteLinks(node)
{
	var lnk;
	var links = dojo.query(".yoo-link",node);

	for(var i in links)
	{
		lnk = links[i];
		dojo.connect(lnk, 'onclick', null, function(e)
		{
			e.preventDefault();
			yoo_url(e.target.href);
		});
	}
}
function changeHref(strHref)
{
	document.location.href = '#'+strHref.replace(window.location.protocol + "\/\/" + window.location.host,'');
}
function yoo_url(strHref)
{
	//return false;
	//document.location.href = '#';
	changeHref(strHref);
	if(strHref.indexOf('?') == -1) strHref += '?';
	else strHref += '&';
	strHref += 'layout=content';
	var content = dijit.byId('container');
	content.attr('href',strHref);
	
	return false;
	/*
	dojo.xhrGet({
		url: strHref,
		handleAs: "text",
		timeout: 50000, //Time in milliseconds
		content: {layout: 'content'},
		handle: function(response, ioArgs)
		{
			if(response instanceof Error)
			{
				if(response.dojoType == "cancel")
				{
					//The request was canceled by some other JavaScript code.
					console.debug("Request canceled.");
				}
				else if(response.dojoType == "timeout"){
					//The request took over 5 seconds to complete.
					console.debug("Request timed out.");
				}else{
					//Some other error happened.
					console.debug(response);
				}
			}
			else
			{		
				if(!isRedirect(response))
				{
					dijit.byId('content').attr('content',response);
					onSetContent('content');
					//dojo.parser.parse(dijit.byId('content'));
					//alert("Successful server response: " + response);
					//alert("HTTP status code: ", ioArgs.xhr);
				}
			}
		}
	});
	return false;*/
}
function onSetContent(container)
{
	if(!container) 
	{
		container = 'bdy';
		content_id = 'container';
	}
	else
	{
		content_id = container;
	}
	dojo.parser.parse(container);
	
	var title = dojo.query('.yoo-content-meta .title');
	if(title[0]) dojo.doc.title = title[0].innerHTML;
	rewriteLinks(container);
	rewriteFormActions(dijit.byId(content_id));
}
function openYooDialog(url,title,cb_function)
{	
	var id = 'yooDialog';
	if(!dijit.byId(id))
	{
		var yooDialog = new dijit.Dialog({
			//refreshOnShow: true,
			//labelNode: '',
			id: 'yooDialog',
			content: '<div id="yooDialogContent" dojoType="dojox.layout.ContentPane" executeScripts="true"></div>',
			onCancel : function() {}
		});
		yooDialog.startup();
		dojo.parser.parse("yooDialogContent");
		var yooDialogContent = dijit.byId('yooDialogContent');
		dojo.connect(yooDialogContent, 'onLoad', yooDialogContent, function()
		{
			rewriteFormActions(this,cb_function);
		});
	}
	else
	{
		var yooDialog = dijit.byId(id);
		var yooDialogContent = dijit.byId('yooDialogContent');
	}
	yooDialogContent.setHref(url+'?layout=content');
	yooDialog.title = title;
	yooDialog.show();
}
function rewriteFormActions(dialog,cb_function)
{
	var formList = dojo.query('form', dialog.domNode);
	if(!cb_function) cb_function = null;
	for (var i=0; i<formList.length; i++) //				for (var element in nodeList)
	{
		var frm = formList[i];
		dojo.query("input[type='submit']",frm).onclick(function(e)
		{
			e.preventDefault();
			var target_id = e.target.id;
			e.target.disabled = true;
			dojo.xhrPost({
				url: dojo.attr(frm, "action"),
				form: frm,
				content: {action:target_id, layout: 'content'},
				dialog: dialog,
				cb_function: cb_function,
				load: function(response,args)
				{
					if(dialog.id == 'yooDialogContent')
					{
						var cb = dojo.hitch(dialog,cb_function);
						cb();
						dijit.byId('yooDialog').hide();
					}
					else
					{
						if(!isRedirect(response))
						{
							changeHref(this.url);
							dialog.attr("content", response);
						}
					}
				}
			});
			return false;
		});
	}
}
function isRedirect(response)
{
	if(response.substr(0,9) == 'redirect-')
	{
		yoo_url(response.substr(9));
		return true;
	}
	if(response.substr(0,7) == 'reload-')
	{
		window.location.href = response.substr(7);
		return true;
	}
	return false;
}
function addDijits(yooDijits, node)
{
	dojo.forEach(yooDijits, function(info) {
	    var n = dojo.byId(info.id);
	    if (null != n) {
	        dojo.attr(n, dojo.mixin({ id: info.id }, info.params));
	    }
	});
	dojo.parser.parse();
	//dijit.byId('content').setContent(''); 
	
}
