// JavaScript Document

//editor text insert function
function insertAtCursor(targetInstance,insValue) {
oEditor = FCKeditorAPI.GetInstance(targetInstance)
oEditor.InsertHtml(insValue)
}

// start of Date Function
function GetDay(iDay) {
	var DayArray = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday") ;
	return DayArray[iDay] ;
}

function GetMonth(iMonth) {
	var arMonth = new Array("January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", "December") ;
	return arMonth[iMonth] ;
}

function GetYear(year) {
	if (year < 2000) {
		year = year + 1900;
	}
	return year;
}

function getDateStrWithDOW() {
	var today = new Date() ;
	var mon = GetMonth(today.getMonth()) ;
	var day = GetDay(today.getDay()) ;
	var year = GetYear(today.getYear()) ;
	var hours = today.getHours() ;
	return ('<font color=\"#ffffff\">' + day + ', ' + mon + ' ' + today.getDate() + ', ' + year + '</font>') ;
}

// end of date function

function formatCurrency(strValue,strCurrency)
{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if (intCents < 10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
/*	For comma seperator value.	
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
*/
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+''+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + strCurrency + dblValue + '.' + strCents);
}

function showImage(t){
	var stxt = "";
	
	stxt += "<html><head><title>Image viewer</title></head><body>";
	stxt += "<table border=0 cellpadding=0 cellspacing=0><tr><td align=center><br><font size=2 face=arial><b>Image Viewer</b></td></tr>";
	stxt += "<tr><td><br>";
	stxt += "<img src='"+ t +"'>";
	stxt += "</td></tr><tr><td align=center><br><a href=javascript:window.close();><font size=2 face=arial color=blue>Close Window</font></a></td></tr></table>";
	
	var win = window.open("","","width=625,height=625,resizable=yes,scrollbars=yes")
	win.document.write(stxt);
	
}
function checkEmail()
	{
	var strEmail, strError, countAtRate, countDot, i;
	var checkAtRate, checkDot;
	var ValidChars,CountValidChars;
	ValidChars="abcdefghijklmnopqrstuvwxyz0123456789_.@ABCDEFGHIJKLMNOPQRSTUVWXYZ-";
	strEmail = checkEmail.arguments[0];

	countAtRate=0;
	countDot=0;
	CountValidChars=0;
	if (strEmail.length >= 7)
		{
		for(i=0;i<strEmail.length;i++)
			{
			if(strEmail.charAt(i)=="@")
				countAtRate++;
			if(strEmail.charAt(i)==".")
				countDot++;
			CountValidChars=0;
			for(j=0;j<ValidChars.length;j++)
				{
				if(strEmail.charAt(i)==ValidChars.charAt(j))
					{
					CountValidChars++;
					}
				}
			if(CountValidChars==0)
				{
				strError=0;
				break;
				}
			}
		}
	checkAtRate=strEmail.indexOf("@",1);
	checkDot=strEmail.indexOf(".",1);
	for(i=1;i<countDot;i++)
		checkDot=strEmail.indexOf(".",checkDot+1);
	if(countAtRate==1 && countDot > 0 && strEmail.length >=7 && strError != 0)
		strError=1;
	else
		strError=0;
	if(checkDot>=strEmail.length-2)
		strError=0;
	if(strEmail.charAt(0)=="@" || strEmail.charAt(strEmail.length-1)=="@")
		strError=0;
	if(strEmail.charAt(0)=="." || strEmail.charAt(strEmail.length-1)==".")
		strError=0;
	if(checkDot < checkAtRate)
		strError=0;

	return strError;
}


function isBlank(C) {
	for (i=0;i<C.length;i++) {if (C.charAt(i) != " ") return false}
	return true;
}

function keyCheck(eventObj, obj)
{
	var keyCode	
	
	// Check For Browser Type
	if (document.all){ 
		keyCode=eventObj.keyCode
	}
	else{
		keyCode=eventObj.which
	}

	var str=obj.value
	if(keyCode==46){ 
		if (str.indexOf(".")>0){
			return false
		}
	}
	
	if((keyCode<48 || keyCode >58)){ // Allow only integers
		return false
	}
	
	return true
}
function frmAdminUserValidate(dm) {
	var strError="";		
	if(isBlank(dm.fullname.value))
		strError += "Full Name\n";	
	if(isBlank(dm.emailadd.value))
		strError += "Email Address\n";
	else if(checkEmail(dm.emailadd.value)==0)
		strError += "Invalid Email Address\n";	
	
	if(isBlank(dm.username.value))
		strError += "User Name\n";	
	if(isBlank(dm.passwd.value))
		strError += "Password\n";	
	else if(dm.passwd.value!=dm.repasswd.value)
		strError += "Re-Password doesn't match\n";

	if(strError!=""){		
		alert("Invalid Fields\n------------------------------------\n"+strError);
		return false;
	}	
	return true;

}
function setFocusOn(d) {
var dd = document.getElementById(d);
//alert(dd);
dd.focus();
}


