﻿//$(document).ready(function() {
//    $("input").keypress(function(e) {
//        if (event.which || event.keyCode) {
//            if ((event.which == 13) || (event.keyCode == 13)) {
//                $(this).parents("form").submit();
//            }
//        }
//    });
//});


function selectType(clickId, clickvalue) {

    $("#typeClick" + clickId).val(clickvalue);    
    return true;
}

function AreYouSure() {
    return confirm("Are you sure you want to refresh DB structure?");
}

function CheckDate(Obj) 
{
    var day = 00;
    var month = 00;
    var year = 00;
    var dateString = Obj.value.toString();

    for (var i = 0; i < dateString.length; i++) 
    {
        dateString = dateString.replace(',', '');
        dateString = dateString.replace('.', '');
        dateString = dateString.replace(' ', '');
        dateString = dateString.replace('/', '');
        dateString = dateString.replace('-', '');
    }
    
    day = dateString.substring(0, 2);
    month = dateString.substring(2, 4);
    year = dateString.substring(4, dateString.length);

    if (year.length == 2) 
    {
        year = '20'+year;
    }
    
    dateString = day + '-' + month + '-' + year;
    Obj.value = dateString;
}


//$(function() 
//{
//    $('#chkTerms').click(function() 
//    {
//        var satisfied = $('#chkTerms:checked').val();

//        if (satisfied != undefined) 
//        {
//            $('#continue').attr('onClick', 'return FinishOrder();');
//        }
//        else 
//        {
//            $('#continue').attr('onClick', 'return CheckTerms();');
//        }
//    });
//});


function CheckTerms(mess) {   

    var satisfied = $('#chkTerms:checked').val();
    
        if (satisfied == "on" ) 
        {
            UpdateOrderCheckout();
            return submitForm('updateOrderCheckout');
        }
        else 
        {
            alert(mess);
            return false;
        }
}

function FinishOrder() {
    
    UpdateOrderCheckout();
    return submitForm('updateOrderCheckout');
}
function createorder(alertmessage) {

    var satisfied = $('#chkTerms:checked').val();

    if (satisfied == "on") {
        return submitForm('CreateOrder');
    }
    else {
        alert(alertmessage);
        return false;
    }
}

function NavigateToProduct(objId) {

    $(document).ready(function() 
    {
        document.location.href = "#" + objId;
    });
}





function Logon(e) {
  if (e.keyCode == 13) {
      return submitForm('logonForm');
  }
  return false;
}

function LogonPanel(e) {
    if (e.keyCode == 13) {
        return submitForm('logonFormPanel');
    }
    return false;
}

function SearchEvent(e) {
    if (e.keyCode == 13) {
        return submitForm('searchForm');
    }
    return false;
}

function RequestAccEvent(e) {
    if (e.keyCode == 13) {
        return CheckRequestForms();
    }
    return false;
}

function UpdateOrderDate() 
{
   /* var satisfied = $('#chkTerms:checked').val();
    if (satisfied != undefined) 
    {
        $("#hfKey").val("0");
    }
    else 
    {
        $("#hfKey").val("1");
    }

*/
    /*submitForm('updateOrderCheckout');*/
}

function UpdateOrderCheckout() 
{

    submitForm('updateOrderCheckout');

    for (var  i = 0; i < 100; i++)
    {
        var obj = $('#update' + i);
        
        if (obj != null) 
        {
            submitForm('update' + i);
        }
    }
}


function UpdateAllProduct(mode)
{
    var obj = $('#UpdateShoppingCart');

    if (obj != null) {
        var hid = document.getElementById('hidMode');
         hid.value = mode;

        submitForm('UpdateShoppingCart');
    }
    return true;
}


function UpdateAllWish(mode, DeleteID) {
    var obj = $('#UpdateWishingList');

    if (obj != null) {
        var hid = document.getElementById('hidMode');
        if (hid != null) hid.value = mode;

        if (DeleteID != null) {
            hid = document.getElementById('hidWishListDeleteID');
            if (hid != null) hid.value = DeleteID;
        }

        submitForm('UpdateWishingList');
    }

    return true;
}

