// JavaScript Document
divReload=new Array();
divReload[0]={id:"playlist_my_area",href:"/ajax/list/playlist_my_area.php"};
divReload[1]={id:"dj_my_area",href:"/ajax/list/dj_my_area.php"};


function loadPreferences(formObject)
	{
	hideDiv("preferences");
	if(formObject==null) return false;
		for(var i=0;i<divReload.length;i++)
			{
			queryString="zip="+escape(formObject.elements["zip"].value)+"&country="+escape(formObject.elements["country"].value)+"&state="+escape(formObject.elements["state"].value);
			loadAjax(divReload[i].href+"?"+queryString,divReload[i].id);
			}
	}
	
function gallery(getName)
	{
		var list=new Array();
		this.isUnderTransition=false;
		var name=getName;
		//alert(this);
		eval("obj_"+name+"_gallery=this;");
		this.ids_setTimeout=new Array();
		this.onNoTransition=function() { };
		this.counter=0;
		this.interval=2000;
		this.changeTime=200;
		this.insertImage=function(title, description, image, thumbnail,mlink) {
			if(title.length>25)
			title=title.substr(0,25)+'...';
			var item=new Array();
			item["title"]="<a href='"+mlink+"'>"+title+"</a>";
			item["description"]=description;
			item["image"]=image;
			item["thumbnail"]=thumbnail;
			item["link"]=mlink;
			
			list.push(item);
		};
		this.writeCode=function() {
			document.writeln('<div style="padding-left:200px;"><div style="float:left; *position:relative; *display:inline; margin-left:-200px; width:190px;">');
			for(var i=0; i<list.length; i++)
				{
					document.writeln('<div id="'+name+'_img_'+i+'" style="text-align:right; width:100%; ');
					document.writeln('display:none;')
					document.writeln('"><a href="'+list[i]['link']+'"><img src="'+list[i]['image']+'" border="0"></a></div>');
				}
		document.writeln('</div>');
		document.writeln('<div style="float: left; width: 100%; display: inline;">');
		document.writeln('<div style="height:95px;">');
		document.writeln('<div id="'+name+'_title" style="font-size:14px; font-weight:bold">'+list[0]["title"]+'</div>');
		document.writeln('<div id="'+name+'_description" style="font-size:12px;">'+list[0]["description"]+'</div>');
		document.writeln('</div>');
		document.writeln('<div id="'+name+'_thumbnails" style="width: 96%;">');
			for(var i=0; i<list.length; i++)
				{
					document.writeln('<div id="'+name+'_thumb_'+i+'" style="float:left; width: 40px; display: inline;');
					if(i>0) document.writeln('margin-left:4px;');
//					document.writeln('"><a href="'+list[i]['link']+'"><img src="'+list[i]['thumbnail']+'" onclick="obj_'+name+'_gallery.gotoPhoto('+i+');"></a></div>');
					document.writeln('"><a href="javascript: void(0);"><img src="'+list[i]['thumbnail']+'" onmouseover="obj_'+name+'_gallery.gotoPhoto('+i+');" height="40" width="40" ></a></div>');
				}
		document.writeln('</div></div></div>');
		};
		
		
		
		
		this.gotoPhoto=function(id) {
			this.counter=id;
			//alert(this.isUnderTransition);
			this.onNoTransition=function() {
				clearTimeout(this.ids_setTimeout[0]);
				clearTimeout(this.ids_setTimeout[1]);
				clearTimeout(this.ids_setTimeout[2]);
				this.show();
			};
			if(!this.isUnderTransition)
				{
					this.onNoTransition();
					this.onNoTransition=function() { };
				}
			};
	
	
	
	
	
		this.start=function() {
			this.show();
		};
		this.show=function() {
			this.hideAll();
			this.isUnderTransition=true;
			opacity(name+'_img_'+this.counter, 0, 100, this.changeTime);
			document.getElementById(name+'_title').innerHTML=list[this.counter].title;
			document.getElementById(name+'_description').innerHTML=list[this.counter].description;
			changeOpac(100, name+'_thumb_'+this.counter);
			eval('this.ids_setTimeout[0]=setTimeout(function() { obj_'+name+'_gallery.isUnderTransition=false; obj_'+name+'_gallery.onNoTransition(); obj_'+name+'_gallery.onNoTransition=function() { }; },'+this.changeTime+');');
			eval('this.ids_setTimeout[1]=setTimeout(function() { obj_'+name+'_gallery.hide(); },'+(this.changeTime+this.interval)+');');
		};
		this.hide=function() {
			this.isUnderTransition=true;
			opacity(name+'_img_'+this.counter, 100, 0, this.changeTime);
			eval('this.ids_setTimeout[2]=setTimeout(function() { obj_'+name+'_gallery.getNext(); obj_'+name+'_gallery.show(); },'+this.changeTime+');');
		};
		this.hideAll=function() {
			for(m=0;m<list.length;m++)
				{
				document.getElementById(name+'_img_'+m).style.display="none";
				changeOpac(80, name+'_thumb_'+m);
				}
		};
		this.getNext=function() {
			this.counter++;
			if(this.counter==list.length) this.counter=0;
		};
		this.changeInterval=function(pauseTime) {
			this.interval=pauseTime;
		};
	}
	
	
	