// Compatible with FireFox Browser and restricted to 2 decimal point.
function keyCheckValidate(eventObj, obj) {
	var keyCode	
		// Check For Browser Type
		if (document.all){ 
			keyCode=eventObj.keyCode
		}
		else{
			keyCode=eventObj.which
		}
		
		var str=obj.value
		
		// For restricting up to 2 decimal points		
		if (str.indexOf(".")>=0){
		var seperation = str.length - str.indexOf('.'); 
			if (seperation>2 && keyCode!=46 && keyCode!=0 && keyCode!=8) {
				return false
			}
		}
		
		if(keyCode==46){ 			
			if (str.indexOf(".")>0){
				return false
			}
		}		
		if(((keyCode<48 && keyCode!=46 && keyCode!=0 && keyCode!=8) || keyCode >58)){ // Allow only decimals keyCode!=46 --- for decimal && keyCode!=0 for delete in FF && keyCode!=8 for backspace in FF
			return false
		}
		
	return true
	}
	
//**************************************************************************
var prevwnd=null;
function openImg(imgsrc){

    prevWnd=window.open("","prvwimg","width=450,height=400,scrollbars=yes,resizable=yes,status=0,top=0,left=0");
    prevWnd.document.open();
    prevWnd.document.writeln('<html><title> Image Preview</title>');
    prevWnd.document.writeln('<body bgcolor=#ffffff>');
    prevWnd.document.writeln('<table border="0"><tr><td><font size=2 face="Verdana,Arial,Helvetica" color="brown">');
    prevWnd.document.writeln('<b>Image Preview</b></font></td></tr>');
    prevWnd.document.writeln('<tr><td><img src='+imgsrc+'></td></tr>');
    prevWnd.document.writeln('');
    prevWnd.document.writeln('<tr><td><a href="javascript:window.close()"><font face="verdana" size="1"><b>Close Preview</b></font></a></td></tr></table></body></html>');
    prevWnd.document.close();
}
function albumdetail(albumid,winname){
	//alert(winname);
	var prevWnd="";
	prevWnd=window.open("album_detail.php?albumid="+albumid+"&winname="+winname,"winname","width='100%',height='100',scrollbars=yes,resizable=yes,status=0,top=0,left=0");
	//prevWnd.document.open();
	//prevWnd.document.writeln('<a href="javascript:window.close()"><font face="verdana" size="1"><b>Closess Preview</b></font></a>');
	//prevWnd.document.close();
	
   }
   
function shiftUp(selListbox) {
	var oListbox = document.getElementById(selListbox);
	for(j = oListbox.options.length-1;j>=0;j--){
		if(oListbox[j].selected && j>0){
			var oOption = oListbox.options[j];
			var oPrevOption = oListbox.options[j-1];
			oListbox.insertBefore(oOption, oPrevOption);
			break;
		}
	}
}
 
 
function shiftDown(selListbox) {
	var oListbox = document.getElementById(selListbox);
	for(j = oListbox.options.length-1;j>=0;j--){
		if(oListbox[j].selected && j<oListbox.options.length-1){
			var oOption = oListbox.options[j];
			var oNextOption = oListbox.options[j+1];
		oListbox.insertBefore(oNextOption, oOption);
			break;
		}
	}
}


 

function removeAll(selectedList){
	dest = document.getElementById(selectedList);
	for(j = dest.options.length-1;j>=0;j--){
		dest.remove(j);
	}
}

function removeSelected(selectedList){
	dest = document.getElementById(selectedList);
	for(j = dest.options.length-1;j>=0;j--){
		if(dest[j].selected){
			dest.remove(j);
		}
	}
	
}

function selectAll(selectedList){
	dest = document.getElementById(selectedList);
	for(j = dest.options.length-1;j>=0;j--){
		dest[j].selected = true;		
	}
}

function addOption_list(allList, selectedList)
{
	src  = document.getElementById(allList);
	dest = document.getElementById(selectedList);
	var aex=false;
	for(i=src.options.length-1;i>=0;i--)	{
		if(src[i].selected)
		{
			aex = false
			for(j = dest.options.length-1;j>=0;j--){
				if(dest[j].value == src[i].value){
					aex =true
					break;
				}
			}
			if(aex == false){
				if(dest.options.length-1<=8)
				{
				addOption(dest, src[i].text, src[i].value);}
			}
		//removeOption(Category,i);
		}
	}
}

function addOption(selectbox,text,value )
{
	var optn = document.createElement("OPTION");
	optn.text = normalizeSpace(text);
	optn.value = value;
	selectbox.options.add(optn);
}

function normalizeSpace(sString) {
// Replace repeated spaces, newlines and tabs with a single space
return sString.replace(/^\s*|\s(?=\s)|\s*$/g, "");
}

function checkForm(formObj){
	var msg="";
	var abc="Please fix the following error(s).\n\n";
	for (var i=0; i < formObj.elements.length; i++) {
	// check if the form element has a validate attribute. 
	if (formObj.elements[i].name !=null && formObj.elements[i].getAttribute("validate")){
		var validationRule = eval(formObj.elements[i].getAttribute("validate"));
		if (!validationRule.test(formObj.elements[i].value)){ 
				var obj = formObj.elements[i].parentNode; 
				// add a !!! mark on the validate field 
				if (obj.nodeName=="TD")
					obj.background = "#000000";
					msg +=formObj.elements[i].getAttribute("validateMsg")+"\n"; 
				}//--> end test regExp
		}//--> end if element has validate attribute
	}// end loop through the form elements. 
	if (msg.length > 0){
		alert (abc+msg);
		return false;
	}
	else{
		return true;
	}
}//-->