//Region Checkers

function CheckRequestForms() 
{

    var Error = 0;

    if ($("#company").val() == null | $("#company").val() == "") {
        $("#rbCompany").show();
        Error =1;
    }
    else
    {
        $("#rbCompany").hide();
        Error =0;
    }

    if ($("#fullname").val() == null | $("#fullname").val() == "") {
        $("#rbContact").show();
        Error = 1;
    }
    else {
        $("#rbContact").hide();
        Error = 0;
    }

    if ($("#address").val() == null | $("#address").val() == "") {
        $("#rbAdress").show();
        Error =1;
    }
    else
    {
        $("#rbAdress").hide();
        Error =0;
    }

    if ($("#zipcode").val() == null | $("#zipcode").val() == "") {
        $("#rbZipcode").show();
        Error =1;
    }
    else
    {
        $("#rbZipcode").hide();
        Error =0;
    }

    if ($("#city").val() == null | $("#city").val() == "") {
        $("#rbCity").show();
        Error =1;
    }
    else
    {
        $("#rbCity").hide();
        Error =0;
    }

    if ($("#phone").val() == null | $("#phone").val() == "") {
        $("#rbPhone").show();
        Error =1;
    }
    else
    {
        $("#rbPhone").hide();
        Error =0;
    }

    if ($("#email").val() == null | $("#email").val() == "") {
        $("#rbEmail").show();
        Error =1;
    }
    else {
        var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
        if (!filter.test($("#email").val())) {
            $("#rbEmail").show();
            Error = 1;
        }
        else {
            $("#rbEmail").hide();
            Error = 0;
        }
    }


    if (Error == 0)
    {
        return submitForm('requestAccount');
    }
    else
    {
        return false;
    }
}






function CheckIntWishlist(Obj, index, price, rowcount) {

    var InputValue = Obj.value;
    var intValue = 0;
    Obj.value = InputValue.match(/[1-9]\d*/);

    if (Obj.value == "") {
        //SetQuantity(index, 1);
        $("#td" + index).text("€ " + price);
    }
    else {
        intValue = parseInt(Obj.value);
    }


    if (intValue > 99) {
        Obj.value = Obj.value.substring(0, Obj.value.length - 3);
        Obj.value = 1;
    }

    if (Obj.value > 0) {

        if (index != null) {
            SetQuantity(index, Obj.value);
        }

        var priceD = parseFloat(price);
        var count = parseFloat(Obj.value);
        var newPrice = priceD * count;

        var checkPoint = newPrice.toString().indexOf(".");
        var checkComma = newPrice.toString().indexOf(",");

        if (checkPoint == -1 & checkComma == -1) {
            newPrice += ",00";
        }

        var d = newPrice.toString().indexOf(".");
        if (d == -1) {
            d = newPrice.length;
        }


        var sd = newPrice.toString();
        var DotIndex = (sd.indexOf('.') != -1) ? sd.indexOf('.') : sd.indexOf(',');
        var cd = ((sd.length - (DotIndex + 1)) < 2) ? sd + '0' : sd;

        newPrice = cd;
        $("#td" + index).text("€ " + newPrice.toString().replace(".", ",").substring(0, d + 4));
        
    }

    SetTotal(rowcount + 1);

    return false;
}


