function getName(s) {
var d = s.lastIndexOf('.');
return s.substring(s.lastIndexOf('/') + 1, d < 0 ? s.length : d);
}

function changeContent() {
	var x=document.getElementById('myTable').rows[0].cells;
	x[1].innerHTML="hallo";
}


function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
}

Array.prototype.in_array = function(needle){
        for(var i=0; i<this.length; i++){
            if(needle===this[i])
                return true
        }
        return false;
    }

function needle(item,arr) {
	for(p=0; p<arr.length;p++) if (item == arr[p]) return true;
	return false;
}

function add(content) {
      var table = document.getElementById("table_review");
      var tr = table.insertRow(-1);
	  var td = tr.insertCell(-1);

      //tr.insertCell(-1).appendChild(document.createTextNode("1"));
	  td.innerHTML = content;
      //var b = td.appendChild(document.createElement("b"));
      //b.appendChild(document.createTextNode("1234567"));
}
	

	

function remove() {
      var table_review = document.getElementById("table_review");
      if (table_review.rows.length > 1)
        table_review.deleteRow(1);
}

// removes all rows except table header
function remove_rows() { 
      var table = document.getElementById("table_review");
      //or use : var table = document.all.tableid;    
      for (var i = table.rows.length - 1; i > 0; i--) {
      	table.deleteRow(i);
      }
}



function order_columns() { // values from array_push $review_table; if the same index names then just $sortby would be sufficient

	// highlight active thead
	for (t=0; t<sortby_value2.length; t++) { 
	//table.appendChild(document.createTextNode('sortby_value[' + i + ']= ' + sortby_value[i] + '\n'  ));
		thead = document.getElementById(sortby_value2[t]); thead.className='nothing';
	}
		//table.appendChild(document.createTextNode('sortby_value[' + i + ']= ' + sortby_value[i] + '\n'  ));

 	thead = document.getElementById(sortby);
	thead.className = "highlight"; 

	var img_src = getName( thead.getElementsByTagName("img")[0].src);
			
	//if (order == "DESC") { img_source = '/resources/images/buttons/down.gif'; } 
	//else { img_source = '/resources/images/buttons/up.gif'; }
			
			
					


	switch (sortby) {
		case "casino":
			(order == "DESC") ? review_table.sort( function(a,b){ var x = a.casino.toLowerCase(); var y = b.casino.toLowerCase(); return ((x< y) ? -1 : 1);} )  :
			review_table.sort( function(b,a){ var x = a.casino.toLowerCase(); var y = b.casino.toLowerCase(); return ((x < y) ? -1 : 1);} );
			break;
		case "first_deposit":
			(order == "DESC") ? review_table.sort( function(a,b){ return a['first_deposit']-b['first_deposit'] } ) :
			review_table.sort( function(b,a){ return a['first_deposit']-b['first_deposit'] } );
			break;
		case "max_bonus":
			(order == "DESC") ? review_table.sort( function(a,b){ return a['max_bonus']-b['max_bonus'];} ) :
			review_table.sort( function(a,b){return b['max_bonus']-a['max_bonus'];} );
			break;
		case "software":
			(order == "DESC") ? review_table.sort( function(a,b){ var x = a.software.toLowerCase(); var y = b.software.toLowerCase(); return ((x < y) ? -1 : 1);} ) :
			review_table.sort( function(a,b){ var x = a.software.toLowerCase(); var y = b.software.toLowerCase(); return ((x < y) ? 1 : -1);} );
			break;
		default:
	}
	
	if (img_src == "up") { img_source = '/resources/images/buttons/down.gif'; order="ASC"; img_title="Descending Order";}
			else { img_source = '/resources/images/buttons/up.gif';	order="DESC"; img_title="Ascending Order";}
			thead.getElementsByTagName("img")[0].src = img_source;	
			thead.getElementsByTagName("img")[0].title = img_title;	
	pag_casino_review();
}














