/* Main javascript file */

$(document).ready(function () {
	/* Flags */
	$(".flags a").mouseover(function() {
		$(this).addClass("hover");
	}).mouseout(function() {
		$(this).removeClass("hover");
	});
	
	/* Over menu */
	$(".menu_mid a").mouseover(function() {
		$(this).addClass("hover");
	}).mouseout(function() {
		$(this).removeClass("hover");
	}).click(function(index) {
		if (!(($(this).attr("class")=="active hover")||($(this).attr("class")=="hover active"))) {
	
			$(".menu_mid a, .register").removeClass("active");
			$(this).addClass("active");
			var whereto = "."+$(this).attr("goto");
	
			$(".conteudoPrincipal div[activo=sim]").hide("fast");
			$(whereto).show("fast").attr("activo","sim");
	
			if ($(this).attr("goto")=="conteudoContactos")
				initialize();
			else
				$("#map_canvas").html("");
			
		}
	
	});
	
	/* Over menu login */
	$(".login").mouseover(function() {
		$(this).addClass("hover");
	}).mouseout(function() {
		$(this).removeClass("hover");
	}).click(function() {
		if ($(".dropLoginForm").css("display")=="none") {
			$(this).addClass("active");
			$(".dropLoginForm").slideDown("fast");
			if ($('#form_affiliate').length)
				$("#link_register").removeClass("active");
		} else {
			$(this).removeClass("active");
			$(".dropLoginForm").slideUp("fast");
			$.validationEngine.closePrompt("#client_user");
			$.validationEngine.closePrompt("#client_pass");
			if ($('#form_affiliate').length)
				$("#link_register").addClass("active");
		}
	});
	
	$(".register").mouseover(function() {
		$(this).addClass("hover");
	}).mouseout(function() {
		$(this).removeClass("hover");
	}).click(function() {
		if (!(($(this).attr("class")=="register active hover")||($(this).attr("class")=="register hover active"))) {
	
			$(".menu_mid a, .register").removeClass("active");
			$(this).addClass("active");
			var whereto = "."+$(this).attr("goto");
	
			$(".conteudoPrincipal div[activo=sim]").hide("fast");
			$(whereto).show("fast").attr("activo","sim");
	
			if ($(this).attr("goto")=="conteudoContactos")
				initialize();
			else
				$("#map_canvas").html("");
			
		}
	});
	

	$(".homeNewsVertCont").height($(".homeNewsBoxs").outerHeight());
	$(".platform").height($(".platform").outerHeight()+($(".homeNews").height()-$(".homeContRight").height()));

	/* Campaign criterium */
	$(".campaignsSearchOneMid div").click(function() {
		if ($(this).parent().parent().parent().attr("class") == "campaignsSearchHoldEach") {
			$(".campaignsSearchHoldEach.active .campaignsSearchOneCont").slideUp("slow");
			$(".campaignsSearchHoldEach.active").removeClass("active");
			$(this).parent().parent().next().slideDown("slow");
			$(this).parent().parent().parent().addClass("active");
		} else {
			$(this).parent().parent().next().slideUp("slow");
			$(this).parent().parent().parent().removeClass("active");
		}
	});
	
	$(".campaignsSearchOneCont div").click(function(index) {
		if ($(this).attr("class")=="active") {
			$(this).children("input").attr("checked","");
			$(this).removeClass("active");
			criterium (this);
		} else {
			$(this).children("input").attr("checked","checked");
			$(this).addClass("active");
			criterium (this);
		}

		/* Search auto submit */
		search();
	});
	
	/* Dropdowns */
	$(".drop_menu").click(function (event) {
		if ($(this).children(0).is(":hidden")) {
			isto = this;
			$(".drop_menu div").hide();
			$(isto).children(0).slideDown("fast",function() {
				$(".drop_menu").parent().css("zIndex","3000");
				$(".drop_menu").css({'zIndex' : '3000', 'position' : 'absolute'});
				$(".drop_menu").children(0).css("zIndex","3000");
				$(isto).parent().css("zIndex","3000");
				$(isto).css({'zIndex' : '3000', 'position' : 'absolute', 'marginTop' : '0'});
				$(isto).children(0).css("zIndex","3000");
			});
		} else {
			$(this).children("div").slideUp("fast");
		}
		event.stopPropagation();
	});
	
	$("html").click(function() {
		$(".drop_menu").children("div").slideUp("fast");
	});
	
	$(".drop_menu div").click(function () {
		$(this).parent().children("span").text($(this).text());
		//$(this).parent().css("backgroundColor","#FEFF99");
		$(".text_box_4").attr("value",$(this).attr("value"));
	});

	/* Dropdown with scroll */
	$("#dropdown_country").msDropDown();
	//$("#dropdown_countryA").msDropDown();
        $("#dropdown_theme1").msDropDown();
        $("#dropdown_theme2").msDropDown();
        $("#dropdown_theme0").msDropDown();
	
	/* Details */
	$(".campaignsResultsButtons .btn").mouseover(function() {
		$(this).removeClass("btnCinza");
		$(this).addClass("btnVerde");
	}).mouseout(function() {
		$(this).removeClass("btnVerde");
		$(this).addClass("btnCinza");
	});
	
	$(".campaignsResultsOne").hover(function(){
		$(this).addClass("active");
	},function(){
		$(this).removeClass("active");
	});
	
	/* Buttons */
	$(".btn[goto], .texto2 a").click(function() {
		btnLink(this);
	});

	/* Logo url */
	$("div.logo").click( function() {
	    window.location = $(this).attr("url");
	});

	/* Fancybox: lightbox campaign */
	$("a.lightbox_campaign").fancybox({
		'titleShow':			false,
		'overlayOpacity':		0.7,
		'overlayColor':			'#000',
		'hideOnContentClick':	true,
		'scrolling':			'no',
        'autoDimensions':		false,
        'width':				'auto',
        'height':				'auto',
		'padding':				0
	});
	
	/* Fancybox: lightbox post - NOT implemented at the moment */
	// $("a#lightbox_post").fancybox({
		// 'titleShow':			false,
		// 'overlayOpacity':		0.7,
		// 'overlayColor':			'#000',
		// 'hideOnContentClick':	false,
		// 'scrolling':			'yes',
        // 'autoDimensions':		false,
        // 'width':				'auto',
        // 'height':				'auto',
		// 'padding':				0
	// });
	
	/* Carousel */
	jQuery('#campaign_carousel').jcarousel({
		scroll: 4 
	});
	
	/* Counters */
	counters();
	
	/* Forms validation */
	$("#form_login").validationEngine({
		scroll:	false
	});
	
	if($('#form_contacts').length) {
		/* Google map */
		initialize_google_map();

		$("#form_contacts").validationEngine({
			promptPosition: "centerRight",
			scroll:	false,
			success: function() {sendRequest('contact');}
		});
	}

	if($('#form_affiliate').length) {
		$("#form_affiliate").validationEngine({
			scroll:	false,
			success: function() {sendRequest('affiliate');}
		});
	}
        $('#tabs').tabs();
	$('.tooltip').tooltip({
		bordercolor: '#000000', // tooltip border color
		bgcolor: '#F7F6F0', //Tooltip background color
		fontcolor : '#000000', //Tooltip Font color
		fontsize : '10px' // Tooltip font size
	});
        $('input').checkBox();
        if ($.getQueryParam("type") == 1)
            $('#tabs').tabs({ selected: 0 });
        if ($.getQueryParam("type") == 2)
            $('#tabs').tabs({ selected: 1 });
});