//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}




// JavaScript Document

function create_request_string(theform)
{
var reqStr = "";

for(i=0; i < theform.elements.length; i++)
{
isformObject = false;

switch (theform.elements[i].tagName)
{
case "INPUT":

switch (theform.elements[i].type)
{
case "text":
case "hidden":
case "password":
reqStr += theform.elements[i].name + "=" + encodeURIComponent(theform.elements[i].value);
isformObject = true;
break;

case "checkbox":
if (theform.elements[i].checked)
{
reqStr += theform.elements[i].name + "=" + theform.elements[i].value;
}else{
reqStr += theform.elements[i].name + "=";
}
isformObject = true;
break;

case "radio":
if (theform.elements[i].checked)
{
reqStr += theform.elements[i].name + "=" + theform.elements[i].value;
isformObject = true;
}
}
break;

case "TEXTAREA":

reqStr += theform.elements[i].name + "=" + encodeURIComponent(theform.elements[i].value);
isformObject = true;
break;

case "SELECT":
var sel = theform.elements[i];
reqStr += sel.name + "=" + sel.options[sel.selectedIndex].value;
isformObject = true;
break;
}

if ((isformObject) && ((i+1)!= theform.elements.length))
{
reqStr += "&";
}

}

return reqStr;
} 



function submitFormInDiv(frm,divId)
	{
	if(frm.method.toUpperCase()=="POST")
		{
		loadAjax(frm.action,divId,create_request_string(frm),"Processing..");
		}
	else
		{
		loadAjax(frm.action+"?"+create_request_string(frm),divId,"","Processing..");
		}
	}

function submitFormOnFloat(frm)
	{
	if(frm.method.toUpperCase()=="POST")
		{
		loadPage(frm.action,"Processing..",create_request_string(frm));
		}
	else
		{
		loadPage(frm.action+"?"+create_request_string(frm),"Processing..");
		}
	}


function loadAjax(link1,id,send_var,loading_text)
{
	
		if(send_var==null)
		send_var = "";

		if(loading_text==null)
		loading_text = "";

var request=null;
request=createRequest();

request.open("POST",link1,true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", send_var.length);
request.setRequestHeader("Connection", "close");

//request.open("GET",link1,true);
//request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
request.onreadystatechange=function()
			{
				showDiv(id);
				document.getElementById(id).innerHTML='<img src="/images/wait.gif" /> '+loading_text;
				if(request.readyState==4)
				{
						var strVal=request.responseText;
							if(strVal.substr(0,5)=="link:")
								{
								hideDiv(id);
								window.location=strVal.substr(5);
								return;
								}
							else if(strVal.substr(0,5)=="exit:")
								{
								hideDiv(id);
								return;
								}
							else if(strVal.substr(0,7)=="script:")
								{
								hideDiv(id);
								eval(strVal.substr(7));
								return;
								}
							else
								{
								showDiv(id);
								document.getElementById(id).innerHTML=strVal;
								}
				}
			}; 
request.send(send_var);
}

function createRequest()
{
		try
		  {
		  // Firefox, Opera 8.0+, Safari
		  return request=new XMLHttpRequest();
		  }
		catch (e)
		  {
		  // Internet Explorer
		  try
			{
			return request=new ActiveXObject("Msxml2.XMLHTTP");
			}
		  catch (e)
			{
			return request=new ActiveXObject("Microsoft.XMLHTTP");
			}
		  }
		return request;
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ parseInt(scrOfX), parseInt(scrOfY) ];
}
function getXY(e)
	{
	if(!e) e=window.event;
	var nn6=document.getElementById&&!document.all;
    x = nn6 ? e.clientX : event.clientX;
    y = nn6 ? e.clientY : event.clientY;
	return [ parseInt(x), parseInt(y) ];
	}
function centerPage(id)
	{
document.getElementById(id).style.left=(getScrollXY()[0]+(parseInt(getPageSize()[2])-parseInt(document.getElementById(id).offsetWidth))/2)+"px";
document.getElementById(id).style.top=(getScrollXY()[1]+(parseInt(getPageSize()[3])-parseInt(document.getElementById(id).offsetHeight))/2)+"px";
	}

function showDiv(id)
	{
		document.getElementById(id).style.display="block";
	}
function showTR(id)
	{
		if(isIE())
			document.getElementById(id).style.display="block";
		else
			document.getElementById(id).style.display="table-row";
	}
function hideDiv(id)
	{
		
		document.getElementById(id).style.display="none";
	}


