	var prev_inserted = false;

	function cancel_event_propagation(e){
		if(!e) e.window.event;
		
		e.cancelBubble = true;
		if(e.stopPropagation) {
			e.stopPropagation()
		}
	
	}


function isdefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}

function deleteItemImIn(item, tagName) {
	while(item.tagName != tagName){
		item = item.parentNode;
	}
	item.parentNode.removeChild(item);
}

//Funkcja otwiera popupa z edycja obrazka
function open_edit_widnow(url){
	window.open (url,"crop_image", 'width=950,height=600,menubar=no,status=yes,location=no,toolbar=no,scrollbars=yes,resize=yes'); 
} 

//wylicza pozycję (w piksleach) podanego elementu
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
		return [curleft,curtop];
	}
}

function select_product_type(product_id, session_id, ticket_hash){

//var pos_element = findPos(div_element);

	var disp = 'photo_quick_add';
//	$(disp).style.top=(parseInt(pos_element[1]) - 100)+'px';
 	$(disp).style.display="block";
	//var myAjax = new Ajax.Updater(disp, app_main+'photos/upload_frame/'+product_id+'/'+session_id+'/'+ticket_hash, {asynchronous: true, evalScripts:true});

	$('applet_content').innerHTML = '';


	var applet_str = '<applet name="uploadApplet" code="javaatwork.myuploader.UploadApplet.class" archive="'+full_url+app_main+'myuploader-standard-signed-1.13.jar, '+full_url+app_main+'labels_pl.jar" width="430"  height="250">';
	applet_str=applet_str+'<param name="uploadURL" value="'+full_url+app_main+'photos/java_upload/'+product_id+'/'+ticket_hash+'/?SID='+session_id+'">';
		applet_str=applet_str+'<param name="successURL" value="'+full_url+app_main+'orders/add_product?mset=add&ticket='+ticket_hash+'">';

		applet_str=applet_str+'<param name="language" value="pl">';
		applet_str=applet_str+'<param name="fileFilter" value="Image files (*.jpg, *.jpeg, *.png, *.gif): jpg, jpeg, png, gif">';
		applet_str=applet_str+'<param name="rejectFileFilter" value="php, js, html, exe, gz, tar, rar, flv, mp4, ogg, pdf, iso, swf, thtml, jar, txt, ini">';
		applet_str=applet_str+'<param name="uploadDirectories" value="true">';

		
	applet_str=applet_str+'</applet>';

	$('applet_content').innerHTML = applet_str;
	
	$('arch_ling').innerHTML = '<a href="'+app_main+'orders/choose_photos/'+product_id+'" class="orange_back_normal">ARCHIWUM</a>';

}

function prepare_calendar_form(product_id, session_id, ticket_hash){
	
	var disp = 'photo_quick_add';

 	$(disp).style.display="block";

	$('applet_content').innerHTML = '';

	var applet_str = '<applet name="uploadApplet" code="javaatwork.myuploader.UploadApplet.class" archive="'+full_url+app_main+'myuploader-standard-signed-1.13.jar, '+full_url+app_main+'labels_pl.jar" width="430"  height="250">';
		applet_str=applet_str+'<param name="uploadURL" value="'+full_url+app_main+'photos/java_upload/'+product_id+'/'+ticket_hash+'/?SID='+session_id+'">';
		applet_str=applet_str+'<param name="successURL" value="'+full_url+app_main+'photos/calendar_upload?ticket='+ticket_hash+'">';
		applet_str=applet_str+'<param name="language" value="pl">';
		applet_str=applet_str+'<param name="fileFilter" value="Image files (*.jpg, *.jpeg, *.png, *.gif): jpg, jpeg, png, gif">';
		applet_str=applet_str+'<param name="rejectFileFilter" value="php, js, html, exe, gz, tar, rar, flv, mp4, ogg, pdf, iso, swf, thtml, jar, txt, ini">';
		applet_str=applet_str+'<param name="uploadDirectories" value="true">';
	applet_str=applet_str+'</applet>';

	$('applet_content').innerHTML = applet_str;
	
	$('arch_ling').innerHTML = '<span onclick="document.new_calendar_form.submit()" style="cursor: pointer;">ARCHIWUM</span>';

}


