var newModal = new Class({
	options: {
		title: '',
		width: 250,
		contentUrl: '',
		method: 'get',
		data: '',
		titleSize: 14,
		bIsAlert: false,
		bAlertType: false,
		sContentContainerClass: '',
		sPreambleClass: '',
		titlePosition: 'center',
		evalScripts: false,
		onContentLoaded: Class.empty,
		onClose: Class.empty
	},
	initialize:function(options){
		this.setOptions(options);
		this.closeWindow(); // por si ya habia una ventana abierta
		/*this.wIframeFixer = new Element('iframe', {
			'id' : 'wIframeFixer',
			'src' : "javascript:'';",
			'frameBorder' : '0',
			"styles":{
				"width":"100px",
				"background-color":"transparent",
				"border":"none",
				"position":"absolute",
				"filter":"alpha(opacity=10)",
				"opacity":".10",
				"z-index":"19998"
			}
		});
		//this.wIframeFixer.injectInside(document.body);
		this.wShadow = new Element('div', {
			'id':'modalShadow',
			"styles":{
				"z-index":"19999"
			}
		});
		//this.wShadow.injectInside(document.body);*/
		this.onContentLoaded = options.onContentLoaded;
		this.onClose = options.onClose;
		this.openWindow();
	},
	setShadowSize:function(){
		/*var coords = this.wCoords;
		this.wShadow.setStyles({
				"width" :coords.width.toInt()-2,
				"height":coords.height.toInt()-2
			});
		this.wIframeFixer.setStyles({
				"width" :coords.width.toInt()+3,
				"height":coords.height.toInt()+3
			});*/
	},
	setWindowPos:function(iNewWidth){
		/*if(iNewWidth){
			$("ssbox_content").setStyle("width",iNewWidth+'px');
		}
		if($("ssbox_content")){
			this.windowW.setStyle("width",$("windowContent").getStyle("width"));
		}
		var newTop = (window.getScrollTop() +((document.documentElement.clientHeight/2) - (this.windowW.getStyle("height").toInt() / 2)));
		if(newTop < 0) newTop = 5;
		this.windowW.setStyles({
			"left" :(window.getScrollLeft() + ((window.getWidth() / 2) - (this.windowW.getStyle("width").toInt() / 2))) + "px",
			"top":newTop + "px"
		});
		this.wCoords = this.windowW.getCoordinates();*/
		// Set position of zenbox
	        var screen = document.getElementById('ssbox_screen');
		if( screen ) screen.style.height = document.documentElement.scrollHeight + "px";
	        //this.y_top = document.documentElement.scrollTop || document.body.scrollTop;   
	        this.client_height = window.innerHeight || document.documentElement.clientHeight;
	        //document.getElementById('zenbox_main').style.top = this.y_top + (0.15*this.client_height) + "px";
  	        var main = document.getElementById('ssbox_main');
		if( main ){
			main.style.top = (0.15*this.client_height) + "px";
		}
		/*var coords = this.wCoords;
		this.wShadow.setStyles({
			"top":coords.top.toInt()+5,
			"left":coords.left.toInt()+5
		});
		this.wIframeFixer.setStyles({
			"top":coords.top.toInt(),
			"left":coords.left.toInt()
		});*/
	},
	openWindow:function(){
		/*this.stopTimer = false;
		var wLoading = new Element('div', {
			'id' : 'windowLoading'
		});
		wLoading.setHTML('&nbsp;');
		var wWrap = new Element('div', {
			'id' : 'windowWrapper',
			"styles":{
				"background":"#DDD",
				"padding":"10px",
				"text-align":"left",
				"border":"1px solid #ccc",
				"z-index":"20000",
				"width":"200px"
			}
		});
		wWrap.setHTML('<table width="100%" style="margin-bottom:10px;"><tr><td align="right"><img alt="X" id="J_newModalClose" src ="/img/cpanel/settings/updated_close.gif" style="cursor:pointer;color:#color:#707070" title="Close"/></td></tr>'+
			'<tr><td align="'+this.options.titlePosition+'"><b style="font-size:'+this.options.titleSize+'px">'+this.options.title+
			'</b></td></tr></table><div id="windowContent"></div>');
		wWrap.injectInside(document.body);
		if($("windowContent"))
			wLoading.injectInside($("windowContent"));
		this.windowW = wWrap;

		this.windowAdjust();
		$('J_newModalClose').addEvent('click',function(){
			this.closeWindow();
		}.bind(this));*/
		var ssbox = new Element('div', {
			id : 'ssbox_overlay',
			style : {
				'display': 'block'
			}
		});
		var sMainDiv = new Element('div',{
			id: 'ssbox_main',
			styles:{
				'text-align': 'left'
			}
		});
		if(this.options.width){
			sMainDiv.setStyle('width', this.options.width);
		}
		if(this.options.height){
			sMainDiv.setStyle('height', this.options.height);
		}
		//Si NO es ventana de alerta...
		if(!this.options.bIsAlert){
			if(this.options.title=='Warning'){
				sMainDiv.addClass('warning');
			}
			sMainDiv.setHTML(
				/*'<div id="ssbox_overlay_header">'+
					'<span id="ssbox_close">&nbsp;</span>'+
					'<div style="text-align:center; border: medium none ; background-color: transparent; color: white; font-size: 16px;">Sitesearch Corporation</div>'+
				'</div>'+*/
				/*'<div id="ssbox_preamble"'+(this.options.sPreambleClass && this.options.sPreambleClass.length>0?'class="'+this.options.sPreambleClass+'"':'')+'>'+
                                        '<span id="ssbox_close">&nbsp;</span>'+
					'<h2 id="ssbox_overlay_title">'+this.options.title+'</h2>'+
					'<div id="ssbox_overlay_loading">'+
						'<h2><img src="/img/ssbox_load.gif"/> Loading...</h2><br>&nbsp;'+
					'</div>'+
					'<div id="ssbox_content"></div>'+
				'</div>'*/
				'<div style="width:600px;height:184px;background:transparent none repeat scroll 0 0;">'+
				'<div class="leftBox"></div>'+
				'<div id="ssbox_preamble"'+(this.options.sPreambleClass && this.options.sPreambleClass.length>0?'class="'+this.options.sPreambleClass+'"':'')+'>'+
					'<span id="ssbox_close">&nbsp;</span>'+
					'<h2 id="ssbox_overlay_title">'+this.options.title+'</h2>'+
					'<span class="warningIcon"></span>'+
					'<div id="ssbox_overlay_loading">'+
						'<h2><img src="/img/ssbox_load.gif"/> Loading...</h2><br>&nbsp;'+
					'</div>'+
					'<div id="ssbox_content"></div>'+
				'</div>'+
				'<div class="rightBox"></div>'+
				'</div>'
			);
			sMainDiv.injectInside(ssbox);
			var oScreenDiv = new Element('div', {'id':'ssbox_screen'});
			oScreenDiv.setHTML('&nbsp;');
			oScreenDiv.injectInside(ssbox);
			//ssbox.setHTML('<div id="ssbox_main" style="text-align: left;"><div id="ssbox_overlay_header"><span id="ssbox_close">&nbsp;</span><div style="text-align:center; border: medium none ; background-color: transparent; color: white; font-size: 16px;">Sitesearch Corporation</div></div><div id="ssbox_preamble"><h2 id="ssbox_overlay_title">'+this.options.title+'</h2><div id="ssbox_overlay_loading"><h2><img src="/img/ssbox_load.gif"/> Loading...</h2><br>&nbsp;</div><div id="ssbox_content"></div></div></div><div id="ssbox_screen">&nbsp;</div>');
			//ssbox.setHTML(ssbox.HTML+'<div id="ssbox_screen">&nbsp;</div>');
		} else {
			//ventana de alerta...
			switch(this.options.bAlertType){
				case 'error':
				case 'msg':
					//sMainDiv = '<div class="alertError" id="ssbox_main" style="text-align: left;'+(this.options.width?'width:'+this.options.width+';':'')+(this.options.height?'height:'+this.options.height+';':'')+'">';
					sMainDiv.addClass('alertError');
					break;
				case 'correct':
				case 'redirect':
					sMainDiv.addClass('alertCorrect');
					break;
			}
			sMainDiv.setHTML(
				'<div id="ssbox_preamble" style="width:100%;height:100%;">'+
					'<span id="ssbox_close">&nbsp;</span>'+
					'<div class="leftAlertBox"></div>'+
					'<div class="middleAlertBox'+((this.options.sContentContainerClass.length>0)?' '+this.options.sContentContainerClass:'')+'">'+
						'<div id="ssbox_overlay_title">'+this.options.header+'</div>'+
						'<div id="ssbox_content">'+this.options.title+'</div>'+
						//'<div id="modalMsg_4'+this.session+'"></div>'+
						'<div id="modalMsg"></div>'+
					'</div>'+
					'<div class="rightAlertBox"></div>'+
				'</div>'
			);
			sMainDiv.injectInside(ssbox);
			var oScreenDiv = new Element('div', {'id':'ssbox_screen'});
			oScreenDiv.setHTML('&nbsp;');
			oScreenDiv.injectInside(ssbox);
		}
		ssbox.injectInside(document.body);
		this.windowW = ssbox;
		this.windowAdjust();
		$('ssbox_close').addEvent('click', function(){
			this.closeWindow();
		}.bind(this));
		$('ssbox_screen').addEvent('click', function(){
			this.closeWindow();
		}.bind(this));
		window.addEvent("resize",function(){this.setWindowPos();}.bind(this));
		//window.addEvent("scroll",function(){this.setWindowPos();}.bind(this));
		if(this.options.contentURL && this.options.contentURL!=''){
			var ajaxObj = new Ajax(this.options.contentURL,{
				data:this.options.data,
				method: this.options.method,
				evalScripts: this.options.evalScripts,
				onComplete: function(sHtml){
					if($("ssbox_content")){						
						$("ssbox_content").setStyle("width",(this.options.width)+"px");
						$('ssbox_preamble').setStyle("width",(this.options.width)+"px");
					//	$('ssbox_overlay_header').setStyle("width",(this.options.width)+"px");
						$("ssbox_content").setHTML(sHtml);// evita el brinco en la transicion
						//document.getElementById('ssbox_overlay_loading').style.display= "none";
						//document.getElementById('ssbox_content').style.display= "block";
						$('ssbox_overlay_loading').setStyle('display','none');
						$('ssbox_content').setStyle('display','block');
						if( window.ie ) {
							var ssboxClose = $('ssbox_close');
							ssboxClose.style.left = $('ssbox_preamble').getLeft() - ssboxClose.getLeft() - 30;
						}
						//alert( this.options.evalScripts );
						if(this.options.evalScripts && typeof newModalEval=="function") newModalEval();
					}
					if(typeof this.onContentLoaded == "function")
						this.onContentLoaded(sHtml);
					this.windowAdjust();
				}.bind(this),
				onFailure: function(){
					// Correccion de un bug dentro de esta libreria evitando el lanzamiento de un alert
					// y agregando en su lugar un contenido [UACOSTA]
					//alert("this function is unavailable at this moment");
					if($("ssbox_content")){
                                                $("ssbox_content").setStyle("width",(this.options.width)+"px");
                                                $("ssbox_content").setHTML('<div style="text-align: center; width: 100%;">The content is unavailable at this moment or was interrupted.</div>');
                                        }
                                        this.windowAdjust();
				}.bind(this)
			}).request();
		}
	},
	closeWindow:function(){
		/*if($('modalShadow')){
			$('modalShadow').remove();
		}*/
		/*if($('windowWrapper')){
			$('windowWrapper').remove();

		}*/
		/*if($('wIframeFixer')){
			$('wIframeFixer').remove();
		}*/
		if( $('ssbox_overlay') ) $('ssbox_overlay').remove();
		if(typeof this.onClose == "function")
			this.onClose();
	},
	windowAdjust:function(iNewWidth){
		if(iNewWidth){
			this.setWindowPos(iNewWidth);
		}else{
			this.setWindowPos();
		}
		//this.setShadowSize();
	},
	autoClose:function(time,recursive){
		var modalMsg = $('modalMsg');
		if(recursive && !modalMsg) return;
		if(!modalMsg){
			modalMsg = new Element('div', {
				'id' : 'modalMsg',
				"styles":{
					"margin-top":"10px",
					"color":"#666",
					"font-size":"11px",
					"float":"left",
					"width":"100%",
					"text-align":"center"
				}
			}).injectInside(this.windowW);
		}
		modalMsg.innerHTML = "This window will close in "+time+" seconds.";
		if (time == 0){
			this.closeWindow();
		}else if(!this.stopTimer){
			time--;
			this.autoClose.delay(1000,this,[time,true]);
		}
	},
	/*autoClose:function(time){
		var modalMsg = $('modalMsg_'+this.session);
		if(!modalMsg){return;}
		else{
			modalMsg.innerHTML = "This window will close in "+time+" seconds.";
		}
		if(time == 0){
		 	this.closeWindow();
		 	return;
		}
	 	time--;
	 	this.autoClose.delay(1000,this,[time]);
	},*/
	autoRedirect:function(time,sUrl){
		var modalMsg = $('modalMsg_'+this.session);
		if(!modalMsg){return;}
		else{
			modalMsg.innerHTML = "You will be redirected in "+time+" seconds.";
		}
		if (time == 0)	{
			document.location.href = sUrl;
			return;
		}
	 	time--;
	 	this.autoRedirect.delay(1000,this,[time,sUrl]);
	},
	linkDirect:function(link){
		var modalMsg = $('modalMsg_'+this.session);
		if(!modalMsg){return;}
		else{
			modalMsg.innerHTML = 'Click <a href='+link+'>here</a> to download Firefox.';
		}
	}
});
newModal.implement(new Options);
function cleanNewModal(sEvalEvent){
	/*if($('modalShadow')){
		$('modalShadow').remove();
	}*/
	/*if($('windowWrapper')){
		$('windowWrapper').remove();
	}*/
	/*if($('wIframeFixer')){
		$('wIframeFixer').remove();
	}*/
	if( $('ssbox_overlay') ) $('ssbox_overlay').remove();
	if(sEvalEvent!=''){
		eval(sEvalEvent);
	}
}