function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function removeObj(id)
	{
		var obj_del;
		if(obj_del=document.getElementById(id))
			{
			obj_del.parentNode.removeChild(obj_del);
			obj_del=null;
			}
	}

function removeObjByLinker(obj_del)
	{
		obj_del.parentNode.removeChild(obj_del);
		obj_del=null;
	}

document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};

document.getNextHighestZIndex = function() {
var highestIndex= 0;
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
if(parseInt(elem[i].style.zIndex)>highestIndex) highestIndex=parseInt(elem[i].style.zIndex);
}
highestIndex++;
return highestIndex;
};

function searchParentTag(obj,tag)
	{
		obj = obj.parentNode;
		while(obj.tagName!=tag)
			{
				if(obj.tagName=="HTML")
					return 0;
				obj = obj.parentNode;
			}
		return obj;
	}

function getXObj(obj){
    return obj.offsetLeft + (obj.offsetParent ? getXObj(obj.offsetParent) : obj.x ? obj.x : 0);
}
function getYObj(obj){
    return (obj.offsetParent ? obj.offsetTop + getYObj(obj.offsetParent) : obj.y ? obj.y : 0);
}


function getElementsByClassName(oElm, strTagName, oClassNames){	
strTagName=((strTagName==null)?'*':strTagName);
var retnode = [];
var myclass = new RegExp('\\b'+oClassNames+'\\b');
var elem = oElm.getElementsByTagName(strTagName);
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
}


// JavaScript Document
/*var old_window_onload = (window.onload) ? window.onload :  function(){};
window.onload = function() {
	old_window_onload();
	addDropDowns();
	};*/
	

var initDropDown=0;
var classElements;
var timeoutvar=0;
function addDropDowns()
	{
	classElements=document.getElementsByClassName("floatDropDown");
	for(dropDownCounter=0;dropDownCounter<classElements.length;dropDownCounter++)
		{
		dropDownObj=document.getElementsByClassName("floatDropDown")[dropDownCounter];
		childNodesCount=dropDownObj.childNodes.length;
		for(i=0;i<childNodesCount;i++)
			{
				if(dropDownObj.childNodes[i].tagName=="SPAN")
							spanObj=dropDownObj.childNodes[i];
				else if(dropDownObj.childNodes[i].tagName=="UL")	
							ulObj=dropDownObj.childNodes[i];
			}
		spanObj.id="floatDropDownSpan"+dropDownCounter;
		floatDivContent='<ul>'+ulObj.innerHTML+'</ul>';
		spanObj.innerHTML+='<a class="arrowFloatDropDown" href="javascript:;" onClick="showFloatDropDown(event,\''+dropDownCounter+'\')"><spacer type="block" width="16" height="16"></a>';
		dropDownDiv=document.createElement('DIV');
		dropDownDiv.id="floatDropDown"+dropDownCounter;
		dropDownDiv.style.left=getXObj(spanObj)+"px";
		dropDownDiv.className="floatDropDownDiv";
		dropDownDiv.style.top=(getYObj(spanObj)+spanObj.offsetHeight+3)+"px";
		//spanObj.style.border="1px solid #000";
		dropDownDiv.style.position="absolute";
		//dropDownDiv.style.border="1px solid #000";
		dropDownDiv.style.display="none";
		dropDownDiv.innerHTML=floatDivContent;
		dropDownDiv.onmouseover=function()
			{
				clearTimeout(timeoutvar);
			};
		dropDownDiv.onmouseout=function()
			{
				timeoutvar=setTimeout("hideAllFloatDropDown()",500);
			};

		document.getElementsByTagName('BODY')[0].appendChild(dropDownDiv);
		}
	}
function hideAllFloatDropDown()
	{
		for(dropDownCounter=0;dropDownCounter<classElements.length;dropDownCounter++)
			{
			hideDiv("floatDropDown"+dropDownCounter);
			}

	}
function showFloatDropDown(e,dropDownCounterSelected)
	{
		hideAllFloatDropDown();
		dropDownDiv=document.getElementById("floatDropDown"+dropDownCounterSelected);
		spanObj=document.getElementById("floatDropDownSpan"+dropDownCounterSelected);
		liArray=dropDownDiv.getElementsByTagName('LI');
		for(i in liArray)
			{
				liArray[i].onclick=hideAllFloatDropDown;
			}
			
		dropDownDiv.style.left=getXObj(spanObj)+"px";
		dropDownDiv.style.top=(getYObj(spanObj)+spanObj.offsetHeight+3)+"px";
		dropDownDiv.style.zIndex=document.getNextHighestZIndex();
		toggleFade("floatDropDown"+dropDownCounterSelected);
		//document.getElementById("floatDropDown"+dropDownCounterSelected).style.left=getXY(e)[0]+"px";
		//document.getElementById("floatDropDown"+dropDownCounterSelected).style.top=getXY(e)[1]+"px";
	}
	
	
	
