function emptyField(textObj) {
	if (textObj.value.length == 0) return true;
	for (var i=0; i<textObj.value.length; ++i)  {
		var ch = textObj.value.charAt(i);
		if (ch != ' ' && ch != '\t') return false;
	}
	return true;
}
function isValidPhone(s) {
	return !(/\D/.test(s));
}	
function isValidDomainName(s) {
	return /^[a-z0-9][\w\.-]*[a-z0-9]$/i.test(s);
}	
function isEmail(s) {  
	var i = 1;
	var sLength = s.length;
	while ((i < sLength) && (s.charAt(i) != "@")) { i++ }
	if ((i >= sLength) || (s.charAt(i) != "@")) return false;
	else i += 2;
	while ((i < sLength) && (s.charAt(i) != ".")) { i++ }
	if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
	else return true;
}
function trim(str) {
	return str.replace(/^\s*|\s*$/g,"");
}
function isChecked(box) {
	for( var i=0; i<box.length; i++) if( box[i].checked) return true;
	return false;
}
function GetRBselection(group) 	{
	for (var i=0; i<group.length; i++) if ( group[i].checked == true) return group[i].value;
	return "";
}


//############################################################################
var GalleryCrnt = [0,0];
var GalleryMax = [0,0];
var PageDir = 'rtl';

function setGalleryMax(c0,c1) {
	GalleryMax[0]= c0;
	GalleryMax[1]= c1;
}
function setPageDir(d) {
	PageDir = d;
}

function showMedia(group,id) {
	var PicPanelImg = document.getElementById("PicPanelImg_" + group )  ;
	var PicPanelTitle = document.getElementById("PicPanelTitle_" + group )  ;
	var PicDataImg = document.getElementById("PicDataImg_" + group + "_" + id) ;
	var PicDataTitle = document.getElementById("PicDataTitle_" + group + "_" + id) ;
	
	if ( PicPanelImg &&  PicDataImg && PicPanelTitle && PicDataTitle ) {
		GalleryCrnt[group] = id;	
		
		var pic = document.createElement('img');
		pic.style.display = "block";
		pic.align = "center";
		pic.style.cursor = 'pointer' ;
		pic.className = "Thumb";
		//pic.setAttribute("onclick","popImage('" + PicDataImg.getAttribute("imagesrc") + "')" );
		pic.onclick = function() {  
			popImage(PicDataImg.getAttribute("imagesrc")); 
		}
		
		//pic.id = "Pic_" + group + "_" + id;
		pic.id = PicPanelImg.id;
		pic.vspace = PicDataImg.vspace ;
		pic.hspace = PicDataImg.hspace ;
		
		pic.onload = function() {
			var parent = PicPanelImg.parentNode;
			parent.replaceChild(pic, PicPanelImg);
			pic.onload = null;
			//PicPanelTitle.innerHTML = PicDataTitle.innerHTML;
			startTicker( PicPanelTitle,group,PicDataTitle.innerHTML);
			return false;
		}
		pic.setAttribute("src",	PicDataImg.getAttribute("thumbsrc") );
	}		
}

function nextMedia(group) {
	if (GalleryCrnt[group]+1 <= GalleryMax[group] ) showMedia(group, GalleryCrnt[group]+1);
}
function lastMedia(group) {
	if (GalleryCrnt[group]-1 >= 0 ) showMedia(group, GalleryCrnt[group]-1);
}

function popImage(pic1,pic2,pic3) {
	if(!pic1) return;
	var opt='addrbar=0,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizeable=1,width=400,height=400';
	var mywin= window.open('','View',opt);
	mywin.document.write('<HTML dir="'+PageDir+'"><HEAD><TITLE>-</TITLE></HEAD><BODY BGCOLOR=white LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0><center>');
	if (pic1) mywin.document.write("<img id='main_image' onload='window.resizeTo(main_image.width+30,main_image.height+70);window.focus();' src='"+pic1+"'><br>");
	if (pic2) mywin.document.write("<img src='"+pic2+"'><br>");
	if (pic3) mywin.document.write("<img src='"+pic3+"'><br>");
	mywin.document.write("</center></body></html><"+"script"+">window.resizeTo(main_image.width+30,main_image.height+70)" + ";" + "</" + "script" + ">");
	mywin.focus();
	mywin.document.close();
}	

var TickerCharacterTimeout = 50;
var TickerTitleTimeout = 4000;
var TickerPadding1 = "_";
var TickerPadding2 = "-";
var TickerPadding0 = "";
var TickerTitles = ["",""];
var TickerLen = [0,0];
var TickerDiv = [null,null];