function criterium (isto) {

	var texto = "";

	$(isto).parent().children("div").each(function() {
		if ($(this).attr("class")=="active") {
			if (texto=="")
				texto += $(this).text();
			else
				texto += "-"+$(this).text();
		}
	});

	$(isto).parent().prev().children(".campaignsSearchOneMid").children("span").text(texto);
};


function btnLink (isto) {
	$(".menu_mid a, .register").removeClass("active");
	$(".menu_mid a[goto="+$(isto).attr('goto')+"]").addClass("active");
	var whereto = "."+$(isto).attr("goto");

	$(".conteudoPrincipal div[activo=sim]").hide("fast");
	$(whereto).show("fast").attr("activo","sim");

	if ($(isto).attr("goto")=="conteudoContactos")
		initialize();
	else
		$("#map_canvas").html("");
};

function sendRequest(request) {
	var url = '';
	switch (request) {
		case 'contact':
			var data = {
				req:	request,
				name:	$('#name').val(),
				email:	$('#email').val(),
				subject:$('#subject').val(),
				message:$('#message').val()
			}
			url = 'contacts.ini.php';
			break;

		case 'affiliate':
                        var values = new Array();
                        $.each($("input[name='traffic[]']:checked"), function() {
                          values.push($(this).val());
                        });
			var data = {
				req:		request,
				first_name:	$('#first_name').val(),
				last_name:	$('#last_name').val(),
				email:		$('#email').val(),
				company:	$('#company').val(),
                                phone:          $('#phone').val(),
				country:	$('#dropdown_country').val(),
				url_1: 		$('#url_1').val(),
				url_2: 		$('#url_2').val(),
				url_0: 		$('#url_0').val(),
				skype: 		$('#skype').val(),
				msn: 		$('#msn').val(),
				gtalk: 		$('#gtalk').val(),
                                sel_tab:        $('#sel_tab').val(),
                                urlPV_0: 	$('#urlPV_0').val(),
				urlPV_1: 	$('#urlPV_1').val(),
				urlPV_2: 	$('#urlPV_2').val(),
                                theme1: 	$('#dropdown_theme1').val(),
				theme2: 	$('#dropdown_theme2').val(),
				theme0: 	$('#dropdown_theme0').val(),
                                DB_size: 	$('#DB_size').val(),
				segm:           $("#form_affiliate input[type='radio']:checked").val(),
				onetwork: 	$('#onetwork').val(),
                                fee:            $('#fee').val(),
                                traffic:        values,
                                name:           $('#name').val(),
                                contact_name:	$('#contact_name').val(),
				address:	$('#address').val(),
				contact_email:	$('#contact_email').val(),
				postal_code:	$('#postal_code').val(),
                                city:           $('#city').val(),
                                fax:            $('#fax').val()
			}
			var iframe_url	= 'http://network.actualtrade.eu/conv.php?cpnid=24335b55f4f9af75396b2d4684d76db3&arg=' + $('#email').val() + '&argmon=YYY';			
			url = 'affiliate.ini.php';
                        $('#form_affiliate').get(0).reset();
			break;
	}

	jQuery.ajax({
		type: "GET",
		url: url,
		data: data,
		success: function(data){
			switch(request) {
				case 'affiliate':
					$('iframe#conv_code').attr('src', iframe_url);
					break;
			}

                        if ((typeof data != 'undefined') && (data)) {

			/* Fancybox: lightbox message */
                            jQuery("#fancybox-outer").addClass('fancybox_alt');
                            jQuery("#fancybox-close").addClass('fancybox_alt');
                            jQuery("#fancy-bg-e").addClass('fancybox_alt');
                            jQuery("#fancy-bg-ne").addClass('fancybox_alt');
                            jQuery("#fancy-bg-se").addClass('fancybox_alt');
                            jQuery("#fancy-bg-s").addClass('fancybox_alt');
                            jQuery("#fancy-bg-sw").addClass('fancybox_alt');
                            jQuery("#fancy-bg-w").addClass('fancybox_alt');
                            jQuery("#fancy-bg-nw").addClass('fancybox_alt');
                            jQuery("#fancy-bg-n").addClass('fancybox_alt');

                            /* TODO: move this to a main include to all ajax requests */
                            $.fancybox({
                                    'content':				data,
                                    'titleShow':			false,
                                    'overlayOpacity':		0.7,
                                    'overlayColor':			'#000',
                                    'hideOnContentClick':	true,
                                    'scrolling':			'no',
                                    'autoDimensions':		false,
                                    'width':				'auto',
                                    'height':				'auto',
                                    'padding':				0
                            });
                        }
		}
	});
};