// JavaScript Document
// "coordinates.js" REQUIRED
function changeOpac(opacity, id) { 
	if((object = document.getElementById(id)))
	{
	changeOpacByObj(opacity, object);
	if(opacity==0) object.style.display="none";
	else object.style.display="block";
	}
} 

function changeOpacByObj(opacity, object) {
    object.style.opacity = (opacity / 100); 
    object.style.MozOpacity = (opacity / 100); 
    object.style.KhtmlOpacity = (opacity / 100); 
    object.style.filter = "alpha(opacity=" + opacity + ")"; 

}

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}


function toggleFade(id)
	{
		if(document.getElementById(id).style.display=="" || document.getElementById(id).style.display=="block")
			{
				for(i=100,x=1;i>=0;i--,x=x+3)
					{
						setTimeout('changeOpac('+i+', "'+id+'")',x);
						if(i==0) setTimeout('hideDiv("'+id+'")',(x+1));
					}
			//changeToTransparent(id,100,0);
			}
		else
			{
				showDiv(id);
				changeOpac(0,id);
				for(i=1,x=1;i<=100;i++,x=x+3)
					{
						setTimeout('changeOpac('+i+', "'+id+'")',x);
					}
			//changeToOpaque(id,0,100);
			}
	}
	
	
// JavaScript Document
function wordseparator(st)
    {
    var ar = st.split(" ");
   // alert(ar.length);
	var i=0;
    for(i=0;i<=ar.length-1;i++)
        {
        	if(ar[i].length>32)
			{
			//alert("Invalid Words");
			return false;
			}
        }
	return true;	
    }

// JavaScript Document
function trim(sString)
{
	while (sString.substring(0,1) == ' ')
	{
	sString = sString.substring(1, sString.length);
	}

	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
	sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function validNum(no)
	{
		return(/^[0-9]+$/.test(no.toString()));
	}

function validURL(s) {
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}


function validAlphaNum(name)
	{
		return(/^([a-zA-Z0-9_*])+$/.test(name.toString()));;
	}

function validemailid(email)
	{
	return(/^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9\.-]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/.test(email.toString()));
	}

function checkField(obj,type,mess)
	{
		var objField=obj;
		
		while(obj.className!="checkStatus")
			{
				obj=obj.nextSibling;
			}
		obj.style.padding="5px";
		obj.style.fontSize='11px';
		obj.style.color="#FF0000";
		
			
		switch(type)
		{
			case "email":
			// empty validation
				if(trim(objField.value)=="")
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Email empty";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
				
				

			// email validation
				if(!validemailid(trim(objField.value)))
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Invalid email";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
		
			break;
			
	
			case "password":
			
			// empty validation
				
				if(trim(objField.value)=="")
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Password empty";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
				
				

			// length validation
				
				if(trim(objField.value).length<5 || trim(objField.value).length>10)
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Invalid password length";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
		
			
			break;
			
			case "string":

			
			if(trim(objField.value)=="")
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Value empty";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
				
				

			// length validation
				
				if(!validAlphaNum(objField.value))
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Invalid value";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
			
			
			break;
			
			case "number":

			// empty validation
			
			if(trim(objField.value)=="")
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Number empty";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
			
			// number validation
			
			if(trim(objField.value)=="")
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Invalid number";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';	

			
			break;
			
			case "zip":

			// empty validation
			
			if(trim(objField.value)=="")
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Zip empty";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
			
			// number validation
			
			if(!validNum(trim(objField.value)))
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Invalid zip";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';	

			// length validation
			
			if(trim(objField.value).length<4 || trim(objField.value).length>6 )
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Invalid zip length";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';	
			
		
			break;
			
			case "url":
			
			break;
			
			case "custom":
			
					obj.innerHTML='<img src="images/icons/alert.gif"> ' +mess;
			
					
			break;
			
			case "empty":
			// empty validation
				
				if(trim(objField.value)=="")
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Value empty";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
			break;
			
			case "checkbox":
			// checked validation
					
				if(objField.checked==false)
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Must be checked";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
			break;
			
			case "listbox":
				if(objField.value=="0")
				{
					obj.innerHTML='<img src="images/icons/alert.gif"> ' + "Select one";
					return false;
				}
				else
					obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
			break;
			

		}

		return true;
		
	}



function wrongStatus(obj1,mess)
{
		formElement=obj1;
		while(obj1.className!="checkStatus" && obj1.nextSibling)
			{
				obj1=obj1.nextSibling;
			}
		if(obj1.className!="checkStatus") return false;
		obj1.style.display="inline";
		if(formElement.attributes["errormessage"])
			{
			obj1.innerHTML="<span class='wrongStatus'><span class='wrongStatusIcon'></span>"+formElement.attributes["errormessage"].value+"</span>";
			}
		else
			{
			obj1.innerHTML="<span class='wrongStatus'><span class='wrongStatusIcon'></span>"+mess+"</span>";
			}
}