// Ticker startup
function startTicker(div,group,title) {
	TickerDiv[group] =div;
	TickerLen[group] = 0;
	TickerTitles[group] = title.replace(/&quot;/g,'"');
	runTheTicker(group);   	
}
function runTheTicker(group) {
	var myTimeout;  
	TickerDiv[group].innerHTML = TickerTitles[group].substring(0,TickerLen[group]) + TickerPadding(group);
	if(TickerLen[group] == TickerTitles[group].length) return;

	TickerLen[group]++;
	myTimeout = TickerCharacterTimeout;
	//TickerLen[group] = 0;
	//myTimeout = TTickerTitleTimeout;
	window.setTimeout("runTheTicker("+ group +")", myTimeout);
}

function TickerPadding(group) {
	if(TickerLen[group] == TickerTitles[group].length) return TickerPadding0;
	if((TickerLen[group] % 2) == 1) return TickerPadding1;
		else return TickerPadding2;
}


//############################################################################
function DomainLookup() {
	this.varName = "";
	this.name = "";
	this.ext = false;
	this.conn = null;
 	this.nameFieldID = "DomainName";
 	this.extFieldID = "DomainExt";
 	this.btnID = "DomainCheckBtn";
 	this.outID = "DomainCheckOut";
 	this.altID=	"DomainCheckAlt";
 	this.availableMsg = "Domain is available";
 	this.notAvailableMsg = "Domain is not available";
 	this.similarMsg  = "Similar available names";
 	this.enterMsg = "Enter valid domain name";
 	this.checkURL = "CheckDomain.asp";
 	this.imgDir = "/images/Live/";
 	this.availableCallback = null;
 	this.altCallback = null;
 	var self = this;
	this.checkDone =function(txt) {
		self.conn = null;
		if (txt=='err') {
			$('#'+self.outID).html('<img src="'+ self.imgDir +'true.png" align=absmiddle>'+ self.availableMsg);
			$('#'+self.outID).css('color','green');
			if (self.availableCallback) self.availableCallback(self.name,self.ext);
		}	
		else if (txt.indexOf(self.ext)>-1) {
			$('#'+self.outID).html('<img src="'+ self.imgDir +'true.png" align=absmiddle>'+ self.availableMsg);
			$('#'+self.outID).css('color','green');
			if (self.availableCallback) self.availableCallback(self.name,self.ext);
		}	
		else {
			$('#'+self.outID).html('<img src="'+ self.imgDir +'false.png" align=absmiddle> '+ self.notAvailableMsg);
			$('#'+self.outID).css('color','maroon');
		 	if (txt>'') {
		 		var alt = $('#'+self.altID);
		 		alt.html('<b>'+ self.similarMsg + '</b><ul>');
				var xts = txt.split(",");
				for(var i=0;i<xts.length;i++) {
					var li = $('<li><a href="#">'+ self.name+'.'+xts[i] +'</a></li>').appendTo(alt);
					$('a',li).click(altClick(xts[i]));
				}	
				alt.append('</ul>');
			}
		}	
		$('#'+self.btnID).attr('src',self.imgDir +'find.png');
	}
	var altClick = function(ext){
		return function(){
			self.altDomain(ext);
			if (self.altCallback) self.altCallback(self.name,ext);
			return false;
		}
	}
	this.checkFail =function(txt) {
		self.conn = null;
		$('#'+self.outID).html('<img src="'+ self.imgDir +'true.png" align=absmiddle>'+ self.availableMsg);
		//self.elm(self.outID).style.color = "green";
		$('#'+self.btnID).attr('src',self.imgDir +'find.png');
	}
	this.checkDomain= function() {
		if (this.conn) {
			alert("Please wait");
		 	return;
		}	
		
		this.name = $('#'+this.nameFieldID).val();
		if (!isValidDomainName(this.name)) {
			alert(this.enterMsg);
			return;
		}
		this.ext = $('#'+this.extFieldID).val();
		if (!this.ext || this.ext=='') return;
		
		$('#'+this.outID).html('');
		$('#'+this.altID).html('');
		
		this.conn = $.ajax({type:"GET",url:this.checkURL,data: "name="+this.name+"&ext="+this.ext,success: self.checkDone,error:self.checkFail});
		//this.conn.connect(this.checkURL, "GET", "name="+this.name+"&ext="+this.ext , self.checkDone, self.checkFail);
		
		$('#'+this.btnID).attr('src',this.imgDir +'loading.gif');
	}
	this.altDomain =function(ext){
		var s = document.getElementById(this.extFieldID);
		if (!s) return;
		for(var i=0; i<s.options.length; i++){
			if(s.options[i].value == ext) {
				s.selectedIndex = i;
				return;
			}	
		}
	}	
}

