<!--
var Abirawa = window.Abirawa || {};

Abirawa.confirmTip = 
{

	//global
	hideDelay: 10000,

	//initialize globals
	panel: null,
	showing: false,
	onTip: false,
	timeout: null,

	showPanel: function(){
		if (!Abirawa.confirmTip.showing) {
			Abirawa.confirmTip.panel.show();
			Abirawa.confirmTip.showing = true;
		}
	},

	hidePanel: function(){
		if (Abirawa.confirmTip.showing) {
			Abirawa.confirmTip.panel.hide();
			Abirawa.confirmTip.showing = false;
			Abirawa.confirmTip.onTip = false;
		}
	},

	isListView: function() {
		if ($(".listView").length) {
			return true;
		} else {
			return false;
		}
	},
	
	trimSummary: function(obj) {
		var maxlength = 120;
		var delim = '&hellip;';
		var str = $(".summary",obj).text();
	
		if(str.length > maxlength){
			var regex = new RegExp('(.{'+maxlength+'}.*?)\\b');
			var matches = str.match(regex);
			trimmedStr = matches[0] + delim;
			return trimmedStr;
		} else {
			return str;
		}
	},
	
	/* 	clone the entity in the grid view 
				reduce summary length to fit
				@input: entity - DOM grid entity
	 */
	populateTip: function(entity, data){
	
		//var summary = Abirawa.confirmTip.trimSummary(entity);
		//$('.entityActions', Abirawa.confirmTip.panel)
		//.empty()
		//.append($('.entityActions li:not(.price)', entity).clone())
		//.append($('.entityActions li.price', entity).clone());
	    //alert("data : "+data);
		$('.tipContent', Abirawa.confirmTip.panel)
		.empty()
		.append('<p class="info"><h4>'+$('.title', entity).html()+'</h4></p>')
		.append('<p class="info">Content Type : '+$('.contenttype', entity).html()+'</p>')
		.append('<p class="info">'+$('.parent', entity).html()+'</p>')
		//.append('<p class="info">'+$('.price', entity).html()+ data +' will be deducted from your GREEN Prepaid card value from this request</p>')
		.append('<p class="info">'+ data +'</p>')
		.append('<a href="javascript:Abirawa.confirmTip.submit(\''+$('.id', entity).html()+'\',\''+$('.categoryid', entity).html()+'\');" class="btn confirm btn-confirm">confirm</a><br><br>')
		//.append('<a href="javascript:Abirawa.confirmTip.submit(\''+$('.urldownload', entity).html()+'\');" class="btn confirm btn-confirm">confirm</a><br><br>')
		.append('<a href="javascript:Abirawa.confirmTip.hidePanel();" class="btn cancel btn-cancel">cancel</a>');
		
		
		
		//.append('<a href="javascript:Abirawa.confirmTip.submit(\''+$('.id', entity).html()+'\',\''+$('.categoryid', entity).html()+'\');" class="btn confirm btn-confirm">confirm</a><br><br>')
		//$('.tipContent', Abirawa.confirmTip.panel)
		//.empty()
		//.append('<p class="info">After you click confirm button, $3 will be deducted from your account...</p>')
		//.append('<a href="javascript:Abirawa.confirmTip.hidePanel();" class="btn cancel btn-cancel">cancel</a>')
		//.append('<a href="javascript:Abirawa.confirmTip.submit('+$('.id', entity).html()+');" class="btn confirm btn-confirm">confirm</a>');
		
		
		//alert($('.id', entity).html());
		//.append($('.entityType', entity).clone())
		//.append($('.rating', entity).clone())
		//.append($('.price', entity).clone())
		//.append($('.version', entity).clone())
		//.append($('.released', entity).clone())
		//.append($('h5', entity).clone())
		//.append('<p class="summary">'+ summary +'</p>');
	
	},
	
	populateSuccessTip: function(entity,data){
		
		$(".tipContent").html(data);
		$('.tipContent', Abirawa.confirmTip.panel)
		//.empty()
		//.append(data)
		.append('<a href="javascript:Abirawa.confirmTip.hidePanel();" class="btn cancel btn-cancel">cancel</a>');
	
	},
	
	/* 	position the tool tip
				@input: thumbPosition - JQuery pos object
	 */
	positionTip: function(thumb){
	
		var containerWidth = thumb.parents('.container_12').width();
	
		var tipWidth = parseInt(Abirawa.confirmTip.panel.width() + 40); //tip width + padding
		var thumbWidth = thumb.width();
		
		var tipYOffset = 5;
		var tipXOffset = thumbWidth;
	
		// adding and removing to reload the shadow in ie
		if(Abirawa.confirmTip.panel.hasClass('tipLeft')){
			Abirawa.confirmTip.panel.removeClass('tipLeft');
			Abirawa.confirmTip.panel.addClass('tipLeft');
		} 
		else {
			Abirawa.confirmTip.panel.addClass('tipLeft');
			Abirawa.confirmTip.panel.removeClass('tipLeft');
		}
	
		var thumbPosition = thumb.position();
		//alert(thumbPosition.top);
		var tipY = thumbPosition.top - tipYOffset;
		var tipX = thumbPosition.left + tipXOffset;
	
		// check that the tip isn't going out of bounds
		if ((tipX + tipWidth) > containerWidth) {
			tipXOffset = tipWidth;
			Abirawa.confirmTip.panel.removeClass('tipLeft');
			Abirawa.confirmTip.panel.addClass('tipLeft');
			tipX = thumbPosition.left - tipXOffset;
		} else {
			Abirawa.confirmTip.panel.addClass('tipLeft');
			Abirawa.confirmTip.panel.removeClass('tipLeft');
		}
	
		Abirawa.confirmTip.panel.css({
			'top': tipY,
			'left': tipX
		});
	},
	
	onOver: function(){
		if (Abirawa.confirmTip.isListView()) {
			return;
		}
		//alert(':o');
		clearTimeout(Abirawa.confirmTip.timeout);
		var obj1 = $(this).parent();
		var obj2 = $(this).parents('td');
		//alert($(this).parents('tr').html());
		//clearTimeout(Abirawa.confirmTip.timeout);
		//alert($(this).parent('li').html());
		Abirawa.confirmTip.onTip = false;
		
		var id = $('.id', obj1).html();
		var cat = $('.categoryid', obj1).html();
		var dataString = "cat="+cat+"&id="+ id;
		$.ajax( {
			type :"GET",
			url :"secure/contentAOC.do",
			data :dataString,
			dataType :"html",
			success :function(data) {
				Abirawa.confirmTip.populateTip(obj1, data);
			},
			error :function(data) {
				//alert('error :'+data);
				Abirawa.confirmTip.hidePanel();
			}
		});
		
		
		Abirawa.confirmTip.positionTip($(this).parents('td'));
		Abirawa.confirmTip.onTip = false;
		var func = function(obj){
			//alert($(obj).parent('li').html());
			clearTimeout(Abirawa.confirmTip.timeout);
			//Abirawa.confirmTip.onTip = false;
			Abirawa.confirmTip.populateTip(obj1);
			Abirawa.confirmTip.positionTip(obj2);
			Abirawa.confirmTip.showPanel();
		}
		//Abirawa.confirmTip.timeout = setTimeout(func, 1000);
		Abirawa.confirmTip.showPanel();
		return false;
	},	
	
	onOut: function(){
		if (Abirawa.confirmTip.showing && !Abirawa.confirmTip.onTip) {
			//Abirawa.confirmTip.timeout = setTimeout("Abirawa.confirmTip.hidePanel()", 500);
		}
	},
	
	onPanelOver: function() {
		if (Abirawa.confirmTip.isListView()) {
			return;
		}
		Abirawa.confirmTip.onTip = true;
		clearTimeout(Abirawa.confirmTip.timeout);
	},
	
	onPanelOut: function() {
		//Abirawa.confirmTip.timeout = setTimeout("Abirawa.confirmTip.hidePanel()", Abirawa.confirmTip.hideDelay);
	},
	
	init: function(){
		$("#confirmPopUp").append('<div id="confirmPanel"></div>');
		Abirawa.confirmTip.panel = $("#confirmPanel");
		Abirawa.confirmTip.panel.append('<div class="tipContent"/>'
				//+'<ul class="entityActions actionsSm"/>'
				
				+'<div class="tip-top-left"/>'
				+'<div class="tip-top-right"/>'
				+'<div class="tip-bottom-left"/>'
				+'<div class="tip-bottom-right"/>'
				+'<div class="tip-v"/>'
				+'<div class="tip-h"/>'
				+'<div class="tip-pointer"/>');
	
		var confirms = $(".trigger");
		
		confirms.click(Abirawa.confirmTip.onOver);
	
		Abirawa.confirmTip.panel.hover(
				Abirawa.confirmTip.onPanelOver,
				Abirawa.confirmTip.onPanelOut
		);
	},
	
	submit: function(id,cat) {
		//Abirawa.confirmTip.hidePanel();
		//window.location = url;

		var obj1 = $(this).parent();
		$('.tipContent', Abirawa.confirmTip.panel)
		.empty()
		.append('<p class="info">Please wait still processing....</p>');
		//Abirawa.confirmTip.showPanel();
		var dataString = "cat="+cat+"&id="+ id;
		$.ajax( {
			type :"GET",
			url :"secure/buyContent.do",
			data :dataString,
			dataType :"html",
			success :function(data) {
				//alert('success : '+data);
				//var obj2 = $(this).parents('td');
				
				Abirawa.confirmTip.populateSuccessTip(obj1, data);
				//Abirawa.confirmTip.positionTip($(this).parent());
				Abirawa.confirmTip.showPanel();
			},
			error :function(data) {
				//alert('error :'+data);
				Abirawa.confirmTip.hidePanel();
			}
		});
	}
}
$(document).ready(function(){
	Abirawa.confirmTip.init();
});

//-->