var HOSTNAME = 'http://www.flu.ro/';


function defaultInputText(obj, text){
	if(obj.value == text)
		obj.value = '';
}

var W3CDOM = (document.createElement && document.getElementsByTagName);
function initFileUploads() {
	if (!W3CDOM) return;
	var fileInputs = document.getElementById('id_fileinputs');
	var image = document.createElement('input');
	image.type="text";
	image.className = 'fakefile';
	image.readOnly = true;
	//image.defaultValue = "Ataseaza un fisier aici";
//	image.value = "Ataseaza un fisier aici";
	image.id = 'id_fakefile';
	fileInputs.appendChild(image);
	document.getElementById('id_file_upload').onchange = function () {
		var ceva = document.getElementById('id_file_upload').value.toString();
		document.getElementById('id_fakefile').value = "";
		document.getElementById('id_fakefile').value = ceva.substr(0,25)+"...";
	}
}
function initFileUploadsCont() {
	if (!W3CDOM) return;
	var fileInputs = document.getElementById('id_fileinputs_cont');
	var image = document.createElement('input');
	image.type="text";
	image.className = 'fakefile_cont';
	image.readOnly = true;
	image.id = 'id_fakefile_cont';
	fileInputs.appendChild(image);
	document.getElementById('id_file_upload_cont').onchange = function () {
		var ceva = document.getElementById('id_file_upload_cont').value.toString();
		document.getElementById('id_fakefile_cont').value = "";
		document.getElementById('id_fakefile_cont').value = ceva.substr(0,35)+"...";
	}
}
function submitenter(myfield,e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	
	if (keycode == 13)
	   {
	   myfield.form.submit();
	   return false;
	   }
	else
	   return true;
}



function httpRequest(method, url, parameters, asynchronous) {
	var request = false;
	this.method = method;
	this.url = url;
	this.parameters = parameters;
	this.asynchronous = asynchronous;
	this.initRequest = function() {
		if (window.XMLHttpRequest) {
			request = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			try {
				request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				try {
					request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) {}
			}
		}
		if (!request) {
			alert("Giving up :( Cannot create an XMLHTTP instance");
			return false;
		}
		return true;
	}

	this.setHandlerFunction = function(callbackFunction) {
		request.onreadystatechange = function() {
			switch(request.readyState) {
				case 1:
				eval(callbackFunction + "('Loading...')");
				break;
				case 2:
				eval(callbackFunction + "('Loaded.')");
				break;
				case 4:
				if (request.status == 200) {
					if(request.responseText.split(":")[0]=="<redirect>")
					window.location.assign(request.responseText.split(":")[1]);
					else
					eval(callbackFunction + "(request.responseText)");
				} else {
					alert("There was a problem with the request. Status code: " + request.status + ", " + request.statusText);
				};
				break;
			}
		}
	}

	this.sendRequest = function() {
		if(this.method == "GET") {
			request.open(this.method, this.url + '?' + this.parameters, this.asynchronous);
			request.send(null);
		}
		else if(this.method == "POST") {
			request.open(this.method, this.url, this.asynchronous);
			request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			request.send(this.parameters);
		}
	}

	this.abortRequest = function() {
		request.abort();
	}
}

function checkUsernameToDiv(result) {
	if (result != 'Loading...' && result != 'Loaded.')
	{
		result = removeNL(result);
		var firstLetter = result.substring(0,1);
		if (firstLetter == '0')
			result = 'Introduceti username-ul.';
		if (firstLetter == '1')
			result = 'Username-ul nu este disponibil.';
		if (firstLetter == '2')
			result = 'Username-ul este disponibil.';
		if (firstLetter == '3')
			result = 'Username-ul contine caractere invalide. Puteti folosi de la aA la zZ, 0 la 9 si -.';
	}
	document.getElementById("div_check").innerHTML = result;
}

function checkUsername() {
	request = new httpRequest("GET", HOSTNAME + "checkUsername/", "username=" + document.getElementById("i_username").value, true);
	if (request.initRequest())
	{
		request.setHandlerFunction("checkUsernameToDiv");
		request.sendRequest();
	}
}
function removeNL(s) {
  /*
  ** Remove NewLine, CarriageReturn and Tab characters from a String
  **   s  string to be processed
  ** returns new string
  */
  r = "";
  for (i=0; i < s.length; i++) {
    if (s.charAt(i) != '\n' && s.charAt(i) != '\r' && s.charAt(i) != '\t') {
      r += s.charAt(i);
      }
    }
  return r;
}