function CheckIntCategory(Obj, index, price, rowcount) {
    
    var InputValue = Obj.value;
    var intValue = 0;
    
    Obj.value = InputValue.match(/[1-9]\d*/);

    if (Obj.value == "") 
    {
        SetQuantity(index, 1);
        $("#td" + index).text("€ " + price);
    }
    else 
    {
        intValue = parseInt(Obj.value);
    }

    if (intValue > 99) {
            Obj.value = Obj.value.substring(0, Obj.value.length - 3);
            Obj.value = 1;
    }

    if (Obj.value > 0 ) 
    {
        if (index != null) {
            SetQuantity(index, Obj.value);
        }

      
        var priceD = parseFloat(price);
        var count = parseFloat(Obj.value);
        var newPrice = priceD * count;

        var checkPoint = newPrice.toString().indexOf(".");
        var checkComma = newPrice.toString().indexOf(",");
        
        if (checkPoint == -1 & checkComma == -1) {
            newPrice += ",00";
        }

        var d = newPrice.toString().indexOf(".");
        if (d == -1) {
            d = newPrice.length;
        }

        var sd = newPrice.toString();
        var DotIndex = (sd.indexOf('.') != -1) ? sd.indexOf('.') : sd.indexOf(',');
        var cd = ((sd.length - (DotIndex + 1)) < 2) ? sd + '0' : sd;

        newPrice = cd;
        
        
        $("#td" + index).text("€ " + newPrice.toString().replace(".", ",").substring(0, d + 4));

    }

    
    SetTotal(rowcount);

    return false;
}


function CheckInt(Obj, index, price, rowcount) 
{
    var InputValue = Obj.value;
    var intValue = 0;
    Obj.value = InputValue.match(/[1-9]\d*/);
    if (Obj.value == 'null') Obj.value = 1;

    if (Obj.value == "") {
        // SetQuantity(index, 1);
        $("#td" + index).text("€ " + price);
    }
    else {
        intValue = parseInt(Obj.value);
    }

    if (intValue > 99) {
        Obj.value = Obj.value.substring(0, Obj.value.length - 3);
        Obj.value = 1;
    }

    if (Obj.value > 0) {

        if (index != null) {
             SetQuantity(index, Obj.value);
        }

        var priceD = parseFloat(price);
        var count = parseFloat(Obj.value);
        var newPrice = priceD * count;
        
        var checkPoint = newPrice.toString().indexOf(".");
        var checkComma = newPrice.toString().indexOf(",");

        if (checkPoint == -1 & checkComma == -1) {
            newPrice += ",00";
        }

        var d = newPrice.toString().indexOf(".");
        
        if (d == -1) {
            d = newPrice.length;
        }


        var sd = newPrice.toString();
        var DotIndex = (sd.indexOf('.') != -1) ? sd.indexOf('.') : sd.indexOf(',');
        var cd = ((sd.length - (DotIndex + 1)) < 2) ? sd + '0' : sd;

        newPrice = cd;
        
        $("#td" + index).text("€ " + newPrice.toString().replace(".", ",").substring(0,d+4));
    }

    SetTotal(rowcount);

    return false;
}

function SetQuantity(index, value) {

    /*$("#quantity").val(value);*/
    var url = $("#link" + index).attr("href");
    if (url != null) {
        var d = url.indexOf("=")
        var newurl = url.substring(0, d + 1)
        newurl += value;
        $("#link" + index).attr("href", newurl);
    }
    return false;
}


function CheckValidate(indexId) {

    if ($("#ddlDownload" + indexId).val() != 0) {
        return true;
    }
    else {
        return false;
    }
}   
    
//endregionCheck    
                

//region Ggoogle map 
//----------------------------------------------------------------------------------------------------


