var gateway = "http://cams.dnxlive.com/webservices/gateway.php";

/* Site defaults */
	var q_current_page = 1;
	var q_category = "Category_ALL";
	var q_size = "small";
	var q_language = []; 
	var show_profile = false;
	var show_search = false;
	var q_age = [];
	var q_sex = [];
	var q_type = [];
	var q_hair = [];
	var q_sign = [];
	var q_cup  = [];
/*  */


function showSearch() {
	if(!show_search) {
		show_search = true;
		$('#ajaxsearch').slideDown(300);
	}
}

function hideSearch() {
	if(show_search) {
		$('#ajaxsearch').slideUp(300);
		show_search = false;
	}
}



function changeCategory(category) {
	// disable all menu items
	$('#Category_MENU div').each(function(index) {
		$(this).removeClass('active');
	});

	// enable the selected item
	$("#" + category).addClass('active');

	q_category = category;
	q_current_page = 1;

	resetLangCheckBoxes();
	resetSearchCheckBoxes();
	resetPageSelect(); 
	hideSearch();
	reload();
} 

function resetPageSelect() {
        $('#Page_MENU div').each(function(index) {
                $(this).removeClass('active');
        });
	$("#Page_ALL").addClass('active');
}


function changePage(page) {
        $('#Page_MENU div').each(function(index) {
                $(this).removeClass('active');
        });

        // enable the selected item
        $("#" + page).addClass('active');


	if(page == "Page_ALL") {
		resetLangCheckBoxes();
		resetSearchCheckBoxes();
		hideSearch();
		hideProfile();
		reload();
	}

	if(page == "Page_LIKE") {
		clearTimeout(interval_ID);
		showFavorites();
		hideSearch();
		hideProfile();
		showTooltips();
		resetSearchCheckBoxes();
	}

	if(page == "Page_SEARCH") {
		showSearch();
		hideProfile();
	}

}



function reload() {

	// basic request, page/category
	request = "func=getCams&current_page=" + q_current_page + "&category=" + q_category + "&size=" + q_size;

	// fetch other page check's
	language = buildString(q_language);
	cup = buildString(q_cup);
	sex = buildString(q_sex);
	age = buildString(q_age);
	type = buildString(q_type);
	hair = buildString(q_hair);
	sign = buildString(q_sign);


	if(language) {
		request = request + "&language=" + language;
	}

        if(sex) {
                request = request + "&sex=" + sex;
        }

        if(cup) {
                request = request + "&cup=" + cup;
        }


	if(age) {
		request = request + "&age=" + age;
	}

	if(type) {
		request = request + "&origin=" + type;
	}

	if(hair) {
		request = request + "&hair=" + hair;
	}

	if(sign) { 
		request = request + "&sign=" + sign;
	}





	fetch(request);

}

function fetch(href) {
	$('#ajaxcontent').html("<img style='padding-top:30px;padding-left:434px' src='" + STATIC_URL +"/images/ajax.gif'/>");
	//$('#PagesSizeWrap').html('');
	$('#PagesSizeFooterWrap').html('');
	 $.getJSON(MY_URL + '/ajax/gateway.php?' + href, function(data) {
		//$('#PagesSizeWrap').html(data.pagination);
		$('#UPPER_PAGINATION').html(data.pagination);
		$('#UPPER_PAGINATION').css('display','block');
		$('#UPPER_PAGINATION').css('float','right');
	
		$('#ajaxcontent').html(data.html);
		$('#PagesSizeFooterWrap').html(data.pagination_bottom);
	});
}

function doPayment(account) {
        // http://cams.dnxlive.com/payment/index.php?service=c15901&ref=1933&mref=1933&language=NL
        url = PAYMENT_URL + "?service=" + account + "&ref=" + DEFAULT_REF + "&mref=" + DEFAULT_MAIN_REF;
        if(ACCESS_TOKEN.length > 1) {
                url = url + "&access_token=" + ACCESS_TOKEN;
        }

	if(PAY_COMFROM.length > 1) {
		url = url + "&comfrom=" + PAY_COMFROM;
	}

        if(PAY_CF2.length > 1) {
                url = url + "&cf2=" + PAY_CF2;
        }


        popupFull(url);
}

