
var isDragFrameOnHomePage = false;
var animationTimeFrameOnHomePage = 800;
var deflectionFrameOnHomePage = 20;
var cookObjNamesListFrameOnHomePageLeft = 'placeholder_l';
var cookObjNamesListFrameOnHomePageRight = 'placeholder_r';
var cookObjNamesListFrameOnHomePageCenter = 'placeholder_c';
var cookObjNamesListFrameOnHomePageCenterInside = 'placeholder_i';
var selectorFrameOnHomePageLeft = ' #left .narrow ';
var selectorFrameOnHomePageRight = ' #right .narrow ';
var selectorFrameOnHomePageCenter = ' #main2 ';
var selectorFrameOnHomePageCenterInside = ' #main3 ';
var place_on_home_page = 'placeholder_on_home_page';
var place_on_home_page2 = 'placeholder_on_home_page2';
var last_place_on_home_page = ' .placeholder_on_home_page:last';
var last_place_on_home_page2 = ' .placeholder_on_home_page2:last';
var CenterTrue = 'TRUE';
var CenterFalse = 'FALSE';

$(document).ready(function ()
{	
		onClickInMovePlaceButtonsFrameOnHomePage();
});

function onClickInMovePlaceButtonsFrameOnHomePage() {

	$( selectorFrameOnHomePageLeft + '.arrows .arrow_down' ).click( function () {
		onClickMoveDownFrameOnHomePage( this, selectorFrameOnHomePageLeft, place_on_home_page, last_place_on_home_page );
	});
	
	$( selectorFrameOnHomePageLeft + '.arrows .arrow_up'   ).click( function () {
		onClickMoveUpFrameOnHomePage( this, selectorFrameOnHomePageLeft, place_on_home_page, last_place_on_home_page );			
	});
	
	$( selectorFrameOnHomePageRight + '.arrows .arrow_down').click( function () {
		onClickMoveDownFrameOnHomePage( this, selectorFrameOnHomePageRight, place_on_home_page, last_place_on_home_page );
	});
	
	$( selectorFrameOnHomePageRight + '.arrows .arrow_up'  ).click( function () {
		onClickMoveUpFrameOnHomePage( this, selectorFrameOnHomePageRight, place_on_home_page, last_place_on_home_page );
	});	
	
	$( selectorFrameOnHomePageCenter + '.arrows .arrow_down').click( function () {
		onClickMoveDownFrameOnHomePage( this, selectorFrameOnHomePageCenter, place_on_home_page, last_place_on_home_page );
	});
		
	$( selectorFrameOnHomePageCenter + '.arrows .arrow_up'  ).click( function () {
		onClickMoveUpFrameOnHomePage( this, selectorFrameOnHomePageCenter, place_on_home_page, last_place_on_home_page );
	});
	
	$( selectorFrameOnHomePageCenter + '.arrows2 .arrow_down2').click( function () {
		onClickMoveDownFrameOnHomePage( this, selectorFrameOnHomePageCenterInside, place_on_home_page2, last_place_on_home_page2 );
	});
		
	$( selectorFrameOnHomePageCenter + '.arrows2 .arrow_up2'  ).click( function () {
		onClickMoveUpFrameOnHomePage( this, selectorFrameOnHomePageCenterInside, place_on_home_page2, last_place_on_home_page2, CenterTrue );
	});
	
}

