/*** custom javascript code
     2008 - 2011.03.10
     (c) cryout creations
     part of htx.ro ***/

// block 1 - function used on content pages:
function flipper(page,delay){  // used for opening the left menu
if (document.getElementById("m"+page)) {
                  debug('flipper("'+page+'") running');
                  document.getElementById("p"+page).className='selected';
                  Effect.BlindDown("m"+page, { duration: delay });
                  } else {
                  debug('flipper("'+page+'") - div does not exist');};
}

function debug(text){ if (debugstate==1) {document.getElementById('debugcontent').innerHTML += text+"<br>";}; }


function roll(img_name, img_src) { document[img_name].src = img_src; }
// end block 1

/*
// block 2 - function used on home page:

function getElementsByClassName(classname, node) ** reserved for future use **
{
if(!node) node = document.getElementsByTagName("body")[0];
var a = [];  var re = new RegExp('\\b' + classname + '\\b'); var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++) if(re.test(els[i].className))a.push(els[i]); return a;
}

function portoAttach()  ** reserved for future use **
{
 var imgs,i;
// loop through all images of the document
 //imgs=document.getElementsByClassName('porto_preview');
 imgs=document.getElementById('porto_dreapta').getElementsByTagName('img');
 for(i=0;i<imgs.length;i++)
 {
// test if the class 'roll' exists
  if(/porto_preview/.test(imgs[i].className))
  {
// add the function roll to the image onmouseover and onmouseout and send
// the image itself as an object
   imgs[i].onmouseover=function(){pPreview(this);};
   imgs[i].onmouseout=function(){pPreview(this);};
  }
 }
}
*/

function pPreview(o)   // switch between default and -over image for portofolio items
{
 var src,ftype,newsrc;
 src = o.src;
 ftype = src.substring(src.lastIndexOf('-'), src.length);               // get file extension
  if(/-over/.test(src)) { newsrc = src.replace('-over',''); }           // case mouseout, return to default image
                   else { newsrc = src.replace(ftype, '-over'+ftype); } // case mouseover, switch to -over image
 o.src=newsrc;
}
// end block 2

// block 3 - functions used on /gazduire

function check_domain(){
var d = document.checkdomain.domain.value;
if ((d!='')&&(d!='nume-domeniu')) {  // a domain name was specified, process and return result
        var udiv = document.getElementById('domainchecker');
        udiv.innerHTML = '';
        udiv.className = 'loading';
        sendDomainRequest(document.checkdomain, '/checkdomain/?d='+d); }
  else  {  // no domain name specified, alert user
        alert(_DOMAIN_JSALERT);
        document.checkdomain.domain.focus();
        document.checkdomain.domain.select();
        return false; }
        // invalid domain names are handled by the backend and warning message is returned through ajax reply
}

var req = createXMLHttpRequest();

function createXMLHttpRequest() {
 var ua;
 if(window.XMLHttpRequest) {
 try {
  ua = new XMLHttpRequest();
 } catch(e) {
  ua = false;
 }
 } else if(window.ActiveXObject) {
  try {
	ua = new ActiveXObject("Microsoft.XMLHTTP");
  } catch(e) {
	ua = false;
  }
 }
return ua;
}

function sendDomainRequest(frm, url) {
 var rnd982g = Math.random();
/* var str = "";     // no need for form process, the input field is checked by check_domain()
 if(str = getForm(frm)) {*/
  req.open('GET', url+'&rnd982g='+rnd982g);
  req.onreadystatechange = handleDomainResponse;
  req.send(null);
/* }*/
 return false;
}

function handleDomainResponse() {
 if(req.readyState == 4){
  var response = req.responseText;
  document.getElementById("domainchecker").className = "";
  document.getElementById("domainchecker").innerHTML = response;
 }
}

// end block 3


// contact block

function sendContactRequest(frm,what) {
 var rnd982g = Math.random();
 var str = "";
 if(str = getForm(frm)) {
  document.getElementById("theForm").className = "wait";
  var oldhtml = document.getElementById('theForm').innerHTML;
  document.getElementById('backForm').innerHTML = oldhtml;
  document.getElementById('theForm').innerHTML = '';
  req.open('GET', what+'?'+str+'&rnd982g='+rnd982g);
  req.onreadystatechange = handleResponseContact;
  req.send(null);
 }
 return false;
}

function restoreForm(){
  var oldhtml = document.getElementById('backForm').innerHTML;
  document.getElementById('theForm').innerHTML = oldhtml;
  return false;
}

function handleResponseContact() {
 if(req.readyState == 4){
  var response = req.responseText;
  document.getElementById("theForm").className = "";
  document.getElementById("theForm").innerHTML = response;
 };
}

function getForm(fobj) {
 var str = "";
 var ft = "";
 var fv = "";
 var fn = "";
 var els = "";
 for(var i = 0;i < fobj.elements.length;i++) {
  els = fobj.elements[i];
  ft = els.title;
  fv = els.value;
  fn = els.name;
 switch(els.type) {
  case "text":
  case "hidden":
  case "password":
  case "textarea":
  // is it a required field?
  if(encodeURI(ft) == "required" && encodeURI(fv).length < 1) {
	alert('Nu ati completat \''+capWords(fn.replace('-',' '))+'\'.');
	els.focus();
	return false;
  }
  /*if (ft=='mail') {
     var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
     if (!filter.test(fv)) {
         alert('Adresa de e-mail introdusa nu este valida.');
         els.focus();
         return false;
     }
  }*/
  str += fn + "=" + encodeURI(fv) + "&";
  break;

  case "checkbox":
  case "radio":
   if(els.checked) str += fn + "=" + encodeURI(fv) + "&";
  break;

  case "select-one":
	str += fn + "=" +
	els.options[els.selectedIndex].value + "&";
  break;
  } // switch
 } // for
 str = str.substr(0,(str.length - 1));
 return str;
}

// end contact block

/** strings code **/
function capWords(inputString) {
var outputString = '';
var tmpStr, tmpChar, preString, postString, strlen;
tmpStr = inputString.toLowerCase();
stringLen = tmpStr.length;
if (stringLen > 0)
{
  for (i = 0; i < stringLen; i++)
  {
    if (i == 0)
	{
      tmpChar = tmpStr.substring(0,1).toUpperCase();
      postString = tmpStr.substring(1,stringLen);
      tmpStr = tmpChar + postString;
    }
    else
	{
      tmpChar = tmpStr.substring(i,i+1);
      if (tmpChar == " " && i < (stringLen-1))
	  {
      tmpChar = tmpStr.substring(i+1,i+2).toUpperCase();
      preString = tmpStr.substring(0,i+1);
      postString = tmpStr.substring(i+2,stringLen);
      tmpStr = preString + tmpChar + postString;
      }
    }
  }
}
outputString = tmpStr;
return outputString;
}
/** end strings code **/

/** blacklisted referrer code */

function showTheDialog(){
new Effect.Appear("referrer_overlay", {duration:1, from:0.0, to:0.4});
var elt = $('referrer_blacklist');
var eltDims = elt.getDimensions();
var browserDims = document.body.getDimensions();
//var y = (browserDims.height - eltDims.height) / 2;
var x = (browserDims.width - eltDims.width) / 2;
var styles = { position : 'absolute', top : '180px', left : x + 'px' };
elt.setStyle(styles);
}

function hideTheDialog(){
new Effect.Fade('referrer_blacklist',{ duration:2});
new Effect.Fade('referrer_overlay',{ duration:1});
}



/** useless code **/
function dummy(){ /* do nothing! */ };
function wait(t){ setTimeout(dummy(),t); }
/** end useless code **/


// FIN!
