// JavaScript Document


function get_cookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}

function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
{
  var cookie_string = name + "=" + escape ( value );

  if ( exp_y )
  {
    var expires = new Date ( exp_y, exp_m, exp_d );
    cookie_string += "; expires=" + expires.toGMTString();
  }

  if ( path )
        cookie_string += "; path=" + escape ( path );

  if ( domain )
        cookie_string += "; domain=" + escape ( domain );
  
  if ( secure )
        cookie_string += "; secure";
  
  document.cookie = cookie_string;
}

var alreadyAuthed=false;

function auth_using_fb() {   
	if (alreadyAuthed==true){
		//get the users data from FB   
		var viewer  = FB.Facebook.apiClient.fql_query(   
		'SELECT name, pic_square_with_logo, profile_url, uid FROM user WHERE uid='+FB.Facebook.apiClient.get_session().uid,   
		function(results) {   
			loginFbUser(results[0].name, results[0].uid, results[0].pic_square_with_logo);
		}   
		);   
	}  
	alreadyAuthed=true;
}


function setResCookie(resultid){
		var cookie_string = "fetchResults=" + escape (resultid);
		var date = new Date();
		date.setTime(date.getTime()+(1*60*60*1000));
		cookie_string += "; expires=" + date.toGMTString();
		cookie_string += "; domain=qiz.ly";
		document.cookie = cookie_string;			   
}

function loginFbUser(name, uid, picurl) {	
	if(get_cookie('quid') == null){
		set_cookie ("method", "fb", "","","","","qiz.ly");
		set_cookie ("quid", uid, "","","","","qiz.ly");
		set_cookie ("name", name, "","","","","qiz.ly");
		set_cookie ("picurl", picurl, "","","","","qiz.ly");
		document.user_login_form.login_method.value = 'fb';
		document.user_login_form.uid.value = uid;
		document.user_login_form.picurl.value = picurl;
		document.user_login_form.name.value = name;
		$('user_login_form').request({
			 onSuccess: processLoginForm
		})
	} else {
		if(get_cookie('method') == null){
			set_cookie ("method", "fb", "","","","","qiz.ly");
			set_cookie ("quid", uid, "","","","","qiz.ly");
			set_cookie ("name", name, "","","","","qiz.ly");
			set_cookie ("picurl", picurl, "","","","","qiz.ly");
			document.user_login_form.login_method.value = 'fb';
			document.user_login_form.uid.value = uid;
			document.user_login_form.picurl.value = picurl;
			document.user_login_form.name.value = name;
			$('user_login_form').request({
				 onSuccess: processLoginForm
			})
		}
	}
}

function processLoginForm(req){
	$('loggedin').innerHTML =  req.responseText; 
	//FB.Connect.showPermissionDialog("publish_stream");
}

function processSettingForm(setting)
{
	$(setting).request({
	  onSuccess: eval('fetch_' +setting)
	})
}

function fetch_displayname(oReq){
	$('displaybuttondiv').innerHTML = oReq.responseText; 
}

function fetch_emailform(oReq){
	$('emailbuttondiv').innerHTML = oReq.responseText;
}


var origRatingText;
		
function switchStars(star){
	origRatingText = $('ratingText').innerHTML;
	$('ratingText').innerHTML = 'Click to rate ' + star + ' stars'; 
	for(i=1;i<=parseInt(star);i++){
		document.getElementById('star_' + i).src = '/images/star_full.gif';
	}
	if(parseInt(star) < 5){
		var newStar = parseInt(star) + 1;
		for(i=newStar;i<=5;i++){
			document.getElementById('star_' + i).src = '/images/star_empty.gif';
		}
	}
}

function resetStars(star){
	$('ratingText').innerHTML = origRatingText;
	for(i=1;i<=parseInt(star);i++){
		document.getElementById('star_' + i).src = '/images/star_full.gif';
	}
	if(parseInt(star) < 5){
		var newStar = parseInt(star) + 1;
		for(i=newStar;i<=5;i++){
			document.getElementById('star_' + i).src = '/images/star_empty.gif';
		}
	}
}

function doRating(star){
	for(i=1;i<=5;i++){
		document.getElementById('star_' + i).onMouseOut = function(){};
		document.getElementById('star_' + i).onMouseOver = function(){};
	}
	document.rating_form.rating.value = parseInt(star);
	submit_form('rating_form');
}

function fetch_rating_form(oReq) {  
	$('rating_form_response').innerHTML = oReq.responseText;  
}
