var docRoot = '';

$(document).ready(function(){
    $("a[rel^='prettyPhoto']").prettyPhoto({keyboard_shortcuts: false, overlay_gallery: false, show_title:false});
});
        

function savedOffers(el) {
    $.ajax({
      url: docRoot + '/static/ajax/savedOffers.php?id='+el.value+'&save='+el.checked,
    
      success: function(data){
        $('#mojSchowek span').html(data); 
      }
    });    
}

function ajaxLoadPhone(id) {
    $.ajax({
      url: docRoot + '/static/ajax/getPhone.php?id='+id,      
      success: function(data){
        $('#phone').html(data); 
      }
    });    
}

function ajaxLoadMiasta(parent, id, el) {
    $.ajax({
      url: docRoot + '/static/ajax/getMiasta.php?parent='+parent+'&id='+id,
      context : el,
      success: function(data){
        $(this).html(data);
      }
    });     
}

function ajaxPolec(id, el) {
    var name, email, msg;
    name = el.getElementsByTagName('INPUT')[0].value;
    email = el.getElementsByTagName('INPUT')[1].value;
    msg = el.getElementsByTagName('TEXTAREA')[0].value;

    el.getElementsByTagName('P')[0].className = 'sent';
    el.getElementsByTagName('P')[1].className = 'hidden';
    $.ajax({
      url: docRoot + '/static/ajax/polec.php',
      type : 'POST',
      data: "url="+document.location+"&id="+id+"&name="+name+"&email="+email+"&msg="+msg,
      success: function(data){}
    });    
}

function ajaxZglos(id, el) {
    var reason, msg;
    reason = el.getElementsByTagName('SELECT')[0].value;
    msg = el.getElementsByTagName('TEXTAREA')[0].value;

    el.getElementsByTagName('P')[0].className = 'sent';
    el.getElementsByTagName('P')[1].className = 'hidden';
    $.ajax({
      url: docRoot + '/static/ajax/zglos.php',
      type : 'POST',
      data: "url="+document.location+"&id="+id+"&reason="+reason+"&msg="+msg,
      success: function(data){}
    });    
}

/**
* ----
* VFORM.JS
* ----
*/
var vformErrorText = 'Proszę wypełnić zaznaczone pola.';
var errorBgColor = '#ffc6c6';
var labelErrorColor = 'rgb(255,0,0)';

var validatingOptions = new Array();

var ofocus;    

function labeldectohex(label) {
    /**
    * IE i FF lubia format rgb() a Opera zas woli #xxxxxx ...
    */
    var a = labelErrorColor.split('(');
    if (!a[1]) return label;
    var b = a[1].split(',')
    b[2] = b[2].replace(/\)/,'');

    var ret = '#'+from10toradix(b[0], 16)+from10toradix(b[1], 16)+from10toradix(b[2], 16);
    ret = ret.toLowerCase();
    return ret;
}

function from10toradix(value,radix){
    var retval = '';
    var ConvArray = new initArray(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F');
    var intnum;
    var tmpnum;
    var i = 0;

    intnum = parseInt(value,10);
    if (isNaN(intnum)){
        retval = 'NaN';
    }else{
        while (intnum > 0.9){
            i++;
            tmpnum = intnum;
            retval = ConvArray[tmpnum % radix] + retval;  
            intnum = Math.floor(tmpnum / radix);
            if (i > 100){
                retval = 'NaN';
                break;
            }
        }
    }
    if(retval!='') return retval;
    else return '00';
} 

function initArray() {
    this.length = initArray.arguments.length;
    for (var i = 0; i < this.length; i++)
        this[i] = initArray.arguments[i];
}

function validate(obj) {
    var p = 0;
    var valType = 0;
    var valReturn = 1;
    var eCount = 0;
    ofocus = 0;

    var labels = document.getElementsByTagName('label');
    var o = 0;
    for(o = 0; o < labels.length ; o++ ) {         
        if(labels[o].style.color == labelErrorColor || labels[o].style.color == labeldectohex(labelErrorColor) || labels[o].style.color.replace(/ /g,'') == labelErrorColor) {
            labels[o].style.color = '';
        }
    }

    for(p=0 ; p < obj.elements.length ; p++) {
        valType = needsVal(obj.elements[p]);
        if(valType!=0) {
            obj.elements[p].style.backgroundColor = '';
            if(obj.elements[p].style.border == errorBgColor+' 1px solid') obj.elements[p].style.border = '';     
            valReturn = validate_set(obj.elements[p].value);        
            if(valReturn==0) {
                validate_error(obj.elements[p]);
                eCount++;
            }

            if(valType=='int') valReturn = validate_integer(obj.elements[p].value);                
            if(valType=='number') valReturn = validate_number(obj.elements[p].value);
            if(valType=='email') valReturn = validate_email(obj.elements[p].value);
            if(valType=='checked' && obj.elements[p].type=='radio') valReturn = validate_checked(obj.elements[p].name);
            if(valType=='checked' && obj.elements[p].type=='checkbox') valReturn = validate_checkbox(obj.elements[p]);
            if(valType=='select') valReturn = obj.elements[p].value;        

            if(valReturn==0) {
                validate_error(obj.elements[p]);        
                eCount++;
            } 
        }
    }
    for(keyVar in validatingOptions) validatingOptions[keyVar] = '';    
    if(eCount > 0) {
        alert(vformErrorText);
        return false;
    }
    return true;
}

function validate_checkbox(el) {
    
    el.parentNode.className = el.parentNode.className.replace(/error/, '');
    
    if(!el.checked) {
        el.parentNode.className = el.parentNode.className + 'error';        
    }
    return el.checked;
}

function validate_error(obj) {
    if(ofocus==0) {
        obj.focus();
        ofocus = 1;
    }
    if(obj.type=='radio' || obj.type=='checkbox') {
        var objects = document.getElementsByName(obj.name);
        var o = 0;
        for(o = 0 ; o < objects.length ; o++ ) {          
            objects[o].style.border = '1px solid '+errorBgColor;
        }
    }
    else {
        obj.style.backgroundColor = errorBgColor;    
    }
    var labels = document.getElementsByTagName('label');
    var o = 0;
    for(o = 0; o < labels.length ; o++ ) {    
        if(labels[o].htmlFor == obj.name) {

            labels[o].style.color = labelErrorColor;
        }
    }
}  

function validate_checked(objname) {
    if(!validatingOptions[objname] || validatingOptions[objname] == '') {
        validatingOptions[objname] = true;    
        var options = document.getElementsByName(objname);
        var o = 0;    
        for(o = 0 ; o < options.length ; o++ ) {
            if(options[o].checked) return 1;
        } 
        return 0; 
    }
}

function validate_integer(value)  {   
    var i;
    for (i = 0; i < value.length; i++) {   
        var c = value.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}  

function validate_number(value) {
    value = value.replace(/\./g,"");
    value = value.replace(/\,/g,"");
    return validate_integer(value);
}

function validate_set(value) {
    if(!value) {
        return 0;
    }    
    return 1;
}


function validate_email(value){
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    if (filter.test(value)) return 1;
    return 0;
}

function needsVal(obj) {
    var p = 0;
    for(p = 0; p < obj.attributes.length ; p++) {
        if(obj.attributes[p].name=="val") {
            return obj.attributes[p].value;
        }
    }
    return 0;
} 