function correctStatus(obj1,mess)
{
		while(obj1.className!="checkStatus" && obj1.nextSibling)
			{
				obj1=obj1.nextSibling;
			}
		if(obj1.className!="checkStatus") return false;
		
		obj1.style.padding="5px";
		obj1.style.fontSize='11px';
		obj1.style.color="#F00";
		obj1.innerHTML="";
		obj1.style.display="none";
}


function compareField(obj1,obj2,mess)
{
	var objField1=obj1;
	var objField2=obj2;
		while(obj1.className!="checkStatus")
			{
				obj1=obj1.nextSibling;
			}
		obj1.style.padding="5px";
		obj1.style.fontSize='11px';
		obj1.style.color="#F00";
		
		while(obj2.className!="checkStatus")
			{
				obj2=obj2.nextSibling;
			}
		obj2.style.padding="5px";
		obj2.style.fontSize='11px';
		obj2.style.color="#F00";
		
		if(trim(objField1.value)==trim(objField2.value))
			{
				obj1.innerHTML='<img src="images/icons/tick_16.gif"> ';	
				obj2.innerHTML='<img src="images/icons/tick_16.gif"> ';
				return true;
			}
			else
			{
				obj1.innerHTML='<img src="images/icons/alert.gif"> ' + mess;
				obj2.innerHTML='<img src="images/icons/alert.gif"> ' + mess;
				return false;				
			}
		
}

function checkDateList(dd,mm,yyyy,obj,mess)
{
		while(obj.className!="checkStatus")
			{
				obj=obj.nextSibling;
			}
		obj.style.padding="5px";
		obj.style.fontSize='11px';
		obj.style.color="#F00";
		
		
		if((dd.value=="0") || (mm.value=="0") || (yyyy.value=="0"))
			{
				obj.innerHTML='<img src="images/icons/alert.gif"> ' +mess;
				return false;
			}
				else
				obj.innerHTML='<img src="images/icons/tick_16.gif"> ';
			
}