function prepare_cup_form(product_id, session_id, ticket_hash){
	
	var disp = 'photo_quick_add';

 	$(disp).style.display="block";

	$('applet_content').innerHTML = '';

	var applet_str = '<applet name="uploadApplet" code="javaatwork.myuploader.UploadApplet.class" archive="'+full_url+app_main+'myuploader-standard-signed-1.13.jar, '+full_url+app_main+'labels_pl.jar" width="430"  height="250">';
		applet_str=applet_str+'<param name="uploadURL" value="'+full_url+app_main+'photos/java_upload/'+product_id+'/'+ticket_hash+'/?SID='+session_id+'">';
		applet_str=applet_str+'<param name="successURL" value="'+full_url+app_main+'photos/cup?ticket='+ticket_hash+'">';
		applet_str=applet_str+'<param name="language" value="pl">';
		applet_str=applet_str+'<param name="fileFilter" value="Image files (*.jpg, *.jpeg, *.png, *.gif): jpg, jpeg, png, gif">';
		applet_str=applet_str+'<param name="rejectFileFilter" value="php, js, html, exe, gz, tar, rar, flv, mp4, ogg, pdf, iso, swf, thtml, jar, txt, ini">';
		applet_str=applet_str+'<param name="uploadDirectories" value="true">';
	applet_str=applet_str+'</applet>';

	$('applet_content').innerHTML = applet_str;
	
	$('arch_ling').innerHTML = '<span onclick="document.new_calendar_form.submit()" style="cursor: pointer;">ARCHIWUM</span>';

}

function selected_edit_element(render_element, product_id){
	$('add_other_products').style.display="block";
	new Ajax.Updater('add_other_products', app_main+'products/order_layout/'+render_element+'/'+product_id, {asynchronous:true, evalScripts:true });
}

function calendar_edited_photo(photo_id, key_cont){
	replace_image('drag_'+photo_id, 'drop_'+key_cont);	
}

function replace_image(dragged_, dropped_){

	$(dropped_).innerHTML = $(dragged_).innerHTML;
	
	var image_id_txt = dragged_;
	var image_id = image_id_txt.substr(5, parseInt(image_id_txt.length));
	var key_container_id_txt = dropped_;
	var key_container_id = key_container_id_txt.substr(5, parseInt(key_container_id_txt.length));

	if(image_id_txt.substr(0, 4) == key_container_id_txt.substr(0,4)){
		
		var from_cont = dragged_;
		var to_cont = dropped_;
		var dragged_id = from_cont.substr(5, parseInt(from_cont.length));
//alert(dragged_id);
//alert(key_container_id)
//		Droppables.remove(element);
		
		var tmp_value_ = $('input_img_'+key_container_id).value;
		$('input_img_'+key_container_id).value = $('input_img_'+dragged_id).value;
		$('input_img_'+dragged_id).value = tmp_value_;
		
		$(to_cont).innerHTML = $(from_cont).innerHTML;
		
		$(from_cont).innerHTML = dropped_elements[(parseInt(key_container_id))];
		dropped_elements[(parseInt(dragged_id))] = $(from_cont).innerHTML;
		
		generate_drops(key_container_id);
		
		
		
	}else{
		

		$(dropped_).innerHTML = $(dragged_).innerHTML;


		$('input_img_'+key_container_id).value = image_id;

		generate_drops(key_container_id);
		
	}

}

function generate_drops(id_of_element){
	if(navigator.userAgent.indexOf("MSIE") != -1) {
		document.getElementById("dragContainer").style.position = "relative"; // needed so that draggables scroll
		new Draggable('drop_'+id_of_element, { 
	   		revert: true,
			ghosting: false, // IE hates ghosting it seems
			
			// ie needs to change the position style of dragContainer from static to relative on drag start so that the images can be dragged successfully from an overflowed container.
			
			onStart: function() {		
				document.getElementById("dragContainer").style.position = "static";
			},
			onEnd: function() {
				document.getElementById("dragContainer").style.position = "relative";
			}
	  });
		
	}
	
	// Do normal stuff for browsers that are not IE
	else {
	  
	  new Draggable('drop_'+id_of_element, { 
	    revert: true,
			ghosting: true,
			onDrop: function() {

		    }
	  });
	};
}



function inside_size() {
	if (window.innerWidth) {
		return {x:window.innerWidth, y:window.innerHeight};
	} else if (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) {
		return {x:document.body.parentNode.clientWidth, y:document.body.parentNode.clientHeight};
	} else if (document.body && document.body.clientWidth) {
		return {x:document.body.clientWidth, y:document.body.clientHeight};
	}
	return 0;
}