function createContactMarker(point, index, address, addrValue) {
    // Create a lettered icon for this point using our icon class
    var letter = String.fromCharCode("A".charCodeAt(0) + index);
    var letteredIcon = new GIcon(baseIcon);
    //letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

    // Set up our GMarkerOptions object
    markerOptions = { icon: letteredIcon };

    var marker_num = markers.length;
    var marker = new GMarker(point, markerOptions);

    GEvent.addListener(marker, "click", function() {

        var tabs = [];

        var toDirection = '<div style="display:block" id="todirections' + index + '"> <form onsubmit="return false;">Directions: <b>To here</b> - <a href="javascript:createFromDirections(' + index + ');">From here</a><br />Start address:<br /><input type="text" style="width:200px" id="toAddress' + index + '"><br /><input type="submit" value="Get Directions" onclick="launchToDirections(' + index + ');"></form></div>';

        var fromDirection = '<div style="display:none"  id="fromdirections' + index + '">' +
                                                  '<form onsubmit="return false;">Directions: <a href="javascript:createToDirections(' + index + ');">To here</a> - <b>From here</b><br />' +
            			                          'End address:<br />' + '<input type="text" style="width:200px" id="fromAddress' + index + '"><br />' + '<input type="submit" value="Get Directions" onclick="launchFromDirections(' + index + ');">' +
            			                          '</form></div>';
        tabs.push(new GInfoWindowTab('Dealer info', "<div style='height:140px;'>" + addrValue + "<br/><br/><a href='javascript:createToDirections(" + index + ");'>To here</a> &nbsp;&nbsp; <a href='javascript:createFromDirections(" + index + ");'> From here</a>" + toDirection + fromDirection + "<br/><a href='javascript:ZoomIn" + point.toString().replace(")", "") + "," + index + ");'>Zoom in </a>&nbsp;&nbsp;<a href='javascript:ZoomOut" + point.toString().replace(")", "") + "," + index + ");'>Zoom Out </a>" + "</div>"));
        tabs.push(new GInfoWindowTab('Street view', "<div id='pno' name='pno'><div><a style='cursor:pointer;' href='javascript:SeeStreet" + point + "'>View Street</a><br/><br/><div id='dvError' style='display:none; text-align:center; vertical-align:center;'><b> <br/><br/>Google not support panorama view for this address!</b></div> "));
        marker.openInfoWindowTabsHtml(tabs);

    });

    markers[marker_num] = marker;
    addresses[marker_num] = address;
    return marker;
}

function createMarker(point, index, address, addrValue) {

    // Create a lettered icon for this point using our icon class
    var letter = String.fromCharCode("A".charCodeAt(0) + index);
    var letteredIcon = new GIcon(baseIcon);
    //letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

    // Set up our GMarkerOptions object
    markerOptions = { icon: letteredIcon };

    var marker_num = markers.length;
    var marker = new GMarker(point, markerOptions);

    GEvent.addListener(marker, "click", function() {

        var tabs = [];

        var toDirection = '<div style="display:block" id="todirections' + index + '"> <form onsubmit="return false;">Directions: <b>To here</b> - <a href="javascript:createFromDirections(' + index + ');">From here</a><br />Start address:<br /><input type="text" style="width:200px" id="toAddress' + index + '"><br /><input type="submit" value="Get Directions" onclick="launchToDirections(' + index + ');"></form></div>';

        var fromDirection = '<div style="display:none"  id="fromdirections' + index + '">' +
                                                  '<form onsubmit="return false;">Directions: <a href="javascript:createToDirections(' + index + ');">To here</a> - <b>From here</b><br />' +
            			                          'End address:<br />' + '<input type="text" style="width:200px" id="fromAddress' + index + '"><br />' + '<input type="submit" value="Get Directions" onclick="launchFromDirections(' + index + ');">' +
            			                          '</form></div>';
        tabs.push(new GInfoWindowTab('Dealer info', "<div style='height:220px;'>" + addrValue + "<br/><br/><a href='javascript:createToDirections(" + index + ");'>To here</a> &nbsp;&nbsp; <a href='javascript:createFromDirections(" + index + ");'> From here</a>" + toDirection + fromDirection + "<br/><a href='javascript:ZoomIn" + point.toString().replace(")", "")+","+index+ ");'>Zoom in </a>&nbsp;&nbsp;<a href='javascript:ZoomOut" + point.toString().replace(")", "")+","+ index + ");'>Zoom Out </a>" + "</div>"));
        tabs.push(new GInfoWindowTab('Street view', "<div id='pno' name='pno'><div><a style='cursor:pointer;' href='javascript:SeeStreet" + point + "'>View Street</a><br/><br/><div id='dvError' style='display:none; text-align:center; vertical-align:center;'><b> <br/><br/>Google not support panorama view for this address!</b></div> "));
        marker.openInfoWindowTabsHtml(tabs);

    });
    
    markers[marker_num] = marker;
    addresses[marker_num] = address;
    return marker;
}

