///////////////////////////////////////////////////   
var curr_img_num = 0;
var display_img_url = new Array();
var image_url_m = new Array();

function img_display_init() {
	img_load_count = 0;
	curr_img_num = 1;
}

function img_display_load(url_o, url_m) {
	display_img_url[img_load_count] = url_o; 	
	image_url_m[img_load_count] = url_m; 	
	img_load_count++;
}

function switch_image() {
	$("app_image").src = image_url_m[curr_img_num-1] 
 	$("img_num").innerHTML = curr_img_num;

 	if (curr_img_num == 1) {
 		$('img_enlarge').style.display = 'none';
 	} else {
 		$('img_enlarge').style.display = 'block';
 	}
	
}
function next_image() {
//	alert("next_image");
	if (curr_img_num < image_url_m.length) {
		curr_img_num++;
	} else {
		curr_img_num = 1;
	}
	switch_image();
}
function last_image() {
	if (curr_img_num > 1) {
		curr_img_num--;
	} else {
		curr_img_num = image_url_m.length;
	}
	switch_image();
}

function image_click() {
//	new_win=window.open(display_img_url[curr_img_num-1], 'AppImage','height=300,width=300');
//	if (window.focus) {new_win.focus()}
	location.href = display_img_url[curr_img_num-1];
}


//////////////////////////////////////////////////////////
function offerReview(appname, review_url) {
	ok = confirm('Do you want to review ' + appname + '?')
	if (ok) location.href = review_url;
	return false;
}

//////////////////////////////////////////////////////////
tabSeljs = "desc";
function switchTab(tab, app_id, ajx_price_url, ajx_rank_url) {

    // update tabs
    var aTab = $("appTab");
    var prTab = $("priceTab");
    
    // change content
    var aCard = $("appCard");
    var prCard = $("priceCard");

    if (tab==1) {
    	tabSeljs = "desc";
    	
        aTab.className = "selectedTab";  
        if (prTab) prTab.className = "unselectedTab";
        
        aCard.style.display = "block";
        if (prTab) prCard.style.display = "none";

    } else if (tab==5) {
    	tabSeljs = "hist";
    	
        aTab.className = "unselectedTab";
        if (prTab) prTab.className = "selectedTab";  
        
        aCard.style.display = "none";
        if (prTab) prCard.style.display = "block";

    	// special case: trigger history chart generation
    	generate_price_chart(app_id, ajx_price_url)
    	generate_ranking_chart(app_id, ajx_rank_url)
    }
}

//////////////////////////////////////////////////////////
function chg_comment_sort(selector, url) {
	sort = selector.options[selector.selectedIndex].value;
	full_url = url + '?tab=' + escape(tabSeljs) + '&sort=' + escape(sort)
	location.href = full_url;
}

//////////////////////////////////////////////////////////
var ajx_req_pr;

function generate_price_chart(app_id, ajx_url) {
	ajx_req_pr = getXMLHttpReq(); 
	if (ajx_req_pr == null) {
		alert('browser does not allow Ajax, chart cannot be generated');
		return; // no can do
	}
	ajx_req_pr.open("GET", ajx_url, true);
	ajx_req_pr.onreadystatechange = process_chart_response;
	ajx_req_pr.send("");
}

function process_chart_response() {
    if (ajx_req_pr.readyState == 4) {
        if (ajx_req_pr.status == 200) {
        	$('price_chart').innerHTML = ajx_req_pr.responseText;
        } else {
        	$('price_chart').innerHTML = 
        		"There was a problem retrieving the chart:<br /><em>" + ajx_req_pr.statusText + "</em><br />";
        }
    }
}

//////////////////////////////////////////////////////////
var ajx_req_rnk;

function generate_ranking_chart(app_id, ajx_url) {
	ajx_req_rnk = getXMLHttpReq(); 
	if (ajx_req_rnk == null) {
		alert('browser does not allow Ajax, chart cannot be generated');
		return; // no can do
	}
	ajx_req_rnk.open("GET", ajx_url, true);
	ajx_req_rnk.onreadystatechange = process_rchart_response;
	ajx_req_rnk.send("");
}

function process_rchart_response() {
    if (ajx_req_rnk.readyState == 4) {
        if (ajx_req_rnk.status == 200) {
        	$('ranking_chart').innerHTML = ajx_req_rnk.responseText;
        } else {
        	$('ranking_chart').innerHTML = 
        		"There was a problem retrieving the chart:<br /><em>" + ajx_req_rnk.statusText + "</em><br />";
        }
    }
}

//////////////////////////////////////////////////////////
var ajx_req_v;
function commentVote(item_id, vote, ajx_url) {
	// send async (ajax) vote back to server
	ajx_req_v = getXMLHttpReq(); 
	if (ajx_req_v == null) {
		alert('browser does not allow Ajax, vote cannot be counted');
		return; // no can do
	}
	
	ajx_req_v.open("GET", ajx_url + '?vote=' + escape(vote), true);
	$('cvote'+item_id).innerHTML = "Thank you";
}

//////////////////////////////////////////////////////////
		