function validateForm(objfrm)
{
	var check=true;
	for(i=0; i < objfrm.elements.length; i++)
		{
		correctStatus(objfrm.elements[i]);
		}

	for(i=0; i < objfrm.elements.length; i++)
	{
		classStr=objfrm.elements[i].className;
		classArr=classStr.split(" ");
	for(val in classArr)
		{
		classStr=classArr[val];
		if(classStr.substr(0,8)=="vldemail")
		{
			
			if(!validemailid(trim(objfrm.elements[i].value)))
					{
						wrongStatus(objfrm.elements[i],"Invalid Email");
						check=false;
					}
			
		}


		if(classStr.substr(0,11)=="vldalphanum" && objfrm.elements[i].value!="")
		{
			if(!validAlphaNum(trim(objfrm.elements[i].value)))
					{
						wrongStatus(objfrm.elements[i],"Please enter a valid value");
						check=false;
					}
			
		}



		if(classStr.substr(0,11)=="vldurl" && objfrm.elements[i].value!="")
		{
			if(!validURL(trim(objfrm.elements[i].value)))
					{
						wrongStatus(objfrm.elements[i],"Please enter a valid URL");
						check=false;
					}
			
		}


		if(classStr.substr(0,6)=="vldnum" && objfrm.elements[i].value!="")
		{
			
			if(!validNum(trim(objfrm.elements[i].value)))
					{
						wrongStatus(objfrm.elements[i],"Invalid number");
						check=false;
					}
			
		}



		if(classStr.substr(0,7)=="vldpass")
		{
			if(trim(objfrm.elements[i].value).length<5 || trim(objfrm.elements[i].value).length>10)
			{
				wrongStatus(objfrm.elements[i],"Password Should be Minimum of 5 Characters and Maximum of 10 Characters");
				check=false;
			}
				
		}
		
		if(classStr.substr(0,5)=="vldmm" && objfrm.elements[i].value!="")
		{
			fieldVal=objfrm.elements[i].value;
			if(parseInt(fieldVal)<1 || parseInt(fieldVal)>12 || !validNum(fieldVal))
			{
			wrongStatus(objfrm.elements[i],"Invalid date");
			check=false;
			}				 
		}
		
		if(classStr.substr(0,5)=="vlddd" && objfrm.elements[i].value!="")
		{
			fieldVal=objfrm.elements[i].value;
			if(parseInt(fieldVal)<1 || parseInt(fieldVal)>31 || !validNum(fieldVal))
			{
			wrongStatus(objfrm.elements[i],"Invalid date");
			check=false;
			}				 
		}
		
		/*if(classStr.substr(0,7)=="vldyyyy" && objfrm.elements[i].value!="")
		{
			if(trim(objfrm.elements[i].value)=="0" || trim(objfrm.elements[i].value)=="" )
			{
			wrongStatus(objfrm.elements[i],"Invalid date");
			check=false;
			}				 
		}*/
		
		if(classStr.substr(0,10)=="vldnoblank")
		{
			if(trim(objfrm.elements[i].value)=="")
			{
			if(objfrm.elements[i].tagName.toUpperCase()=="SELECT")
				wrongStatus(objfrm.elements[i],"Please select one");
			else
				wrongStatus(objfrm.elements[i],"Required");
			check=false;
			}				 
		}
		
	if(classStr.substr(0,14)=="vldmustchecked")
		{
			if(objfrm.elements[i].checked==false)
			{
			wrongStatus(objfrm.elements[i],"Field must be checked");
			check=false;
			}				 
		}


		//Operators
		if(classStr.substr(0,16)=="vld_fld_equalto_")
		{
			elementName=classStr.substr(16);
			if(objfrm.elements[i].value!=objfrm.elements[elementName].value)
			{
			wrongStatus(objfrm.elements[i],"Field must be same as specified earlier");
			check=false;
			}				 
		}


	if(classStr.substr(0,22)=="vld_fld_greaterthaneq_" && objfrm.elements[i].value!="")
		{
			elementName=classStr.substr(22);
			fieldVal=objfrm.elements[i].value;
			if(!validNum(fieldVal))
				{
				wrongStatus(objfrm.elements[i],"Must be a number");
				check=false;
				}
			else if(!(parseInt(fieldVal)>=parseInt(objfrm.elements[elementName].value)))
			{
			wrongStatus(objfrm.elements[i],"Value not allowed");
			check=false;
			}				 
		}



		if(classStr.substr(0,19)=="vld_fld_lessthaneq_" && objfrm.elements[i].value!="")
		{
			elementName=classStr.substr(19);
			fieldVal=objfrm.elements[i].value;
			if(!validNum(fieldVal))
				{
				wrongStatus(objfrm.elements[i],"Must be a number");
				check=false;
				}
			else if(!(parseInt(fieldVal)<=parseInt(objfrm.elements[elementName].value)))
			{
			wrongStatus(objfrm.elements[i],"Value not allowed");
			check=false;
			}				 
		}



		if(classStr.substr(0,18)=="vld_greaterthaneq_" && objfrm.elements[i].value!="")
		{
			checkVal=parseInt(classStr.substr(18));
			fieldVal=objfrm.elements[i].value;
			if(!validNum(fieldVal))
				{
				wrongStatus(objfrm.elements[i],"Must be a number");
				check=false;
				}
			else if(!(parseInt(fieldVal)>=checkVal))
				{
				wrongStatus(objfrm.elements[i],"Field must be greater than "+checkVal);
				check=false;
				}				 
		}

		if(classStr.substr(0,15)=="vld_lessthaneq_" && objfrm.elements[i].value!="")
		{
			checkVal=parseInt(classStr.substr(15));
			fieldVal=objfrm.elements[i].value;			
			if(!validNum(fieldVal))
				{
				wrongStatus(objfrm.elements[i],"Must be a number");
				check=false;
				}
			else if(!(parseInt(objfrm.elements[i].value)<=checkVal))
			{
			wrongStatus(objfrm.elements[i],"Field must be less than "+checkVal);
			check=false;
			}				 
		}

		if(classStr.substr(0,12)=="vld_between_" && objfrm.elements[i].value!="")
		{
			checkVal=classStr.substr(12);
			fieldVal=objfrm.elements[i].value;			
			if(!validNum(fieldVal))
				{
				wrongStatus(objfrm.elements[i],"Must be a number");
				check=false;
				}
			else
				{
				valArr=checkVal.split("-");
				if(parseInt(valArr[0])<parseInt(valArr[1]))
					{
						lowerVal=parseInt(valArr[0]);
						upperVal=parseInt(valArr[1]);
					}
				else
					{
						lowerVal=parseInt(valArr[1]);
						upperVal=parseInt(valArr[2]);
					}
				currentVal=parseInt(objfrm.elements[i].value);
				if(currentVal<lowerVal || currentVal>upperVal)
					{
					wrongStatus(objfrm.elements[i],"Must be in between "+lowerVal+" and "+upperVal);
					check=false;
					}
				}
		}



		}

		
	}
	return check;
}

function changeValue(movName, varName, val){
	eval('if(window.'+movName+') window.document["'+movName+'"].SetVariable(varName, val);');
	eval('if(document.'+movName+') document.'+movName+'.SetVariable(varName, val);');
}
 
 function startUpload(str)
 	{
	changeValue(str+"FlashUpload","checkVar","upload");
	}

// Aman Addon JS common
function hide_div(frmname)
	{
	document.getElementById(frmname).style.display='none';
	}
function show_div(frmname)
	{
	document.getElementById(frmname).style.display='';
	}
	