function SaveLayoutToCookieFrameOnHomePage(object, $place)
{	
	var objNamesArr = new Array();
	var isOpenArr	= new Array();
	
	//alert(object);
	$kids = $( object ).children();
	$kids.each(function () {
		if ( $( this ).hasClass( $place ) ) {
			var itemId = $( '#' + this.id + ' .box_wrapper' ).attr( 'id' );
			objNamesArr.push( itemId );
		}
	    	//alert(this.id);
	});
	
	if( object == ' #left .narrow ' )
		$.cookie(cookObjNamesListFrameOnHomePageLeft, StringFromArrayLayoutFrameOnHomePage(objNamesArr), { expires: cookExpiry, path: "/" });
	if( object == ' #right .narrow ' )
		$.cookie(cookObjNamesListFrameOnHomePageRight, StringFromArrayLayoutFrameOnHomePage(objNamesArr), { expires: cookExpiry, path: "/" });
	if( object == ' #main2 ' )
		$.cookie(cookObjNamesListFrameOnHomePageCenter, StringFromArrayLayoutFrameOnHomePage(objNamesArr), { expires: cookExpiry, path: "/" });
	if( object == ' #main3 ' )
		$.cookie(cookObjNamesListFrameOnHomePageCenterInside, StringFromArrayLayoutFrameOnHomePage(objNamesArr), { expires: cookExpiry, path: "/" });
	
	//noticeUserLayoutChanged(cookObjNamesList);
}
function StringFromArrayLayoutFrameOnHomePage(array) {
	var helpString = '';
	if (array.length > 0) {
		helpString += array[0];
		for (var i = 1 ; i < array.length; i++) 
			helpString += ',' + array[i];
	}
	return helpString;
}

function IsObjInArrayFrameOnHomePage (arr, obj) {
	var isObject = false;
	for (var i = 0 ; i < arr.length; i++) 
		if (arr[i] == obj) isObject = true;
	return isObject;
}

function IndObjInArrayFrameOnHomePage (arr, obj) {
	for (var i = 0 ; i < arr.length; i++) 
		if (arr[i] == obj) return i;
	return -1;
}