function change_image(id1, id2, id3, id4, img_url, img_width, img_height){
	document.getElementById(id1).style.background = 'url('+img_url+') no-repeat';
	document.getElementById(id1).style.width = img_width+'px';
	document.getElementById(id1).style.height = img_height+'px';
	document.getElementById(id1).style.margin = '-'+(img_height/2)+'px 0 0 -'+(img_width/2)+'px';
	document.getElementById(id2).style.width = (img_width-14)+'px';
	document.getElementById(id4).style.width = (img_width-14)+'px';
	document.getElementById(id3).style.width = img_width+'px';
	document.getElementById(id3).style.height = (img_height-14)+'px';
}
function articol_vot_over(valoare){
	for (i=1; i<=valoare; i++) document.getElementById('art_nota_'+i).src = '/i/vote_mark.gif';
}
function articol_vot_out(){
	for (i=1; i<11; i++) document.getElementById('art_nota_'+i).src = '/i/vote_mark1.gif';
}
function show(id){
	document.getElementById(id).style.display = 'block';
}
function hide(id){
	document.getElementById(id).style.display = 'none';
}
function pop_articles(url){
	window.open(url, null , "height=900,width=700,status=no,toolbar=no,menubar=no,location=no");
}


// Magaria cu timpul
function cdtime(container, targetdate){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.currentTime=new Date()
this.targetdate=new Date(targetdate)
this.timesup=false
this.updateTime()
}

cdtime.prototype.updateTime=function(){
var thisobj=this
this.currentTime.setSeconds(this.currentTime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

cdtime.prototype.displaycountdown=function(baseunit, functionref){
this.baseunit=baseunit
this.formatresults=functionref
this.showresults()
}

cdtime.prototype.showresults=function(){
var thisobj=this


var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds
if (timediff<0){ //if time is up
this.timesup=true
this.container.innerHTML=this.formatresults()
return
}
var oneMinute=60 //minute unit in seconds
var oneHour=60*60 //hour unit in seconds
var oneDay=60*60*24 //day unit in seconds
var dayfield=Math.floor(timediff/oneDay)
var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)
var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)
var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))
if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level
hourfield=dayfield*24+hourfield
dayfield="n/a"
}
else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level
minutefield=dayfield*24*60+hourfield*60+minutefield
dayfield=hourfield="n/a"
}
else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level
var secondfield=timediff
dayfield=hourfield=minutefield="n/a"
}
this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield)
setTimeout(function(){thisobj.showresults()}, 1000) //update results every second
}

/////CUSTOM FORMAT OUTPUT FUNCTIONS BELOW//////////////////////////////

//Create your own custom format function to pass into cdtime.displaycountdown()
//Use arguments[0] to access "Days" left
//Use arguments[1] to access "Hours" left
//Use arguments[2] to access "Minutes" left
//Use arguments[3] to access "Seconds" left

//The values of these arguments may change depending on the "baseunit" parameter of cdtime.displaycountdown()
//For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a"
//For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc


function formatresults(){
if (this.timesup==false){//if target date/time not yet met
var displaystring="Timp ramas: "+arguments[0]+" zile "+arguments[1]+" ore "+arguments[2]+" min "+arguments[3]+" sec"
}
else{ //else if target date/time met
var displaystring="Timpul a expirat"
}
return displaystring
}

function formatresults2(){
if (this.timesup==false){ //if target date/time not yet met
var displaystring="<span class='lcdstyle'>"+arguments[0]+" <sup>days</sup> "+arguments[1]+" <sup>hours</sup> "+arguments[2]+" <sup>minutes</sup> "+arguments[3]+" <sup>seconds</sup></span> left until this Christmas"
}
else{ //else if target date/time met
var displaystring="" //Don't display any text
alert("Christmas is here!") //Instead, perform a custom alert
}
return displaystring
}
//end