function checkAll(bgki, fmobj, name) {
  for (var i=0;i<fmobj.elements.length;i++) {
    var e = fmobj.elements[i];
    if ( (e.name == name) && (e.type=='checkbox') && (!e.disabled) ) {
      if(bgki) e.checked=true; else e.checked=false;
    }
  }
}

function revertAll(fmobj, name) {
  for (var i=0;i<fmobj.elements.length;i++) {
    var e = fmobj.elements[i];
    if ( (e.name == name) && (e.type=='checkbox') && (!e.disabled) ) {
      e.checked = !e.checked;
    }
  }
}

function validate_form(fmobj,name)
	{
	var form_check = false;
	for (var i=0;i<fmobj.elements.length;i++) {
		var e = fmobj.elements[i];
		if ( (e.name == name) && (e.type=='checkbox') && (!e.disabled) ) {
		 	if(e.checked) form_check = true;
			}
		}
	if(form_check)
		{
		return confirm('Delete Selected - Are You Sure ?');
		}
	alert('Please Select atleast one element to delete!');
	return false;
	}

function isChecked(fmobj,name)
	{
	var form_check = false;
	for (var i=0;i<fmobj.elements.length;i++) {
		var e = fmobj.elements[i];
		if ( (e.name == name) && (e.type=='checkbox') && (!e.disabled) ) {
		 	if(e.checked) form_check = true;
			}
		}
	if(form_check)
		{
		return confirm('Delete Selected - Are You Sure ?');
		}
	alert('Please Select at least one checkbox to delete!');
	return false;
	}

function getSelectedValues(fmobj,name)
{
	var retArr = new Array();
	var lastElement = 0;
	for (var i=0;i<fmobj.elements.length;i++) 
	{
		var e = fmobj.elements[i];
			if ( (e.name == name) && (e.type=='checkbox') && (!e.disabled) ) 
			{
				if(e.checked) 
				{
					retArr.length = lastElement;
					retArr[lastElement] = e.value;
					lastElement++;
				}
			}
	}
	return retArr;	
}

function getSelectedCheckbox(buttonGroup) {
   // Go through all the check boxes. return an array of all the ones
   // that are selected (their position numbers). if no boxes were checked,
   // returned array will be empty (length will be zero)
   var retArr = new Array();
   var lastElement = 0;
   if (buttonGroup[0]) { // if the button group is an array (one check box is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            retArr.length = lastElement;
            retArr[lastElement] = i;
            lastElement++;
         }
      }
   } else { // There is only one check box (it's not an array)
      if (buttonGroup.checked) { // if the one check box is checked
         retArr.length = lastElement;
         retArr[lastElement] = 0; // return zero as the only array value
      }
   }
   return retArr;
} // Ends the "getSelectedCheckbox" function

function getSelectedCheckboxValue(buttonGroup) {
   // return an array of values selected in the check box group. if no boxes
   // were checked, returned array will be empty (length will be zero)
   var retArr = new Array(); // set up empty array for the return values
   var selectedItems = getSelectedCheckbox(buttonGroup);
   if (selectedItems.length != 0) { // if there was something selected
      retArr.length = selectedItems.length;
      for (var i=0; i<selectedItems.length; i++) {
         if (buttonGroup[selectedItems[i]]) { // Make sure it's an array
            retArr[i] = buttonGroup[selectedItems[i]].value;
         } else { // It's not an array (there's just one check box and it's selected)
            retArr[i] = buttonGroup.value;// return that value
         }
      }
   }
   return retArr;
} // Ends the "getSelectedCheckBoxValue" function
// ENd AMAN
// JavaScript Document
function flashdetect()
{
	var requiredMajorVersion = 8;
	var requiredMinorVersion = 0;
	var requiredRevision = 0;
	var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
	if (hasReqestedVersion) 
	return true;
	else
	return false;
}

/*
	This is the JavaScript file for the AJAX Suggest Tutorial

	You may use this code in your own projects as long as this 
	copyright is left	in place.  All code is provided AS-IS.
	This code is distributed in the hope that it will be useful,
 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
	
	For the rest of the code visit http://www.DynamicAJAX.com
	
	Copyright 2006 Ryan Smith / 345 Technical / 345 Group.	

*/
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.

function searchSuggest() {
	if(trim(document.getElementById('txtSearch').value)=="")
	{
			document.getElementById('search_suggest').innerHTML = '';
			document.getElementById('search_suggest').style.display = 'none';			
	return true;
	}
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('txtSearch').value);
		searchReq.open("GET", '/searchSuggest.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggest() {
	document.getElementById('search_suggest').style.display = 'block';
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest');
		var textObj=document.getElementById('txtSearch');
		ss.style.left=getXObj(textObj)+'px';
		ss.style.top=getYObj(textObj)+textObj.offsetHeight+'px';
		ss.style.width=(textObj.offsetWidth-2)+'px';
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(\''+str[i].replace("'","\\'")+'\');" ';  // Replacing all the ' with \'
			suggest += 'class="suggest_link"><div style="padding:2px 6px 2px 6px;">' + str[i] + '</div></div>';
			ss.innerHTML += suggest;
		}
	}
}

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
	document.getElementById('txtSearch').value = value;
	document.getElementById('search_suggest').style.display = 'none';
}