function nav(direction, cur, top) {
	var data = '';
	var search = '';
	var offset;
	var url = 'campaigns.ini.php';
	switch(direction) {
		case 'left':
			cur = cur - 1;
			offset = ((cur*5) - 4);
		case 'right':
			offset = ((cur*5) - 4);
			break;
	}
	
	data += "&cur=" + cur + "&" + direction;
	search += "&search" + "&offset=" + offset;
	top = parseInt(top);
	if (cur <= top && cur > 0) {
		$.ajax({
			type: "GET",
			url: url,
			data: data,
			success: function(data){
				$("#nav_top").html(data);
				$("#nav_bottom").html(data);
			
				$.ajax({
					type: "GET",
					url: url,
					data: search,
					success: function(data){
						$("#campaignsResultsCont").html(data);

						/* TODO: move this to a main include to all ajax requests */
						/* Fancybox: lightbox campaign */
						setTimeout(
							function() {
								$("a.lightbox_campaign").fancybox({
									'titleShow':			false,
									'overlayOpacity':		0.7,
									'overlayColor':			'#000',
									'hideOnContentClick':	true,
									'scrolling':			'no',
									'autoDimensions':		false,
									'width':				'auto',
									'height':				'auto',
									'padding':				0
								});
							},
							600
						);
					}
				});
			}
		});
	}
};


