//javascript file

window.onload=init;

function init(){
  var navBar=getElementsByClass("navbar",null,"div");
  var DIV=navBar[0];
if ($('whatPage')) {
  if ($('whatPage').value=="index") {
    DIV.innerHTML='<a accesskey="1" href="/">IndiaMike.com</a><span> » </span>India Hotels';
  }
  if ($('whatPage').value=="state") {
    DIV.innerHTML='<a accesskey="1" href="/">IndiaMike.com</a><span> » </span><a href="india-hotels/">India Hotels</a>';
    DIV.innerHTML+='<span> » </span>'+$('whatState').value;
  }
  if ($('whatPage').value=="city") {
    DIV.innerHTML='<a accesskey="1" href="/">IndiaMike.com</a><span> » </span><a href="index.php">India Hotels</a>';
    DIV.innerHTML+='<span> » </span><a href="new_show_state.php?id='+$('whatStateID').value+'">'+$('whatState').value+'</a>';
    DIV.innerHTML+='<span> » </span>'+$('whatCity').value;
  }
  if ($('whatPage').value=="hotel") {
    DIV.innerHTML='<a accesskey="1" href="/">IndiaMike.com</a><span> » </span><a href="index.php">India Hotels</a>';
    DIV.innerHTML+='<span> » </span><a href="new_show_state.php?id='+$('whatStateID').value+'">'+$('whatState').value+'</a>';
    DIV.innerHTML+='<span> » </span><a href="new_show_city.php?id='+$('whatCityID').value+'">'+$('whatCity').value+'</a>';
    DIV.innerHTML+='<span> » </span>'+$('whatHotel').value;
  }
  if ($('whatPage').value=="review") {
    DIV.innerHTML='<a accesskey="1" href="/">IndiaMike.com</a><span> » </span><a href="index.php">India Hotels</a>';
    DIV.innerHTML+='<span> » </span><a href="new_show_state.php?id='+$('whatStateID').value+'">'+$('whatState').value+'</a>';
    DIV.innerHTML+='<span> » </span><a href="new_show_city.php?id='+$('whatCityID').value+'">'+$('whatCity').value+'</a>';
    DIV.innerHTML+='<span> » </span><a href="new_show_hotel.php?id='+$('whatHotelID').value+'">'+$('whatHotel').value+'</a>';
    DIV.innerHTML+='<span> » </span>'+$('whatReview').value;
  }
}
}

/*function popup(){
  window.open('new_show_large_picture.php?path=<?php echo _PATH_IMAGE_.$hotel['hotel_image']; ?>',
'welcome','width=auto,height=auto');
}*/

function showLargePictureH(imageName,linkID) {
  var path="new_show_large_picture.php?path="+imageName;
  var features="width=auto,height=auto";
  window.open(path,'',features);
}

function showLargePicture(imageName,linkID) {
  var DIV=document.createElement("div");
  var linkD=document.getElementById(linkID);
  var pos=findPosition(linkD);
  DIV.id="bigImage";
  DIV.style.zIndex=1000;
  DIV.style.top=pos['top']+"px";
  DIV.style.left="0px";
  DIV.style.width=100+"%";
  DIV.style.position="absolute";
  DIV.style.background="#F4F4E9";
  DIV.innerHTML="<div><a style='float:right;margin-right:10px' href='javascript:closeBigImage()'>Close</a></div><div style='text-align:center'><img src='"+imageName+"'></div>";
  var BODY=document.getElementsByTagName("body");
  BODY[0].appendChild(DIV);
}

function closeBigImage() {
  var BODY=document.getElementsByTagName("body");
  var DIV=document.getElementById("bigImage");
  BODY[0].removeChild(DIV);
}

function colapseOn(elemID,linkID) {
  document.getElementById(elemID).style.display="none";
  var LINK=document.getElementById(linkID);
  var newF="colapseOff('"+elemID+"','"+linkID+"')";
  LINK.setAttribute("href","javascript:"+newF);

}

function colapseOff(elemID,linkID) {
  document.getElementById(elemID).style.display="block";
  var LINK=document.getElementById(linkID);
  var newF="colapseOn('"+elemID+"','"+linkID+"')";
  LINK.setAttribute("href","javascript:"+newF);
}


function showAllReviews(elemID1,elemID2) {
  document.getElementById(elemID2).style.display="none";
  document.getElementById(elemID1).style.display="block";
}

