var Helper = Class.create({
	visible: true,
	position_index1: 0,
	effect_running: false,
	opac: new Array(),
	
	setHiddenField: function($hf_id, $value){
		$($hf_id).value=$value;
	},
	
	activateHostingPackage: function(container, index){
		var packages = $(container).getElementsByTagName('img');
		for(var i=0; i<packages.length; i++){
			packages[i].className = 'hosting-order-inactive';
		}
		packages[index].className = 'hosting-order-active';
		
	},

	makeEditable: function(parent, value, timestamp, target){
		var arr = value.split('.');
		var ext = arr[arr.length-1];
		$(parent).innerHTML = "<form action='"+target+"' method='post'><input type='text' name='title' value='"+this.str_replace('.'+ext, '', this.str_replace(timestamp+'_', '', value))+"' /><input type='hidden' name='old_title' value='"+value+"' /><input type='submit' name='submit' value='Ok' /></form>";
	},
	
	hoverBar: function(element, screenSide){
		if(screenSide == "left"){
			if (this.visible){
				element.src="images/service/vline_left_hover.png";
			}else{
				element.src="images/service/vline_right_hover.png";
			}
		}else{
			if (this.visible){
				element.src="images/service/vline_right_hover.png";
			}else{
				element.src="images/service/vline_left_hover.png";
			}
		}
	},
	
	resetHoverBar: function(element, screenSide){
		if(screenSide == "left"){
			if (this.visible){
				element.src="images/service/vline_left_normal.png";
			}else{
				element.src="images/service/vline_right_normal.png";
			}
		}else{
			if (this.visible){
				element.src="images/service/vline_right_normal.png";
			}else{
				element.src="images/service/vline_left_normal.png";
			}
		}
	},
	
	checkServiceBar: function(){
		if(this.elementExists('service-bar')){
			if(this.readCookie('service-bar') == 'invisible'){
				$('service-bar').style.display = 'none';
				this.toggleHorizontal('service-bar', 'left');
			}else{
				$('service-bar').style.display = 'block';
			}
		}
	},
	
	SbIsVisible: function(){
		return this.visible;
	},
	
	elementExists: function(id){
		if(isNaN($(id))){
			return true;
		}else{
			return false;
		}
	},
	
	hideServiceBar: function(){
		Effect.BlindLeft('service-bar');
		this.visible = false;
	},
	
	toggleHorizontal: function(element, screenSide){		
		var d = new Date();
		d.setHours(d.getHours()+2);
		
		if(screenSide == "left"){
			if (this.visible){
				this.setCookie('service-bar', 'invisible', 2);
				Effect.BlindLeft(element);
				$('vline-img').src="images/service/vline_right_normal.png";
				this.visible = false;
			}else{
				this.setCookie('service-bar', 'visible', 2);
				Effect.BlindRight(element);
				$('vline-img').src="images/service/vline_left_normal.png";
				this.visible = true;
			}
		}else{
			if (this.visible){
				this.setCookie('service-bar', 'invisible', 2);
				Effect.BlindLeft(element);
				$('vline-img').src="images/service/vline_left_normal.png";
				this.visible = false;
			}else{
				this.setCookie('service-bar', 'visible', 2);
				Effect.BlindRight(element);
				$('vline-img').src="images/service/vline_right_normal.png";
				this.visible = true;
			}
		}
	},
	
	hoverRatingStars: function(container, hoverstar){
		var stars = $(container).getElementsByTagName('a');
		stars[hoverstar].className = 'hover-star';
		
		for(var i=0; i<hoverstar; i++){
			stars[i].className = 'active-star';
		}
		if(hoverstar < stars.length){
			for(var j = (hoverstar+1); j < stars.length; j++){
				stars[j].className = 'inactive-star';
			}
		}
	},	
	
	resetRatingStars: function(container, rating){
		var stars = $(container).getElementsByTagName('a');
		for(var i=0;i<rating;i++){
			stars[i].className = 'active-star';
		}
		if(rating < stars.length){
			for(var j = rating; j < stars.length; j++){
				stars[j].className = 'inactive-star';
			}
		}
	},
	
	setCookie: function(name,value,hours) {
		if (hours) {
			var date = new Date();
			date.setTime(date.getTime()+(hours*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
			document.cookie = name+"="+value+expires+"; path=/";
	},

	readCookie: function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	},

	deleteCookie: function(name) {
		setCookie(name,"",-1);
	},
	
	setBorder: function($element, $width, $style, $color){
		if(arguments.length == 3){
			$color = "#000000";
		}
		
		if(arguments.length == 2){
			$color = "#000000";
			$style = "solid";
		}
		
		if(arguments.length == 1){
			$color = "#000000";
			$style = "solid";
			$width = 1;
		}
		
		$element.setAttribute("style", "border: "+$width+"px "+$style+" "+$color+";");
	},
	
	removeBorder: function($element){
		$element.setAttribute("style", "border: 0px;");
	},
	
	runEffect: function( $move_type ){
		//if( !this.effect_running )
		//{
			this.effect_running = true;
			if( $move_type == 'move_left' )
			{
				this.position_index1 += 150;
			}
			if( $move_type == 'move_right' )
			{
				this.position_index1 -= 150;
			}
			
			new Effect.Morph( 'scrollContentDiv', 
				{ style:'left:' + (this.position_index1 * 1) + 'px'//, 
		//			afterFinish:function() { 
		//				this.effect_running = false; 
		//			} 
				}
			);
		//}
	},
	
	str_replace: function(search, replace, subject) {
		return subject.split(search).join(replace);
	},
	
	opacity: function(id, opacStart, opacEnd, millisec) {
 		//speed for each frame
		var speed = Math.round(millisec / 100);
		var timer = 0;

		//alert('start');

		if (this.opac[id]==null) { this.opac[id]=0; }

		//determine the direction for the blending, if start and end are the same nothing happens
		if(opacStart > opacEnd) {
			if (this.opac[id]==0) {
 				this.opac[id]=1;
				for(i = opacStart; i >= opacEnd; i--) {
 					setTimeout("helper.changeOpac(" + i + ",'" + id + "')",(timer * speed));
 					timer++;
	 			}
	 			setTimeout("helper.resetUsed('" + id + "')",(timer * speed));
 			}else{
				setTimeout("helper.opacity('" + id + "'," + opacStart + "," + opacEnd + "," + millisec + ")",speed);
 			}
 		}else if(opacStart < opacEnd) {
			if (this.opac[id]==0) {
				this.opac[id]=1;
				for(i = opacStart; i <= opacEnd; i++){
					setTimeout("helper.changeOpac(" + i + ",'" + id + "')",(timer * speed));
					timer++;
				}
				setTimeout("helper.resetUsed('" + id + "')",(timer * speed));
			}else {
				setTimeout("helper.opacity('" + id + "'," + opacStart + "," + opacEnd + "," + millisec + ")",speed);
			}
		}
	},

	resetUsed: function(id) {
		this.opac[id]=0;
	},
	
	//change the opacity for different browsers
	changeOpac: function(opacity, id) {
		var object = document.getElementById(id).style;
		object.opacity = (opacity / 100);
		object.Mozopacity = (opacity / 100);
		object.Khtmlopacity = (opacity / 100);
		object.filter = "alpha(opacity=" + opacity + ")";
	},

	shiftopacity: function(id, millisec) {
		//if an element is invisible, make it visible, else make it ivisible
		if(document.getElementById(id).style.opacity == 0) {
			opacity(id, 0, 100, millisec);
		} else {
			opacity(id, 100, 0, millisec);
		}
	} 
});