function search() {
	var countries	= [];
	var payment		= [];
	var categories	= [];
	
	$("input[name*='search[payment]']:checked").each(function() {
		payment.push($(this).val());
	});
	
	$("input[name*='search[country]']:checked").each(function() {
		countries.push($(this).val());
	});
	
	$("input[name*='search[category]']:checked").each(function() {
		categories.push($(this).val());
	});

	var data = {
		search_full:	true,
		text_search:	$("#search_text").val(),
		payment:		payment,
		countries:		countries,
		categories:		categories
	}

	$.ajax({
		type:	"GET",
		url:	'campaigns.ini.php',
		data:	data,
		success:function(data){
				$("#campaignsResultsCont").html(data);
				/* TODO: move this to a main include to all ajax requests */
				/* Fancybox: lightbox campaign */
				setTimeout(
					function() {
						$("a.lightbox_campaign").fancybox({
							'titleShow':			false,
							'overlayOpacity':		0.7,
							'overlayColor':			'#000',
							'hideOnContentClick':	true,
							'scrolling':			'no',
							'autoDimensions':		false,
							'width':				'auto',
							'height':				'auto',
							'padding':				0
						});
					},
					600
				);

				$.ajax({
					type:	"GET",
					url:	'campaigns.ini.php',
					data:	{search_full_nav: true},
					success:function(data){
						$("#nav_top").html(data);
						$("#nav_bottom").html(data);
					}
				});
		}
	});
};