function popupFull(url)
{
        params  = 'width=' + screen.width;
        params += ', height='+screen.height;
        params += ', top=0, left=0';
        params += ', fullscreen=yes';
        params += ', resizable=yes';
        params += ', scrollbars=yes';

        newwin=window.open(url,'windowname4', params);
        if (window.focus) {
                newwin.focus();
        }

        return false;
}


function changeSize(size) {
	q_size = size; 
	reload();
}

function gotoPage(page) {
	q_current_page = page;
	reload();
}

function fixCheckBoxes() {
	// popuplate lang array
	
//	$('#HeaderButtonLanguage :checkbox').click(function() { fixCheckBoxes();reload(); }); //fixCheckBoxes($(this).attr('id'));openMenu();hideProfileNOW();reload();});
	q_current_page = 1;
	q_language = [];
	$('#HeaderButtonLanguage input:checked').each(function(i, selected){ 
		q_language[i] = $(selected).attr('value');
	});
	

}


function fixSearchCheckBoxes() {
	q_current_page = 1;
	q_sex = [];
	q_cup = [];
	q_age = [];
	q_type = [];
	q_hair = [];
	q_sign = [];
	
	$('#ajaxsearch input:checked').each(function(i, selected){
		if($(selected).hasClass('sex')) { q_sex[i] = $(selected).attr('value'); }
		if($(selected).hasClass('cup')) { q_cup[i] = $(selected).attr('value'); }
		if($(selected).hasClass('age')) { q_age[i] = $(selected).attr('value'); }
		if($(selected).hasClass('type')) { q_type[i] = $(selected).attr('value'); }
		if($(selected).hasClass('hair')) { q_hair[i] = $(selected).attr('value'); }
		if($(selected).hasClass('sign')) { q_sign[i] = $(selected).attr('value'); }
	});

}


function resetSearchCheckBoxes() {
	$('#ajaxsearch input:checked').each(function(i, selected){
                $(this).attr('checked',false);
        });
	q_sex = [];
	q_cup = [];
	q_age = [];
	q_type = [];
	q_hair = [];
	q_sign = [];

}


function resetLangCheckBoxes() {
	$('#HeaderButtonLanguage input:checked').each(function(i, selected){
		$(this).attr('checked',false);
	});
	q_language = [];
}


function buildString(checkboxes) {

	if(checkboxes.length === 0) {
		return null;
	}

        var txt = "";
	for(i=0; i<checkboxes.length;i++) {
		if(checkboxes[i]) {
                	if(txt == "") {
                        	txt = txt + checkboxes[i];
                	} else {
                        	txt = txt + "-" + checkboxes[i];
                	}
		}
	}
        return txt;
}

function addFavorite(account,name) { 
	$.getJSON(gateway + "?task=addToFavorites&account=" + account + "&jsoncallback=?",
		function(data) {
			//alert('Klik bovenaan op "I Like" om naar je favorieten te gaan kijken');
			//getFavorites();
		});

	// change the icon 
	//id="<tag:MODEL_account />_FAV_ICON"
	$("#" + account + "_FAV_ICON").attr('src',STATIC_URL +"/images/icons/FavDelete.png");
	$("#" + account + "_FAV_HREF").html('Unlike');
	// change from addfavorite to delfavorite
	$("#" + account + "_FAV_HREF").addClass('delfavoritetip').removeClass('addfavoritetip');
	$("#" + account + "_FAV_ICON").addClass('delfavoritetip').removeClass('addfavoritetip');
	$("#" + account + "_FAV_ICON").attr('onClick',"delFavorite('" + account  +"','"+ name +"');return false;");
	$("#" + account + "_FAV_HREF").attr('onClick',"delFavorite('" + account  +"','"+ name +"');return false;");


	$.jGrowl("Je kan " + name + " nu terugvinden bij jouw favorieten. Klik <a style='color:red;cursor:pointer;' onClick=\"changePage('Page_LIKE');\"> hier </a> om er naar toe te gaan");
	showTooltips();

}