function tranform_calendar_layout(){
	var window_size = inside_size();
	poz_poz = window_size.x;
	poz_pion = window_size.y;
	
	hide_page_elements();
	
	$('content').style.position='absolute';


	
//	$('photos_catalogs').appear();
	
//	$('content').style.top='15px';
//	$('content').style.left='15px';
	
//	$('content').style.position='absolute';
//	$('content').style.left='0px'
	
	new Effect.Morph("content", {

		  style: {
		    top: '10px',
		    left: '10px'
		  },
		  duration: '0.5', 
			queue: 'front'
		});
		
//	$('calendar_edit_container').style.width=poz_poz+'px';
//	$('calendar_edit_container').style.height=parseInt(3*poz_pion)+'px';
//	$('calendar_edit_container').style.filter='alpha(opacity=50)';
//	$('calendar_edit_container').style.opacity='.5';

	
	new Effect.Morph("calendar_edit_container", {

		  style: {
		    background: '#222222',
		    width: poz_poz+'px',
		    height: parseInt(3*poz_pion)+'px',
		    top: '0px',
		    left: '0px',
		    filter: 'alpha(opacity=25)',
		    opacity: '.25'
		  }, 
		  duration: '0.7', 
			queue: 'end'
		});
	



	morph_photos_frame();
	
//	$('calendar_edit_container').innerHTML = $('content').innerHTML;
//	$('content').innerHTML = '';

}

function morph_photos_frame(){
	
	$('archiwum_big_div').style.position="absolute";
	
	//pozycja ramki oczywiscie inna niz dla reszty przegladarek
	if(navigator.userAgent.indexOf("MSIE") != -1) {
	
		new Effect.Morph("archiwum_big_div", {
	
			  style: {
			    top: '1px',
			    right: '-90%'
			  }, 
			  duration: '0.7', 
				queue: 'end'
			});
		
	}else{
		new Effect.Morph("archiwum_big_div", {
			
			  style: {
			    top: '1px',
			    left: '705px'
			  }, 
			  duration: '0.7', 
				queue: 'end'
			});
	}
	
	var window_size = inside_size();
	poz_poz = window_size.x;
	poz_pion = window_size.y;
	
	var standard_frame_width = parseInt(698);
	
	//rozmiar-lewy_padding-szerokosc_lewej_ramki-prawa_ramka_z_zapasem
	var new_frame_width=parseInt(poz_poz-10-700-30);
	var diffrence = parseInt(standard_frame_width-new_frame_width);

	//glowny div
	var main_div = $('archiwum_big_div').firstDescendant();
	$(main_div).style.width = new_frame_width+'px';
	
	//ramka z tytulem
	var top_frame_title = $(main_div).getElementsBySelector('[class="orange_box_top_side"]');
										//standadowa_szer-roznica-boki_w_ramce
	$(top_frame_title[0]).style.width = parseInt(standard_frame_width-diffrence-36)+'px';
	
	//X z zamknieciem
	var x_close = $(top_frame_title[0]).nextSiblings();
	$(x_close[0]).innerHTML = '';
	
	var div__ = document.createElement('div');
	div__.className = 'other_close_but';
	div__.id = 'close_x_button';
	
	if(navigator.userAgent.indexOf("MSIE") != -1) {
		div__.style.left = parseInt(standard_frame_width-diffrence-36-3)+'px';
	}else{
		div__.style.right = parseInt(diffrence+3)+'px';
	}
	div__.innerHTML = $('close_layout_div').innerHTML;
	
	$(x_close[0]).appendChild(div__);
	
	//tresc ramki
	$('dragContainer').style.width=parseInt(620-diffrence)+'px';
	
	//toltip z opisem
	$('tooltip_second').style.width=parseInt(620-diffrence)+'px';
	
	//spod ramki
	var bottom_frame_line = $(main_div).getElementsBySelector('[class="white_frame_line_bottom"]');
						//standadowa_szer-roznica-boki_w_ramce
	$(bottom_frame_line[0]).style.width = parseInt(standard_frame_width-diffrence)+'px';
	
	//srodek spodniej ramki
	var bottom_frame_middle = $(main_div).getElementsBySelector('[class="white_frame_bottom_side"]');
	//standadowa_szer-roznica-boki_w_ramce
	$(bottom_frame_middle[0]).style.width = parseInt(standard_frame_width-diffrence-32)+'px';	
	
	
	if(navigator.userAgent.indexOf("MSIE") != -1) {
	
		new Effect.Morph("dragContainer", {
	
			  style: {
			    height: '731px'
			  }, 
			  duration: '0.5', 
				queue: 'end'
			});
		
	}else{
		new Effect.Morph("dragContainer", {
			
			  style: {
			    height: '699px'
			  }, 
			  duration: '0.5', 
				queue: 'end'
			});
	}
	
	
}