function ZoomIn(pointLat, pointLon, index) {
    map.setCenter(new GLatLng(pointLat, pointLon), 19);
    myclick(index);
}

function ZoomOut(pointLat, pointLon, index) {
    map.setCenter(new GLatLng(pointLat, pointLon), 10);
    myclick(index);
}


function SeeStreet(pointLat, pointLon) 
{
    var fenwayPOV = { yaw: 370.64659986187695, pitch: -20 };
    var fenwayPark = new GLatLng(pointLat, pointLon);
    panoramaOptions = { latlng: fenwayPark };
    var myPano = new GStreetviewPanorama(document.getElementById("pno"), panoramaOptions);
    myPano.setLocationAndPOV(fenwayPark, fenwayPOV);

    panoClient = new GStreetviewClient();   
   GEvent.addListener(myPano, "error", handleNoFlash);  
   panoClient.getNearestPanorama(fenwayPark, showPanoData);
    
}

function showPanoData(panoData) {

    if (panoData.code != 200) {
        $('#dvError').show();
        return;
    }
}

function handleNoFlash(errorCode) {
    if (errorCode == 603) {
        alert("Error: Flash doesn't appear to be supported by your browser");
        return;
    }
}  


function myclick(i) {
    GEvent.trigger(markers[i], "click");
}

function createToDirections(i) {
    $("#todirections" + i).show();
    $("#fromdirections" + i).hide();
}

function createFromDirections(i) {
    $("#fromdirections" + i).show();
    $("#todirections" + i).hide();
}

function launchFromDirections(i) {
    var fromAddress = document.getElementById('fromAddress' + i);
    window.open('http://maps.google.com/maps?saddr=' + encodeURI(addresses[i]) + '&daddr=' + encodeURI(fromAddress.value) + '&hl=en', 'directions', '');
}

function launchToDirections(i) {
    var toAddress = document.getElementById('toAddress' + i);
    window.open('http://maps.google.com/maps?saddr=' + encodeURI(toAddress.value) + '&daddr=' + encodeURI(addresses[i]) + '&hl=en', 'directions', '');
}

//endregion Goole map
//--------------------------------------------------------------------------------------------------



function initThickBox()
 {
    $(document).ready(function() {
        tb_init('a.thickbox, area.thickbox, input.thickbox'); //pass where to apply thickbox
        imgLoader = new Image(); // preload image
        imgLoader.src = tb_pathToImage;
    });
    
}

function ShowLargeImage(indexId) 
{
    $("#dialog" + indexId).show();
    return false;
}


function HideLargeImage(indexId) {
    $("#dialog" + indexId).hide();
    return false;
}

function SetTotal(rowcount) 
{
    var total = 0.0;

    for (var i = 0; i < 100; i++) 
    {
        var obj = $("#td" + i).text().trim();

        if (obj != null & obj != "") 
        {

            var dt = obj.substring(1, obj.length);


            dt = dt.toString().replace(",", ".");
            var res = parseFloat(dt);
            
            
            total += res;
            
         }
     }
     
    var checkPoint = total.toString().indexOf(".");
    var checkComma = total.toString().indexOf(",");

    if (checkPoint == -1 & checkComma == -1) {
        total += ",00";
    }


    var sd = total.toString();
    var DotIndex = (sd.indexOf('.') != -1) ? sd.indexOf('.') : sd.indexOf(',');
    var cd = ((sd.length - (DotIndex + 1)) < 2) ? sd + '0' : sd;

    total = cd;
    
    $("#total").text("€ " + total.toString().replace(".", ","));
}


function DownloadFile(indexId) 
{
    var href = $("#ddlDownload" + indexId).val();
    $("#DownloadFile" + indexId).attr("href", href);
    
    return false;
 }

function ShowDescription(divId) {
    $("#dvFirst" + divId).hide();
    $("#dvDesc" + divId).show();
    return false;
}

function HideDescription(divId) {
    $("#dvFirst" + divId).show();
    $("#dvDesc" + divId).hide();
    return false;
}