/* Function to initialize counters */
function counters () {
	$.ajax({
		type:	"GET",
		url:	'counter.ini.php',
		data:	{},
		dataType: 'json',
		success:function(data){
			var prints	= data.prints.split("");
			var leads	= data.leads.split("");
			var posCont	= [-152, -136, -119, -102, -85, -68, -51, -34, -17, 0];
			var d = 0;
			
			/* Add divs do counters if needed */
			if (data.prints.length != $(".prints .contadores_numeros > div").size()) {
				$(".prints .contadores_numeros").empty();
				for (var i=0; i < data.prints.length; i++) {
					$(".prints .contadores_numeros").append('<div p=""><span></span></div>');
				}
			}
			if (data.leads.length != $(".leads .contadores_numeros > div").size()) {
				$(".leads .contadores_numeros").empty();
				for (var i=0; i < data.leads.length; i++) {
					$(".leads .contadores_numeros").append('<div l=""><span></span></div>');
				}
			}

			/* Start animations */
			var d = 0;
			$(".prints .contadores_numeros div").each(function(index){
				if ($(this).attr("p") != data.prints[index]) {
					d += 625;
					$(this).removeAttr("style");
					$(this).animate(
						{backgroundPosition: "(0 "+(posCont[prints[index]]+166*index)+"px)"},
						{duration: d}
					);
					$(this).attr("p", data.prints[index]);
				}
			});

			var d = 0;
			$(".leads .contadores_numeros div").each(function(index){
				if ($(this).attr("l") != data.leads[index]) {
					d += 625;
					$(this).removeAttr("style");
					$(this).animate(
						{backgroundPosition: "(0 "+(posCont[leads[index]]+166*index)+"px)"},
						{duration: d}
					);
					$(this).attr("l", data.leads[index]);
				}
			});
			t = setTimeout(
				"counters()",
				5000
			);
		}
	});
};

function openPopup() {
	 var url = this.href;
	 window.open(url, "popup_id", "scrollbars,resizable,width=600,height=650,menubar=no,status=no,toolbar=no");
	 return false;
}
	
//Get all the elements of the given classname of the given tag.
function getElementsByClassName(classname,tag) {
 if(!tag) tag = "*";
 var anchs =  document.getElementsByTagName(tag);
 var total_anchs = anchs.length;
 var regexp = new RegExp('\\b' + classname + '\\b');
 var class_items = new Array()
 
 for(var i=0;i<total_anchs;i++) { //Go thru all the links seaching for the class name
  var this_item = anchs[i];
  if(regexp.test(this_item.className)) {
   class_items.push(this_item);
  }
 }
 return class_items;
}

/* Function to initialize google map */
function initialize_google_map() {
	var myLatLng = new google.maps.LatLng(38.719079, -9.144032);
	var myOptions = {
		zoom:		15,
		center:		myLatLng,
		mapTypeId:	google.maps.MapTypeId.ROADMAP
	}
	var map		= new google.maps.Map(document.getElementById("map_canvas"), myOptions);
	var lang	= $('#language').attr("value");

	switch (lang) {
		case 'PT':
		case 'BR':
			lang = 'PT';
			var dir_text = 'Obter direc&#231;&#245;es';
			break;

		case 'ES':
			var dir_text = 'C&#243;mo llegar';
			break;

		default:
			var dir_text = 'Directions';
			break;
	}
	var htmlWindow = '<div id="content">' +
						'<div id="bodyContent" style="line-height:9px; font-size:11px">' +
							'<img src="img/HF_logosmall.png" width="30px" height="20px" alt="" />&#160;' +
							'<b><span style="font-size:12px">HiFFiciency</span> - Advertising Network</b>' +
							'<p>Av. da Liberdade, 136 - 3&#186;</p>' +
							'<p>1250-146 Lisboa</p>' +
							'<p>Portugal</p>' +
							'<p><br /><a style="color:#56C717; text-decoration:none" href="http://maps.google.com/maps?f=d&z=15&hl=' + lang + '&daddr=Av. da Liberdade, 136 - 3, 1250-146 Lisboa, Portugal" target="_blank">' + dir_text + '</a></p>' +
						'</div>' +
					'</div>';
	var infowindow = new google.maps.InfoWindow({
		content: htmlWindow
	});

	var marker = new google.maps.Marker({
		position:	myLatLng,
		map:		map,
		icon:		'img/favicon.ico',
		title:		"Hifficiency"
	});

	google.maps.event.addListener(marker, 'click', function() {
	  infowindow.open(map,marker);
	});
}