function hide_page_elements(){

	
//	$('main_login_create_line').style.display="none";
//	$('top_menu').style.display="none";
//	$('search_container_hided').style.display="none";
//	$('search_container_title').style.display="none";
	
	
	Effect.toggle('main_login_create_line', 'appear');
	Effect.toggle('top_menu', 'appear');
	Effect.toggle('search_container_hided', 'appear');
	Effect.toggle('search_container_title', 'appear');
	
	Effect.toggle('edit_layout_div', 'appear');
	
	//Effect.toggle('close_layout_div', 'appear');
	
	Effect.toggle('archiwum_big_div', 'appear');
	
	Effect.toggle('begin_from_month', 'appear');
	
}


function close_calendar_edit(){
	
	//ukrycie buttona x do zamykania edycji kalendarza
	$('close_x_button').style.display="none";
	
	hide_page_elements();
	

	
	$('content').style.position="static";

	
	$('content').style.top="";
	$('content').style.left="";
	
	$('archiwum_big_div').style.position="static";
	$('archiwum_big_div').style.top="1900px";
	$('archiwum_big_div').style.left="";

	
	$('dragContainer').style.height="200px";
	
	
	
	//glowny div
	var main_div = $('archiwum_big_div').firstDescendant();
	$(main_div).style.width = '';
	
	//ramka z tytulem
	var top_frame_title = $(main_div).getElementsBySelector('[class="orange_box_top_side"]');
										//standadowa_szer-roznica-boki_w_ramce
	$(top_frame_title[0]).style.width = '';
	
	//tresc ramki
	$('dragContainer').style.width='';
	
	//toltip z opisem
	$('tooltip_second').style.width='';
	
	//spod ramki
	var bottom_frame_line = $(main_div).getElementsBySelector('[class="white_frame_line_bottom"]');
						//standadowa_szer-roznica-boki_w_ramce
	$(bottom_frame_line[0]).style.width = '';
	
	//srodek spodniej ramki
	var bottom_frame_middle = $(main_div).getElementsBySelector('[class="white_frame_bottom_side"]');
	//standadowa_szer-roznica-boki_w_ramce
	$(bottom_frame_middle[0]).style.width = '';	
	
	new Effect.Morph("calendar_edit_container", {

		  style: {
		    background: '#222222',
		    width: '0px',
		    height: '0px',
		    top: '0px',
		    left: '0px',
		    filter: 'alpha(opacity=50)',
		    opacity: '.5'
		  }, 
		  duration: '0.7', 
			queue: 'end'
		});
	
//	alert('soon:)');
}

function preview_calendar_img(input_image_id, default_id, product_id){
	if($(input_image_id).value != ''){
		
		var month_val = $('comment_photo_'+default_id).value;
		var month_spl = month_val.split(" ");
		var param_month = 1;
		var m = month_spl[0];
		
		if(m == 'Okładka'){
			param_month = 0;
		}
		
		if(m == 'styczeń'){
			param_month = 1;
		}
		if(m == 'luty'){
			param_month = 2;
		}
		if(m == 'marzec'){
			param_month = 3;
		}
		if(m == 'kwiecień'){
			param_month = 4;
		}
		if(m == 'maj'){
			param_month = 5;
		}
		if(m == 'czerwiec'){
			param_month = 6;
		}
		if(m == 'lipiec'){
			param_month = 7;
		}
		if(m == 'sierpień'){
			param_month = 8;
		}
		if(m == 'wrzesień'){
			param_month = 9;
		}
		if(m == 'październik'){
			param_month = 10;
		}
		if(m == 'listopad'){
			param_month = 11;
		}
		if(m == 'grudzień'){
			param_month = 12;
		}
 		
		window.open(app_main+'photos/calendar_preview/'+$(input_image_id).value+'/'+param_month+'/'+product_id,'Podglad_kalendarza','width=800,height=750,scrollbars=1');

	}else{
		alert('Zdjęcie na ten miesiąc nie zostało wybrane.');
	}
}

