var Comment = null;
var Common = null;
var Usercar = null;
var windowXsize = null;
var windowYsize = null;
var descriptionOpen = false;
var browserName = null;

function Init()
{
	Common = new Commons();
	Usercar = new Usercars();
    Comment = new Comments();
	browserName = navigator.appName;
}

function Commons()
{
	this.ShowHintText = function(element)
	{
		if(element.name == "password")
			element.type = "text";
		if(element.value == "")
		{
			element.style.color = "#DBDBDB";
			element.value = element.name;
		}
	}
	
	this.HideHintText = function(element)
	{
		if(element.value == element.name)
		{	
			element.style.color = "#4C5868";
			element.value = "";
		}
		if(element.name == "password")
			element.type = "password";
		element.focus();
	}

	var dateViewVisible;
	this.SetField = function(element)
	{
		element.style.backgroundColor = "#F4EBC2";
	}
	
	this.LeaveField = function(element)
	{
		element.style.backgroundColor = "#FFFFFF";
	}
	
	this.DeleteConfirmation = function()
	{
		var result = false;
		var confirmText = 'Do you really want to delete this account?\nAfter deleting this account is not longer usable to login!';
		if(confirm(confirmText))
			result = true;
		else
			result = false;
			
		return result;
	}
	
	this.CheckAccountValues = function( form ) // Administration Accounts
	{
		var result = false;
		var oldPassName = document.getElementsByName('oldPass_' + form.user.value);
		var newPassName = document.getElementsByName('newPass_' + form.user.value);
		
		if( oldPassName[0].value != "" && newPassName[0].value != "")
		{
			result = true;
		}
		else
		{
			if(oldPassName[0].value == "")
			{
				oldPassName[0].style.backgroundColor = "#F28F81";
				document.getElementById("oldPassError_" + form.user.value).style.visibility = "visible";
			}
			else
			{
				oldPassName[0].style.backgroundColor = "#FFFFFF";
				document.getElementById("oldPassError_" + form.user.value).style.visibility = "hidden";
			}
			
			if(newPassName[0].value == "")
			{
				newPassName[0].style.backgroundColor = "#F28F81";
				document.getElementById("newPassError_" + form.user.value).style.visibility = "visible";
			}
			else
			{
				newPassName[0].style.backgroundColor = "#FFFFFF";
				document.getElementById("newPassError_" + form.user.value).style.visibility = "hidden";
			}
			result = false;
		}
		
		return result;
	}
	
	this.CheckCreateAccountValues = function( form ) // Create Administration Account
	{
		var result = false;
		
		if( form.user.value != "" && form.pass.value != ""  && form.retypedPass.value != "" && (form.pass.value == form.retypedPass.value))
		{
			result = true;
		}
		else
		{
			if(form.user.value == "")
			{
				form.user.style.backgroundColor = "#F28F81";
				document.getElementById("userError").style.visibility = "visible";
			}
			else
			{
				form.user.style.backgroundColor = "#FFFFFF";
				document.getElementById("userError").style.visibility = "hidden";
			}
			
			if(form.pass.value == "")
			{
				form.pass.style.backgroundColor = "#F28F81";
				document.getElementById("passError").style.visibility = "visible";
			}
			else
			{
				form.pass.style.backgroundColor = "#FFFFFF";
				document.getElementById("passError").style.visibility = "hidden";
			}
			
			if(form.retypedPass.value == "" || (form.pass.value != form.retypedPass.value))
			{
				form.retypedPass.style.backgroundColor = "#F28F81";
				document.getElementById("retypedPassError").style.visibility = "visible";
			}
			else
			{
				form.retypedPass.style.backgroundColor = "#FFFFFF";
				document.getElementById("retypedPassError").style.visibility = "hidden";
			}
			result = false;
		}
		
		return result;
	}
	
	this.CheckLoginValues = function( form ) // Login Administration
	{
		var result = false;
		
		if( form.user.value != "" && form.pass.value != "")
		{
			result = true;
		}
		else
		{
			if(form.user.value == "")
			{
				form.user.style.backgroundColor = "#F28F81";
				document.getElementById("userError").style.visibility = "visible";
			}
			else
			{
				form.user.style.backgroundColor = "#FFFFFF";
				document.getElementById("userError").style.visibility = "hidden";
			}
			
			if(form.pass.value == "")
			{
				form.pass.style.backgroundColor = "#F28F81";
				document.getElementById("passError").style.visibility = "visible";
			}
			else
			{
				form.pass.style.backgroundColor = "#FFFFFF";
				document.getElementById("passError").style.visibility = "hidden";
			}
			result = false;
		}
		
		return result;
	}
		
	this.CheckValues = function( form ) // Write a Comment
	{
		var commentBox = document.getElementById("comment");
		var errorBox = document.getElementById("commentError");
		if(commentBox.value == "")
		{
			commentBox.style.backgroundColor = "#F28F81";
			errorBox.style.visibility = "visible";
			result = false;
		}
		else
		{
			commentBox.style.backgroundColor = "#FFFFFF";
			errorBox.style.visibility = "hidden";
			result = true;
		}		

		return result;
	}

	this.GetPositionY = function(element)
	{
		var y=0;
		while(element)
		{
			y += element.offsetTop;
			element=element.offsetParent;
		}
		return y;
	}

	this.GetPositionX = function(element)
	{
		var x=0;
		while(element)
		{
			x += element.offsetLeft;
			element=element.offsetParent;
		}
		return x;
	}

	this.CalculateShowCommentsDiv = function()
	{
		var x;
		var y;
		x = (screen.width / 2) - 150;
		y = (screen.height / 2) - 200;
		
		if (document.all)  //für IE 
		{
			document.all.showCommentsLink.style.pixelTop = y;
			document.all.showCommentsLink.style.pixelLeft = x ;
		} 
		
		if (document.getElementById && !document.all)  //für NS6+ 
		{
			window.document.getElementById("showCommentsLink").style.top = y;
			window.document.getElementById("showCommentsLink").style.left = x;
		} 
		
		if (document.layers)  //für NS4+ 
		{
			document.showCommentsLink.top = y;
			document.showCommentsLink.left = x;
		} 
	}
}