function setSearchMusic(value) {
	document.getElementById('keyword').value = value;
	document.getElementById('search_suggest').style.display = 'none';
}


function searchSuggestMusic() {
	if(trim(document.getElementById('keyword').value)=="")
	{
			document.getElementById('search_suggest').innerHTML = '';
			document.getElementById('search_suggest').style.display = 'none';			
	return true;
	}
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('keyword').value);
		searchReq.open("GET", '/searchSuggestMusic.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggestMusic; 
		searchReq.send(null);
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggestMusic() {
	//document.getElementById('search_suggest').style.display = 'block';
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest');
		var textObj=document.getElementById('keyword');
		ss.style.left=getXObj(textObj)+'px';
		ss.style.top=getYObj(textObj)+textObj.offsetHeight+'px';
		ss.style.width=(textObj.offsetWidth-2)+'px';
		ss.innerHTML = '';

			var str = searchReq.responseText.split("\n");
			for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearchMusic(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
			}
		
	}
}

// Flash Player Version Detection - Rev 1.6
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var boolisIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var boolisWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var boolisOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
			//alert("flashVer="+flashVer);
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( boolisIE && boolisWin && !boolisOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(boolisIE && boolisWin && !boolisOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
    var str = '';
    if (boolisIE && boolisWin && !boolisOpera)
    {
  		str += '<object ';
  		for (var i in objAttrs)
  			str += i + '="' + objAttrs[i] + '" ';
  		for (var i in params)
  			str += '><param name="' + i + '" value="' + params[i] + '" /> ';
  		str += '></object>';
    } else {
  		str += '<embed ';
  		for (var i in embedAttrs)
  			str += i + '="' + embedAttrs[i] + '" ';
  		str += '> </embed>';
    }

    document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "id":
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function setSearchLyrics(value) {
	document.getElementById('keywordLyrics').value = value;
	document.getElementById('search_suggest_lyrics').style.display = 'none';
}


function searchSuggestLyrics() {
	if(trim(document.getElementById('keywordLyrics').value)=="")
	{
			document.getElementById('search_suggest_lyrics').innerHTML = '';
			document.getElementById('search_suggest_lyrics').style.display = 'none';			
	return true;
	}
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('keywordLyrics').value);
		searchReq.open("GET", '/searchSuggestMusic.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggestLyrics; 
		searchReq.send(null);
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggestLyrics() {
	//document.getElementById('search_suggest_lyrics').style.display = 'block';
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest_lyrics');
		var textObj=document.getElementById('keywordLyrics');
		ss.style.left=getXObj(textObj)+'px';
		ss.style.top=getYObj(textObj)+textObj.offsetHeight+'px';
		ss.style.width=(textObj.offsetWidth-2)+'px';
		ss.innerHTML = '';

			var str = searchReq.responseText.split("\n");
			for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearchLyrics(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
			}
		
	}
}

function setSearchIndex(oldvalue,newvalue) 
{
	var str = oldvalue.split(",");
	var ubound=str.length-1;
	str[ubound]=newvalue;
	document.getElementById('keyword').value = str.toString()+",";
	document.getElementById('search_suggest_index').style.display = 'none';
	document.getElementById('keyword').focus();
}


function searchSuggestIndex(v) {
	if(trim(v)=="")
	{
		document.getElementById('search_suggest_index').innerHTML = '';
		document.getElementById('search_suggest_index').style.display = 'none';			
		return false;
	}
	if(v.length>2)
	{
		if (searchReq.readyState == 4 || searchReq.readyState == 0) {
			searchReq.open("GET", '/searchSuggestIndex.php?search='+v, true);
			searchReq.onreadystatechange = handleSearchSuggestIndex; 
			searchReq.send(null);
		}		
			
	}	
}

//Called when the AJAX response is returned.
function handleSearchSuggestIndex() {
	
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest_index');
		var textObj=document.getElementById('keyword');
		ss.style.left=getXObj(textObj)+'px';
		ss.style.top=getYObj(textObj)+textObj.offsetHeight+'px';
		ss.style.width=(textObj.offsetWidth-2)+'px';
		ss.innerHTML = '';
			if(searchReq.responseText!="")
			{
			document.getElementById('search_suggest_index').style.display='block';
			var str = searchReq.responseText.split("\n");
			oldvalue=document.getElementById('keyword').value;
			for(i=0; i < str.length - 1; i++) {
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearchIndex(oldvalue,this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
			}
	}
		
	}
}