function show10Reviews(elemID1,elemID2) {
  document.getElementById(elemID1).style.display="none";
  document.getElementById(elemID2).style.display="block";
  
}
function populateCities(obj) {
  var selectedState=obj.value;
  var myConn =  new XHConn();
  var fnWhenDone=function (oXML) {
    document.getElementById("containerstate").innerHTML=oXML.responseText;
       
  }
  myConn.connect("new_populatecities.php","POST","id="+selectedState,fnWhenDone);
}

function changeNr(selectID,col_database,filename) {
    var selectObj=document.getElementById(selectID);
    var selectedValue=selectObj.value;
    var param="value="+selectedValue+"&col_database="+col_database;
    var myConn = new XHConn();
    var fnWhenDone=function (oXML) {
        if(oXML.responseText=="yes") {
            selectObj.options.length=0;
            selectObj.options[0]=new Option ('5','5');
            if (selectObj.options[0].value==selectedValue) selectObj.options[0].selected="SELECTED";
            selectObj.options[1]=new Option ('10','10');
            if (selectObj.options[1].value==selectedValue) selectObj.options[1].selected="SELECTED";
            selectObj.options[2]=new Option ('15','15');
            if (selectObj.options[2].value==selectedValue) selectObj.options[2].selected="SELECTED";
            selectObj.options[3]=new Option ('20','20');
            if (selectObj.options[3].value==selectedValue) selectObj.options[3].selected="SELECTED";
            selectObj.options[4]=new Option ('All','0');
           if (selectObj.options[4].value==selectedValue) selectObj.options[4].selected="SELECTED";
           window.location=filename;
        }
    
    
    }
    myConn.connect ("new_change_nr.php","POST",param,fnWhenDone);
}

function rateHotel(selectID,spanID,hotelID) {
    var selectObj=document.getElementById(selectID);
    var selectValue=selectObj.value;
    var param="hotelID="+hotelID+"&value="+selectValue;
    var myConn=new XHConn();
    var fnWhenDone=function (oXML) {
        if (oXML.responseText=="no") {
        
        }
        else {
            //document.getElementById(spanID).innerHTML=oXML.responseText;
            var parent="";
            //parent.style.display="none";
            if (document.getElementById("rate"+hotelID)) {
                parent=document.getElementById("rate"+hotelID).parentNode;
                parent.style.display="none";
            }
            
            if (document.getElementById("rateTop"+hotelID)) {
                parent=document.getElementById("rateTop"+hotelID).parentNode;
                parent.style.display="none";
            }
            
            if (document.getElementById("viewrateTop"+hotelID))
                document.getElementById("viewrateTop"+hotelID).innerHTML=oXML.responseText;
            if (document.getElementById("viewrate"+hotelID))
                document.getElementById("viewrate"+hotelID).innerHTML=oXML.responseText;
        }
        
    
    }
    myConn.connect("new_rate_hotel.php","POST",param,fnWhenDone);
    
}

function checkReviewForm() {
    var validation=true;
    if ($('review_title').value!="")
        $('review_title').value=stripHTML('review_title');
    if ($('review_description').value!="")
        $('review_description').value=stripHTML('review_description');
    return validation;
}