//############################################################################
/*
function Previewer() { 
	var self = this;
	this.minWidth = 430;
	this.minHeight = 440;
	this.imgMargin = 10;
	this.mouseOffset= 10;
	this.frameID = 'TMIFR';
	this.linkClass = 'TMLink';
	this.loaderImg = 'images/gray.gif';
	var imgHeight;
	var vpWidth;
	var halfWidth;
	var vpHeight;
	var halfHeight;
	var scrolTop;
	var scrolBottom;
	var mouseX;
	var mouseY;
	var alignRight;
	
	this.init = function() {
		$(document).ready(function() {	
		    imgHeight = this.minHeight;
		    vpWidth = $(window).width();
		    halfWidth = vpWidth/2;
		    vpHeight = window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body.clientHeight;
			halfHeight = vpHeight/2;
		});
	};

	this.loadFrame = function() {
		$('#'+self.frameID).contents().find('a.'+ self.linkClass).hover(function(evt){self.mouseHover(evt,this);},function(){ self.mouseOut()});
		$('#'+self.frameID).contents().find('a.'+ self.linkClass).bind('mousemove',function(evt){self.mouseMoving(evt);});
		$('#'+self.frameID).contents().bind("contextmenu",function(e){e.preventDefault();});
	};
	this.mouseHover = function (evt,objThis) {	
		var href = $(objThis).attr('href');
		scrolTop = $(document.body).scrollTop();
		scrolBottom = scrolTop + vpHeight ;
		halfHeight = (scrolBottom + scrolTop)/2;
	
		mouseX = $('#'+self.frameID).offset().left + evt.pageX ;
		mouseY = $('#'+self.frameID).offset().top + evt.clientY;
		alignRight = vpWidth - mouseX + self.mouseOffset;
		
		$('<div id="TMDiv"></div>').appendTo('body').css({
			'background':'white url(\''+ self.loaderImg +'\') no-repeat center center'
			,'border':'black 1px solid'
			,'height':self.minHeight +'px'
			,'width':self.minWidth +'px'
			,'position':'absolute'
			,'z-index':'100'
			,'top':'0'})
			
		self.divReposition();
		$('<img id=TMImg src="' + href + '"/>').css({'border':'black 1px solid'}).appendTo('#TMDiv').hide().load(function() {
			$(this).fadeIn("normal");
			$('#TMDiv').css({'border':''});
			var newHeight = $('#TMImg').height();
			imgHeight = newHeight > imgHeight ? newHeight:imgHeight;
			self.divReposition();
		});
	};
	
	this.divReposition = function() {
		if(mouseX <= halfWidth ){$('#TMDiv').css({'left': (mouseX + self.mouseOffset) +'px'});}
		else{$('#TMDiv').css({'right': alignRight +'px' });}
		
		var imgpos;
		if(mouseY <= halfHeight ) {
			if(mouseY + imgHeight+(self.imgMargin + self.mouseOffset) >= scrolBottom) {
				imgpos = (mouseY + imgHeight) - scrolBottom;
				imgpos = mouseY - imgpos;
				$('#TMDiv').css({'top': (imgpos-self.imgMargin)+'px'});
			}
			else {
				$('#TMDiv').css({'top': (mouseY+ self.mouseOffset)+'px'});
			}
		}
		else {	
			if(scrolTop <= mouseY - (imgHeight+ self.imgMargin+ self.mouseOffset)) {
				imgpos = mouseY - imgHeight;
				$('#TMDiv').css({'top': (imgpos- self.mouseOffset)+'px'});
			}
			else {	
				imgpos = scrolTop - (mouseY - imgHeight);
				imgpos = (mouseY - imgHeight) + imgpos;
				$('#TMDiv').css({'top': (imgpos+ self.imgMargin)+'px'});
			}
		}
	};
	this.mouseOut = function() {
		 $('#TMDiv').remove();
		imgHeight = self.minHeight;
	};
	this.mouseMoving = function(evt) {
		mouseX = $('#'+self.frameID).offset().left + evt.pageX ;
		var alignRight = vpWidth - mouseX + self.mouseOffset;
		if(mouseX <= halfWidth ){$('#TMDiv').css({ 'left': (mouseX+ self.mouseOffset)+'px'});}
		else{$('#TMDiv').css({'right': alignRight+'px','left':''});}
	};
}
*/
/**********************************************/
function Previewer() { 
	var self = this;
	this.minWidth = 430;
	this.minHeight = 200;
	this.imgMargin = 10;
	this.mouseOffset= 10;
	this.frameID = 'TMIFR';
	this.linkClass = 'TMLink';
	this.loaderImg = 'images/gray.gif';
	var imgHeight;
	var vpWidth;
	var halfWidth;
	var vpHeight;
	var halfHeight;
	var scrolTop;
	var scrolBottom;
	var mouseX;
	var mouseY;
	var alignRight;
	var frm;
	
	this.init = function() 
	{
		$(document).ready(function() 
		{	
		    imgHeight = self.minHeight;
		    vpWidth = $(window).width();
		    halfWidth = vpWidth/2;
		    vpHeight = window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body.clientHeight;
			halfHeight = vpHeight/2;
			frm = $('#'+self.frameID);
			frm.contents().bind("contextmenu",function(e){e.preventDefault();});
		});
	};


	this.loadFrame = function()
	{	
		frm = $('#'+self.frameID);
		//frm.contents().find('a.'+ self.linkClass).hover( function(evt){self.mouseHover(evt,this);},function(){ self.mouseOut();});
		
		frm.contents().find('a.'+ self.linkClass).hoverIntent({
			sensitivity: 7, // number = sensitivity threshold (must be 1 or higher)
			interval: 50,   // number = milliseconds of polling interval
			over:function(evt){self.mouseHover(evt,this);},
			timeout: 0,   // number = milliseconds delay before onMouseOut function call
			out: function(){ self.mouseOut();}
		});
			
		
		frm.contents().find('a.'+ self.linkClass).bind('mousemove',function(evt){self.mouseMoving(evt);});
		//frm.contents().find('a.'+ self.linkClass).click(function(evt){evt.preventDefault()});
		frm.contents().bind("contextmenu",function(e){e.preventDefault();});
	};
	this.mouseHover = function (evt,objThis)
	{	
		var href = $(objThis).attr('href');
		scrolTop = $(document.body).scrollTop();
		scrolBottom = scrolTop + vpHeight ;
		halfHeight = (scrolBottom + scrolTop)/2;
	
		
		mouseX = frm.offset().left + evt.pageX ;
		mouseY = frm.offset().top + evt.clientY;
		alignRight = vpWidth - mouseX + self.mouseOffset;
		
		if($('#TMDiv').size()<= 0)
		{
			$('<div id="TMDiv" class="TMLoader"></div>')
				.css({'background':'white url('+ self.loaderImg +') no-repeat center center','border':'black 1px solid'})
				.css({'height':self.minHeight,'width':self.minWidth,'position':'absolute','z-index':100,'top':0}).appendTo('body');
		}
			self.divReposition();
		$('<img id=TMImg src="' + href + '"/>').css({'border':'black 1px solid'}).appendTo('#TMDiv').hide().load(function()
		{
			$(this).fadeIn("normal");
			$('#TMDiv').css({'border':''});
			var newHeight = $('#TMImg').height();
			imgHeight = newHeight > imgHeight ? newHeight:imgHeight;
			self.divReposition();
			
			/**********************/
			$('#TMDiv').css({'background-color':'transparent'});
			/***********************/
		});
	};
	
	this.divReposition = function()
	{
		var div = $('#TMDiv');
		if(mouseX <= halfWidth ){div.css({ 'left': mouseX + self.mouseOffset});}
		else{div.css({'right': alignRight });}
		
		var imgpos;
		if(mouseY <= halfHeight )
		{
			if(mouseY + imgHeight+(self.imgMargin + self.mouseOffset) >= scrolBottom)
			{
				imgpos = (mouseY + imgHeight) - scrolBottom;
				imgpos = mouseY - imgpos;
				div.css({'top': imgpos - self.imgMargin });
			}
			else 
			{div.css({'top':mouseY+ self.mouseOffset});}
		}
		else 
		{	
			if(scrolTop <= mouseY - (imgHeight+ self.imgMargin+ self.mouseOffset))
			{
				imgpos = mouseY - imgHeight;
				div.css({'top': imgpos- self.mouseOffset});
			}
			else 
			{	
				imgpos = scrolTop - (mouseY - imgHeight);
				imgpos = (mouseY - imgHeight) + imgpos;
				div.css({'top': imgpos+ self.imgMargin});
			}
		}
	};
	this.mouseOut = function()
	{	
		var div = $('#TMDiv');
		if(div.size() >0) div.remove();
		imgHeight = self.minHeight;
	};
	this.mouseMoving = function(evt)
	{
		var div = $('#TMDiv');
		mouseX = frm.offset().left + evt.pageX ;
		var alignRight = vpWidth - mouseX + self.mouseOffset;
		if(mouseX <= halfWidth ){div.css({ 'left': mouseX+ self.mouseOffset});}
		else{div.css({'right': alignRight,'left':''});}
	};
}
