//trim results

function ltrim(str, chars) {
chars = chars || '\\s';
return str.replace(new RegExp('^[" + chars + "]+', 'g'), '');
}
function rtrim(str, chars) {
chars = chars || '\\s';
return str.replace(new RegExp('[" + chars + "]+$', 'g'), '');
}
function trim(str, chars) {
return ltrim(rtrim(str, chars), chars);
}

function resetDrag(el,n)
{

if (n>0) {

for (i=0;i<n;i++)
{
$(el+i).style.top=0;
$(el+i).style.left=0;
$(el+i).style.topPos=0;
$(el+i).style.leftPos=0;
}
}
else
{
$(el).style.top=0;
$(el).style.left=0;
$(el).style.topPos=0;
$(el).style.leftPos=0;
}
}
function enable(f,el)
{
f.elements[""+el+""].disabled=false;
}
function disable(f,el)
{
f.elements[""+el+""].disabled=true;
}

function enableById(el)
{
jQuery('#'+el).attr('disabled',false);
}
function disableById(el)
{
jQuery('#'+el).attr('disabled',true);
}
var checkflag = "false";
function check(field,name) {
var f=field.elements[""+name+"[]"];
if (checkflag == "false") {
for (i = 0; i <  f.length; i++) {
f[i].checked = true;}
checkflag = "true";
return  document.getElementById("selectAll").innerHTML="unselect all";
}
else {
for (i = 0; i <f.length; i++) {
f[i].checked = false; }
checkflag = "false";
return   document.getElementById("selectAll").innerHTML="select all";
}
}
function showHideEl(label,el)
{
if(document.getElementById(""+el+"").style.display=='block' || document.getElementById(""+el+"").style.display=='')
{
document.getElementById(""+el+"").style.display='none';
label.innerHTML='show ';
}
else if(document.getElementById(""+el+"").style.display=='none')
{
document.getElementById(""+el+"").style.display='block';
label.innerHTML='hide ';
}
}
function hideEl(el)
{
document.getElementById(""+el+"").style.display='none';
}
function showEl(el)
{
document.getElementById(""+el+"").style.display='block';
}
function getStyle(el,styleProp, styleAll) // styleProp, - IE styleAll - All browsers
{
var x = document.getElementById(el);
if (x.currentStyle)
var y = x.currentStyle[styleProp];
else if (window.getComputedStyle) {
styleProp = styleAll ? styleAll : styleProp;
var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);

}
return y;
}
function setBG(idFon, id, f)
{
if(f)
document.getElementById(idFon).style.backgroundColor=f;
else
document.getElementById(idFon).style.backgroundColor=document.getElementById(id).value;

}

function deleteAlbum()
{
if (confirm("You are about to delete the complete album with all the pictures included, proceed?"))
{
location.href="account.php?action=edit_pict&deleteAlbum";
return  true;
}
else return false;
}

function askForSave(url)
{
if (confirm("Do you want to save? Yes/No"))
{
location.href=url;

}
else return ;
}

function windowopen(page,name,config){
pop=window.open (page, 'newwindow', config);
pop.document.write("<TITLE>"+name+"</TITLE>");
pop.document.write("<BODY style='margin:0px;padding:0px;'>");
pop.document.write("<iframe src='"+page+"' width=100% height=100% frameborder=0>");
pop.document.write("</BODY>");
pop.document.write("</HTML>");
pop.document.close()
}
window.onunload=function(){
try{pop.close();}
catch(err){}
}

//RGB parse
function RGBColor(color_string)
{
this.ok = false;
if (color_string.charAt(0) == '#') {
color_string = color_string.substr(1,6);
}
color_string = color_string.replace(/ /g,'');
color_string = color_string.toLowerCase();
var color_defs = [
{
re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
example: ['rgb(123, 234, 45)', 'rgb(255,234,245)'],
process: function (bits){
return [
parseInt(bits[1]),
parseInt(bits[2]),
parseInt(bits[3])
];
}
},
{
re: /^(\w{2})(\w{2})(\w{2})$/,
example: ['#00ff00', '336699'],
process: function (bits){
return [
parseInt(bits[1], 16),
parseInt(bits[2], 16),
parseInt(bits[3], 16)
];
}
},
{
re: /^(\w{1})(\w{1})(\w{1})$/,
example: ['#fb0', 'f0f'],
process: function (bits){
return [
parseInt(bits[1] + bits[1], 16),
parseInt(bits[2] + bits[2], 16),
parseInt(bits[3] + bits[3], 16)
];
}
}
];
for (var i = 0; i < color_defs.length; i++) {
var re = color_defs[i].re;
var processor = color_defs[i].process;
var bits = re.exec(color_string);
if (bits) {
channels = processor(bits);
this.r = channels[0];
this.g = channels[1];
this.b = channels[2];
this.ok = true;
}
}
this.r = (this.r < 0 || isNaN(this.r)) ? 0 : ((this.r > 255) ? 255 : this.r);
this.g = (this.g < 0 || isNaN(this.g)) ? 0 : ((this.g > 255) ? 255 : this.g);
this.b = (this.b < 0 || isNaN(this.b)) ? 0 : ((this.b > 255) ? 255 : this.b);
this.toRGB = function () {
return 'rgb(' + this.r + ', ' + this.g + ', ' + this.b + ')';
}
this.toHex = function () {
var r = this.r.toString(16);
var g = this.g.toString(16);
var b = this.b.toString(16);
if (r.length == 1) r = '0' + r;
if (g.length == 1) g = '0' + g;
if (b.length == 1) b = '0' + b;
return '#' + r + g + b;
}
}


// Cross-browser addEventListener()/attachEvent() replacement.
function addEvent(elt, name, handler, atEnd) {
  name = name.replace(/^(on)?/, 'on'); 
  var prev = elt[name];
  var tmp = '__tmp';
  elt[name] = function(e) {
    if (!e) e = window.event;
    var result;
    if (!atEnd) {
      elt[tmp] = handler; result = elt[tmp](e); elt[tmp] = null; // delete() does not work in IE 5.0 (???!!!)
      if (result === false) return result;
    }
    if (prev) {
      elt[tmp] = prev; result = elt[tmp](e); elt[tmp] = null;
    }
    if (atEnd && result !== false) {
      elt[tmp] = handler; result = elt[tmp](e); elt[tmp] = null;
    }
    return result;
  }
  return handler;
}


//dynamic load CSS file
function loadCssFile(filename){
 var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}
/*function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}*/


//sleep for naptime seconds
function sleep(naptime){
      naptime = naptime * 1000;
      var sleeping = true;
      var now = new Date();
      var alarm;
      var startingMSeconds = now.getTime();
      while(sleeping){
         alarm = new Date();
         alarmMSeconds = alarm.getTime();
         if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; }
      }      
      return true;
}