function onClickMoveUpFrameOnHomePage( $thisFrame, selector, $place, $place_last ) {
	
	$thisFrame = $($thisFrame).parent();
	while ( ! $( $thisFrame ).hasClass( $place ) ) $thisFrame = $($thisFrame).parent();
	var itemNumb = $thisFrame[0].id.split( '_' )[1]; 

	//$( selectorFrameOnHomePage + ' #item_' + itemNumb ).slideUp( 400 );
	$movedItem = $( selector + ' #placeholder_' + itemNumb );
	$prevItem  = $movedItem.prev();
	//jezeli nie ma następcy nie przerzucamy
	if ( $prevItem.length != 0) {
		
		$temp = $( selector );
		$temp.css( 'height', $temp.height() );		
		
		if($place == 'placeholder_on_home_page')
		{
			$( selector + '.arrows .arrow_up' ).unbind('click');
			$( selector + '.arrows .arrow_down' ).unbind('click');
		}
		else
		{
			$( selector + '.arrows2 .arrow_up2' ).unbind('click');
			$( selector + '.arrows2 .arrow_down2' ).unbind('click');
		}
		//$( selector + ' .item:first .header .move_up' ).show();
		//$( selector + ' .item .header .move_down' ).click( function () { });
		
		var posPrevItem 	= $prevItem.position();			
		var heightPrevItem  = $prevItem.height() + parseInt( $( $prevItem ).css( 'margin-bottom' ) ) ;
		var heightMoveItem  = $movedItem.height() + parseInt( $( $prevItem ).css( 'margin-bottom' ) ) + 1;	
		
		var $prevWhileItem = $( selector + $place_last );
		do  {
			var itemPoz = $prevWhileItem.position();
			$prevWhileItem.css( 'position', 'absolute' ).css( 'top', itemPoz.top + 'px' );
		} 
		while (	( $prevWhileItem = $prevWhileItem.prev() )[0].id != $prevItem[0].id )
		
//		if ( selector == ' #left .narrow ' && $prevItem[0].id == $( selector + '.placeholder_on_home_page:first' )[0].id )
//			$( '#main' ).css( 'margin-left', $( '#left' ).width() );
//			
		$prevItem.css( 'position', 'absolute' );
		$prevItem.css( 'top', posPrevItem.top + 'px' );
		//$movedItem.css( 'vertical-align', 'top' ); 
		
		//animacja
		$prevItem.animate ( {top:  '+=' + heightMoveItem/2 + 'px',
							 left: '+=' + deflectionFrameOnHomePage + 'px'}, animationTimeFrameOnHomePage/2 );
		$movedItem.animate( {top:  '-=' + heightPrevItem/2 + 'px',
							 left: '-=' + deflectionFrameOnHomePage + 'px'}, animationTimeFrameOnHomePage/2 );
		
		$movedItem.oneTime( animationTimeFrameOnHomePage/2 + "ms", function() {
			$prevItem.animate ( {top:  '+=' + heightMoveItem/2 + 'px',
								 left: '-=' + deflectionFrameOnHomePage + 'px'}, animationTimeFrameOnHomePage/2 );
			$movedItem.animate( {top:  '-=' + heightPrevItem/2 + 'px',
								 left: '+=' + deflectionFrameOnHomePage + 'px'}, animationTimeFrameOnHomePage/2 );
		});
		
		//powrót do stanu z przed animacji
		$movedItem.oneTime( animationTimeFrameOnHomePage+"ms", function() {
			
			$movedItem.stop();
			$prevItem .stop();
			
//			if ( selector == ' #left .narrow ' && $prevItem[0].id == $( selector + '.placeholder_on_home_page:first' )[0].id )
//				$( '#main' ).css( 'margin-left', '0px' );
//			
			$movedItem .insertBefore( $prevItem );
	
			$kids = $( selector ).children();
			$kids.each( function() { 
				$( this ).css( 'top', '0px' );
				$( this ).css( 'left', '0px' );
				$( this ).css( 'position', 'relative' );
			});
			
			if($place == 'placeholder_on_home_page')
			{			
				$( selector + '.arrows .arrow_down' ).bind('click', function () {
					onClickMoveDownFrameOnHomePage( this, selector, place_on_home_page, last_place_on_home_page);
				});
				$( selector + '.arrows .arrow_up' ).bind('click', function () {
					onClickMoveUpFrameOnHomePage( this, selector, place_on_home_page, last_place_on_home_page);
				});
				SaveLayoutToCookieFrameOnHomePage(selector, place_on_home_page);
			}
			else
			{
				$( selector + '.arrows2 .arrow_down2' ).bind('click', function () {
					onClickMoveDownFrameOnHomePage( this, selector, place_on_home_page2, last_place_on_home_page2);
				});
				$( selector + '.arrows2 .arrow_up2' ).bind('click', function () {
					onClickMoveUpFrameOnHomePage( this, selector, place_on_home_page2, last_place_on_home_page2);
				});
				SaveLayoutToCookieFrameOnHomePage(selector, place_on_home_page2);
			}
		});		
		//$( selector + ' .item:first .header .move_up' ).hide();
		//onClickInMovePlaceButtons();
	} //koniec if z warunkiem czy jes
}
function onClickMoveDownFrameOnHomePage( $thisFrame, selector, $place, $place_last ) {
	
	$thisFrame = $($thisFrame).parent();
	while ( ! $( $thisFrame ).hasClass( $place ) ) $thisFrame = $($thisFrame).parent();
	var itemNumb = $thisFrame[0].id.split( '_' )[1]; 
	
	//$( selector + ' #item_' + itemNumb ).slideUp( 400 );
	$movedItem = $( selector + ' #placeholder_' + itemNumb );
	
	//jezeli nie ma następcy nie przerzucamy
	if ( $movedItem.next().length != 0) {
		
		$temp = $( selector );
		$temp.css( 'height', $temp.height() );
		
		if($place == 'placeholder_on_home_page')
		{
			$( selector + '.arrows .arrow_up' ).unbind('click');
			$( selector + '.arrows .arrow_down' ).unbind('click');
		}
		else
		{
			$( selector + '.arrows2 .arrow_up2' ).unbind('click');
			$( selector + '.arrows2 .arrow_down2' ).unbind('click');
		}
		
		//$( selector + ' .item:last .header .move_down' ).show();
		//$( selector + ' .item .header .move_down' ).click( function () { });
		
		var posMovedItem = $movedItem.position( );
		var heightMovedItem = $movedItem.height( ) + parseInt( $( $movedItem ).css( 'margin-bottom' ) );
		var heightNextItem  = $movedItem.next().height( ) + parseInt( $( $movedItem.next() ).css( 'margin-bottom' ) ) ;
		
		var $prevItem = $( selector + $place_last );
		do  {
			var itemPoz = $prevItem.position();
			$prevItem.css( 'position', 'absolute' ).css( 'top', itemPoz.top + 'px' );
		} 
		while (	( $prevItem = $prevItem.prev() )[0].id != $movedItem[0].id )
			
//		if ( selector == ' #left .narrow ' && $movedItem[0].id == $( selector + '.placeholder_on_home_page:first' )[0].id )
//			$( '#main' ).css( 'margin-left', $( '#left' ).width() );
//		
		$movedItem.css( 'position', 'absolute' );
		$movedItem.css( 'top', posMovedItem.top + 'px' );
		//$movedItem.css( 'vertical-align', 'top' ); 
		
		//animacja
		$movedItem	     .animate( {top:  '+=' + heightNextItem/2 + 'px',
								    left: '+=' + deflectionFrameOnHomePage + 'px'}, animationTimeFrameOnHomePage/2 );
		$movedItem.next().animate( {top:  '-=' + heightMovedItem/2 + 'px',
								    left: '-=' + deflectionFrameOnHomePage + 'px'}, animationTimeFrameOnHomePage/2 );
		
		$movedItem.oneTime( animationTimeFrameOnHomePage/2 + "ms", function() {
			$movedItem	     .animate( {top:  '+=' + heightNextItem/2 + 'px',
				   					    left: '-=' + deflectionFrameOnHomePage + 'px'}, animationTimeFrameOnHomePage/2 );
			$movedItem.next().animate( {top:  '-=' + heightMovedItem/2 + 'px',
				   					    left: '+=' + deflectionFrameOnHomePage + 'px'}, animationTimeFrameOnHomePage/2 );
		});
		
		//powrót do stanu z przed animacji
		$movedItem.oneTime( animationTimeFrameOnHomePage+"ms", function() {
			
			$movedItem.stop();
			$movedItem.next().stop();
			
//			if ( selector == ' #left .narrow ' && $movedItem[0].id == $( selector + '.placeholder_on_home_page:first' )[0].id )
//				$( '#main' ).css( 'margin-left', '0px' );
//			
			$movedItem.next().insertBefore( $movedItem );
	
			$kids = $( selector ).children();
			$kids.each( function() {
				if( $( this ).hasClass( $place ) ) {
					$( this ).css( 'position', 'relative' );
					$( this ).css( 'top', '0px' );
					$( this ).css( 'left', '0px' );
				}
			});
			if($place == 'placeholder_on_home_page')
			{			
				$( selector + '.arrows .arrow_down' ).bind('click', function () {
					onClickMoveDownFrameOnHomePage( this, selector, place_on_home_page, last_place_on_home_page);
				});
				$( selector + '.arrows .arrow_up' ).bind('click', function () {
					onClickMoveUpFrameOnHomePage( this, selector, place_on_home_page, last_place_on_home_page);
				});
				SaveLayoutToCookieFrameOnHomePage(selector, place_on_home_page);
			}
			else
			{
				$( selector + '.arrows2 .arrow_down2' ).bind('click', function () {
					onClickMoveDownFrameOnHomePage( this, selector, place_on_home_page2, last_place_on_home_page2);
				});
				$( selector + '.arrows2 .arrow_up2' ).bind('click', function () {
					onClickMoveUpFrameOnHomePage( this, selector, place_on_home_page2, last_place_on_home_page2);
				});
				SaveLayoutToCookieFrameOnHomePage(selector, place_on_home_page2);
			}
		});
		//$( selector + ' .item:last .header .move_down' ).hide();
		
		//onClickInMovePlaceButtons();		
	} //koniec if z warunkiem czy jes
}
