function ajaxRequest(url, div, padding)
{	
	var url = url;
	var div_content = document.getElementById(div);
	
	div_content.innerHTML = '<div style="padding-top:' + padding + '" align="center"><img src="/images/ajax/loading_bar.gif" width="220" height="19"></div>';
	
	var handleSuccess = function(o){
		if(o.responseText !== undefined){
			div_content.innerHTML = o.responseText; 
		}
	}
	
	var handleFailure = function(o){
		if(o.responseText !== undefined){
			div_content.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
			div_content.innerHTML += "<li>HTTP status: " + o.status + "</li>";
			div_content.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
		}
	}
	
	var callback =
	{
	  success:handleSuccess,
	  failure: handleFailure
	};
	
	
	var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
}

function preloadImages()
{
	if (document.images) 
	{
	   img1 = new Image();
	   img2 = new Image();
	   img3 = new Image();
	   img4 = new Image();
	   img1.src = "http://www.penguinbooks.co.za/images/ratings/star1_on.gif";
	   img2.src = "http://www.penguinbooks.co.za/images/ratings/star0_on.gif";
	   img3.src = "http://www.penguinbooks.co.za/images/ratings/star1_off.gif";
	   img4.src = "http://www.penguinbooks.co.za/images/ratings/star0_off.gif";
	}
}

function resetvote(val, counter)
{
	val = (val*1);
	if (counter == '')
	{
		counter = 0;
	} else {
		counter = (counter*1);
	}
	
	if (val > counter)
	{
		while (counter < val)
		{
			document.getElementById('star'+val).src = 'http://www.penguinbooks.co.za/images/ratings/star'+val%2+'_off.gif';
			val--;
		}
	} else {
		if (val == counter)
		{
			document.getElementById('star'+counter).src = 'http://www.penguinbooks.co.za/images/ratings/star'+val%2+'_on.gif';
		} else {
			while (val <= counter)
			{
				document.getElementById('star'+val).src = 'http://www.penguinbooks.co.za/images/ratings/star'+val%2+'_on.gif';
				val++;
			}
		}
	}
}

function showvote(val, counter)
{	
	val = (val*1);
	if (counter == '')
	{
		counter = 1;
	} else {
		counter = (counter*1);
	}
		if (val > counter)
		{
			while (counter <= val)
			{
				document.getElementById('star'+counter).src = 'http://www.penguinbooks.co.za/images/ratings/star'+counter%2+'_on.gif';
				counter++;
			}
		} else {
			if (val == counter)
			{
				document.getElementById('star'+counter).src = 'http://www.penguinbooks.co.za/images/ratings/star'+counter%2+'_on.gif';
			} else {
				while (counter > val)
				{
					document.getElementById('star'+counter).src = 'http://www.penguinbooks.co.za/images/ratings/star'+counter%2+'_off.gif';
					counter--;
				}	
			}
		}
}

