
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
	return true;
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

var mycookievalue;
var fullcookievalue;

if (readCookie('ordering')!=null) {
	mycookievalue = readCookie('ordering');
	fullcookievalue = readCookie('ordering');
	//alert(mycookievalue);
}
else { // set default layout
	var defaultLayout = "*1aZ+hZ+cZ*2dZ+eZ+fZ*3gZ+iZ+bZ+jZ";
	//var defaultLayout = "*1a+h+c*2e+f*3d+g+i+b+j";
	mycookievalue = defaultLayout;
	fullcookievalue = defaultLayout;
	createCookie('ordering',fullcookievalue,7);
	//alert(mycookievalue);
}

var cookieArray = [];

	function openClose(divID) {
	
		var x = readCookie("ordering");
		var divID;
		var newcookievalue;

		//alert(divID);

		var myNodeList = glow.dom.get("div#"+divID+" img.togglearrow");

		// get an attribute
		if(myNodeList.attr("src")=="images/togglearrowDown.png") {
			myNodeList.attr("src", "images/togglearrow.png");
			newcookievalue = x.substring(0, x.indexOf(divID)+1) + "z" + x.substring(x.indexOf(divID)+2, x.length)


		}
		else {
			myNodeList.attr("src", "images/togglearrowDown.png");
			newcookievalue = x.substring(0, x.indexOf(divID)+1) + "Z" + x.substring(x.indexOf(divID)+2, x.length)
		}

		//alert(newcookievalue);

		if(createCookie('ordering',newcookievalue,7)) {
			var mySlide = glow.anim.slideToggle("#innercontainer div#"+divID+" div", 0.5, ''); // , opts);
			//alert("OPEN/CLOSE cookie created");
		}

		if(readCookie("ordering").indexOf("hz")>0) {

			var pageloadSlide = glow.dom.get("#innercontainer div#h iframe").css({
									"height": "0",
									"overflow": "hidden"
								})
		}
		if(readCookie("ordering").indexOf("hZ")>0) {

			var pageloadSlide = glow.dom.get("#innercontainer div#h iframe").css({
									"height": "300px",
									"overflow": "visible"
								})
		}


	}