function delFavorite(account,name) { 
	// a bit more fancy, hide the account directly
	$('#Favorite_' + account).fadeOut(500);
	$.getJSON(gateway + "?task=removeFromFavorites&account=" + account +
		"&jsoncallback=?", function(data) {
		});

	// change the icon
	$("#" + account + "_FAV_ICON").attr('src',STATIC_URL +"/images/icons/Fav.png");
	$("#" + account + "_FAV_HREF").html('Like');
	$("#" + account + "_FAV_HREF").addClass('addfavoritetip').removeClass('delfavoritetip');
	$("#" + account + "_FAV_ICON").addClass('addfavoritetip').removeClass('delfavoritetip');
	$("#" + account + "_FAV_ICON").attr('onClick',"addFavorite('" + account  +"','"+ name +"');return false;");
	$("#" + account + "_FAV_HREF").attr('onClick',"addFavorite('" + account  +"','"+ name +"');return false;");
	showTooltips();
}


function showProfile(account) {
	var top5 = $('#top5content');
	$.getJSON( MY_URL + "ajax/gateway.php?func=getProfile&account=" + account,function(data) {
			$("#ajaxprofile").html(data.html);
			if(show_profile === false) { 
				$("#ajaxprofile").slideDown(500);
			}

			show_profile = true;
			//var currentHref = window.location.href;
			//window.location.href = currentHref.substr(0, currentHref.lastIndexOf("#")) + "#profile";
			        //if(top5) {
                			//top5.html('');
				//}

	});
}

function hideProfile() {
	if(show_profile == true) {
			$("#ajaxprofile").slideUp(300);
			show_profile = false;
	}

}

function showLikes() {
	$.getJSON(gateway + "?task=getAllPreferences&scope=favorites&jsoncallback=?",
		function(data) {
			if($.isArray(data.favorites)) {
				var favorites = data.favorites;
				for(i=0; i<favorites.length;i++) {
					var favorite = favorites[i];
				        $("#" + favorite + "_FAV_ICON").attr('src',STATIC_URL +"/images/icons/FavDelete.png");
        				$("#" + favorite + "_FAV_HREF").html('Unlike');
        				// change from addfavorite to delfavorite
				        $("#" + favorite + "_FAV_HREF").addClass('delfavoritetip').removeClass('addfavoritetip');
        				$("#" + favorite + "_FAV_ICON").addClass('delfavoritetip').removeClass('addfavoritetip');
        				$("#" + favorite + "_FAV_ICON").attr('onClick',"delFavorite('" + favorite  +"','dit model');return false;");
        				$("#" + favorite + "_FAV_HREF").attr('onClick',"delFavorite('" + favorite  +"','dit model');return false;");
				}	
			}
		});

}


function showFavorites() {
	$('#ajaxcontent').html("<img style='padding-top:30px;padding-left:434px' src='" + STATIC_URL +"/images/ajax.gif'/>");
	$('#PagesSizeFooterWrap').html('');
	$.getJSON(gateway + "?task=getAllPreferences&scope=favorites&jsoncallback=?",
		function(data) {
		if($.isArray(data.favorites)) {
			$.getJSON( MY_URL + "ajax/gateway.php?func=getFavorites&favorites=" + data.favorites,
			function(data) {
				$("#ajaxcontent").html(data.html);
			});
		}
	});
}

function showTooltips() {
        $('.profiletip').tooltip({ bodyHandler: function() { return "Bekijk profiel"; },showURL: false,track: true,delay: 0,fade: 250 });
        $('.addfavoritetip').tooltip({ bodyHandler: function() { return "Voeg toe aan favorieten"; },showURL: false,track: true,delay: 0,fade: 250 });
        $('.delfavoritetip').tooltip({ bodyHandler: function() { return "Verwijder van favorieten"; },showURL: false,track: true,delay: 0,fade: 250 });
}


var interval_ID = setInterval("autoReload();",120000);

function autoReload() { 
reload();
showLikes();
showTooltips();
}


function bookmark() {
 title = "Privecams"; 
 url = "http://www.privecams.nl";
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
}