function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length; 
	var txtLength = text.length;
	
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function replaceText(repText)
{
	text = repText;
	text = replace(text,'/','\\');
	text = replace(text,'\\','%5C');
	text = replace(text,'"','%22');
	text = replace(text,'"','%22');
    text = replace(text,'&','%26');
    text = replace(text,'<','%3C');
    text = replace(text,'>','%3E');
    text = replace(text,' ','%A0');
    text = replace(text,'¡','%A1');
    text = replace(text,'¢','%A2');
    text = replace(text,'£','%A3');
    text = replace(text,'¥','%A5');
    text = replace(text,'¦','%A6');
    text = replace(text,'§','%A7');
    text = replace(text,'¨','%A8');
    text = replace(text,'©','%A9');
    text = replace(text,'ª','%AA');
    text = replace(text,'«','%AB');
    text = replace(text,'¬','%AC');
    text = replace(text,'­','%AD');
    text = replace(text,'®','%AE');
    text = replace(text,'¯','%AF');
    text = replace(text,'°','%B0');
    text = replace(text,'±','%B1');
    text = replace(text,'²','%B2');
    text = replace(text,'³','%B3');
    text = replace(text,'´','%B4');
    text = replace(text,'µ','%B5');
    text = replace(text,'¶','%B6');
    text = replace(text,'·','%B7');
    text = replace(text,'¸','%B8');
    text = replace(text,'¹','%B9');
    text = replace(text,'º','%BA');
    text = replace(text,'»','%BB');
    text = replace(text,'¼','%BC');
    text = replace(text,'½','%BD');
    text = replace(text,'¾','%BE');
    text = replace(text,'¿','%BF');
    text = replace(text,'À','%C0');
    text = replace(text,'Á','%C1');
    text = replace(text,'Â','%C2');
    text = replace(text,'Ã','%C3');
    text = replace(text,'Ä','%C4');
    text = replace(text,'Å','%C5');
    text = replace(text,'Æ','%C6');
    text = replace(text,'Ç','%C7');
    text = replace(text,'È','%C8');
    text = replace(text,'É','%C9');
    text = replace(text,'Ê','%CA');
    text = replace(text,'Ë','%CB');
    text = replace(text,'Ì','%CC');
    text = replace(text,'Í','%CD');
    text = replace(text,'Î','%CE');
    text = replace(text,'Ï','%CF');
    text = replace(text,'Ð','%D0');
    text = replace(text,'Ñ','%D1');
    text = replace(text,'Ò','%D2');
    text = replace(text,'Ó','%D3');
    text = replace(text,'Ô','%D4');
    text = replace(text,'Õ','%D5');
    text = replace(text,'Ö','%D6');
    text = replace(text,'×','%D7');
    text = replace(text,'Ø','%D8');
    text = replace(text,'Ù','%D9');
    text = replace(text,'Ú','%DA');
    text = replace(text,'Û','%DB');
    text = replace(text,'Ü','%DC');
    text = replace(text,'Ý','%DD');
    text = replace(text,'Þ','%DE');
    text = replace(text,'ß','%DF');
    text = replace(text,'à','%E0');
    text = replace(text,'á','%E1');
    text = replace(text,'â','%E2');
    text = replace(text,'ã','%E3');
    text = replace(text,'ä','%E4');
    text = replace(text,'å','%E5');
    text = replace(text,'æ','%E6');
    text = replace(text,'ç','%E7');
    text = replace(text,'è','%E8');
    text = replace(text,'é','%E9');
    text = replace(text,'ê','%EA');
    text = replace(text,'ë','%EB');
    text = replace(text,'ì','%EC');
    text = replace(text,'í','%ED');
    text = replace(text,'î','%EE');
    text = replace(text,'ï','%EF');
    text = replace(text,'ð','%F0');
    text = replace(text,'ñ','%F1');
    text = replace(text,'ò','%F2');
    text = replace(text,'ó','%F3');
    text = replace(text,'ô','%F4');
    text = replace(text,'õ','%F5');
    text = replace(text,'ö','%F6');
    text = replace(text,'÷','%F7');
    text = replace(text,'ø','%F8');
    text = replace(text,'ù','%F9');
    text = replace(text,'ú','%FA');
    text = replace(text,'û','%FB');
    text = replace(text,'ü','%FC');
    text = replace(text,'ý','%FD');
    text = replace(text,'þ','%FE');
    text = replace(text,'ÿ','%FF');
	
	return text;
}

function checkForm(href, title, text, authorText)
{
	if (document.getElementById('authorText').value.length == 0)
	{
		alert('Please enter you name or an alias');
		document.getElementById('authorText').select();
		return false;
		exit();
	}
	
	if (document.getElementById('reviewTitle').value.length == 0)
	{
		alert('Please enter a title for your review');
		document.getElementById('reviewTitle').select();
		return false;
		exit();
	}
	
	if (document.getElementById('reviewText').value.length == 0)
	{
		alert('Please enter your review text');
		document.getElementById('reviewText').select();
		return false;
		exit();
	}
	
	repTitle = document.getElementById('reviewTitle').value;
    title = replaceText(repTitle);
	
	repAuthorText = document.getElementById('authorText').value;
    authorText = replaceText(repAuthorText);
	
	repText = document.getElementById('reviewText').value;
    text = replaceText(repText);
	
	location.href=href+'review/'+title+'/'+text+'/'+authorText+'/';
}

function showIt(elem, type)
{
	document.getElementById(elem).style.display = type;
}

function hideIt(elem)
{
	document.getElementById(elem).style.display = "none";
}

function limitText(limitField, limitNum) 
{
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} 
}