function select_from_month(){

	var select_tag = $('CalendarInformationMonthKey');
	var select_tag_val = select_tag.options[select_tag.selectedIndex].innerHTML;
	
	var added_year = $('CalendarInformationYearKey');
	var added_year_val = added_year.options[added_year.selectedIndex].innerHTML;
	
	if(select_tag == ''){
		index_ = 1;
	}else{
		index_ = select_tag.value;
	}

	for(var i = 1 ; i < months.length ; i++){
		
		$('comment_photo_'+i).value = months[index_]+' '+added_year_val;
		$('month_disp_'+i).innerHTML = months[index_]+' '+added_year_val;
		
		index_++;
		if(index_ > 12){
			index_ = 1;
			added_year_val = parseInt(added_year_val)+1;
		}
	}
}


function show_hide_frame(frame_id){
	Effect.toggle(frame_id, 'appear');
}

function log_into(product_id, product_type_id){

	var url = app_main+'users/no_register_order';
	
	new Ajax.Request(url, {
		  	method: 'get',
		  	onSuccess: function() {
				if(product_id != 'xxx'){
					window.location=app_main+"orders/add_product/"+product_type_id+"?mset=add&product_id="+product_id;
				}else{
					window.location=app_main+"orders/add_product/"+product_type_id+"?mset=add";
				}
			}
	});

	
}

function get_papeterie(pdesign_id){

	papeterie_id_selected = pdesign_id;
	for(var i = 0; i < dropped_elements.length ; i++){
		change_image_and_papeterie(i,$('input_img_'+i).value);
		$('comment_photo_'+i).value = papeterie_id_selected;
	}

}

function replace_in_cup_image(dragged_, dropped_){
	$(dropped_).innerHTML = $(dragged_).innerHTML;
	
	var image_id_txt = dragged_;
	var image_id = image_id_txt.substr(5, parseInt(image_id_txt.length));
	var key_container_id_txt = dropped_;
	var key_container_id = key_container_id_txt.substr(5, parseInt(key_container_id_txt.length));


		$(dropped_).innerHTML = $(dragged_).innerHTML;

		$('input_img_'+key_container_id).value = image_id;

		//generate_drops(key_container_id);
		
	change_image_and_papeterie(key_container_id, image_id);
			
}

function change_image_and_papeterie(key_container_id, image_id){
	$('input_img_'+key_container_id).value = image_id;
	$('drop_'+key_container_id).innerHTML = 'Trwa generowanie podglądu zdjęcia...';
	new Ajax.Updater($('drop_'+key_container_id), app_main+'photos/cup_prev/'+image_id+'/'+image_width_temp+'/'+image_height_temp+'/'+papeterie_id_selected, {asynchronous: false, evalScripts:true});	
}

function get_dimensions_dropped(new_width, new_height){

	for(var i = 0; i < dropped_elements.length ; i++){
		$('td_pict_'+i).style.width=new_width+"px";
		$('bigger_pict_id_'+i).style.width=new_width+"px";
		$('drop_'+i).style.width=new_width+"px";

		$('bigger_pict_id_'+i).style.height=(parseInt(new_height)+20)+"px";
		$('drop_'+i).style.height=new_height+"px";
	}
}


function edit_cup_photo(key_){

	var image_id = $('input_img_'+key_).value;
	var product_id = $('ProductId').value;	
	if(image_id != ''){
		window.open (app_main+"photos/crop_image/"+image_id+"/"+product_id+"/"+image_id+"/0/?fe=cup_ed&k="+key_,"crop_image", 'width=950,height=600,menubar=no,status=yes,location=no,toolbar=no,scrollbars=yes,resize=yes'); 
	}else{
		alert('Zdjęcie nie zostało wybrane');
	}
}

function generate_image_text(key_id){

	var image_id = $('input_img_'+key_id).value;
	var product_id = $('ProductId').value;
	
	if(image_id != ''){
		window.open (app_main+"photos/text_to_img/"+image_id+"/"+product_id+"/"+image_id+"/0/"+key_id,"Tworzenie_tekstu_na_zdjeciu", 'width=950,height=600,menubar=no,status=yes,location=no,toolbar=no,scrollbars=yes,resize=yes'); 
	}else{
		alert('Zdjęcie nie zostało wybrane');
	}
}
