function getReason(id, form){
    var send = {};
    send.ajax = "2";
    send.action = "get_reason";
    send.reason_id = id;
	
    var encoded = $.toJSON(send);
    var params = $.evalJSON(encoded);
	$.post( "/en/approve-process.html", params, function(response){
	 	 var data = $.evalJSON(response);
		if(data.reason_text != '' && typeof data.reason_text !='undefined' ){
			if($(form).find("[id$='_status_tag']").find('.rejected') ){
				if($(form).find("[id$='_status_tag']").find('.ui-base-error').length==0){	
					$(form).find("[id$='_status_tag']").find('.rejected').after('<br /><div class="ui-state-error ui-corner-all ui-base-error"><p ><span  class="ui-icon ui-icon-alert"></span>'+data.reason_text+'</p></div>');
				}
			}
			else{
				$(form).find("[id$='_status_tag']").append('<div class="ui-state-error ui-corner-all ui-base-error"><p ><span  class="ui-icon ui-icon-alert"></span>'+data.reason_text+'</p></div>');	
			}
		}
	});
}
/*
function deleteReason(obj){
    var id_to_delete = obj.metadata({type: 'attr', name: 'jdata'}).id;
    var send = {};
    send.ajax = "2";
    send.showhtml = "2";
    send.action = "delete_reason";
    send.delid = id_to_delete;
    var encoded = $.toJSON(send);
    var params = $.evalJSON(encoded);
    $.post( "/"+labels.lang+"/approve.html", params, function(response){
        var data = $.evalJSON(response);
        
        if( typeof data.msg != 'undefined' && data.msg.length != 0 ){  
            obj.fadeOut(300, function(){
				$(this).remove();
			});
			show_stack_bottomleft(false,data.msg);
        }
        else if(typeof data.err != 'undefined' && data.err.length != 0){
            show_stack_bottomleft(false,data.err);
        }
    });
}

function loadReason(obj){
	var filename = '/'+labels.lang+'/approve.html';
	var $form = $(obj).parents('form');
	var id = $form.attr('id');
	var $reasonBlock = $form.find('.reasonBlock');

    var send = {};
    send.ajax = "2";
    send.action = "load_reason";
    send.step = $("input[name='reason_step']", $form).val();
    var encoded = $.toJSON(send);
    var params = $.evalJSON(encoded);
	
    $.post(filename,
           params,
           function(response){
               var data = $.evalJSON(response);
               var message = '';
			   var list = $('<ul id="presetsList"></ul>');
               if(data.reasons.length != 0){
                   $.each(data.reasons, function(x,value){
                        message += '<li class="reason-link" jdata="{id:\''+value.reason_id+'\', text:\''+value.reason_text+'\', step:\''+value.reason_step+'\'}"><a href="#" title="select this reason" class="select-reason left">'+value.reason_text.replace(/&quot;/g,'"').replace(/&#039;/g,"'")+'</a><a href="#" title="delete this reason" class="delete-reason right ui-button ui-state-default ui-corner-all"><span class="ui-icon ui-icon-trash"></span></a></li>';
                   });
               }

                if( $('#presets_dialog').dialog("isOpen") ){
                    $('#presets_dialog').dialog('close');
                }

                var $dialog = $('<div id="presets_dialog"></div>')
                .dialog({
                        autoOpen: false,
                        title: 'Reasons',
                        minHeight:144,
                        width:414,
                        modal:false,
                        resizable:true,
                        show:'fade',
                        open: function(){
                            list.append(message);
                            $('#presets_dialog').append(list);
                            
                            //$('div.ui-dialog').css('position', 'relative');
                            $('#presets_dialog').parent().draggable( 'option', 'snap', '#'+id);
							
                            $('#presets_dialog').parent().position({
                                of: '#'+id,
                                my: 'left top',
                                at: 'left top',
                                offset: '10 10'
                            }); 
                                                       
                        }
                });

                $('#presets_dialog').bind("dialogclose", function(){
                        $('#presets_dialog').dialog('destroy');
                        $("#presets_dialog").remove();
                });
				
                $dialog.dialog('open');
           });
}

function saveReason(obj){
    var filename = '/'+labels.lang+'/approve.html';
	var $form = $(obj).parents('form');
	debuglog($("textarea[name='reason_text']", $form).val());
    //debuglog($.trim($("textarea[name='reason_text']", $form).val()) != '');
	if( $.trim($("textarea[name='reason_text']", $form).val()) != '' ){
		$("textarea[name='reason_text']", $form).addClass('valid');
		$("label[for='reason_text']", $form).find('em').remove();
		var reason_text = $("textarea[name='reason_text']", $form).val();
		var reason_step = $("input[name='reason_step']", $form).val();
		$("[name$='_saved']", $form).val(0);
		$("[id$='Submit']", $form).parent().removeClass('ui-helper-hidden');
		
		$(".nextTab", $form).addClass('ui-helper-hidden');
		$(".saved", $form).fadeOut(100,function(){$(this).remove();});
		
		$(".reasonBlock", $form).slideUp(200).addClass('ui-helper-hidden');
		$(".reasonBlock", $form).find('textarea').val('');
		
		var send = {};
	    send.ajax = "2";
	    send.showhtml = "2";
	    send.action = "save_reason";
		debuglog(reason_text);
	    send.reason_text = reason_text;
	    send.reason_step = reason_step;
	
	    var encoded = $.toJSON(send);
	    var params = $.evalJSON(encoded);
	    $.post(filename,
		       params,
		       function(response){
		           var json = $.evalJSON(response);
		           if( typeof json.msg!= 'undefined' && json.msg.length != 0){
						show_stack_bottomleft(false,json.msg);
						loadReason(obj);
		           }
		           if(typeof json.err!= 'undefined' && json.err.length != 0){
						show_stack_bottomleft(true,json.err);
		           }
	    });

		
	}
	else{
		$("textarea[name='reason_text']", $form).addClass('invalid');
		$("label[for='reason_text']", $form).find('em').remove();
		$("label[for='reason_text']", $form).append('<em class="invalid">Please insert a text</em>');
	}
}
*/
$(window).load(function(){

	$("[id^='reset']").live('click', function(e){
		e.preventDefault();
		$(this).parents('form').resetForm();
		$(this).parents('form').parent().find('.saved').fadeIn(200);
		
	});
	
	$("#approveForm").hide();
	$(".buttonset").buttonset();

	/*
	$("#imageBig").scrollview({
	    grab:"/images/cursors/openhand.cur",
	    grabbing:"/images/cursors/closedhand.cur"
	});
	*/
	
	if($("#saveImageTexts").length != 0 ){	
		$(function(){		
			var keyStr = $("#image_keywords", $("#saveImageTexts")).val();
			var keyArr = keyStr.split(",");
			var newKeyArr = [];
			for(var i=0;i<keyArr.length;i++){
				if(keyArr[i]!=''){	
					newKeyArr[i] = $.trim(keyArr[i]);			
				}
			}
			//debuglog(newKeyArr);
			if(newKeyArr.length!=0){	
				$(".image_keywords_buttons", $("#saveImageTexts")).append('<ul class="ui-corner-all token-input-list-facebook"></ul>');
			}
			for (var i = 0; i < newKeyArr.length; i++) {
				$(".token-input-list-facebook", $("#saveImageTexts")).append('<li class="token-input-token-facebook ui-state-default ui-corner-all"><a href="#" class="" title="'+newKeyArr[i]+'">'+newKeyArr[i]+'<span class="right token-input-delete-token-facebook ui-icon ui-icon-plus"></span></a> </li>');
			}
			
			$(".token-input-token-facebook a", $("#saveImageTexts")).live('click',function(ev){
				ev.preventDefault();
				$("#search_for_tags").val( $.trim($(this).attr('title')) );
				$("#search_for_tags").autocomplete('search', $.trim($(this).attr('title')));

			});
			
		});
		
		
		$('#saveImageTexts').validate({
			rules:{
				image_title:{
					required: true
				},
				image_descr:{
					required: true
				},
				image_keywords:{
					required: true
				}
			},
			messages:{
				image_title:{
					required: "This field is required"
				},
				image_descr:{
					required: "This field is required"
				},
				image_keywords:{
					required: "This field is required"
				}
			},
			submitHandler: function(form) {
                $(form).ajaxSubmit(ajaxoptions);
            },
            onfocusout: false,
            onkeyup: false,
            onkeypress: false,
            onsubmit: true,
            success: "",
            errorClass: "invalid",
            errorElement: "em",
            errorPlacement: function(error, element) {
                //debuglog($("label[for*='"+element.attr('name')+"']").get(0));
                var label = $("label[for*='"+element.attr('name')+"']").get(0);

                $(label).append(error);
            },
            debug:false
		});
	}
	
	
		
	// editStep3Submit FORM
   
	
	var pendingPreload = new Array();
			        $.each( $('#imageBig img'), function(i,obj){
			            pendingPreload[i] = $(obj).attr('src');
			        });
					$.loadImages(pendingPreload, function(){
			            $.each( $('#imageBig img'), function(i,obj){
			                $(obj).fadeIn(300);
			            });
			        });	
		
	if($('#approveSteps').length != 0){
	
		$.cookie("approveSteps", null, {path: '/'});
		
		$('#approveSteps').tabs({
	        
	        cache: false,
	        cookie: {name:'approveSteps', path: '/', expires: 1},
			select:function(event, ui){
				window.location.hash = ui.tab.hash;
				MainHeightFixer();
				//debuglog(1);
				switch(ui.index){
					case 0:
					
					break;
					case 4:
						var request = {};
						request.action = 'load-summary';
						request.image_id = $("input[name='image_id']").val();
						request.ajax = 2;
						
						var encoded = $.toJSON(request);
		    			var params = $.evalJSON(encoded);
						var url = '/'+labels.lang+'/approve-process.html';
						$.post( url, params, function(response){
					        var decoded = $("<div></div>").html(response).text();
							var parsed = parseHtml($.trim(decoded));
					        //$('.ui-widget',parsed).hide();
					        //debuglog(parsed);
							$("#tabs-"+(ui.index+1)).empty();
							$("#tabs-"+(ui.index+1)).append(parsed);
							$('.ui-widget', $("#tabs-"+(ui.index+1))).fadeIn(300);
							
					    });
					break;
				}
			}
	    }).fadeIn(500); 
		
		$("#approveForm").show();
		
	}
	
	if($("#approveStep1").length != 0){		
		$("#approveStep1").validate({
			rules:{
				step1_status_radio:{
					required:true
				},
				step1_reason_id:{
					notzero:true
				}
			},
			messages:{
				step1_status_radio:{
					required:"Please choose approve or reject"
				},
				step1_reason_id:{
					required:"Please choose reason from the dialog list1"
				}
				
			},
			submitHandler: function(form){
					//form.submit();
					$(form).ajaxSubmit(ajaxoptions);
				},
			onfocusout: false,
			onkeyup: false,
			onkeypress: false,
			onsubmit: true,
			success: "",
			errorClass: "invalid",
			errorElement: "em",
			errorPlacement: function(error, element){
				//var label = $("label[for*='" + element.attr('name') + "']").get(0);
				$( ".ui-dialog" ).effect( 'pulsate', {}, 500 );
				$("#step1_status_tag").append(error.append('<br />'));
			},
			debug: true
		});
	}
	
	if($("#approveStep2").length != 0){		
		$("#approveStep2").validate({
			rules:{
				step2_status_radio:{
					required:true
				},
				step2_reason_id:{
					notzero:true
				}
			},
			messages:{
				step2_status_radio:{
					required:"Please choose approve or reject"
				},
				step2_reason_id:{
					required:"Please choose reason from the dialog list1"
				}
				
			},
			submitHandler: function(form){
					//form.submit();
					$(form).ajaxSubmit(ajaxoptions);
				},
			onfocusout: false,
			onkeyup: false,
			onkeypress: false,
			onsubmit: true,
			success: "",
			errorClass: "invalid",
			errorElement: "em",
			errorPlacement: function(error, element){
				//var label = $("label[for*='" + element.attr('name') + "']").get(0);
				$( ".ui-dialog" ).effect( 'pulsate', {}, 500 );
				$("#step2_status_tag").append(error.append('<br />'));
			},
			debug: true
		});
	}
	
	if($("#approveStep3").length != 0){		
		$("#approveStep3").validate({
			rules:{
				step3_status_radio:{
					required:true
				},
				step3_reason_id:{
					notzero:true
				}
			},
			messages:{
				step3_status_radio:{
					required:"Please choose approve or reject"
				},
				step3_reason_id:{
					required:"Please choose reason from the dialog list1"
				}
				
			},
			submitHandler: function(form){
					//form.submit();
					$(form).ajaxSubmit(ajaxoptions);
				},
			onfocusout: false,
			onkeyup: false,
			onkeypress: false,
			onsubmit: true,
			success: "",
			errorClass: "invalid",
			errorElement: "em",
			errorPlacement: function(error, element){
				//var label = $("label[for*='" + element.attr('name') + "']").get(0);
				$( ".ui-dialog" ).effect( 'pulsate', {}, 500 );
				$("#step3_status_tag").append(error.append('<br />'));
			},
			debug: true
		});
	}
	
	if ($("#approveStep4").length != 0) {
		$("#approveStep4").validate({
			rules: {
				step4_status_radio: {
					required: true
				},
				step4_reason_id: {
					notzero: true
				}
			},
			messages: {
				step4_status_radio: {
					required: "Please choose approve or reject"
				},
				step4_reason_id: {
					required: "Please choose reason from the dialog list1"
				}
			},
			submitHandler: function(form){
				$(form).ajaxSubmit(ajaxoptions);
			},
			onfocusout: false,
			onkeyup: false,
			onkeypress: false,
			onsubmit: true,
			success: "",
			errorClass: "invalid",
			errorElement: "em",
			errorPlacement: function(error, element){
				//var label = $("label[for*='" + element.attr('name') + "']").get(0);
				$(".ui-dialog").effect('pulsate', {}, 500);
				$("#step4_status_tag").append(error.append('<br />'));
			},
			debug: true
		});
	}
	
	$("button[id^='approveStep']:not(button[id^='approveStep5'])").live('click',function(e){	
		e.preventDefault();
		var id = $(this).parents('form').attr('id');
		$("#"+id).submit();
		
	});
	
	$("button[id^='approveStep5']").live('click',function(){
		//e.preventDefault();
		var id = $(this).parents('form').attr('id');
		
		$("#"+id).ajaxSubmit(ajaxoptions);
		return false;
	});
	
	$("#saveTextDetails").live('click',function(e){
		e.preventDefault();	
		//debuglog('submit');
		if($("#saveImageTexts").length != 0){
			$("#saveImageTexts").submit();
		}
		else if( $("#editStep2Form").length !=0){
			$("#editStep2Form").submit();
		}
	});
	
	$("button#saveLicenseDetails").live('click',function(e){
		e.preventDefault();	
		$("#imageLicenseEdit").ajaxSubmit(ajaxoptions);
	});
	
	$("button#imageQuality").live('click',function(e){
		e.preventDefault();
		$("#imageQualityForm").ajaxSubmit(ajaxoptions);
	});
	
	if ($("#approveStep3").length != 0) {
		$("input[name$='_type_radio']").live('click', function(){
			var $form = $(this).parents('form');
			
			if ($(this).val() == 1) {
			
				$("#question7").removeClass('ui-helper-hidden');
			}
			else {
				$('#license_usage_radio_1').attr('checked', true).data('button').refresh();
				$("#question7").addClass('ui-helper-hidden');
			}
		});
		
		$("[name$='_status_radio']").each(function(i, obj){
			if ($(obj).hasClass("checked")) {
			
			}
			else {
				$(obj).attr('checked', false);
				$(".buttonset").buttonset('refresh');
			}
		});
		
		$("input[name$='_status_radio']").each(function(i, obj){
			var $form = $(obj).parents('form');
			var patt = /\d+/;
			var name = $(obj).attr('name');
			var step = patt.exec(name);
			
			if ($("input.checked", $form).length != 0) {
				//$("#approveStep"+step+"Submit",$form).removeClass('ui-helper-hidden');
				//$(".nextTab",$form).addClass('ui-helper-hidden');
				if ($(obj).hasClass('checked')) {
					if ($(obj).val() == 1) {
						if ($('#presets_dialog').dialog("isOpen")) {
							$('#presets_dialog').dialog('close');
						}
					}
					else {
						getReason($("[name='step" + step + "_reason_id']").val(), $form);
					}
				}
			}
			else {
			}
		});
		
		$("input[name$='_status_radio']").live('click', function(){
			var $form = $(this).parents("form");
			var patt = /\d+/;
			var name = $(this).attr('name');
			var step = patt.exec(name);
			$("[name$='_saved']", $form).val(0);
			
			$(".nextTab", $form).parent().addClass('ui-helper-hidden');
			
			$(".saved", $form).fadeOut(100, function(){
				$(this).remove();
			});
			$("#step" + step + "_status_tag").empty();
			$("input[name='step" + step + "_status']", $form).val($(this).val());
			
			if ($(this).val() == 1) {
				if ($('#presets_dialog').dialog("isOpen")) {
					$('#presets_dialog').dialog('close');
				}
				$("[name='step" + step + "_reason_id']", $form).val(0);
				$('.reasonButtons').addClass('ui-helper-hidden');
			}
			else {
				$('.reasonButtons').removeClass('ui-helper-hidden');
			}
			
			$("[name='step" + step + "_status']", $form).val($(this).val());
			
			$("#approveStep" + step + "Submit", $form).parent().removeClass('ui-helper-hidden');
			$(".nextTab", $form).parent().addClass('ui-helper-hidden');
			$(".lastTab", $form).parent().addClass('ui-helper-hidden');
		});
	}
	
	$(".new_reason").live('click',function(e){
		e.preventDefault();
		var $form = $(this).parents("form");
		if( $(".reasonBlock", $form).is(':visible') ){
			$(".reasonBlock", $form).slideUp(200).addClass('ui-helper-hidden');
		}else{	
			$(".reasonBlock", $form).hide().removeClass('ui-helper-hidden').slideDown(200);
		}
		$(".reasonBlock", $form).find('textarea').val('');
	});	
	
	$(".load_reason" ).live('click',function(e){
		e.preventDefault();
		loadReason( $(this) );	
	});
	
	$('.save_reason').live('click',function(e){
        e.preventDefault();
		saveReason( $(this) );	
    });
	
	$('.reason-link a.select-reason').live('click',function(e){
        e.preventDefault();
        
		var data = $(this).parent().metadata({
           type: 'attr',
           name: 'jdata'
       });
				
		var $form = $("#approveStep"+data.step);

        $( "[name$='_reason_id']",$form ).val(data.id);
		
		$( "[id$='_status_tag'] .ui-base-error",$form ).remove();
        $( "[id$='_status_tag']",$form ).append('<div class="ui-state-error ui-corner-all ui-base-error"><p ><span  class="ui-icon ui-icon-alert"></span>'+data.text.replace(/&quot;/g,'"').replace(/&#039;/g,"'")+'</p></div>');
		
		$( "[name$='_saved']",$form ).val(0);
		
		$( "[id$='Submit']" ,$form).parent().removeClass('ui-helper-hidden');
		
		$( ".nextTab", $form).addClass('ui-helper-hidden');
		$( ".saved",$form ).fadeOut(100,function(){ $(this).remove(); });
		
		if( $('#presets_dialog').dialog("isOpen") ){
            $('#presets_dialog').dialog('close');
        }
		
		$( ".reasonBlock", $form).slideUp(200).addClass('ui-helper-hidden');
    });
	
    $('.reason-link a.delete-reason').live('click',function(e){
		e.preventDefault();
        var $active_reason = $(this).parent();
        var functionToCall = deleteReason;
        deleteConfirmation(functionToCall, $active_reason );
    });
	
	$(".nextTab" , $("#approveSteps")).live('click',function(e){
		e.preventDefault();
		var $tabs = $(this).parents("div[id$='Steps']");	
		nextTab($tabs);
	});
	$(".prevTab", $("#approveSteps")).live('click',function(e){
		e.preventDefault();
		var $tabs = $(this).parents("div[id$='Steps']");	
		prevTab($tabs);
	});
	$(".lastTab", $("#approveSteps")).live('click',function(e){
		e.preventDefault();
		var $tabs = $(this).parents("div[id$='Steps']");	
		lastTab($tabs);
	});
	$(".firstTab", $("#approveSteps")).live('click',function(e){
		e.preventDefault();
		var $tabs = $(this).parents("div[id$='Steps']");	
		firstTab($tabs);
	});
	
	$('#list4Approve').livequery( function(){ 
		var $list = $(this);
		$list.removeClass('grid');
        var new_location = "/"+labels.lang+"/approve-list.html";
		
		
		var pendingPreload = new Array();
        $.each( $('#list4Approve img'), function(i,val){
            pendingPreload[i] = $(val).attr('src');
        });
		
        $.loadImages(pendingPreload, function(){
            $.each( $('#list4Approve img'), function(i,val){
                $(val)
				.imagetool({
					viewportWidth: 24,
					viewportHeight: 24,
					allowPan: false,
					allowZoom: false,
					loading: "/images/ajax-loader.gif"
				})
				.fadeIn(300)
				.tipsy({
					title: function(){
						return '<img src="' + $(val).attr('src') + '" />';
					},
					html: true,
					opacity: 1,
					gravity: 'e'
				});
            });
        });
		
		$list
		.ajaxStart(function(){
			$(this).fadeOut(100);
		})
		.ajaxStop(function(){
			
	            $.each( $('#list4Approve img'), function(i,val){
	                $(val)
					.imagetool({
						viewportWidth: 24,
						viewportHeight: 24,
						allowPan: false,
						allowZoom: false,
						loading: "/images/ajax-loader.gif"
					})
					.fadeIn(300)
					.tipsy({
						title: function(){
							return '<img src="' + $(val).attr('src') + '" />';
						},
						html: true,
						opacity: 1,
						gravity: 'e'
					});
	            });
	       
			$(this).fadeIn(500);
		});
		
        $list.dataTable({
			"bJQueryUI": true,
            "bFilter": false,
			"bProcessing": true,
			"bServerSide": true,
			"iDisplayLength":5,
			"sPaginationType": "full_numbers",
			"sAjaxSource": new_location,
			"fnServerData": function ( sSource, aoData, fnCallback ) {
				aoData.push( { "name": "ajax", "value": "2" } );
				aoData.push( { "name": "dataTables", "value": "1" } );
				$.ajax( {
					"dataType": 'json', 
					"type": "POST", 
					"url": sSource, 
					"data": aoData, 
					"success": fnCallback
				});
			},
			"aoColumns": [
                            {	"bSortable": false, 
								"sClass": "no-padding image-cell center",
								"fnRender": function(obj){
									var sReturn = obj.aData[ obj.iDataColumn ];
									sReturn = '<img src="/gallery/small/'+sReturn+'" style="display:none;" />';
									return sReturn;
								}
							},
                            {	"sClass":"header-id",
								"sWidth":"15%"
							},
                            {"sWidth":"20%"},
                            {
								"fnRender": function(obj){
										var sReturn = '';
										var user_name = obj.aData[obj.iDataColumn];
										var user_id = obj.aData[obj.iDataColumn+1];
										sReturn = '<a href="/'+labels.lang+'/profile/'+stripText(user_name)+'-'+user_id+'.html" >' + user_name + '</a>';
										return sReturn;
									}
							}, 
							{
								"bVisible":false
							},
                            {	"sWidth":"10%"	},
							{
								"fnRender": function(obj){
										var sReturn = '';
										
										if(obj.aData[obj.iDataColumn]=='1') {
											
											sReturn = 'Creative';
										}else if(obj.aData[obj.iDataColumn]=='0'){
											sReturn = 'Editorial';
										}
										else{
											sReturn = 'N/A';
										}
										return sReturn;
									}
							},
							{
								"fnRender": function(obj){
										var sReturn = '';
										//debuglog(obj.aData[obj.iDataColumn]);
										if(obj.aData[obj.iDataColumn]=='1') {
											
											sReturn = 'RM';
										}else if(obj.aData[obj.iDataColumn]=='0'){
											sReturn = 'RF';
										}
										else{
											sReturn = 'N/A';
										}
										return sReturn;
									}
							},
							{"sWidth":"2%"},
							{	"bSortable": false,"sWidth":"2%",
								"fnRender": function(obj){
									var sReturn = obj.aData[ obj.iDataColumn ];
									
									sReturn = '<a href="/'+labels.lang+'/approve-process/image-'+sReturn+'.html" class="tooltip-sw right jqButtonReview" id="pending'+sReturn+'" >Process</a>';
									return sReturn;
								}
							}
                        ],
						"aaSorting": [[ 2, "desc" ]]
        });

    });
});