function ShowPopup(divId) {
    $("." + divId).show();
    return false;
}

function HidePopup(divId) {
    $("." + divId).hide();
    return false;
}

function ShowProcess() {

}

function HideProcess(divId) {
    $("." + divId).hide();
}


function EditCatClick() 
{
    $(document).ready(function() {
        $('#ooo').click();
    });
}


function HideSended() {
    tb_remove();
    return true;
}

var hfMailingId = "";

function GetMailingId(hfClientId) {
    hfMailingId = hfClientId;
}

function DealerSendMail(objId) {
    $("#" + hfMailingId).val(objId);
}


function DateTimePick() {
    $(document).ready(function() 
    {
        if ($(".StartDate") != null) {
            $(".StartDate").datetimepicker();
        }
        
        if ($(".ExpiryDate") != null) {
            $(".ExpiryDate").datetimepicker();
        }
    });
    return true;
}

function SearchShow(id) 
{
    if (id == 'skd') {
        $("#skd").show();
        $("#spd").hide();
        $("#postCode").val("");
    }
    else {
        $("#skd").hide();
        $("#spd").show();
        $("#keywords").val("");
    }
}

function onDelete() {
    return confirm("Are you sure you want to delete selected record?");
}

function Menu(id) {

    if ($("#dropMenu" + id).css('display') == 'none') {

        $("#dropMenu" + id).slideDown(300);
        
        $("#dv"+id).hide();
        $("#dvu" + id).show();
        
    }
    else {
        $("#dropMenu" + id).slideUp(300);
        

        $("#dv" + id).show();
        $("#dvu" + id).hide();
    }

    return false;
}





function EditUserData(number) {
    $(".textBox" + number).show();
    $(".c" + number).show();
    $(".label" + number).hide();
    $(".p" + number).hide();

    if (number == 1) {
        $(".ss").show();
    }
    else {
        $(".ss").hide();
    }
    return false;
}

function SetStyleC(obj) {
    $("#a" + obj).addclass("c");
    return false;
}


function ValidateRequestForm() {

    if ($("#tbBedrijfsNaam").val() == "") {

        $(".l1").show();
        return false;
    }
    else {
        $(".l1").hide();
    }

    if ($("#tbContactPersoon").val() == "") {
        $(".l2").show();
        return false;
    }
    else {
        $(".l2").hide();
    }

    if ($("#tbAdres").val() == "") {
        $(".l3").show();
        return false;
    }
    else {
        $(".l3").hide();
    }

    if ($("#tbPostcode").val() == "") {
        $(".l4").show();
        return false;
    }
    else {
        $(".l4").hide();
    }

    if ($("#tbPlaats").val() == "") {
        $(".l5").show();
        return false;
    }
    else {
        $(".l5").hide();
    }

    if ($("#tbTelefoon").val() == "") {
        $(".l6").show();
        return false;
    }
    else {
        $(".l6").hide();
    }

    if ($("#tbEmail").val() == "") {
        $(".l7").show();
        return false;
    }
    else {
        var pattern = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
        if (pattern.test($("#tbEmail").val())) {
            //alert("true");
            $(".l7").hide();
        } else {
            //show error
        $(".l7").show();
        return false;
        }
    }

    submitForm('Request');
    return true;
}

function HideUserData(number)
 {
    $(".textBox" + number).hide();
    $(".label" + number).show();
    $(".p" + number).show();
    $(".c" + number).hide();

    if (number == 1) {
        $(".ss").hide();
    }
    return false;
}

function submitForm(id) {
    
    var elm = document.getElementById(id.toString());

    if (typeof (elm) != 'undefined' && elm != null) 
    {
        if (id == "checkOut")
            elm.action = elm.action + "#chkout";

        elm.submit();
        return false;
    }

    return true;
}

function submitFormAction(id, action) {
    var elm = document.getElementById(id.toString());

    if (typeof (elm) != 'undefined' && elm != null) {
        elm.action = elm.action + '?type=' + action;
        return submitForm(id);
    }

    return true;
}