glow.ready(function() {

	//alert(mycookievalue);

	mycookievalue = mycookievalue.replace(/z/gi, "");

	var thiscolumn1 = mycookievalue.substring( (mycookievalue.indexOf('*1')+2), mycookievalue.indexOf('*2') );
	var thiscolumn2 = mycookievalue.substring( (mycookievalue.indexOf('*2')+2), mycookievalue.indexOf('*3') );
	var thiscolumn3 = mycookievalue.substring( (mycookievalue.indexOf('*3')+2), mycookievalue.length );

	//alert(mycookievalue);

	if(thiscolumn1.length>0) {
		//var includeArray1 = thiscolumn1.split(new RegExp("z\+","i"));
		var includeArray1 = thiscolumn1.split("+");
		var includeThese1 = "#innercontainer div#" + includeArray1.join(', #innercontainer div#');
		var pageordering1 = glow.dom.get(includeThese1).sort(function(a, b) {
			return ( thiscolumn1.indexOf(glow.dom.get(a).attr("id")) < thiscolumn1.indexOf(glow.dom.get(b).attr("id")) ) ? -1 : 1;
		})
	}

	if(thiscolumn2.length>0) {
		//var includeArray2 = thiscolumn2.split(new RegExp("z\+","i"));
		var includeArray2 = thiscolumn2.split("+");
		var includeThese2 = "#innercontainer div#" + includeArray2.join(', #innercontainer div#');
		var pageordering2 = glow.dom.get(includeThese2).sort(function(a, b) {
			return ( thiscolumn2.indexOf(glow.dom.get(a).attr("id")) < thiscolumn2.indexOf(glow.dom.get(b).attr("id")) ) ? -1 : 1;
		})
	}

	if(thiscolumn3.length>0) {
		//var includeArray3 = thiscolumn3.split(new RegExp("z\+","i"));
		var includeArray3 = thiscolumn3.split("+");
		var includeThese3 = "#innercontainer div#" + includeArray3.join(', #innercontainer div#');
		var pageordering3 = glow.dom.get(includeThese3).sort(function(a, b) {
			return ( thiscolumn3.indexOf(glow.dom.get(a).attr("id")) < thiscolumn3.indexOf(glow.dom.get(b).attr("id")) ) ? -1 : 1;
		})
	}

	glow.dom.get("#innercontainer .col1 div.widget").remove(); // DO NOT use destroy as completely removes all content and makes unavailable to reordered variables (eg pageordering1 etc)
	glow.dom.get("#innercontainer .col2 div.widget").remove();
	glow.dom.get("#innercontainer .col3 div.widget").remove();
	
	if(thiscolumn1.length>0) {
		pageordering1.appendTo("#innercontainer .col1");
	}
	if(thiscolumn2.length>0) {
		pageordering2.appendTo("#innercontainer .col2");
	}
	if(thiscolumn3.length>0) {
		pageordering3.appendTo("#innercontainer .col3");
		//pageordering3.clone().appendTo("#innercontainer .col3"); // DO NOT use clone() in this instance as causes ie8 to crash
	}
//}

//glow.dom.create('<span>...</span>').appendTo('p');

	var thisclosed = fullcookievalue.replace(/\*1/gi, "");
	thisclosed = thisclosed.replace(/\*./gi, "+");
	//alert(thisclosed);
	thisclosed = thisclosed.replace(/.Z\+/g, "");
	//alert(thisclosed);
	thisclosed = thisclosed.replace(/.Z/g, "");
	//alert(thisclosed);
	thisclosed = thisclosed.replace(/z/g, "");
	//alert(thisclosed);
	//if(thisclosed.charAt(thisclosed.indexOf(thisclosed.length))=="Z") { thisclosed = thisclosed.substring(thisclosed(0, thisclosed.length-1)); }
	var thisclosedArray = thisclosed.split("+");

	thisclosed = "#innercontainer div#" + thisclosedArray.join(' div, #innercontainer div#') + " div";

	//thisclosed = thisclosed.substring(0, (thisclosed.length)-26);

	//alert(thisclosed);

	thisclosed = thisclosed.replace(/#innercontainer div# div, /g,"");
	thisclosed = thisclosed.replace(/, #innercontainer div# div/g,"");
	thisclosed = thisclosed.replace(/#innercontainer div# div/g,"");

	if(thisclosed!="") {
		
		//alert(thisclosed);
		//alert(thisclosedArray);

		//var pageloadSlide = glow.anim.slideToggle(thisclosed, 0, ''); // , opts);
		var pageloadSlide = glow.dom.get(thisclosed).css({
								"height": "0",
								"overflow": "hidden"
							})

		if(thisclosed.indexOf("div#h")>0) {

			//alert(thisclosed + thisclosed.indexOf("div#h"));

			var pageloadSlide = glow.dom.get("#innercontainer div#h iframe").css({
									"height": "0",
									"overflow": "hidden"
								})
		}
		var thisclosedimage = "#innercontainer div#" + thisclosedArray.join(' img.togglearrow, #innercontainer div#') + " img.togglearrow";
		//thisclosedimage = thisclosedimage.substring(0, (thisclosedimage.length)-38);

		thisclosedimage = thisclosedimage.replace(/#innercontainer div# img.togglearrow, /g,"");
		thisclosedimage = thisclosedimage.replace(/, #innercontainer div# img.togglearrow/g,"");
		thisclosedimage = thisclosedimage.replace(/#innercontainer div# img.togglearrow/g,"");

		//alert(thisclosedimage);

		var thisArrowNodeList = glow.dom.get(thisclosedimage);

		//alert(thisclosedimage);

		thisArrowNodeList.attr("src", "images/togglearrow.png");
	
	}
	//glow.dom.get(thisclosed).hide();

	


	var mySortable = new glow.widgets.Sortable(
			'#innercontainer .col1, #innercontainer .col2, #innercontainer .col3',
			{
					draggableOptions : {
                        handle : 'h2'
					},
					onSort : function () {


						
						var y = readCookie("ordering");
						var z = y.replace(/z/gi, "");
						var sortcolumn1 = y.substring( (y.indexOf('*1')+2), y.indexOf('*2') );
						var sortcolumn2 = y.substring( (y.indexOf('*2')+2), y.indexOf('*3') );
						var sortcolumn3 = y.substring( (y.indexOf('*3')+2), y.length );
						
						
						/*
						thiscolumn1 = mycookievalue.substring( (mycookievalue.indexOf('*1')+2), mycookievalue.indexOf('*2') );
						thiscolumn2 = mycookievalue.substring( (mycookievalue.indexOf('*2')+2), mycookievalue.indexOf('*3') );
						thiscolumn3 = mycookievalue.substring( (mycookievalue.indexOf('*3')+2), mycookievalue.length );
						*/
						//alert(thiscolumn1);

						var order1 = [];
						glow.dom.get('#innercontainer .col1 > *').sort().each(function () {
							order1.push(glow.dom.get(this).attr("id") + y.charAt( (y.indexOf(glow.dom.get(this).attr("id"))+1) ));
						});

						var order2 = [];
						glow.dom.get('#innercontainer .col2 > *').sort().each(function () {
							order2.push(glow.dom.get(this).attr("id") + y.charAt( (y.indexOf(glow.dom.get(this).attr("id"))+1) ));
						});
						
						var order3 = [];
						glow.dom.get('#innercontainer .col3 > *').sort().each(function () {
							order3.push(glow.dom.get(this).attr("id") + y.charAt( (y.indexOf(glow.dom.get(this).attr("id"))+1) ));
						});

						//alert(location.protocol + " + " + location.host + " + " + location.pathname);

						// check to see if page url is either root (/) or index.php?uniqueID=1 to write complete cookie..
						if ( (location.href).indexOf("index") && (location.href).indexOf("uniqueID")==-1 || (location.href).indexOf("index") && (location.href).indexOf("uniqueID=1") && (location.href).length==((location.href).indexOf("uniqueID=1") + 10) || location.pathname=="/dfi/") {
							var newcookie = '*1'+order1.join('+')+'*2'+order2.join('+')+'*3'+order3.join('+');
							//alert("reading as HOMEpage");
						}
						// ..or partial cookie (right hand side column only) using previous cookie col1, col2
						else {
							var newcookie = '*1'+sortcolumn1+'*2'+sortcolumn2+'*3'+order3.join('+');
							//alert("reading as INNER page");
						}
						createCookie('ordering',newcookie,7)
						/*
						if(createCookie('ordering',newcookie,7)) {
							alert("DRAG cookie created");
						}
						*/
						//alert(newcookie);

						//alert(location.protocol + " + " + location.host + " + " + location.pathname);
						//createCookie('ordering','*1'+order1.join('+')+'*2'+order2.join('+')+'*3'+order3.join('+'),7);					
					
					}
			}
	);

	

});


function resetpageconfirm() {
	if(confirm("Attention:\n\nWhen you reset your widgets, page layout goes\nback to its original settings and any changes\nyou've made will be lost\n")) {
		eraseCookie('ordering');
		window.location.reload();
	}
}