function checkAddHotel() {
  var validation=true;
  var inputs=getElementsByClass("required");
  for (var i=0;i<inputs.length;i++) {
      inputs[i].style.borderColor="";
  }
  var error=getElementsByClass("error");
  for (var i=0;i<error.length;i++) {
      error[i].innerHTML="";
  }
  if (!checkEmpty('hotel_name')) {
      validation=false;
      $('hotel_name').style.borderColor="red";
      $('hotel_name_error').innerHTML="This field is required";
  } else {
      $('hotel_name').value=stripHTML('hotel_name');
      $('hotel_name').value=trim('hotel_name');
  }
  
  if (!checkEmpty('hotel_address1')) {
      validation=false;
      $('hotel_address1').style.borderColor="red";
      $('hotel_address1_error').innerHTML="This field is required";
  } else {
      $('hotel_address1').value=stripHTML('hotel_address1');
      $('hotel_address1').value=trim('hotel_address1');
  }
  if (!checkEmpty('hotel_phone')) {
      validation=false;
      $('hotel_phone').style.borderColor="red";
      $('hotel_phone_error').innerHTML="This field is required";
  }
  
  if (!checkEmpty('hotel_description')) {
      validation=false;
      $('hotel_description').style.borderColor="red";
      $('hotel_description_error').innerHTML="This field is required";
  } else {
      $('hotel_description').value=stripHTML('hotel_description');
      $('hotel_description').value=trim('hotel_description');
  }
  
  if ($('hotel_state').value==0) {
      validation=false;
      $('hotel_state').style.borderColor="red";
      $('hotel_state_error').innerHTML="Please select a state";
  } else {
      if ($('cityc').options.length>1)
          if ($('cityc').value==0) {
              validation=false;
              $('cityc').style.borderColor="red";
              $('cityc_error').innerHTML="Please select a city"; 
          }
  }
  if ($('hotel_email').value!="")
      if (!checkEmail('hotel_email')) {
          validation=false;
          $('hotel_email').style.borderColor="red";
          $('hotel_email_error').innerHTML="Please add a valid email address"; 
      }
      
  if ($('hotel_address3').value!="")
    $('hotel_address3').value=stripHTML('hotel_address3');
  if ($('hotel_amenities').value!="")
    $('hotel_amenities').value=stripHTML('hotel_amenities');
  if ($('hotel_room_desc').value!="")
    $('hotel_room_desc').value=stripHTML('hotel_room_desc');
  if ($('hotel_room_amenities').value!="")
    $('hotel_room_amenities').value=stripHTML('hotel_room_amenities');
  if ($('hotel_credit_cards').value!="")
    $('hotel_credit_cards').value=stripHTML('hotel_credit_cards');
  if ($('hotel_near_airoport').value!="")
    $('hotel_near_airoport').value=stripHTML('hotel_near_airoport');
  if ($('hotel_near_bus').value!="")
    $('hotel_near_bus').value=stripHTML('hotel_near_bus');
  if ($('hotel_near_train').value!="")
    $('hotel_near_train').value=stripHTML('hotel_near_train');
  
  
  
  $('hotel_name').focus();
  return validation;
}




//javascript LIB

function $(id) {
  if (typeof id == 'string') {
    return document.getElementById(id);
  }
  else {
    if (typeof id == 'object') {
      return id;
    }
  }
  return null;
}

function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array();
  if (node == null) {
    node = document;
  }
  if (tag == null) {
    tag = '*';
  }
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  for (var i = 0;i < elsLen;i++) {
    if (els[i].className.match(searchClass)) {
      classElements.push(els[i]);
    }
  }
  return classElements;
}

function transparency(style,val) {
	style.opacity = val / 10;
	style.filter = 'alpha(opacity=' + (val * 10) + ')';
}

function findPosition(obj) {
  var curleft = curtop = 0;
  if (obj.offsetParent) {
    do {
      curleft += obj.offsetLeft;
      curtop += obj.offsetTop;
    } while (obj = obj.offsetParent);
  }
  return {
    left:curleft,
    top:curtop
  };
}

function findSize(elem) {
  if (elem.style.pixelHeight) {
    return {
      height:elem.style.pixelHeight,
      width:elem.style.pixelWidth
    }
  } 
  else {
    return {
      height:elem.offsetHeight,
      width:elem.offsetWidth
    }
  }
}

function checkEmail(inputID){
var inputvalue=document.getElementById(inputID).value;
inputvalue = inputvalue.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
if(pattern.test(inputvalue))
    return true;
else
   return false; 
}

function checkEmpty(inputID) {
    var inputvalue=document.getElementById(inputID).value;
    inputvalue = inputvalue.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
    if (inputvalue.length==0 || inputvalue==null)
        return false;
    else
        return true;
}

function validatePhone(inputID) {
   var inputvalue=document.getElementById(inputID).value;
   inputvalue = inputvalue.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
   var len=inputvalue.length;
   var pattern=new RegExp(/^\d{6,12}$/);
   //011 + 91 + Area Code + Tel #
   if(pattern.test(inputvalue))
    return true;
   else
    return false;
}

function stripHTML(elemID){
  //replace any tag
  var re= /<\S[^><]*>/g
  var value=$(elemID).value;
  value=value.replace(re, "");
  value=value.replace(/</g,"");
  value=value.replace(/>/g,"");
  value=value.replace(/(<([^>]+)>)/g,"");
  return value;
}

function trim(elemID) {
  var value=$(elemID).value;
  value=value.replace(/^\s+|\s+$/g, "");
  return value;
}

function isNumeric(elemID)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   var sText=$(elemID).value;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

//END javascript LIB