//PARA LOS MENSAJES DE ALERTAS
var AlertMessage = new Class({
	options: {
		header: '',
		title: '',
		width: '515px',
		height: '17px',
		titleSize: '14px',
		backgroundColor: '#666666',
		onClose: Class.empty
	},
	initialize:function(options){
		this.session = Math.random(5);
		this.setOptions(options);
		this.closeWindow(); // por si ya habia una ventana abierta
		/*this.wIframeFixer = new Element('iframe', {
			'id' : 'wIframeFixer',
			'frameBorder' : '0',
			"styles":{
				"width":"100px",
				"background-color":"transparent",
				"border":"none",
				"position":"absolute",
				"filter":"alpha(opacity=0)",
				"opacity":"0.10",
				"z-index":"19998"
			}
		});
		this.wIframeFixer.injectInside(document.body);
		this.wShadow = new Element('div', {
			'id': 'modalShadow',
			"styles":{
				"z-index":"19999"
			}
		});
		this.wShadow.injectInside(document.body);*/
		this.onClose = options.onClose;
		this.openWindow();
	},
	setShadowSize:function(){
		/*var coords = this.wCoords;
		this.wShadow.setStyles({
				"width" :coords.width.toInt()-2,
				"height":coords.height.toInt()-2
			});
		this.wIframeFixer.setStyles({
				"width" :coords.width.toInt()+3,
				"height":coords.height.toInt()+3
			});*/
	},
	setWindowPos:function(){
		/*var newTop = (window.getScrollTop() +((document.documentElement.clientHeight/2) - (this.windowW.getStyle("height").toInt() / 2)));
		if(newTop < 0){ newTop = 5;}
		this.windowW.setStyles({
			"left" :(window.getScrollLeft() + ((window.getWidth() / 2) - (this.windowW.getStyle("width").toInt() / 2))) + "px",
			"top":newTop + "px"
		});
		this.wCoords = this.windowW.getCoordinates();
		var coords = this.wCoords;
		this.wShadow.setStyles({
			"top":coords.top.toInt()+5,
			"left":coords.left.toInt()+5
		});
		this.wIframeFixer.setStyles({
			"top":coords.top.toInt(),
			"left":coords.left.toInt()
		});*/
		var screen = document.getElementById('ssbox_screen');
		if( screen ) screen.style.height = document.documentElement.scrollHeight + "px";
        //this.y_top = document.documentElement.scrollTop || document.body.scrollTop;   
        this.client_height = window.innerHeight || document.documentElement.clientHeight;
        //document.getElementById('zenbox_main').style.top = this.y_top + (0.15*this.client_height) + "px";
        alert("Changing height...");
        var main = document.getElementById('ssbox_main');
		if( main ){
			main.style.top = (0.15*this.client_height) + "px";
			alert("After height...");
		}
	},
	openWindow:function(){
		/*this.stopTimer = false;
		var wWrap = new Element('div', {
			'id' : 'windowWrapper',
			"styles":{
				"background-color":this.options.backgroundColor,
				"color":"#ffffff",
				"padding":"0px 0px 8px 0px",
				"text-align":"left",
				"border":"1px solid black",
				"z-index":"20000",
				"width":this.options.width
			}
		});*/
		
		/*wWrap.setHTML('<table width="100%" style="margin-bottom:10px">'+
			'<tr><td align="right"><span id="J_newModalClose" style="font-size:10px;color:#FFFFFF;cursor:pointer;padding-right:6px;">Close</span></td></tr>'+
			'<tr><td align="center"><b style="font-size:'+this.options.titleSize+';color:#FFFFFF;">'+this.options.title+'</b>'+
			'</td></tr>'+
			'</table><div id="modalMsg_'+this.session+'" style="color:#fff;font-size:11px;text-align:center;">&nbsp;</div>');
		wWrap.injectInside(document.body);
		this.windowW = wWrap;
		this.windowAdjust();
		$('J_newModalClose').addEvent('click',function(){
			this.closeWindow();
		}.bind(this));
		window.addEvent("resize",function(){this.setWindowPos();}.bind(this));*/
		
		var ssbox = new Element('div', {
			id : 'ssbox_overlay',
			style : {
				display: 'block'
			}
		});
		ssbox.setHTML(
			'<div class="alertError" id="ssbox_main" style="text-align: left;'+(this.options.width?'width:'+this.options.width+';':'')+(this.options.height?'height:'+this.options.height+';':'')+'">'+
				/*'<div id="ssbox_overlay_header">'+
					'<span id="ssbox_close">&nbsp;</span>'+
					'<div style="text-align:center; border: medium none ; background-color: transparent; color: white; font-size: 16px;"></div>'+
				'</div>'+*/
				'<div id="ssbox_preamble" style="width:100%;height:100%;">'+
					'<span id="ssbox_close">&nbsp;</span>'+
					'<h2 id="ssbox_overlay_title">'+this.options.header+'</h2>'+
					'<div id="ssbox_content">'+this.options.title+'</div>'+
					'<div id="modalMsg_4'+this.session+'"></div>'+
				'</div>'+
			'</div>'+
			'<div id="ssbox_screen">&nbsp;</div>'
		);
		ssbox.injectInside(document.body);
		this.windowW = ssbox;
		this.windowAdjust();
		$('ssbox_close').addEvent('click', function(){
			this.closeWindow();
		}.bind(this));
		$('ssbox_screen').addEvent('click', function(){
			this.closeWindow();
		}.bind(this));

		window.addEvent("resize",function(){this.setWindowPos();}.bind(this));
		//window.addEvent("scroll",function(){this.setWindowPos();}.bind(this));
		/*if(this.options.contentURL!=''){
			var ajaxObj = new Ajax(this.options.contentURL,{
				data:this.options.data,
				method: this.options.method,
				evalScripts: this.options.evalScripts,
				onComplete: function(sHtml){
					if($("ssbox_content")){						
						$("ssbox_content").setStyle("width",(this.options.width)+"px");
						$('ssbox_preamble').setStyle("width",(this.options.width)+"px");
						$('ssbox_overlay_header').setStyle("width",(this.options.width)+"px");
						$("ssbox_content").setHTML(sHtml);// evita el brinco en la transicion
						//document.getElementById('ssbox_overlay_loading').style.display= "none";
						//document.getElementById('ssbox_content').style.display= "block";
						$('ssbox_overlay_loading').setStyle('display','none');
						$('ssbox_content').setStyle('display','block');
						if( window.ie ) {
							var ssboxClose = $('ssbox_close');
							ssboxClose.style.left = $('ssbox_preamble').getLeft() - ssboxClose.getLeft() - 30;
						}
						//alert( this.options.evalScripts );
						if(this.options.evalScripts && typeof newModalEval=="function") newModalEval();
					}
					if(typeof this.onContentLoaded == "function")
						this.onContentLoaded(sHtml);
					this.windowAdjust();
				}.bind(this),
				onFailure: function(){
					// Correccion de un bug dentro de esta libreria evitando el lanzamiento de un alert
					// y agregando en su lugar un contenido [UACOSTA]
					//alert("this function is unavailable at this moment");
					if($("ssbox_content")){
                        $("ssbox_content").setStyle("width",(this.options.width)+"px");
                        $("ssbox_content").setHTML('<div style="text-align: center; width: 100%;">The content is unavailable at this moment or was interrupted.</div>');
                    }
                    this.windowAdjust();
				}.bind(this)
			}).request();
		}*/
	},
	closeWindow:function(){
		/*if($('modalShadow')){
			$('modalShadow').remove();
		}
		if($('windowWrapper')){
			$('windowWrapper').remove();
		}
		if($('wIframeFixer')){
			$('wIframeFixer').remove();
		}
		if(this.onClose){
			this.onClose();
		}*/
		if( $('ssbox_overlay') ) $('ssbox_overlay').remove();
		if(typeof this.onClose == "function"){
			this.onClose();
		}
	},
	windowAdjust:function(iNewWidth){
		if(iNewWidth){
			this.setWindowPos(iNewWidth);
		}else{
			this.setWindowPos();
		}
		this.setShadowSize();
	},
	autoClose:function(time){
		var modalMsg = $('modalMsg_'+this.session);
		if(!modalMsg){return;}
		else{
			modalMsg.innerHTML = "This window will close in "+time+" seconds.";
		}
		if(time == 0){
		 	this.closeWindow();
		 	return;
		}
	 	time--;
	 	this.autoClose.delay(1000,this,[time]);
	},
	autoRedirect:function(time,sUrl){
		var modalMsg = $('modalMsg_'+this.session);
		if(!modalMsg){return;}
		else{
			modalMsg.innerHTML = "You will be redirected in "+time+" seconds.";
		}
		if (time == 0)	{
			document.location.href = sUrl;
			return;
		}
	 	time--;
	 	this.autoRedirect.delay(1000,this,[time,sUrl]);
	},
	linkDirect:function(link){
		var modalMsg = $('modalMsg_'+this.session);
		if(!modalMsg){return;}
		else{
			modalMsg.innerHTML = 'Click <a href='+link+'>here</a> to download Firefox.';
		}
	}
});
AlertMessage.implement(new Options);

var ssbox_tab = $('ssbox_tab'); 
if( ssbox_tab ) {
	ssbox_tab.removeEvents( );
	ssbox_tab.addEvent('click', function(e){
		var xModal = new newModal({
			title:"Sitesearch Support",
			width: 530,
			contentURL: '/reports/support.php',
			//callback:'hideFlash();',
			method:'post',
			formData:$('reportFrm'),
			onContentLoaded:function(sHtml){
				if(sHtml.indexOf("{status")==-1){
					$('reportFrm').addEvent("submit",function(e){
						new Event(e).stop();
					
						//reportAbuse(url,btn);
						this.send();
	
						//cleanNewModal();
						//okFlash();
						$('ssbox_content').setHTML('<div>Your report has been submitted. We will try to resolve this issue in a timely manner.<br /><br />You can check your support requests <a href=\'http://helpme.sitesearch.com/requests/portal/index\' style=\'text-decoration:underline\'>here</a>.</div>');
					});
	
				}else{
					/*var cJSON = JSON.decode(sHtml);
					cleanNewModal();
					okFlash();*/
				}
			}.bind(this)
		});	
	});
	delete ssbox_tab;
}
