function hideRestFavs(){
	var element = document.getElementById("hiddenUsers"); //
	var element2 = document.getElementById("hiddenUsersFav");
	element2.style.display = "none";
}

function show_all_users_favs(){
	var element = document.getElementById("hiddenUsersFav");
	element.style.display = '';
	var element2 = document.getElementById("hiddenUsers");
	element2.innerHTML = '';//'<a href="" id="hiddenUsers" onclick="hideRestFavs(); return false;">(hide)</a>';
}

function show_all_favs(){ // for a certain user
	var element = document.getElementById("hiddenUsersFav");
	element.style.display = '';
}

function addRec(idTutorial, user){
	var element_id = "recLink" + idTutorial;
	var element = document.getElementById(element_id);
	
	var xmlHttp;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e){
		// Internet Explorer
		try	{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try	{
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
    }
	
    xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4)	{
			if (xmlHttp.responseText != "reced"){
				element.className = "recommend recok";
				element.innerHTML = xmlHttp.responseText;
			}
		}
	}
	var elem = document.getElementsByTagName( 'base' );
	url = elem[0].href;
	xmlHttp.open("GET", url+"internal/ajax.tutorialAction.php?action=addRec&idTutorial=" + idTutorial + "&user=" + user, true);
	xmlHttp.send(null); 
}

function rate(idTutorial, score){
	var element_id1 = "rating_width" + idTutorial;
	var element_id2 = "ze_rating" + idTutorial;
	
	var element1 = document.getElementById(element_id1);
	var element2 = document.getElementById(element_id2);
	
	var xmlHttp;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e){
		// Internet Explorer
		try	{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try	{
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
    }
	
    xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4)	{
			// server response is: rating;total_votes 
			// need to split server response and update HTML DOM
			if (xmlHttp.responseText == "NOK"){
//				alert("You have already voted this tutorial today ! You may do that again tomorrow.");
			} else {
				totalRating = xmlHttp.responseText.split(";")[0];
				totalVotes  = xmlHttp.responseText.split(";")[1];
				rating = (totalRating / totalVotes).toFixed(2);
				element1.style.cssText = "width: " + (rating * 13.13) + "px;";
				element2.innerHTML = "<strong>" + rating + "</strong> (" + totalVotes + " votes)";
			}
		}
	}
	var elem = document.getElementsByTagName( 'base' );
	url = elem[0].href;
	xmlHttp.open("GET", url+"internal/ajax.tutorialAction.php?action=rate&idTutorial=" + idTutorial + "&score=" + score, true);
	xmlHttp.send(null); 
}

function addFav(idTutorial, user){
	var element_id = "favLink" + idTutorial;
	var element = document.getElementById(element_id);
	
	var xmlHttp;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e){
		// Internet Explorer
		try	{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try	{
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
    }
	
    xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4)	{
			if (xmlHttp.responseText != "faved"){
				element.className = "addfav favok";
				element.innerHTML = xmlHttp.responseText;
			}
		}
	}
	var elem = document.getElementsByTagName( 'base' );
	url = elem[0].href;
	xmlHttp.open("GET", url+"internal/ajax.tutorialAction.php?action=addFav&idTutorial=" + idTutorial + "&user=" + user, true);
	xmlHttp.send(null); 
}

function showSpecificDate(){ // show specific date
//	alert('sal');
	var element = $("date_choser");
	//alert(document.browseForm.submit_time.value);
	if (document.browseForm.submit_time.value == "specificDate"){
		element.style.display = "";
	} else {
		element.style.display = "none";
	}
}

function getSubcategory(category, type, selectedSubcat)
{
	var element_id = "sc";
	var element = document.getElementById(element_id);
		
	var xmlHttp;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e){
		// Internet Explorer
		try	{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try	{
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
    }

    xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4)	{
			var response = xmlHttp.responseText;
			if (type == 'submit') {
				response = response.replace(/All subcategories/g, "---Select a subcategory---");
			} 
			element.innerHTML = response;
			var subcatElem = document.getElementById("submit-subcategory");
			var subcatOptions = subcatElem.options;
			var sc = new String(selectedSubcat);
			re = /\s/g;
			selectedSubcat = sc.replace(re, '-');
			for (i = 0; i < subcatOptions.length; i++) {
				if (subcatOptions[i].value == selectedSubcat) {
					subcatElem.selectedIndex = i;
				}
			}			
		}
	}
	var elem = document.getElementsByTagName( 'base' );
	url = elem[0].href;
	xmlHttp.open("GET", url + "internal/ajax.subcategories.php?category=" + category, true);
	xmlHttp.send(null);
}

function doQuickSearch(){
	var q = new String(document.quickSearchForm.quickSearchQ.value);
	var formID = document.getElementById("quickSearchForm");
	
	q = q.toLowerCase(); // lower
	q = q.replace(/[^a-zA-Z0-9\.\-_\s\+#]+/g, "");
	q = q.replace(/^\s+|\s+$/g,""); // trim 
	q = q.replace(/\s{2,}/g," "); 
	q = q.replace(/ /g, "+"); 
	formID.setAttribute("action", "search/" + q.toString());
	document.quickSearchForm.action = "search/" + q.toString();
	document.quickSearchForm.submit();
}

function doSearch(){
	var q = new String(document.searchForm.searchQ.value);
	var formID = document.getElementById("searchForm");
	q = q.toLowerCase(); // lower
	q = q.replace(/[^a-zA-Z0-9\.\-_\s\+#]+/g, "");
	q = q.replace(/^\s+|\s+$/g,""); // trim 
	q = q.replace(/\s{2,}/g," "); 
	q = q.replace(/ /g, "+"); 
	//alert("search/" + q.toString());
	formID.setAttribute("action", "search/" + q.toString());
	document.searchForm.submit();
}

function check(){
	if (navigator.userAgent.indexOf("Firefox") != -1){ // firefox
		var cb = document.getElementById("submit-category");
		if (cb){
			// http://developer.mozilla.org/en/docs/DOM:document.createEvent
			var evt = document.createEvent("HTMLEvents"); // evenimentul pe care-l caut se incadreaza in clasa HTMLEvents
			evt.initEvent("change", true, false);
			cb.dispatchEvent(evt);
		}
	} else { // Internet explorer
		var eventObj = document.createEventObject();
	    var cb = document.getElementById("submit-category");
	    cb.fireEvent("onchange", eventObj);
    	event.cancelBubble = true;
	}
}

function checkForm(frm)
{
  if (frm.name == 'contactForm')
  {
    name = frm.reg_username.value;
    if (name.length < 4) 
    {
      alert('Username must have at least 4 characters.');
      return(false);
    }
    if (name.length > 15) 
    {
      alert('Username must have no more than 15 characters.');
      return(false);
    }
    return(true);
  }
}

function LCaseValue(obj)
{
  val = obj.value.toLowerCase();
  val = val.replace(' ', '');
  obj.value = val;
}