function pag_casino_review() {
	
	remove_rows();

	//so_clearInnerHTML(document.getElementById("table_review"));
	so_clearInnerHTML(document.getElementById("paglinks"));

	// if current page is greater than total pages...
	if (thispage2 > totalpages2) {
		thispage2 = totalpages2; // set current page to last page
		} // end if
	// if current page is less than first page...
	if (thispage2 < 1) {
		thispage2 = 1; // set current page to first page
		} // end if

	// the offset2 of the list, based on current page 
	offset2 = (thispage2 - 1) * rowsperpage2;

	//table = document.createElement("table");
	//table.setAttribute("id",'table_commments'); 
	//document.getElementById("TableDiv").appendChild(table);

	table = document.getElementById("table_review");
	//document.getElementById("table_casino_menu").style.height = "380px";
	//table.style.width="165px";
	
	//table.appendChild(document.createTextNode('lenght= ' + sortby_value2.length + '\n'));
	//table.appendChild(document.createTextNode('review_table['+i+'][casino]= ' + review_table[i]['casino'] + '\n'));
	//table.appendChild(document.createTextNode('sortby= ' + sortby + '\n'  ));
	

	
for (var i=offset2; ((i < offset2+rowsperpage2) && (i < numrows2)); i++) {
		
	var tr_style = tr_style == ro1 ? ro2 : ro1; // tr backgroundcolor alternating	
	tr = table.insertRow(-1);
	tr.style.backgroundColor = tr_style; // set TR background color

      //tr.insertCell(-1).appendChild(document.createTextNode("i= " + i));
	  //td.innerHTML = content;

	//tr.id ='TR'+ID;
	
	// create <TD> elements 
	for (var z=0; z < col; z++) {
		td = tr.insertCell(-1);	
		//td.style.borderTop='1px dotted';
		td.style.textAlign = "left";
	
		switch (sortby_value[z]) {
			//case "Info":
			//links = document.createElement("a"); 
			//links.setAttribute("href",'/reviews/casino-info-page.php?ID=' + review_table[i]['id'] + '&casino=' + review_table[i]['casino']);
			//links.title ="Review " + review_table[i]['casino'];
					//links.onclick = "thispage2=nextpage; payment_menu; return false"; 		
			//info_button = new Image(15,15);
			//info_button.src = "/resources/images/buttons/info15x15.gif";
			//links.appendChild(info_button)
			//td.appendChild(links)
			//break;
		
			case "casino":
			var screenshot_url = review_table[i]['casino'].toLowerCase();
			var screenshot_url = str_replace (" ", "_", screenshot_url);	
			textnode = review_table[i]['casino'] + '<img width="70" height="40" style="margin-top:3px;" src="/resources/images/casino_screenshots/small/' + screenshot_url + '.jpg" />';
			
     
			links = document.createElement("a"); 
			//links.setAttribute("href",'http://' + review_table[i]['url']); 
			links.setAttribute("href",'/reviews/casino-info-page.php?ID=' + review_table[i]['id'] + '&casino=' + review_table[i]['casino']);
			links.title ='Visit ' + review_table[i]['casino'];
			links.style.color="red";
			links.style.fontSize="10px";
			td.style.textAlign="center";
		
			spanTag = document.createElement("span");
			spanTag.title="header=[<img src='/resources/images/casino_screenshots/" + screenshot_url + ".jpg' style='vertical-align:middle'>] body=[" + review_table[i]['casino'] + "]";
			spanTag.innerHTML = textnode;
			links.appendChild(spanTag); 
			td.appendChild(links);	
			
			break;

   
	
	
	
			case "first_deposit": 
			if (review_table[i]['first_deposit'].length == 0) {textnode = '-';} //check if fields are empty or zero
			else {
			string = review_table[i]['first_deposit2'];  //additional info fields marked with "2" at the end, ie. "1st deposit2"	| stored in seperate rows. Row "example" --> row "example#"
			((string.charAt(0) == '$') || (string.charAt(0) == '£')) ? string = string.charAt(0) + review_table[i]['first_deposit'] + string.substring(1) : string = review_table[i]['first_deposit'] + string;
			textnode = string;		
			td.innerHTML = textnode;
			}
			break;
			
			case "max_bonus": 
			if (review_table[i]['max_bonus'].length == 0) {textnode = '-';} //check if fields are empty or zero
			else {
			string = review_table[i]['max_bonus2'];  //additional info fields marked with "2" at the end, ie. "1st deposit2"	| stored in seperate rows. Row "example" --> row "example#"
			((string.charAt(0) == '$') || (string.charAt(0) == '£')) ? string = string.charAt(0) + review_table[i]['max_bonus'] + string.substring(1) : string = review_table[i]['max_bonus'] + string;
			textnode = string;		
			td.innerHTML = textnode;
			}
			break;

		
			default:
			var textnode =  review_table[i][sortby_value[z]];
			td.innerHTML = textnode;

		} // switch end
			
			//var textnode =  review_table[i][sortby_value[z]];
		//td = tr.insertCell(-1);
			//td.style.borderTop='1px dotted';
			//td.appendChild(document.createTextNode(textnode));
			//td.innerHTML = textnode;
	}
}
	page_info = document.getElementById("current_page");
	page_info.firstChild.data=(thispage2 + '/' + totalpages2);



 
	/******  build the pagination links ******/
	arrowDiv = document.getElementById("paglinks");

	// if not on page 1, don't show back links
	if (thispage2 > 1) {
		// show << link to go to first page
		spanTag = document.createElement("span");              
		spanTag.className ="bar";        
		links = document.createElement("a"); 
		links.style.marginRight="3px";
		links.setAttribute("href",'javascript:thispage2=1; pag_casino_review(); void(0)'); 
		links.title ="first page";
		spanTag.appendChild(document.createTextNode('<<'));
		links.appendChild(spanTag); 
		arrowDiv.appendChild(links);	
		
		// get previous page num
		prevpage = thispage2 - 1;
		// show < link to go back to 1 page
		spanTag = document.createElement("span");              
		spanTag.className ="bar";        
		links = document.createElement("a"); 
		links.setAttribute("href",'javascript:thispage2=prevpage; pag_casino_review(); void(0)'); // does work with prevp(), but not with payment() - payment is no function ???
		links.title ="previous page";
		//links.onclick = payment_menu;
		//links.onclick = thispage2=prevpage; nextp; // makes thispage2=1 upnon first click

		spanTag.appendChild(document.createTextNode('<'));
		links.appendChild(spanTag); 
		arrowDiv.appendChild(links);
	} // end if


	// range of num links to show
	range = 1;
	// comm_loop to show links to range of pages around current page
	for (x = ((thispage2 - range) - 1); x < ((thispage2 + range)  + 1); x++) {
		// if it's a valid page number...
		if ((x > 0) && (x <= totalpages2)) {
			// if we're on current page...
			if (x == thispage2) {
			// 'highlight' it but don't make a link
			spanTag = document.createElement("span");              
			spanTag.className ="bar";        
			spanTag.style.marginLeft="3px";
			//links.onclick = "thispage2=nextpage; payment; return false"; 
			spanTag.appendChild(document.createTextNode(x));
			spanTag.style.backgroundColor='#FCDC5F';
			spanTag.style.color="black";
			arrowDiv.appendChild(spanTag);

			// if not current page...
			} 
			else {
			// make it a link
			spanTag = document.createElement("span");              
			spanTag.className ="bar";      
			spanTag.appendChild(document.createTextNode(x));
			links = document.createElement("a");
			links.style.marginLeft="3px";
			links.setAttribute("href",'javascript:thispage2='+x+'; pag_casino_review()');			
			links.appendChild(spanTag); 
			arrowDiv.appendChild(links);
			} // end else
		} // end if 
	} // end for

	// if not on last page, show forward and last page links    
	if (thispage2 != totalpages2) {
		// get next page
		nextpage = thispage2 + 1;
		// echo > link for next page 
		spanTag = document.createElement("span");              
		spanTag.className ="bar"; 
		spanTag.appendChild(document.createTextNode('>'));
		links = document.createElement("a"); 
		links.style.marginLeft="3px";
		links.setAttribute("href",'javascript: thispage2=nextpage; pag_casino_review(); void(0)');
		links.title ="next page";
		//links.onclick = "thispage2=nextpage; payment_menu; return false"; 		
		links.appendChild(spanTag); 
		arrowDiv.appendChild(links);
		
		// show >> link to go to last page
		spanTag = document.createElement("span");              
		spanTag.className ="bar";        
		spanTag.appendChild(document.createTextNode('>>'));
		links = document.createElement("a"); 
		links.style.marginLeft="3px";
		links.setAttribute("href",'javascript:thispage2=totalpages2; pag_casino_review(); void(0)'); 
		links.title ="last page";
		links.appendChild(spanTag); 
		arrowDiv.appendChild(links);		
	} // end if                           

}


